Step |
Hyp |
Ref |
Expression |
1 |
|
znchr.y |
|- Y = ( Z/nZ ` N ) |
2 |
|
znunit.u |
|- U = ( Unit ` Y ) |
3 |
|
znrrg.e |
|- E = ( RLReg ` Y ) |
4 |
|
nnnn0 |
|- ( N e. NN -> N e. NN0 ) |
5 |
|
eqid |
|- ( Base ` Y ) = ( Base ` Y ) |
6 |
|
eqid |
|- ( ZRHom ` Y ) = ( ZRHom ` Y ) |
7 |
1 5 6
|
znzrhfo |
|- ( N e. NN0 -> ( ZRHom ` Y ) : ZZ -onto-> ( Base ` Y ) ) |
8 |
4 7
|
syl |
|- ( N e. NN -> ( ZRHom ` Y ) : ZZ -onto-> ( Base ` Y ) ) |
9 |
3 5
|
rrgss |
|- E C_ ( Base ` Y ) |
10 |
9
|
sseli |
|- ( x e. E -> x e. ( Base ` Y ) ) |
11 |
|
foelrn |
|- ( ( ( ZRHom ` Y ) : ZZ -onto-> ( Base ` Y ) /\ x e. ( Base ` Y ) ) -> E. n e. ZZ x = ( ( ZRHom ` Y ) ` n ) ) |
12 |
8 10 11
|
syl2an |
|- ( ( N e. NN /\ x e. E ) -> E. n e. ZZ x = ( ( ZRHom ` Y ) ` n ) ) |
13 |
12
|
ex |
|- ( N e. NN -> ( x e. E -> E. n e. ZZ x = ( ( ZRHom ` Y ) ` n ) ) ) |
14 |
|
nncn |
|- ( N e. NN -> N e. CC ) |
15 |
14
|
ad2antrr |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> N e. CC ) |
16 |
|
simplr |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> n e. ZZ ) |
17 |
|
nnz |
|- ( N e. NN -> N e. ZZ ) |
18 |
17
|
ad2antrr |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> N e. ZZ ) |
19 |
|
nnne0 |
|- ( N e. NN -> N =/= 0 ) |
20 |
19
|
ad2antrr |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> N =/= 0 ) |
21 |
|
simpr |
|- ( ( n = 0 /\ N = 0 ) -> N = 0 ) |
22 |
21
|
necon3ai |
|- ( N =/= 0 -> -. ( n = 0 /\ N = 0 ) ) |
23 |
20 22
|
syl |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> -. ( n = 0 /\ N = 0 ) ) |
24 |
|
gcdn0cl |
|- ( ( ( n e. ZZ /\ N e. ZZ ) /\ -. ( n = 0 /\ N = 0 ) ) -> ( n gcd N ) e. NN ) |
25 |
16 18 23 24
|
syl21anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n gcd N ) e. NN ) |
26 |
25
|
nncnd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n gcd N ) e. CC ) |
27 |
25
|
nnne0d |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n gcd N ) =/= 0 ) |
28 |
15 26 27
|
divcan2d |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( n gcd N ) x. ( N / ( n gcd N ) ) ) = N ) |
29 |
|
gcddvds |
|- ( ( n e. ZZ /\ N e. ZZ ) -> ( ( n gcd N ) || n /\ ( n gcd N ) || N ) ) |
30 |
16 18 29
|
syl2anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( n gcd N ) || n /\ ( n gcd N ) || N ) ) |
31 |
30
|
simpld |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n gcd N ) || n ) |
32 |
25
|
nnzd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n gcd N ) e. ZZ ) |
33 |
30
|
simprd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n gcd N ) || N ) |
34 |
|
simpll |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> N e. NN ) |
35 |
|
nndivdvds |
|- ( ( N e. NN /\ ( n gcd N ) e. NN ) -> ( ( n gcd N ) || N <-> ( N / ( n gcd N ) ) e. NN ) ) |
36 |
34 25 35
|
syl2anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( n gcd N ) || N <-> ( N / ( n gcd N ) ) e. NN ) ) |
37 |
33 36
|
mpbid |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( N / ( n gcd N ) ) e. NN ) |
38 |
37
|
nnzd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( N / ( n gcd N ) ) e. ZZ ) |
39 |
|
dvdsmulc |
|- ( ( ( n gcd N ) e. ZZ /\ n e. ZZ /\ ( N / ( n gcd N ) ) e. ZZ ) -> ( ( n gcd N ) || n -> ( ( n gcd N ) x. ( N / ( n gcd N ) ) ) || ( n x. ( N / ( n gcd N ) ) ) ) ) |
40 |
32 16 38 39
|
syl3anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( n gcd N ) || n -> ( ( n gcd N ) x. ( N / ( n gcd N ) ) ) || ( n x. ( N / ( n gcd N ) ) ) ) ) |
41 |
31 40
|
mpd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( n gcd N ) x. ( N / ( n gcd N ) ) ) || ( n x. ( N / ( n gcd N ) ) ) ) |
42 |
28 41
|
eqbrtrrd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> N || ( n x. ( N / ( n gcd N ) ) ) ) |
43 |
|
simpr |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ZRHom ` Y ) ` n ) e. E ) |
44 |
4
|
ad2antrr |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> N e. NN0 ) |
45 |
44 7
|
syl |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ZRHom ` Y ) : ZZ -onto-> ( Base ` Y ) ) |
46 |
|
fof |
|- ( ( ZRHom ` Y ) : ZZ -onto-> ( Base ` Y ) -> ( ZRHom ` Y ) : ZZ --> ( Base ` Y ) ) |
47 |
45 46
|
syl |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ZRHom ` Y ) : ZZ --> ( Base ` Y ) ) |
48 |
47 38
|
ffvelrnd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) e. ( Base ` Y ) ) |
49 |
|
eqid |
|- ( .r ` Y ) = ( .r ` Y ) |
50 |
|
eqid |
|- ( 0g ` Y ) = ( 0g ` Y ) |
51 |
3 5 49 50
|
rrgeq0i |
|- ( ( ( ( ZRHom ` Y ) ` n ) e. E /\ ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) e. ( Base ` Y ) ) -> ( ( ( ( ZRHom ` Y ) ` n ) ( .r ` Y ) ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) ) = ( 0g ` Y ) -> ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) = ( 0g ` Y ) ) ) |
52 |
43 48 51
|
syl2anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ( ( ZRHom ` Y ) ` n ) ( .r ` Y ) ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) ) = ( 0g ` Y ) -> ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) = ( 0g ` Y ) ) ) |
53 |
1
|
zncrng |
|- ( N e. NN0 -> Y e. CRing ) |
54 |
4 53
|
syl |
|- ( N e. NN -> Y e. CRing ) |
55 |
|
crngring |
|- ( Y e. CRing -> Y e. Ring ) |
56 |
54 55
|
syl |
|- ( N e. NN -> Y e. Ring ) |
57 |
56
|
ad2antrr |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> Y e. Ring ) |
58 |
6
|
zrhrhm |
|- ( Y e. Ring -> ( ZRHom ` Y ) e. ( ZZring RingHom Y ) ) |
59 |
57 58
|
syl |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ZRHom ` Y ) e. ( ZZring RingHom Y ) ) |
60 |
|
zringbas |
|- ZZ = ( Base ` ZZring ) |
61 |
|
zringmulr |
|- x. = ( .r ` ZZring ) |
62 |
60 61 49
|
rhmmul |
|- ( ( ( ZRHom ` Y ) e. ( ZZring RingHom Y ) /\ n e. ZZ /\ ( N / ( n gcd N ) ) e. ZZ ) -> ( ( ZRHom ` Y ) ` ( n x. ( N / ( n gcd N ) ) ) ) = ( ( ( ZRHom ` Y ) ` n ) ( .r ` Y ) ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) ) ) |
63 |
59 16 38 62
|
syl3anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ZRHom ` Y ) ` ( n x. ( N / ( n gcd N ) ) ) ) = ( ( ( ZRHom ` Y ) ` n ) ( .r ` Y ) ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) ) ) |
64 |
63
|
eqeq1d |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ( ZRHom ` Y ) ` ( n x. ( N / ( n gcd N ) ) ) ) = ( 0g ` Y ) <-> ( ( ( ZRHom ` Y ) ` n ) ( .r ` Y ) ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) ) = ( 0g ` Y ) ) ) |
65 |
16 38
|
zmulcld |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n x. ( N / ( n gcd N ) ) ) e. ZZ ) |
66 |
1 6 50
|
zndvds0 |
|- ( ( N e. NN0 /\ ( n x. ( N / ( n gcd N ) ) ) e. ZZ ) -> ( ( ( ZRHom ` Y ) ` ( n x. ( N / ( n gcd N ) ) ) ) = ( 0g ` Y ) <-> N || ( n x. ( N / ( n gcd N ) ) ) ) ) |
67 |
44 65 66
|
syl2anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ( ZRHom ` Y ) ` ( n x. ( N / ( n gcd N ) ) ) ) = ( 0g ` Y ) <-> N || ( n x. ( N / ( n gcd N ) ) ) ) ) |
68 |
64 67
|
bitr3d |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ( ( ZRHom ` Y ) ` n ) ( .r ` Y ) ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) ) = ( 0g ` Y ) <-> N || ( n x. ( N / ( n gcd N ) ) ) ) ) |
69 |
1 6 50
|
zndvds0 |
|- ( ( N e. NN0 /\ ( N / ( n gcd N ) ) e. ZZ ) -> ( ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) = ( 0g ` Y ) <-> N || ( N / ( n gcd N ) ) ) ) |
70 |
44 38 69
|
syl2anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ( ZRHom ` Y ) ` ( N / ( n gcd N ) ) ) = ( 0g ` Y ) <-> N || ( N / ( n gcd N ) ) ) ) |
71 |
52 68 70
|
3imtr3d |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( N || ( n x. ( N / ( n gcd N ) ) ) -> N || ( N / ( n gcd N ) ) ) ) |
72 |
42 71
|
mpd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> N || ( N / ( n gcd N ) ) ) |
73 |
15 26 27
|
divcan1d |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( N / ( n gcd N ) ) x. ( n gcd N ) ) = N ) |
74 |
37
|
nncnd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( N / ( n gcd N ) ) e. CC ) |
75 |
74
|
mulid1d |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( N / ( n gcd N ) ) x. 1 ) = ( N / ( n gcd N ) ) ) |
76 |
72 73 75
|
3brtr4d |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( N / ( n gcd N ) ) x. ( n gcd N ) ) || ( ( N / ( n gcd N ) ) x. 1 ) ) |
77 |
|
1zzd |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> 1 e. ZZ ) |
78 |
37
|
nnne0d |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( N / ( n gcd N ) ) =/= 0 ) |
79 |
|
dvdscmulr |
|- ( ( ( n gcd N ) e. ZZ /\ 1 e. ZZ /\ ( ( N / ( n gcd N ) ) e. ZZ /\ ( N / ( n gcd N ) ) =/= 0 ) ) -> ( ( ( N / ( n gcd N ) ) x. ( n gcd N ) ) || ( ( N / ( n gcd N ) ) x. 1 ) <-> ( n gcd N ) || 1 ) ) |
80 |
32 77 38 78 79
|
syl112anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ( N / ( n gcd N ) ) x. ( n gcd N ) ) || ( ( N / ( n gcd N ) ) x. 1 ) <-> ( n gcd N ) || 1 ) ) |
81 |
76 80
|
mpbid |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n gcd N ) || 1 ) |
82 |
16 18
|
gcdcld |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n gcd N ) e. NN0 ) |
83 |
|
dvds1 |
|- ( ( n gcd N ) e. NN0 -> ( ( n gcd N ) || 1 <-> ( n gcd N ) = 1 ) ) |
84 |
82 83
|
syl |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( n gcd N ) || 1 <-> ( n gcd N ) = 1 ) ) |
85 |
81 84
|
mpbid |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( n gcd N ) = 1 ) |
86 |
1 2 6
|
znunit |
|- ( ( N e. NN0 /\ n e. ZZ ) -> ( ( ( ZRHom ` Y ) ` n ) e. U <-> ( n gcd N ) = 1 ) ) |
87 |
44 16 86
|
syl2anc |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ( ZRHom ` Y ) ` n ) e. U <-> ( n gcd N ) = 1 ) ) |
88 |
85 87
|
mpbird |
|- ( ( ( N e. NN /\ n e. ZZ ) /\ ( ( ZRHom ` Y ) ` n ) e. E ) -> ( ( ZRHom ` Y ) ` n ) e. U ) |
89 |
88
|
ex |
|- ( ( N e. NN /\ n e. ZZ ) -> ( ( ( ZRHom ` Y ) ` n ) e. E -> ( ( ZRHom ` Y ) ` n ) e. U ) ) |
90 |
|
eleq1 |
|- ( x = ( ( ZRHom ` Y ) ` n ) -> ( x e. E <-> ( ( ZRHom ` Y ) ` n ) e. E ) ) |
91 |
|
eleq1 |
|- ( x = ( ( ZRHom ` Y ) ` n ) -> ( x e. U <-> ( ( ZRHom ` Y ) ` n ) e. U ) ) |
92 |
90 91
|
imbi12d |
|- ( x = ( ( ZRHom ` Y ) ` n ) -> ( ( x e. E -> x e. U ) <-> ( ( ( ZRHom ` Y ) ` n ) e. E -> ( ( ZRHom ` Y ) ` n ) e. U ) ) ) |
93 |
89 92
|
syl5ibrcom |
|- ( ( N e. NN /\ n e. ZZ ) -> ( x = ( ( ZRHom ` Y ) ` n ) -> ( x e. E -> x e. U ) ) ) |
94 |
93
|
rexlimdva |
|- ( N e. NN -> ( E. n e. ZZ x = ( ( ZRHom ` Y ) ` n ) -> ( x e. E -> x e. U ) ) ) |
95 |
94
|
com23 |
|- ( N e. NN -> ( x e. E -> ( E. n e. ZZ x = ( ( ZRHom ` Y ) ` n ) -> x e. U ) ) ) |
96 |
13 95
|
mpdd |
|- ( N e. NN -> ( x e. E -> x e. U ) ) |
97 |
96
|
ssrdv |
|- ( N e. NN -> E C_ U ) |
98 |
3 2
|
unitrrg |
|- ( Y e. Ring -> U C_ E ) |
99 |
56 98
|
syl |
|- ( N e. NN -> U C_ E ) |
100 |
97 99
|
eqssd |
|- ( N e. NN -> E = U ) |