Metamath Proof Explorer


Theorem abvexp

Description: Move exponentiation in and out of absolute value. (Contributed by SN, 3-Jul-2025)

Ref Expression
Hypotheses abvexp.a 𝐴 = ( AbsVal ‘ 𝑅 )
abvexp.e = ( .g ‘ ( mulGrp ‘ 𝑅 ) )
abvexp.b 𝐵 = ( Base ‘ 𝑅 )
abvexp.r ( 𝜑𝑅 ∈ NzRing )
abvexp.f ( 𝜑𝐹𝐴 )
abvexp.x ( 𝜑𝑋𝐵 )
abvexp.n ( 𝜑𝑁 ∈ ℕ0 )
Assertion abvexp ( 𝜑 → ( 𝐹 ‘ ( 𝑁 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑁 ) )

Proof

Step Hyp Ref Expression
1 abvexp.a 𝐴 = ( AbsVal ‘ 𝑅 )
2 abvexp.e = ( .g ‘ ( mulGrp ‘ 𝑅 ) )
3 abvexp.b 𝐵 = ( Base ‘ 𝑅 )
4 abvexp.r ( 𝜑𝑅 ∈ NzRing )
5 abvexp.f ( 𝜑𝐹𝐴 )
6 abvexp.x ( 𝜑𝑋𝐵 )
7 abvexp.n ( 𝜑𝑁 ∈ ℕ0 )
8 fvoveq1 ( 𝑥 = 0 → ( 𝐹 ‘ ( 𝑥 𝑋 ) ) = ( 𝐹 ‘ ( 0 𝑋 ) ) )
9 oveq2 ( 𝑥 = 0 → ( ( 𝐹𝑋 ) ↑ 𝑥 ) = ( ( 𝐹𝑋 ) ↑ 0 ) )
10 8 9 eqeq12d ( 𝑥 = 0 → ( ( 𝐹 ‘ ( 𝑥 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑥 ) ↔ ( 𝐹 ‘ ( 0 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 0 ) ) )
11 fvoveq1 ( 𝑥 = 𝑦 → ( 𝐹 ‘ ( 𝑥 𝑋 ) ) = ( 𝐹 ‘ ( 𝑦 𝑋 ) ) )
12 oveq2 ( 𝑥 = 𝑦 → ( ( 𝐹𝑋 ) ↑ 𝑥 ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) )
13 11 12 eqeq12d ( 𝑥 = 𝑦 → ( ( 𝐹 ‘ ( 𝑥 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑥 ) ↔ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) )
14 fvoveq1 ( 𝑥 = ( 𝑦 + 1 ) → ( 𝐹 ‘ ( 𝑥 𝑋 ) ) = ( 𝐹 ‘ ( ( 𝑦 + 1 ) 𝑋 ) ) )
15 oveq2 ( 𝑥 = ( 𝑦 + 1 ) → ( ( 𝐹𝑋 ) ↑ 𝑥 ) = ( ( 𝐹𝑋 ) ↑ ( 𝑦 + 1 ) ) )
16 14 15 eqeq12d ( 𝑥 = ( 𝑦 + 1 ) → ( ( 𝐹 ‘ ( 𝑥 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑥 ) ↔ ( 𝐹 ‘ ( ( 𝑦 + 1 ) 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ ( 𝑦 + 1 ) ) ) )
17 fvoveq1 ( 𝑥 = 𝑁 → ( 𝐹 ‘ ( 𝑥 𝑋 ) ) = ( 𝐹 ‘ ( 𝑁 𝑋 ) ) )
18 oveq2 ( 𝑥 = 𝑁 → ( ( 𝐹𝑋 ) ↑ 𝑥 ) = ( ( 𝐹𝑋 ) ↑ 𝑁 ) )
19 17 18 eqeq12d ( 𝑥 = 𝑁 → ( ( 𝐹 ‘ ( 𝑥 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑥 ) ↔ ( 𝐹 ‘ ( 𝑁 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑁 ) ) )
20 eqid ( 1r𝑅 ) = ( 1r𝑅 )
21 eqid ( 0g𝑅 ) = ( 0g𝑅 )
22 20 21 nzrnz ( 𝑅 ∈ NzRing → ( 1r𝑅 ) ≠ ( 0g𝑅 ) )
23 4 22 syl ( 𝜑 → ( 1r𝑅 ) ≠ ( 0g𝑅 ) )
24 1 20 21 abv1z ( ( 𝐹𝐴 ∧ ( 1r𝑅 ) ≠ ( 0g𝑅 ) ) → ( 𝐹 ‘ ( 1r𝑅 ) ) = 1 )
25 5 23 24 syl2anc ( 𝜑 → ( 𝐹 ‘ ( 1r𝑅 ) ) = 1 )
26 eqid ( mulGrp ‘ 𝑅 ) = ( mulGrp ‘ 𝑅 )
27 26 3 mgpbas 𝐵 = ( Base ‘ ( mulGrp ‘ 𝑅 ) )
28 26 20 ringidval ( 1r𝑅 ) = ( 0g ‘ ( mulGrp ‘ 𝑅 ) )
29 27 28 2 mulg0 ( 𝑋𝐵 → ( 0 𝑋 ) = ( 1r𝑅 ) )
30 6 29 syl ( 𝜑 → ( 0 𝑋 ) = ( 1r𝑅 ) )
31 30 fveq2d ( 𝜑 → ( 𝐹 ‘ ( 0 𝑋 ) ) = ( 𝐹 ‘ ( 1r𝑅 ) ) )
32 1 3 abvcl ( ( 𝐹𝐴𝑋𝐵 ) → ( 𝐹𝑋 ) ∈ ℝ )
33 5 6 32 syl2anc ( 𝜑 → ( 𝐹𝑋 ) ∈ ℝ )
34 33 recnd ( 𝜑 → ( 𝐹𝑋 ) ∈ ℂ )
35 34 exp0d ( 𝜑 → ( ( 𝐹𝑋 ) ↑ 0 ) = 1 )
36 25 31 35 3eqtr4d ( 𝜑 → ( 𝐹 ‘ ( 0 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 0 ) )
37 5 ad2antrr ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → 𝐹𝐴 )
38 nzrring ( 𝑅 ∈ NzRing → 𝑅 ∈ Ring )
39 26 ringmgp ( 𝑅 ∈ Ring → ( mulGrp ‘ 𝑅 ) ∈ Mnd )
40 4 38 39 3syl ( 𝜑 → ( mulGrp ‘ 𝑅 ) ∈ Mnd )
41 40 ad2antrr ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( mulGrp ‘ 𝑅 ) ∈ Mnd )
42 simplr ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → 𝑦 ∈ ℕ0 )
43 6 ad2antrr ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → 𝑋𝐵 )
44 27 2 41 42 43 mulgnn0cld ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( 𝑦 𝑋 ) ∈ 𝐵 )
45 eqid ( .r𝑅 ) = ( .r𝑅 )
46 1 3 45 abvmul ( ( 𝐹𝐴 ∧ ( 𝑦 𝑋 ) ∈ 𝐵𝑋𝐵 ) → ( 𝐹 ‘ ( ( 𝑦 𝑋 ) ( .r𝑅 ) 𝑋 ) ) = ( ( 𝐹 ‘ ( 𝑦 𝑋 ) ) · ( 𝐹𝑋 ) ) )
47 37 44 43 46 syl3anc ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( 𝐹 ‘ ( ( 𝑦 𝑋 ) ( .r𝑅 ) 𝑋 ) ) = ( ( 𝐹 ‘ ( 𝑦 𝑋 ) ) · ( 𝐹𝑋 ) ) )
48 simpr ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) )
49 48 oveq1d ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( ( 𝐹 ‘ ( 𝑦 𝑋 ) ) · ( 𝐹𝑋 ) ) = ( ( ( 𝐹𝑋 ) ↑ 𝑦 ) · ( 𝐹𝑋 ) ) )
50 47 49 eqtrd ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( 𝐹 ‘ ( ( 𝑦 𝑋 ) ( .r𝑅 ) 𝑋 ) ) = ( ( ( 𝐹𝑋 ) ↑ 𝑦 ) · ( 𝐹𝑋 ) ) )
51 26 45 mgpplusg ( .r𝑅 ) = ( +g ‘ ( mulGrp ‘ 𝑅 ) )
52 27 2 51 mulgnn0p1 ( ( ( mulGrp ‘ 𝑅 ) ∈ Mnd ∧ 𝑦 ∈ ℕ0𝑋𝐵 ) → ( ( 𝑦 + 1 ) 𝑋 ) = ( ( 𝑦 𝑋 ) ( .r𝑅 ) 𝑋 ) )
53 41 42 43 52 syl3anc ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( ( 𝑦 + 1 ) 𝑋 ) = ( ( 𝑦 𝑋 ) ( .r𝑅 ) 𝑋 ) )
54 53 fveq2d ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( 𝐹 ‘ ( ( 𝑦 + 1 ) 𝑋 ) ) = ( 𝐹 ‘ ( ( 𝑦 𝑋 ) ( .r𝑅 ) 𝑋 ) ) )
55 34 ad2antrr ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( 𝐹𝑋 ) ∈ ℂ )
56 55 42 expp1d ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( ( 𝐹𝑋 ) ↑ ( 𝑦 + 1 ) ) = ( ( ( 𝐹𝑋 ) ↑ 𝑦 ) · ( 𝐹𝑋 ) ) )
57 50 54 56 3eqtr4d ( ( ( 𝜑𝑦 ∈ ℕ0 ) ∧ ( 𝐹 ‘ ( 𝑦 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑦 ) ) → ( 𝐹 ‘ ( ( 𝑦 + 1 ) 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ ( 𝑦 + 1 ) ) )
58 10 13 16 19 36 57 nn0indd ( ( 𝜑𝑁 ∈ ℕ0 ) → ( 𝐹 ‘ ( 𝑁 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑁 ) )
59 7 58 mpdan ( 𝜑 → ( 𝐹 ‘ ( 𝑁 𝑋 ) ) = ( ( 𝐹𝑋 ) ↑ 𝑁 ) )