Step |
Hyp |
Ref |
Expression |
1 |
|
aks5lem1.1 |
|- ( ph -> K e. Field ) |
2 |
|
aks5lem1.2 |
|- P = ( chr ` K ) |
3 |
|
aks5lem1.3 |
|- ( ph -> ( P e. Prime /\ N e. NN /\ P || N ) ) |
4 |
|
aks5lem1.4 |
|- F = ( p e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) |-> ( G o. p ) ) |
5 |
|
aks5lem1.5 |
|- G = ( q e. ( Base ` ( Z/nZ ` N ) ) |-> U. ( ( ZRHom ` K ) " q ) ) |
6 |
|
aks5lem1.6 |
|- H = ( r e. ( Base ` ( Poly1 ` K ) ) |-> ( ( ( eval1 ` K ) ` r ) ` M ) ) |
7 |
|
aks5lem2.1 |
|- ( ph -> M e. ( ( mulGrp ` K ) PrimRoots R ) ) |
8 |
|
aks5lem2.2 |
|- I = ( s e. ( Base ` A ) |-> U. ( ( H o. F ) " s ) ) |
9 |
|
aks5lem2.3 |
|- A = ( ( Poly1 ` ( Z/nZ ` N ) ) /s ( ( Poly1 ` ( Z/nZ ` N ) ) ~QG L ) ) |
10 |
|
aks5lem2.4 |
|- L = ( ( RSpan ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` { ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) } ) |
11 |
|
aks5lem2.5 |
|- ( ph -> R e. NN ) |
12 |
|
eqid |
|- ( 0g ` K ) = ( 0g ` K ) |
13 |
1
|
fldcrngd |
|- ( ph -> K e. CRing ) |
14 |
|
eqid |
|- ( mulGrp ` K ) = ( mulGrp ` K ) |
15 |
14
|
crngmgp |
|- ( K e. CRing -> ( mulGrp ` K ) e. CMnd ) |
16 |
13 15
|
syl |
|- ( ph -> ( mulGrp ` K ) e. CMnd ) |
17 |
11
|
nnnn0d |
|- ( ph -> R e. NN0 ) |
18 |
|
eqid |
|- ( .g ` ( mulGrp ` K ) ) = ( .g ` ( mulGrp ` K ) ) |
19 |
16 17 18
|
isprimroot |
|- ( ph -> ( M e. ( ( mulGrp ` K ) PrimRoots R ) <-> ( M e. ( Base ` ( mulGrp ` K ) ) /\ ( R ( .g ` ( mulGrp ` K ) ) M ) = ( 0g ` ( mulGrp ` K ) ) /\ A. l e. NN0 ( ( l ( .g ` ( mulGrp ` K ) ) M ) = ( 0g ` ( mulGrp ` K ) ) -> R || l ) ) ) ) |
20 |
7 19
|
mpbid |
|- ( ph -> ( M e. ( Base ` ( mulGrp ` K ) ) /\ ( R ( .g ` ( mulGrp ` K ) ) M ) = ( 0g ` ( mulGrp ` K ) ) /\ A. l e. NN0 ( ( l ( .g ` ( mulGrp ` K ) ) M ) = ( 0g ` ( mulGrp ` K ) ) -> R || l ) ) ) |
21 |
20
|
simp1d |
|- ( ph -> M e. ( Base ` ( mulGrp ` K ) ) ) |
22 |
|
eqid |
|- ( Base ` K ) = ( Base ` K ) |
23 |
14 22
|
mgpbas |
|- ( Base ` K ) = ( Base ` ( mulGrp ` K ) ) |
24 |
23
|
eqcomi |
|- ( Base ` ( mulGrp ` K ) ) = ( Base ` K ) |
25 |
21 24
|
eleqtrdi |
|- ( ph -> M e. ( Base ` K ) ) |
26 |
1 2 3 4 5 6 25
|
aks5lem1 |
|- ( ph -> ( H o. F ) e. ( ( Poly1 ` ( Z/nZ ` N ) ) RingHom K ) ) |
27 |
|
eqid |
|- ( `' ( H o. F ) " { ( 0g ` K ) } ) = ( `' ( H o. F ) " { ( 0g ` K ) } ) |
28 |
3
|
simp2d |
|- ( ph -> N e. NN ) |
29 |
28
|
nnnn0d |
|- ( ph -> N e. NN0 ) |
30 |
|
eqid |
|- ( Z/nZ ` N ) = ( Z/nZ ` N ) |
31 |
30
|
zncrng |
|- ( N e. NN0 -> ( Z/nZ ` N ) e. CRing ) |
32 |
29 31
|
syl |
|- ( ph -> ( Z/nZ ` N ) e. CRing ) |
33 |
|
eqid |
|- ( Poly1 ` ( Z/nZ ` N ) ) = ( Poly1 ` ( Z/nZ ` N ) ) |
34 |
33
|
ply1crng |
|- ( ( Z/nZ ` N ) e. CRing -> ( Poly1 ` ( Z/nZ ` N ) ) e. CRing ) |
35 |
32 34
|
syl |
|- ( ph -> ( Poly1 ` ( Z/nZ ` N ) ) e. CRing ) |
36 |
35
|
crnggrpd |
|- ( ph -> ( Poly1 ` ( Z/nZ ` N ) ) e. Grp ) |
37 |
|
eqid |
|- ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) |
38 |
|
eqid |
|- ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) |
39 |
37 38
|
mgpbas |
|- ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( Base ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
40 |
|
eqid |
|- ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) = ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
41 |
35
|
crngringd |
|- ( ph -> ( Poly1 ` ( Z/nZ ` N ) ) e. Ring ) |
42 |
37
|
ringmgp |
|- ( ( Poly1 ` ( Z/nZ ` N ) ) e. Ring -> ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) e. Mnd ) |
43 |
41 42
|
syl |
|- ( ph -> ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) e. Mnd ) |
44 |
32
|
crngringd |
|- ( ph -> ( Z/nZ ` N ) e. Ring ) |
45 |
|
eqid |
|- ( var1 ` ( Z/nZ ` N ) ) = ( var1 ` ( Z/nZ ` N ) ) |
46 |
45 33 38
|
vr1cl |
|- ( ( Z/nZ ` N ) e. Ring -> ( var1 ` ( Z/nZ ` N ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
47 |
44 46
|
syl |
|- ( ph -> ( var1 ` ( Z/nZ ` N ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
48 |
39 40 43 17 47
|
mulgnn0cld |
|- ( ph -> ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
49 |
|
eqid |
|- ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) |
50 |
38 49
|
ringidcl |
|- ( ( Poly1 ` ( Z/nZ ` N ) ) e. Ring -> ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
51 |
41 50
|
syl |
|- ( ph -> ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
52 |
|
eqid |
|- ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) |
53 |
38 52
|
grpsubcl |
|- ( ( ( Poly1 ` ( Z/nZ ` N ) ) e. Grp /\ ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) /\ ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) -> ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
54 |
36 48 51 53
|
syl3anc |
|- ( ph -> ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
55 |
|
fvexd |
|- ( ph -> ( Base ` ( Z/nZ ` N ) ) e. _V ) |
56 |
55
|
mptexd |
|- ( ph -> ( q e. ( Base ` ( Z/nZ ` N ) ) |-> U. ( ( ZRHom ` K ) " q ) ) e. _V ) |
57 |
5 56
|
eqeltrid |
|- ( ph -> G e. _V ) |
58 |
57
|
adantr |
|- ( ( ph /\ p e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) -> G e. _V ) |
59 |
|
vex |
|- p e. _V |
60 |
59
|
a1i |
|- ( ( ph /\ p e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) -> p e. _V ) |
61 |
58 60
|
coexd |
|- ( ( ph /\ p e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) -> ( G o. p ) e. _V ) |
62 |
61 4
|
fmptd |
|- ( ph -> F : ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) --> _V ) |
63 |
62
|
ffund |
|- ( ph -> Fun F ) |
64 |
62
|
fdmd |
|- ( ph -> dom F = ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
65 |
54 64
|
eleqtrrd |
|- ( ph -> ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) e. dom F ) |
66 |
|
fvco |
|- ( ( Fun F /\ ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) e. dom F ) -> ( ( H o. F ) ` ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) = ( H ` ( F ` ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) ) |
67 |
63 65 66
|
syl2anc |
|- ( ph -> ( ( H o. F ) ` ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) = ( H ` ( F ` ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) ) |
68 |
|
eqid |
|- ( Poly1 ` K ) = ( Poly1 ` K ) |
69 |
13
|
crngringd |
|- ( ph -> K e. Ring ) |
70 |
3
|
simp1d |
|- ( ph -> P e. Prime ) |
71 |
|
prmnn |
|- ( P e. Prime -> P e. NN ) |
72 |
70 71
|
syl |
|- ( ph -> P e. NN ) |
73 |
2 72
|
eqeltrrid |
|- ( ph -> ( chr ` K ) e. NN ) |
74 |
73
|
nnzd |
|- ( ph -> ( chr ` K ) e. ZZ ) |
75 |
3
|
simp3d |
|- ( ph -> P || N ) |
76 |
2 75
|
eqbrtrrid |
|- ( ph -> ( chr ` K ) || N ) |
77 |
69 28 74 76 30 5
|
zndvdchrrhm |
|- ( ph -> G e. ( ( Z/nZ ` N ) RingHom K ) ) |
78 |
33 68 38 4 77
|
rhmply1 |
|- ( ph -> F e. ( ( Poly1 ` ( Z/nZ ` N ) ) RingHom ( Poly1 ` K ) ) ) |
79 |
|
rhmghm |
|- ( F e. ( ( Poly1 ` ( Z/nZ ` N ) ) RingHom ( Poly1 ` K ) ) -> F e. ( ( Poly1 ` ( Z/nZ ` N ) ) GrpHom ( Poly1 ` K ) ) ) |
80 |
78 79
|
syl |
|- ( ph -> F e. ( ( Poly1 ` ( Z/nZ ` N ) ) GrpHom ( Poly1 ` K ) ) ) |
81 |
|
eqid |
|- ( -g ` ( Poly1 ` K ) ) = ( -g ` ( Poly1 ` K ) ) |
82 |
38 52 81
|
ghmsub |
|- ( ( F e. ( ( Poly1 ` ( Z/nZ ` N ) ) GrpHom ( Poly1 ` K ) ) /\ ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) /\ ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) -> ( F ` ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) = ( ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ( -g ` ( Poly1 ` K ) ) ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) |
83 |
80 48 51 82
|
syl3anc |
|- ( ph -> ( F ` ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) = ( ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ( -g ` ( Poly1 ` K ) ) ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) |
84 |
83
|
fveq2d |
|- ( ph -> ( H ` ( F ` ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) = ( H ` ( ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ( -g ` ( Poly1 ` K ) ) ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) ) |
85 |
|
eqid |
|- ( eval1 ` K ) = ( eval1 ` K ) |
86 |
|
eqid |
|- ( Base ` ( Poly1 ` K ) ) = ( Base ` ( Poly1 ` K ) ) |
87 |
85 68 22 86 13 25 6
|
evl1maprhm |
|- ( ph -> H e. ( ( Poly1 ` K ) RingHom K ) ) |
88 |
|
rhmghm |
|- ( H e. ( ( Poly1 ` K ) RingHom K ) -> H e. ( ( Poly1 ` K ) GrpHom K ) ) |
89 |
87 88
|
syl |
|- ( ph -> H e. ( ( Poly1 ` K ) GrpHom K ) ) |
90 |
38 86
|
rhmf |
|- ( F e. ( ( Poly1 ` ( Z/nZ ` N ) ) RingHom ( Poly1 ` K ) ) -> F : ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) --> ( Base ` ( Poly1 ` K ) ) ) |
91 |
78 90
|
syl |
|- ( ph -> F : ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) --> ( Base ` ( Poly1 ` K ) ) ) |
92 |
91 48
|
ffvelcdmd |
|- ( ph -> ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) e. ( Base ` ( Poly1 ` K ) ) ) |
93 |
91 51
|
ffvelcdmd |
|- ( ph -> ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) e. ( Base ` ( Poly1 ` K ) ) ) |
94 |
|
eqid |
|- ( -g ` K ) = ( -g ` K ) |
95 |
86 81 94
|
ghmsub |
|- ( ( H e. ( ( Poly1 ` K ) GrpHom K ) /\ ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) e. ( Base ` ( Poly1 ` K ) ) /\ ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) e. ( Base ` ( Poly1 ` K ) ) ) -> ( H ` ( ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ( -g ` ( Poly1 ` K ) ) ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) = ( ( H ` ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) ( -g ` K ) ( H ` ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) ) |
96 |
89 92 93 95
|
syl3anc |
|- ( ph -> ( H ` ( ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ( -g ` ( Poly1 ` K ) ) ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) = ( ( H ` ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) ( -g ` K ) ( H ` ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) ) |
97 |
|
eqid |
|- ( .r ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( .r ` ( Poly1 ` ( Z/nZ ` N ) ) ) |
98 |
38 97 49 41 48
|
ringlidmd |
|- ( ph -> ( ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( .r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) = ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) |
99 |
98
|
eqcomd |
|- ( ph -> ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) = ( ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( .r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) |
100 |
32
|
elexd |
|- ( ph -> ( Z/nZ ` N ) e. _V ) |
101 |
33
|
ply1sca |
|- ( ( Z/nZ ` N ) e. _V -> ( Z/nZ ` N ) = ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
102 |
100 101
|
syl |
|- ( ph -> ( Z/nZ ` N ) = ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
103 |
102
|
fveq2d |
|- ( ph -> ( 1r ` ( Z/nZ ` N ) ) = ( 1r ` ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) |
104 |
103
|
fveq2d |
|- ( ph -> ( ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` ( 1r ` ( Z/nZ ` N ) ) ) = ( ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` ( 1r ` ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) |
105 |
|
eqid |
|- ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) |
106 |
|
eqid |
|- ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) |
107 |
33
|
ply1lmod |
|- ( ( Z/nZ ` N ) e. Ring -> ( Poly1 ` ( Z/nZ ` N ) ) e. LMod ) |
108 |
44 107
|
syl |
|- ( ph -> ( Poly1 ` ( Z/nZ ` N ) ) e. LMod ) |
109 |
105 106 108 41
|
ascl1 |
|- ( ph -> ( ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` ( 1r ` ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) = ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
110 |
104 109
|
eqtrd |
|- ( ph -> ( ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` ( 1r ` ( Z/nZ ` N ) ) ) = ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
111 |
110
|
eqcomd |
|- ( ph -> ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` ( 1r ` ( Z/nZ ` N ) ) ) ) |
112 |
111
|
oveq1d |
|- ( ph -> ( ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( .r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) = ( ( ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` ( 1r ` ( Z/nZ ` N ) ) ) ( .r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) |
113 |
99 112
|
eqtrd |
|- ( ph -> ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) = ( ( ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` ( 1r ` ( Z/nZ ` N ) ) ) ( .r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) |
114 |
33
|
ply1assa |
|- ( ( Z/nZ ` N ) e. CRing -> ( Poly1 ` ( Z/nZ ` N ) ) e. AssAlg ) |
115 |
32 114
|
syl |
|- ( ph -> ( Poly1 ` ( Z/nZ ` N ) ) e. AssAlg ) |
116 |
|
eqid |
|- ( Base ` ( Z/nZ ` N ) ) = ( Base ` ( Z/nZ ` N ) ) |
117 |
|
eqid |
|- ( 1r ` ( Z/nZ ` N ) ) = ( 1r ` ( Z/nZ ` N ) ) |
118 |
116 117
|
ringidcl |
|- ( ( Z/nZ ` N ) e. Ring -> ( 1r ` ( Z/nZ ` N ) ) e. ( Base ` ( Z/nZ ` N ) ) ) |
119 |
44 118
|
syl |
|- ( ph -> ( 1r ` ( Z/nZ ` N ) ) e. ( Base ` ( Z/nZ ` N ) ) ) |
120 |
102
|
fveq2d |
|- ( ph -> ( Base ` ( Z/nZ ` N ) ) = ( Base ` ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) |
121 |
119 120
|
eleqtrd |
|- ( ph -> ( 1r ` ( Z/nZ ` N ) ) e. ( Base ` ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) |
122 |
|
eqid |
|- ( Base ` ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) = ( Base ` ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) |
123 |
|
eqid |
|- ( .s ` ( Poly1 ` ( Z/nZ ` N ) ) ) = ( .s ` ( Poly1 ` ( Z/nZ ` N ) ) ) |
124 |
105 106 122 38 97 123
|
asclmul1 |
|- ( ( ( Poly1 ` ( Z/nZ ` N ) ) e. AssAlg /\ ( 1r ` ( Z/nZ ` N ) ) e. ( Base ` ( Scalar ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) /\ ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) -> ( ( ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` ( 1r ` ( Z/nZ ` N ) ) ) ( .r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) = ( ( 1r ` ( Z/nZ ` N ) ) ( .s ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) |
125 |
115 121 48 124
|
syl3anc |
|- ( ph -> ( ( ( algSc ` ( Poly1 ` ( Z/nZ ` N ) ) ) ` ( 1r ` ( Z/nZ ` N ) ) ) ( .r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) = ( ( 1r ` ( Z/nZ ` N ) ) ( .s ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) |
126 |
113 125
|
eqtrd |
|- ( ph -> ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) = ( ( 1r ` ( Z/nZ ` N ) ) ( .s ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) |
127 |
126
|
fveq2d |
|- ( ph -> ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) = ( F ` ( ( 1r ` ( Z/nZ ` N ) ) ( .s ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) ) |
128 |
|
eqid |
|- ( var1 ` K ) = ( var1 ` K ) |
129 |
|
eqid |
|- ( .s ` ( Poly1 ` K ) ) = ( .s ` ( Poly1 ` K ) ) |
130 |
|
eqid |
|- ( mulGrp ` ( Poly1 ` K ) ) = ( mulGrp ` ( Poly1 ` K ) ) |
131 |
|
eqid |
|- ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) = ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) |
132 |
33 68 38 116 4 45 128 123 129 37 130 40 131 77 119 17
|
rhmply1mon |
|- ( ph -> ( F ` ( ( 1r ` ( Z/nZ ` N ) ) ( .s ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) = ( ( G ` ( 1r ` ( Z/nZ ` N ) ) ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) |
133 |
127 132
|
eqtrd |
|- ( ph -> ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) = ( ( G ` ( 1r ` ( Z/nZ ` N ) ) ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) |
134 |
133
|
fveq2d |
|- ( ph -> ( H ` ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) = ( H ` ( ( G ` ( 1r ` ( Z/nZ ` N ) ) ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) ) |
135 |
|
eqid |
|- ( 1r ` K ) = ( 1r ` K ) |
136 |
117 135
|
rhm1 |
|- ( G e. ( ( Z/nZ ` N ) RingHom K ) -> ( G ` ( 1r ` ( Z/nZ ` N ) ) ) = ( 1r ` K ) ) |
137 |
77 136
|
syl |
|- ( ph -> ( G ` ( 1r ` ( Z/nZ ` N ) ) ) = ( 1r ` K ) ) |
138 |
137
|
oveq1d |
|- ( ph -> ( ( G ` ( 1r ` ( Z/nZ ` N ) ) ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) = ( ( 1r ` K ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) |
139 |
138
|
fveq2d |
|- ( ph -> ( H ` ( ( G ` ( 1r ` ( Z/nZ ` N ) ) ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) = ( H ` ( ( 1r ` K ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) ) |
140 |
68
|
ply1assa |
|- ( K e. CRing -> ( Poly1 ` K ) e. AssAlg ) |
141 |
13 140
|
syl |
|- ( ph -> ( Poly1 ` K ) e. AssAlg ) |
142 |
22 135
|
ringidcl |
|- ( K e. Ring -> ( 1r ` K ) e. ( Base ` K ) ) |
143 |
69 142
|
syl |
|- ( ph -> ( 1r ` K ) e. ( Base ` K ) ) |
144 |
68
|
ply1sca |
|- ( K e. Field -> K = ( Scalar ` ( Poly1 ` K ) ) ) |
145 |
1 144
|
syl |
|- ( ph -> K = ( Scalar ` ( Poly1 ` K ) ) ) |
146 |
145
|
fveq2d |
|- ( ph -> ( Base ` K ) = ( Base ` ( Scalar ` ( Poly1 ` K ) ) ) ) |
147 |
143 146
|
eleqtrd |
|- ( ph -> ( 1r ` K ) e. ( Base ` ( Scalar ` ( Poly1 ` K ) ) ) ) |
148 |
130 86
|
mgpbas |
|- ( Base ` ( Poly1 ` K ) ) = ( Base ` ( mulGrp ` ( Poly1 ` K ) ) ) |
149 |
68
|
ply1crng |
|- ( K e. CRing -> ( Poly1 ` K ) e. CRing ) |
150 |
13 149
|
syl |
|- ( ph -> ( Poly1 ` K ) e. CRing ) |
151 |
|
crngring |
|- ( ( Poly1 ` K ) e. CRing -> ( Poly1 ` K ) e. Ring ) |
152 |
150 151
|
syl |
|- ( ph -> ( Poly1 ` K ) e. Ring ) |
153 |
130
|
ringmgp |
|- ( ( Poly1 ` K ) e. Ring -> ( mulGrp ` ( Poly1 ` K ) ) e. Mnd ) |
154 |
152 153
|
syl |
|- ( ph -> ( mulGrp ` ( Poly1 ` K ) ) e. Mnd ) |
155 |
128 68 86
|
vr1cl |
|- ( K e. Ring -> ( var1 ` K ) e. ( Base ` ( Poly1 ` K ) ) ) |
156 |
69 155
|
syl |
|- ( ph -> ( var1 ` K ) e. ( Base ` ( Poly1 ` K ) ) ) |
157 |
148 131 154 17 156
|
mulgnn0cld |
|- ( ph -> ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) e. ( Base ` ( Poly1 ` K ) ) ) |
158 |
|
eqid |
|- ( algSc ` ( Poly1 ` K ) ) = ( algSc ` ( Poly1 ` K ) ) |
159 |
|
eqid |
|- ( Scalar ` ( Poly1 ` K ) ) = ( Scalar ` ( Poly1 ` K ) ) |
160 |
|
eqid |
|- ( Base ` ( Scalar ` ( Poly1 ` K ) ) ) = ( Base ` ( Scalar ` ( Poly1 ` K ) ) ) |
161 |
|
eqid |
|- ( .r ` ( Poly1 ` K ) ) = ( .r ` ( Poly1 ` K ) ) |
162 |
158 159 160 86 161 129
|
asclmul1 |
|- ( ( ( Poly1 ` K ) e. AssAlg /\ ( 1r ` K ) e. ( Base ` ( Scalar ` ( Poly1 ` K ) ) ) /\ ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) e. ( Base ` ( Poly1 ` K ) ) ) -> ( ( ( algSc ` ( Poly1 ` K ) ) ` ( 1r ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) = ( ( 1r ` K ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) |
163 |
141 147 157 162
|
syl3anc |
|- ( ph -> ( ( ( algSc ` ( Poly1 ` K ) ) ` ( 1r ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) = ( ( 1r ` K ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) |
164 |
163
|
eqcomd |
|- ( ph -> ( ( 1r ` K ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) = ( ( ( algSc ` ( Poly1 ` K ) ) ` ( 1r ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) |
165 |
164
|
fveq2d |
|- ( ph -> ( H ` ( ( 1r ` K ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) = ( H ` ( ( ( algSc ` ( Poly1 ` K ) ) ` ( 1r ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) ) |
166 |
|
eqid |
|- ( 1r ` ( Poly1 ` K ) ) = ( 1r ` ( Poly1 ` K ) ) |
167 |
68 158 135 166 69
|
ply1ascl1 |
|- ( ph -> ( ( algSc ` ( Poly1 ` K ) ) ` ( 1r ` K ) ) = ( 1r ` ( Poly1 ` K ) ) ) |
168 |
167
|
oveq1d |
|- ( ph -> ( ( ( algSc ` ( Poly1 ` K ) ) ` ( 1r ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) = ( ( 1r ` ( Poly1 ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) |
169 |
168
|
fveq2d |
|- ( ph -> ( H ` ( ( ( algSc ` ( Poly1 ` K ) ) ` ( 1r ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) = ( H ` ( ( 1r ` ( Poly1 ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) ) |
170 |
86 161 166 152 157
|
ringlidmd |
|- ( ph -> ( ( 1r ` ( Poly1 ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) = ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) |
171 |
170
|
fveq2d |
|- ( ph -> ( H ` ( ( 1r ` ( Poly1 ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) = ( H ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) |
172 |
6
|
a1i |
|- ( ph -> H = ( r e. ( Base ` ( Poly1 ` K ) ) |-> ( ( ( eval1 ` K ) ` r ) ` M ) ) ) |
173 |
|
simpr |
|- ( ( ph /\ r = ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) -> r = ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) |
174 |
173
|
fveq2d |
|- ( ( ph /\ r = ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) -> ( ( eval1 ` K ) ` r ) = ( ( eval1 ` K ) ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) |
175 |
174
|
fveq1d |
|- ( ( ph /\ r = ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) -> ( ( ( eval1 ` K ) ` r ) ` M ) = ( ( ( eval1 ` K ) ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ` M ) ) |
176 |
|
fvexd |
|- ( ph -> ( ( ( eval1 ` K ) ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ` M ) e. _V ) |
177 |
172 175 157 176
|
fvmptd |
|- ( ph -> ( H ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) = ( ( ( eval1 ` K ) ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ` M ) ) |
178 |
85 128 22 68 86 13 25
|
evl1vard |
|- ( ph -> ( ( var1 ` K ) e. ( Base ` ( Poly1 ` K ) ) /\ ( ( ( eval1 ` K ) ` ( var1 ` K ) ) ` M ) = M ) ) |
179 |
85 68 22 86 13 25 178 131 18 17
|
evl1expd |
|- ( ph -> ( ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) e. ( Base ` ( Poly1 ` K ) ) /\ ( ( ( eval1 ` K ) ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ` M ) = ( R ( .g ` ( mulGrp ` K ) ) M ) ) ) |
180 |
179
|
simprd |
|- ( ph -> ( ( ( eval1 ` K ) ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ` M ) = ( R ( .g ` ( mulGrp ` K ) ) M ) ) |
181 |
20
|
simp2d |
|- ( ph -> ( R ( .g ` ( mulGrp ` K ) ) M ) = ( 0g ` ( mulGrp ` K ) ) ) |
182 |
14 135
|
ringidval |
|- ( 1r ` K ) = ( 0g ` ( mulGrp ` K ) ) |
183 |
182
|
eqcomi |
|- ( 0g ` ( mulGrp ` K ) ) = ( 1r ` K ) |
184 |
183
|
a1i |
|- ( ph -> ( 0g ` ( mulGrp ` K ) ) = ( 1r ` K ) ) |
185 |
181 184
|
eqtrd |
|- ( ph -> ( R ( .g ` ( mulGrp ` K ) ) M ) = ( 1r ` K ) ) |
186 |
180 185
|
eqtrd |
|- ( ph -> ( ( ( eval1 ` K ) ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ` M ) = ( 1r ` K ) ) |
187 |
177 186
|
eqtrd |
|- ( ph -> ( H ` ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) = ( 1r ` K ) ) |
188 |
171 187
|
eqtrd |
|- ( ph -> ( H ` ( ( 1r ` ( Poly1 ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) = ( 1r ` K ) ) |
189 |
169 188
|
eqtrd |
|- ( ph -> ( H ` ( ( ( algSc ` ( Poly1 ` K ) ) ` ( 1r ` K ) ) ( .r ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) = ( 1r ` K ) ) |
190 |
165 189
|
eqtrd |
|- ( ph -> ( H ` ( ( 1r ` K ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) = ( 1r ` K ) ) |
191 |
139 190
|
eqtrd |
|- ( ph -> ( H ` ( ( G ` ( 1r ` ( Z/nZ ` N ) ) ) ( .s ` ( Poly1 ` K ) ) ( R ( .g ` ( mulGrp ` ( Poly1 ` K ) ) ) ( var1 ` K ) ) ) ) = ( 1r ` K ) ) |
192 |
134 191
|
eqtrd |
|- ( ph -> ( H ` ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) = ( 1r ` K ) ) |
193 |
166 135
|
rhm1 |
|- ( H e. ( ( Poly1 ` K ) RingHom K ) -> ( H ` ( 1r ` ( Poly1 ` K ) ) ) = ( 1r ` K ) ) |
194 |
87 193
|
syl |
|- ( ph -> ( H ` ( 1r ` ( Poly1 ` K ) ) ) = ( 1r ` K ) ) |
195 |
194
|
eqcomd |
|- ( ph -> ( 1r ` K ) = ( H ` ( 1r ` ( Poly1 ` K ) ) ) ) |
196 |
192 195
|
eqtrd |
|- ( ph -> ( H ` ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) = ( H ` ( 1r ` ( Poly1 ` K ) ) ) ) |
197 |
196 194
|
eqtrd |
|- ( ph -> ( H ` ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) = ( 1r ` K ) ) |
198 |
49 166
|
rhm1 |
|- ( F e. ( ( Poly1 ` ( Z/nZ ` N ) ) RingHom ( Poly1 ` K ) ) -> ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) = ( 1r ` ( Poly1 ` K ) ) ) |
199 |
78 198
|
syl |
|- ( ph -> ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) = ( 1r ` ( Poly1 ` K ) ) ) |
200 |
199
|
fveq2d |
|- ( ph -> ( H ` ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) = ( H ` ( 1r ` ( Poly1 ` K ) ) ) ) |
201 |
200 194
|
eqtrd |
|- ( ph -> ( H ` ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) = ( 1r ` K ) ) |
202 |
197 201
|
oveq12d |
|- ( ph -> ( ( H ` ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) ( -g ` K ) ( H ` ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) = ( ( 1r ` K ) ( -g ` K ) ( 1r ` K ) ) ) |
203 |
69
|
ringgrpd |
|- ( ph -> K e. Grp ) |
204 |
22 12 94
|
grpsubid |
|- ( ( K e. Grp /\ ( 1r ` K ) e. ( Base ` K ) ) -> ( ( 1r ` K ) ( -g ` K ) ( 1r ` K ) ) = ( 0g ` K ) ) |
205 |
203 143 204
|
syl2anc |
|- ( ph -> ( ( 1r ` K ) ( -g ` K ) ( 1r ` K ) ) = ( 0g ` K ) ) |
206 |
202 205
|
eqtrd |
|- ( ph -> ( ( H ` ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ) ( -g ` K ) ( H ` ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) = ( 0g ` K ) ) |
207 |
96 206
|
eqtrd |
|- ( ph -> ( H ` ( ( F ` ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ) ( -g ` ( Poly1 ` K ) ) ( F ` ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) = ( 0g ` K ) ) |
208 |
84 207
|
eqtrd |
|- ( ph -> ( H ` ( F ` ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) ) = ( 0g ` K ) ) |
209 |
67 208
|
eqtrd |
|- ( ph -> ( ( H o. F ) ` ( ( R ( .g ` ( mulGrp ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( 1r ` ( Poly1 ` ( Z/nZ ` N ) ) ) ) ) = ( 0g ` K ) ) |
210 |
12 26 27 9 8 35 10 54 209
|
rhmqusspan |
|- ( ph -> ( I e. ( A RingHom K ) /\ A. g e. ( Base ` ( Poly1 ` ( Z/nZ ` N ) ) ) ( I ` [ g ] ( ( Poly1 ` ( Z/nZ ` N ) ) ~QG L ) ) = ( ( H o. F ) ` g ) ) ) |