Step |
Hyp |
Ref |
Expression |
1 |
|
aks5lem7.1 |
|- ( ph -> ( # ` ( Base ` K ) ) e. NN ) |
2 |
|
aks5lem7.2 |
|- P = ( chr ` K ) |
3 |
|
aks5lem7.3 |
|- ( ph -> K e. Field ) |
4 |
|
aks5lem7.4 |
|- ( ph -> P e. Prime ) |
5 |
|
aks5lem7.5 |
|- ( ph -> R e. NN ) |
6 |
|
aks5lem7.6 |
|- ( ph -> N e. ( ZZ>= ` 3 ) ) |
7 |
|
aks5lem7.7 |
|- ( ph -> P || N ) |
8 |
|
aks5lem7.8 |
|- ( ph -> ( N gcd R ) = 1 ) |
9 |
|
aks5lem7.9 |
|- A = ( |_ ` ( ( sqrt ` ( phi ` R ) ) x. ( 2 logb N ) ) ) |
10 |
|
aks5lem7.10 |
|- ( ph -> ( ( 2 logb N ) ^ 2 ) < ( ( odZ ` R ) ` N ) ) |
11 |
|
aks5lem7.11 |
|- ( ph -> R || ( ( # ` ( Base ` K ) ) - 1 ) ) |
12 |
|
aks5lem7.12 |
|- ( ph -> A. a e. ( 1 ... A ) [ ( N ( .g ` ( mulGrp ` S ) ) ( X ( +g ` S ) ( ( ZRHom ` S ) ` a ) ) ) ] ( S ~QG L ) = [ ( ( N ( .g ` ( mulGrp ` S ) ) X ) ( +g ` S ) ( ( ZRHom ` S ) ` a ) ) ] ( S ~QG L ) ) |
13 |
|
aks5lem7.13 |
|- ( ph -> A. b e. ( 1 ... A ) ( b gcd N ) = 1 ) |
14 |
|
aks5lem7.14 |
|- S = ( Poly1 ` ( Z/nZ ` N ) ) |
15 |
|
aks5lem7.15 |
|- L = ( ( RSpan ` S ) ` { ( ( R ( .g ` ( mulGrp ` S ) ) X ) ( -g ` S ) ( 1r ` S ) ) } ) |
16 |
|
aks5lem7.16 |
|- X = ( var1 ` ( Z/nZ ` N ) ) |
17 |
|
eqid |
|- { <. e , f >. | ( e e. NN /\ f e. ( Base ` ( Poly1 ` K ) ) /\ A. l e. ( ( mulGrp ` K ) PrimRoots R ) ( e ( .g ` ( mulGrp ` K ) ) ( ( ( eval1 ` K ) ` f ) ` l ) ) = ( ( ( eval1 ` K ) ` f ) ` ( e ( .g ` ( mulGrp ` K ) ) l ) ) ) } = { <. e , f >. | ( e e. NN /\ f e. ( Base ` ( Poly1 ` K ) ) /\ A. l e. ( ( mulGrp ` K ) PrimRoots R ) ( e ( .g ` ( mulGrp ` K ) ) ( ( ( eval1 ` K ) ` f ) ` l ) ) = ( ( ( eval1 ` K ) ` f ) ` ( e ( .g ` ( mulGrp ` K ) ) l ) ) ) } |
18 |
3
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> K e. Field ) |
19 |
4
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> P e. Prime ) |
20 |
5
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> R e. NN ) |
21 |
6
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> N e. ( ZZ>= ` 3 ) ) |
22 |
7
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> P || N ) |
23 |
8
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> ( N gcd R ) = 1 ) |
24 |
10
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> ( ( 2 logb N ) ^ 2 ) < ( ( odZ ` R ) ` N ) ) |
25 |
|
eqid |
|- ( Base ` K ) = ( Base ` K ) |
26 |
|
eqid |
|- ( .g ` ( mulGrp ` K ) ) = ( .g ` ( mulGrp ` K ) ) |
27 |
|
eqid |
|- ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) = ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) |
28 |
|
fldidom |
|- ( K e. Field -> K e. IDomn ) |
29 |
3 28
|
syl |
|- ( ph -> K e. IDomn ) |
30 |
29
|
idomcringd |
|- ( ph -> K e. CRing ) |
31 |
25 2 26 27 30 4
|
frobrhm |
|- ( ph -> ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) e. ( K RingHom K ) ) |
32 |
3 3 31 25 25
|
fldhmf1 |
|- ( ph -> ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) : ( Base ` K ) -1-1-> ( Base ` K ) ) |
33 |
|
fvexd |
|- ( ph -> ( Base ` K ) e. _V ) |
34 |
|
eqeng |
|- ( ( Base ` K ) e. _V -> ( ( Base ` K ) = ( Base ` K ) -> ( Base ` K ) ~~ ( Base ` K ) ) ) |
35 |
33 25 34
|
mpisyl |
|- ( ph -> ( Base ` K ) ~~ ( Base ` K ) ) |
36 |
1
|
nnnn0d |
|- ( ph -> ( # ` ( Base ` K ) ) e. NN0 ) |
37 |
|
hashclb |
|- ( ( Base ` K ) e. _V -> ( ( Base ` K ) e. Fin <-> ( # ` ( Base ` K ) ) e. NN0 ) ) |
38 |
33 37
|
syl |
|- ( ph -> ( ( Base ` K ) e. Fin <-> ( # ` ( Base ` K ) ) e. NN0 ) ) |
39 |
36 38
|
mpbird |
|- ( ph -> ( Base ` K ) e. Fin ) |
40 |
|
f1finf1o |
|- ( ( ( Base ` K ) ~~ ( Base ` K ) /\ ( Base ` K ) e. Fin ) -> ( ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) : ( Base ` K ) -1-1-> ( Base ` K ) <-> ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) : ( Base ` K ) -1-1-onto-> ( Base ` K ) ) ) |
41 |
35 39 40
|
syl2anc |
|- ( ph -> ( ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) : ( Base ` K ) -1-1-> ( Base ` K ) <-> ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) : ( Base ` K ) -1-1-onto-> ( Base ` K ) ) ) |
42 |
32 41
|
mpbid |
|- ( ph -> ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) : ( Base ` K ) -1-1-onto-> ( Base ` K ) ) |
43 |
31 42
|
jca |
|- ( ph -> ( ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) e. ( K RingHom K ) /\ ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) : ( Base ` K ) -1-1-onto-> ( Base ` K ) ) ) |
44 |
25 25
|
isrim |
|- ( ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) e. ( K RingIso K ) <-> ( ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) e. ( K RingHom K ) /\ ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) : ( Base ` K ) -1-1-onto-> ( Base ` K ) ) ) |
45 |
43 44
|
sylibr |
|- ( ph -> ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) e. ( K RingIso K ) ) |
46 |
45
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> ( x e. ( Base ` K ) |-> ( P ( .g ` ( mulGrp ` K ) ) x ) ) e. ( K RingIso K ) ) |
47 |
|
simpr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> m e. ( ( mulGrp ` K ) PrimRoots R ) ) |
48 |
13
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> A. b e. ( 1 ... A ) ( b gcd N ) = 1 ) |
49 |
16
|
oveq2i |
|- ( R ( .g ` ( mulGrp ` S ) ) X ) = ( R ( .g ` ( mulGrp ` S ) ) ( var1 ` ( Z/nZ ` N ) ) ) |
50 |
49
|
oveq1i |
|- ( ( R ( .g ` ( mulGrp ` S ) ) X ) ( -g ` S ) ( 1r ` S ) ) = ( ( R ( .g ` ( mulGrp ` S ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` S ) ( 1r ` S ) ) |
51 |
50
|
sneqi |
|- { ( ( R ( .g ` ( mulGrp ` S ) ) X ) ( -g ` S ) ( 1r ` S ) ) } = { ( ( R ( .g ` ( mulGrp ` S ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` S ) ( 1r ` S ) ) } |
52 |
51
|
fveq2i |
|- ( ( RSpan ` S ) ` { ( ( R ( .g ` ( mulGrp ` S ) ) X ) ( -g ` S ) ( 1r ` S ) ) } ) = ( ( RSpan ` S ) ` { ( ( R ( .g ` ( mulGrp ` S ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` S ) ( 1r ` S ) ) } ) |
53 |
15 52
|
eqtri |
|- L = ( ( RSpan ` S ) ` { ( ( R ( .g ` ( mulGrp ` S ) ) ( var1 ` ( Z/nZ ` N ) ) ) ( -g ` S ) ( 1r ` S ) ) } ) |
54 |
12
|
adantr |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> A. a e. ( 1 ... A ) [ ( N ( .g ` ( mulGrp ` S ) ) ( X ( +g ` S ) ( ( ZRHom ` S ) ` a ) ) ) ] ( S ~QG L ) = [ ( ( N ( .g ` ( mulGrp ` S ) ) X ) ( +g ` S ) ( ( ZRHom ` S ) ` a ) ) ] ( S ~QG L ) ) |
55 |
17 2 18 19 20 21 22 23 9 24 46 47 48 14 53 16 54
|
aks5lem6 |
|- ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> N = ( P ^ ( P pCnt N ) ) ) |
56 |
55
|
adantr |
|- ( ( ( ph /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) /\ m e. ( ( mulGrp ` K ) PrimRoots R ) ) -> N = ( P ^ ( P pCnt N ) ) ) |
57 |
|
eqid |
|- ( ( mulGrp ` K ) |`s ( Unit ` K ) ) = ( ( mulGrp ` K ) |`s ( Unit ` K ) ) |
58 |
3
|
flddrngd |
|- ( ph -> K e. DivRing ) |
59 |
|
eqid |
|- ( Unit ` K ) = ( Unit ` K ) |
60 |
|
eqid |
|- ( 0g ` K ) = ( 0g ` K ) |
61 |
25 59 60
|
isdrng |
|- ( K e. DivRing <-> ( K e. Ring /\ ( Unit ` K ) = ( ( Base ` K ) \ { ( 0g ` K ) } ) ) ) |
62 |
61
|
biimpi |
|- ( K e. DivRing -> ( K e. Ring /\ ( Unit ` K ) = ( ( Base ` K ) \ { ( 0g ` K ) } ) ) ) |
63 |
58 62
|
syl |
|- ( ph -> ( K e. Ring /\ ( Unit ` K ) = ( ( Base ` K ) \ { ( 0g ` K ) } ) ) ) |
64 |
63
|
simprd |
|- ( ph -> ( Unit ` K ) = ( ( Base ` K ) \ { ( 0g ` K ) } ) ) |
65 |
64
|
fveq2d |
|- ( ph -> ( # ` ( Unit ` K ) ) = ( # ` ( ( Base ` K ) \ { ( 0g ` K ) } ) ) ) |
66 |
63
|
simpld |
|- ( ph -> K e. Ring ) |
67 |
|
ringgrp |
|- ( K e. Ring -> K e. Grp ) |
68 |
66 67
|
syl |
|- ( ph -> K e. Grp ) |
69 |
25 60
|
grpidcl |
|- ( K e. Grp -> ( 0g ` K ) e. ( Base ` K ) ) |
70 |
68 69
|
syl |
|- ( ph -> ( 0g ` K ) e. ( Base ` K ) ) |
71 |
|
hashdifsn |
|- ( ( ( Base ` K ) e. Fin /\ ( 0g ` K ) e. ( Base ` K ) ) -> ( # ` ( ( Base ` K ) \ { ( 0g ` K ) } ) ) = ( ( # ` ( Base ` K ) ) - 1 ) ) |
72 |
39 70 71
|
syl2anc |
|- ( ph -> ( # ` ( ( Base ` K ) \ { ( 0g ` K ) } ) ) = ( ( # ` ( Base ` K ) ) - 1 ) ) |
73 |
65 72
|
eqtr2d |
|- ( ph -> ( ( # ` ( Base ` K ) ) - 1 ) = ( # ` ( Unit ` K ) ) ) |
74 |
|
eqid |
|- ( mulGrp ` K ) = ( mulGrp ` K ) |
75 |
74 25
|
mgpbas |
|- ( Base ` K ) = ( Base ` ( mulGrp ` K ) ) |
76 |
75
|
eqcomi |
|- ( Base ` ( mulGrp ` K ) ) = ( Base ` K ) |
77 |
76 59
|
unitss |
|- ( Unit ` K ) C_ ( Base ` ( mulGrp ` K ) ) |
78 |
77
|
a1i |
|- ( ph -> ( Unit ` K ) C_ ( Base ` ( mulGrp ` K ) ) ) |
79 |
|
eqid |
|- ( Base ` ( mulGrp ` K ) ) = ( Base ` ( mulGrp ` K ) ) |
80 |
57 79
|
ressbas2 |
|- ( ( Unit ` K ) C_ ( Base ` ( mulGrp ` K ) ) -> ( Unit ` K ) = ( Base ` ( ( mulGrp ` K ) |`s ( Unit ` K ) ) ) ) |
81 |
78 80
|
syl |
|- ( ph -> ( Unit ` K ) = ( Base ` ( ( mulGrp ` K ) |`s ( Unit ` K ) ) ) ) |
82 |
81
|
fveq2d |
|- ( ph -> ( # ` ( Unit ` K ) ) = ( # ` ( Base ` ( ( mulGrp ` K ) |`s ( Unit ` K ) ) ) ) ) |
83 |
73 82
|
eqtrd |
|- ( ph -> ( ( # ` ( Base ` K ) ) - 1 ) = ( # ` ( Base ` ( ( mulGrp ` K ) |`s ( Unit ` K ) ) ) ) ) |
84 |
11 83
|
breqtrd |
|- ( ph -> R || ( # ` ( Base ` ( ( mulGrp ` K ) |`s ( Unit ` K ) ) ) ) ) |
85 |
57 29 39 5 84
|
unitscyglem5 |
|- ( ph -> ( ( mulGrp ` K ) PrimRoots R ) =/= (/) ) |
86 |
|
n0rex |
|- ( ( ( mulGrp ` K ) PrimRoots R ) =/= (/) -> E. m e. ( ( mulGrp ` K ) PrimRoots R ) m e. ( ( mulGrp ` K ) PrimRoots R ) ) |
87 |
85 86
|
syl |
|- ( ph -> E. m e. ( ( mulGrp ` K ) PrimRoots R ) m e. ( ( mulGrp ` K ) PrimRoots R ) ) |
88 |
56 87
|
r19.29a |
|- ( ph -> N = ( P ^ ( P pCnt N ) ) ) |