Step |
Hyp |
Ref |
Expression |
1 |
|
zntos.y |
|- Y = ( Z/nZ ` N ) |
2 |
|
2z |
|- 2 e. ZZ |
3 |
2
|
a1i |
|- ( ( N e. NN /\ Y e. IDomn ) -> 2 e. ZZ ) |
4 |
|
nnz |
|- ( N e. NN -> N e. ZZ ) |
5 |
4
|
adantr |
|- ( ( N e. NN /\ Y e. IDomn ) -> N e. ZZ ) |
6 |
|
hash2 |
|- ( # ` 2o ) = 2 |
7 |
|
isidom |
|- ( Y e. IDomn <-> ( Y e. CRing /\ Y e. Domn ) ) |
8 |
7
|
simprbi |
|- ( Y e. IDomn -> Y e. Domn ) |
9 |
|
domnnzr |
|- ( Y e. Domn -> Y e. NzRing ) |
10 |
8 9
|
syl |
|- ( Y e. IDomn -> Y e. NzRing ) |
11 |
|
eqid |
|- ( Base ` Y ) = ( Base ` Y ) |
12 |
11
|
isnzr2 |
|- ( Y e. NzRing <-> ( Y e. Ring /\ 2o ~<_ ( Base ` Y ) ) ) |
13 |
12
|
simprbi |
|- ( Y e. NzRing -> 2o ~<_ ( Base ` Y ) ) |
14 |
10 13
|
syl |
|- ( Y e. IDomn -> 2o ~<_ ( Base ` Y ) ) |
15 |
14
|
adantl |
|- ( ( N e. NN /\ Y e. IDomn ) -> 2o ~<_ ( Base ` Y ) ) |
16 |
|
df2o2 |
|- 2o = { (/) , { (/) } } |
17 |
|
prfi |
|- { (/) , { (/) } } e. Fin |
18 |
16 17
|
eqeltri |
|- 2o e. Fin |
19 |
|
fvex |
|- ( Base ` Y ) e. _V |
20 |
|
hashdom |
|- ( ( 2o e. Fin /\ ( Base ` Y ) e. _V ) -> ( ( # ` 2o ) <_ ( # ` ( Base ` Y ) ) <-> 2o ~<_ ( Base ` Y ) ) ) |
21 |
18 19 20
|
mp2an |
|- ( ( # ` 2o ) <_ ( # ` ( Base ` Y ) ) <-> 2o ~<_ ( Base ` Y ) ) |
22 |
15 21
|
sylibr |
|- ( ( N e. NN /\ Y e. IDomn ) -> ( # ` 2o ) <_ ( # ` ( Base ` Y ) ) ) |
23 |
6 22
|
eqbrtrrid |
|- ( ( N e. NN /\ Y e. IDomn ) -> 2 <_ ( # ` ( Base ` Y ) ) ) |
24 |
1 11
|
znhash |
|- ( N e. NN -> ( # ` ( Base ` Y ) ) = N ) |
25 |
24
|
adantr |
|- ( ( N e. NN /\ Y e. IDomn ) -> ( # ` ( Base ` Y ) ) = N ) |
26 |
23 25
|
breqtrd |
|- ( ( N e. NN /\ Y e. IDomn ) -> 2 <_ N ) |
27 |
|
eluz2 |
|- ( N e. ( ZZ>= ` 2 ) <-> ( 2 e. ZZ /\ N e. ZZ /\ 2 <_ N ) ) |
28 |
3 5 26 27
|
syl3anbrc |
|- ( ( N e. NN /\ Y e. IDomn ) -> N e. ( ZZ>= ` 2 ) ) |
29 |
|
nncn |
|- ( N e. NN -> N e. CC ) |
30 |
29
|
ad2antrr |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> N e. CC ) |
31 |
|
nncn |
|- ( x e. NN -> x e. CC ) |
32 |
31
|
ad2antrl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> x e. CC ) |
33 |
|
nnne0 |
|- ( x e. NN -> x =/= 0 ) |
34 |
33
|
ad2antrl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> x =/= 0 ) |
35 |
30 32 34
|
divcan1d |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( N / x ) x. x ) = N ) |
36 |
35
|
fveq2d |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ZRHom ` Y ) ` ( ( N / x ) x. x ) ) = ( ( ZRHom ` Y ) ` N ) ) |
37 |
8
|
ad2antlr |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> Y e. Domn ) |
38 |
|
domnring |
|- ( Y e. Domn -> Y e. Ring ) |
39 |
37 38
|
syl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> Y e. Ring ) |
40 |
|
eqid |
|- ( ZRHom ` Y ) = ( ZRHom ` Y ) |
41 |
40
|
zrhrhm |
|- ( Y e. Ring -> ( ZRHom ` Y ) e. ( ZZring RingHom Y ) ) |
42 |
39 41
|
syl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ZRHom ` Y ) e. ( ZZring RingHom Y ) ) |
43 |
|
simprr |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> x || N ) |
44 |
|
nnz |
|- ( x e. NN -> x e. ZZ ) |
45 |
44
|
ad2antrl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> x e. ZZ ) |
46 |
4
|
ad2antrr |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> N e. ZZ ) |
47 |
|
dvdsval2 |
|- ( ( x e. ZZ /\ x =/= 0 /\ N e. ZZ ) -> ( x || N <-> ( N / x ) e. ZZ ) ) |
48 |
45 34 46 47
|
syl3anc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( x || N <-> ( N / x ) e. ZZ ) ) |
49 |
43 48
|
mpbid |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( N / x ) e. ZZ ) |
50 |
|
zringbas |
|- ZZ = ( Base ` ZZring ) |
51 |
|
zringmulr |
|- x. = ( .r ` ZZring ) |
52 |
|
eqid |
|- ( .r ` Y ) = ( .r ` Y ) |
53 |
50 51 52
|
rhmmul |
|- ( ( ( ZRHom ` Y ) e. ( ZZring RingHom Y ) /\ ( N / x ) e. ZZ /\ x e. ZZ ) -> ( ( ZRHom ` Y ) ` ( ( N / x ) x. x ) ) = ( ( ( ZRHom ` Y ) ` ( N / x ) ) ( .r ` Y ) ( ( ZRHom ` Y ) ` x ) ) ) |
54 |
42 49 45 53
|
syl3anc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ZRHom ` Y ) ` ( ( N / x ) x. x ) ) = ( ( ( ZRHom ` Y ) ` ( N / x ) ) ( .r ` Y ) ( ( ZRHom ` Y ) ` x ) ) ) |
55 |
|
iddvds |
|- ( N e. ZZ -> N || N ) |
56 |
46 55
|
syl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> N || N ) |
57 |
|
nnnn0 |
|- ( N e. NN -> N e. NN0 ) |
58 |
57
|
ad2antrr |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> N e. NN0 ) |
59 |
|
eqid |
|- ( 0g ` Y ) = ( 0g ` Y ) |
60 |
1 40 59
|
zndvds0 |
|- ( ( N e. NN0 /\ N e. ZZ ) -> ( ( ( ZRHom ` Y ) ` N ) = ( 0g ` Y ) <-> N || N ) ) |
61 |
58 46 60
|
syl2anc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ( ZRHom ` Y ) ` N ) = ( 0g ` Y ) <-> N || N ) ) |
62 |
56 61
|
mpbird |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ZRHom ` Y ) ` N ) = ( 0g ` Y ) ) |
63 |
36 54 62
|
3eqtr3d |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ( ZRHom ` Y ) ` ( N / x ) ) ( .r ` Y ) ( ( ZRHom ` Y ) ` x ) ) = ( 0g ` Y ) ) |
64 |
50 11
|
rhmf |
|- ( ( ZRHom ` Y ) e. ( ZZring RingHom Y ) -> ( ZRHom ` Y ) : ZZ --> ( Base ` Y ) ) |
65 |
42 64
|
syl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ZRHom ` Y ) : ZZ --> ( Base ` Y ) ) |
66 |
65 49
|
ffvelrnd |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ZRHom ` Y ) ` ( N / x ) ) e. ( Base ` Y ) ) |
67 |
65 45
|
ffvelrnd |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ZRHom ` Y ) ` x ) e. ( Base ` Y ) ) |
68 |
11 52 59
|
domneq0 |
|- ( ( Y e. Domn /\ ( ( ZRHom ` Y ) ` ( N / x ) ) e. ( Base ` Y ) /\ ( ( ZRHom ` Y ) ` x ) e. ( Base ` Y ) ) -> ( ( ( ( ZRHom ` Y ) ` ( N / x ) ) ( .r ` Y ) ( ( ZRHom ` Y ) ` x ) ) = ( 0g ` Y ) <-> ( ( ( ZRHom ` Y ) ` ( N / x ) ) = ( 0g ` Y ) \/ ( ( ZRHom ` Y ) ` x ) = ( 0g ` Y ) ) ) ) |
69 |
37 66 67 68
|
syl3anc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ( ( ZRHom ` Y ) ` ( N / x ) ) ( .r ` Y ) ( ( ZRHom ` Y ) ` x ) ) = ( 0g ` Y ) <-> ( ( ( ZRHom ` Y ) ` ( N / x ) ) = ( 0g ` Y ) \/ ( ( ZRHom ` Y ) ` x ) = ( 0g ` Y ) ) ) ) |
70 |
63 69
|
mpbid |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ( ZRHom ` Y ) ` ( N / x ) ) = ( 0g ` Y ) \/ ( ( ZRHom ` Y ) ` x ) = ( 0g ` Y ) ) ) |
71 |
1 40 59
|
zndvds0 |
|- ( ( N e. NN0 /\ ( N / x ) e. ZZ ) -> ( ( ( ZRHom ` Y ) ` ( N / x ) ) = ( 0g ` Y ) <-> N || ( N / x ) ) ) |
72 |
58 49 71
|
syl2anc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ( ZRHom ` Y ) ` ( N / x ) ) = ( 0g ` Y ) <-> N || ( N / x ) ) ) |
73 |
|
nnre |
|- ( N e. NN -> N e. RR ) |
74 |
73
|
ad2antrr |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> N e. RR ) |
75 |
|
nnre |
|- ( x e. NN -> x e. RR ) |
76 |
75
|
ad2antrl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> x e. RR ) |
77 |
|
nngt0 |
|- ( N e. NN -> 0 < N ) |
78 |
77
|
ad2antrr |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> 0 < N ) |
79 |
|
nngt0 |
|- ( x e. NN -> 0 < x ) |
80 |
79
|
ad2antrl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> 0 < x ) |
81 |
74 76 78 80
|
divgt0d |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> 0 < ( N / x ) ) |
82 |
|
elnnz |
|- ( ( N / x ) e. NN <-> ( ( N / x ) e. ZZ /\ 0 < ( N / x ) ) ) |
83 |
49 81 82
|
sylanbrc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( N / x ) e. NN ) |
84 |
|
dvdsle |
|- ( ( N e. ZZ /\ ( N / x ) e. NN ) -> ( N || ( N / x ) -> N <_ ( N / x ) ) ) |
85 |
46 83 84
|
syl2anc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( N || ( N / x ) -> N <_ ( N / x ) ) ) |
86 |
|
1red |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> 1 e. RR ) |
87 |
|
0lt1 |
|- 0 < 1 |
88 |
87
|
a1i |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> 0 < 1 ) |
89 |
|
lediv2 |
|- ( ( ( x e. RR /\ 0 < x ) /\ ( 1 e. RR /\ 0 < 1 ) /\ ( N e. RR /\ 0 < N ) ) -> ( x <_ 1 <-> ( N / 1 ) <_ ( N / x ) ) ) |
90 |
76 80 86 88 74 78 89
|
syl222anc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( x <_ 1 <-> ( N / 1 ) <_ ( N / x ) ) ) |
91 |
|
nnle1eq1 |
|- ( x e. NN -> ( x <_ 1 <-> x = 1 ) ) |
92 |
91
|
ad2antrl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( x <_ 1 <-> x = 1 ) ) |
93 |
30
|
div1d |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( N / 1 ) = N ) |
94 |
93
|
breq1d |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( N / 1 ) <_ ( N / x ) <-> N <_ ( N / x ) ) ) |
95 |
90 92 94
|
3bitr3rd |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( N <_ ( N / x ) <-> x = 1 ) ) |
96 |
85 95
|
sylibd |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( N || ( N / x ) -> x = 1 ) ) |
97 |
72 96
|
sylbid |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ( ZRHom ` Y ) ` ( N / x ) ) = ( 0g ` Y ) -> x = 1 ) ) |
98 |
1 40 59
|
zndvds0 |
|- ( ( N e. NN0 /\ x e. ZZ ) -> ( ( ( ZRHom ` Y ) ` x ) = ( 0g ` Y ) <-> N || x ) ) |
99 |
58 45 98
|
syl2anc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ( ZRHom ` Y ) ` x ) = ( 0g ` Y ) <-> N || x ) ) |
100 |
|
nnnn0 |
|- ( x e. NN -> x e. NN0 ) |
101 |
100
|
ad2antrl |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> x e. NN0 ) |
102 |
|
dvdseq |
|- ( ( ( x e. NN0 /\ N e. NN0 ) /\ ( x || N /\ N || x ) ) -> x = N ) |
103 |
102
|
expr |
|- ( ( ( x e. NN0 /\ N e. NN0 ) /\ x || N ) -> ( N || x -> x = N ) ) |
104 |
101 58 43 103
|
syl21anc |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( N || x -> x = N ) ) |
105 |
99 104
|
sylbid |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ( ZRHom ` Y ) ` x ) = ( 0g ` Y ) -> x = N ) ) |
106 |
97 105
|
orim12d |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( ( ( ( ZRHom ` Y ) ` ( N / x ) ) = ( 0g ` Y ) \/ ( ( ZRHom ` Y ) ` x ) = ( 0g ` Y ) ) -> ( x = 1 \/ x = N ) ) ) |
107 |
70 106
|
mpd |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ ( x e. NN /\ x || N ) ) -> ( x = 1 \/ x = N ) ) |
108 |
107
|
expr |
|- ( ( ( N e. NN /\ Y e. IDomn ) /\ x e. NN ) -> ( x || N -> ( x = 1 \/ x = N ) ) ) |
109 |
108
|
ralrimiva |
|- ( ( N e. NN /\ Y e. IDomn ) -> A. x e. NN ( x || N -> ( x = 1 \/ x = N ) ) ) |
110 |
|
isprm2 |
|- ( N e. Prime <-> ( N e. ( ZZ>= ` 2 ) /\ A. x e. NN ( x || N -> ( x = 1 \/ x = N ) ) ) ) |
111 |
28 109 110
|
sylanbrc |
|- ( ( N e. NN /\ Y e. IDomn ) -> N e. Prime ) |
112 |
111
|
ex |
|- ( N e. NN -> ( Y e. IDomn -> N e. Prime ) ) |
113 |
1
|
znfld |
|- ( N e. Prime -> Y e. Field ) |
114 |
|
fldidom |
|- ( Y e. Field -> Y e. IDomn ) |
115 |
113 114
|
syl |
|- ( N e. Prime -> Y e. IDomn ) |
116 |
112 115
|
impbid1 |
|- ( N e. NN -> ( Y e. IDomn <-> N e. Prime ) ) |