Step |
Hyp |
Ref |
Expression |
1 |
|
evl1varpw.q |
⊢ 𝑄 = ( eval1 ‘ 𝑅 ) |
2 |
|
evl1varpw.w |
⊢ 𝑊 = ( Poly1 ‘ 𝑅 ) |
3 |
|
evl1varpw.g |
⊢ 𝐺 = ( mulGrp ‘ 𝑊 ) |
4 |
|
evl1varpw.x |
⊢ 𝑋 = ( var1 ‘ 𝑅 ) |
5 |
|
evl1varpw.b |
⊢ 𝐵 = ( Base ‘ 𝑅 ) |
6 |
|
evl1varpw.e |
⊢ ↑ = ( .g ‘ 𝐺 ) |
7 |
|
evl1varpw.r |
⊢ ( 𝜑 → 𝑅 ∈ CRing ) |
8 |
|
evl1varpw.n |
⊢ ( 𝜑 → 𝑁 ∈ ℕ0 ) |
9 |
1 5
|
evl1fval1 |
⊢ 𝑄 = ( 𝑅 evalSub1 𝐵 ) |
10 |
9
|
a1i |
⊢ ( 𝜑 → 𝑄 = ( 𝑅 evalSub1 𝐵 ) ) |
11 |
2
|
fveq2i |
⊢ ( mulGrp ‘ 𝑊 ) = ( mulGrp ‘ ( Poly1 ‘ 𝑅 ) ) |
12 |
3 11
|
eqtri |
⊢ 𝐺 = ( mulGrp ‘ ( Poly1 ‘ 𝑅 ) ) |
13 |
12
|
fveq2i |
⊢ ( .g ‘ 𝐺 ) = ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ 𝑅 ) ) ) |
14 |
6 13
|
eqtri |
⊢ ↑ = ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ 𝑅 ) ) ) |
15 |
5
|
ressid |
⊢ ( 𝑅 ∈ CRing → ( 𝑅 ↾s 𝐵 ) = 𝑅 ) |
16 |
7 15
|
syl |
⊢ ( 𝜑 → ( 𝑅 ↾s 𝐵 ) = 𝑅 ) |
17 |
16
|
eqcomd |
⊢ ( 𝜑 → 𝑅 = ( 𝑅 ↾s 𝐵 ) ) |
18 |
17
|
fveq2d |
⊢ ( 𝜑 → ( Poly1 ‘ 𝑅 ) = ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) |
19 |
18
|
fveq2d |
⊢ ( 𝜑 → ( mulGrp ‘ ( Poly1 ‘ 𝑅 ) ) = ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) |
20 |
19
|
fveq2d |
⊢ ( 𝜑 → ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ 𝑅 ) ) ) = ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) ) |
21 |
14 20
|
eqtrid |
⊢ ( 𝜑 → ↑ = ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) ) |
22 |
|
eqidd |
⊢ ( 𝜑 → 𝑁 = 𝑁 ) |
23 |
17
|
fveq2d |
⊢ ( 𝜑 → ( var1 ‘ 𝑅 ) = ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) |
24 |
4 23
|
eqtrid |
⊢ ( 𝜑 → 𝑋 = ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) |
25 |
21 22 24
|
oveq123d |
⊢ ( 𝜑 → ( 𝑁 ↑ 𝑋 ) = ( 𝑁 ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) |
26 |
10 25
|
fveq12d |
⊢ ( 𝜑 → ( 𝑄 ‘ ( 𝑁 ↑ 𝑋 ) ) = ( ( 𝑅 evalSub1 𝐵 ) ‘ ( 𝑁 ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) ) |
27 |
|
eqid |
⊢ ( 𝑅 evalSub1 𝐵 ) = ( 𝑅 evalSub1 𝐵 ) |
28 |
|
eqid |
⊢ ( 𝑅 ↾s 𝐵 ) = ( 𝑅 ↾s 𝐵 ) |
29 |
|
eqid |
⊢ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) = ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) |
30 |
|
eqid |
⊢ ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) = ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) |
31 |
|
eqid |
⊢ ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) = ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) |
32 |
|
eqid |
⊢ ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) = ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) |
33 |
|
crngring |
⊢ ( 𝑅 ∈ CRing → 𝑅 ∈ Ring ) |
34 |
5
|
subrgid |
⊢ ( 𝑅 ∈ Ring → 𝐵 ∈ ( SubRing ‘ 𝑅 ) ) |
35 |
7 33 34
|
3syl |
⊢ ( 𝜑 → 𝐵 ∈ ( SubRing ‘ 𝑅 ) ) |
36 |
27 28 29 30 31 5 32 7 35 8
|
evls1varpw |
⊢ ( 𝜑 → ( ( 𝑅 evalSub1 𝐵 ) ‘ ( 𝑁 ( .g ‘ ( mulGrp ‘ ( Poly1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) = ( 𝑁 ( .g ‘ ( mulGrp ‘ ( 𝑅 ↑s 𝐵 ) ) ) ( ( 𝑅 evalSub1 𝐵 ) ‘ ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) ) |
37 |
9
|
eqcomi |
⊢ ( 𝑅 evalSub1 𝐵 ) = 𝑄 |
38 |
37
|
a1i |
⊢ ( 𝜑 → ( 𝑅 evalSub1 𝐵 ) = 𝑄 ) |
39 |
24
|
eqcomd |
⊢ ( 𝜑 → ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) = 𝑋 ) |
40 |
38 39
|
fveq12d |
⊢ ( 𝜑 → ( ( 𝑅 evalSub1 𝐵 ) ‘ ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) = ( 𝑄 ‘ 𝑋 ) ) |
41 |
40
|
oveq2d |
⊢ ( 𝜑 → ( 𝑁 ( .g ‘ ( mulGrp ‘ ( 𝑅 ↑s 𝐵 ) ) ) ( ( 𝑅 evalSub1 𝐵 ) ‘ ( var1 ‘ ( 𝑅 ↾s 𝐵 ) ) ) ) = ( 𝑁 ( .g ‘ ( mulGrp ‘ ( 𝑅 ↑s 𝐵 ) ) ) ( 𝑄 ‘ 𝑋 ) ) ) |
42 |
26 36 41
|
3eqtrd |
⊢ ( 𝜑 → ( 𝑄 ‘ ( 𝑁 ↑ 𝑋 ) ) = ( 𝑁 ( .g ‘ ( mulGrp ‘ ( 𝑅 ↑s 𝐵 ) ) ) ( 𝑄 ‘ 𝑋 ) ) ) |