Step |
Hyp |
Ref |
Expression |
1 |
|
cznrng.y |
|- Y = ( Z/nZ ` N ) |
2 |
|
cznrng.b |
|- B = ( Base ` Y ) |
3 |
|
cznrng.x |
|- X = ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) |
4 |
|
cznrng.0 |
|- .0. = ( 0g ` Y ) |
5 |
|
eqid |
|- ( mulGrp ` X ) = ( mulGrp ` X ) |
6 |
1 2 3
|
cznrnglem |
|- B = ( Base ` X ) |
7 |
5 6
|
mgpbas |
|- B = ( Base ` ( mulGrp ` X ) ) |
8 |
3
|
fveq2i |
|- ( mulGrp ` X ) = ( mulGrp ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) |
9 |
1
|
fvexi |
|- Y e. _V |
10 |
2
|
fvexi |
|- B e. _V |
11 |
10 10
|
mpoex |
|- ( x e. B , y e. B |-> C ) e. _V |
12 |
|
mulrid |
|- .r = Slot ( .r ` ndx ) |
13 |
12
|
setsid |
|- ( ( Y e. _V /\ ( x e. B , y e. B |-> C ) e. _V ) -> ( x e. B , y e. B |-> C ) = ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) ) |
14 |
9 11 13
|
mp2an |
|- ( x e. B , y e. B |-> C ) = ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) |
15 |
8 14
|
mgpplusg |
|- ( x e. B , y e. B |-> C ) = ( +g ` ( mulGrp ` X ) ) |
16 |
15
|
eqcomi |
|- ( +g ` ( mulGrp ` X ) ) = ( x e. B , y e. B |-> C ) |
17 |
|
simpr |
|- ( ( N e. ( ZZ>= ` 2 ) /\ C e. B ) -> C e. B ) |
18 |
|
eluz2 |
|- ( N e. ( ZZ>= ` 2 ) <-> ( 2 e. ZZ /\ N e. ZZ /\ 2 <_ N ) ) |
19 |
|
1lt2 |
|- 1 < 2 |
20 |
|
1red |
|- ( N e. ZZ -> 1 e. RR ) |
21 |
|
2re |
|- 2 e. RR |
22 |
21
|
a1i |
|- ( N e. ZZ -> 2 e. RR ) |
23 |
|
zre |
|- ( N e. ZZ -> N e. RR ) |
24 |
|
ltletr |
|- ( ( 1 e. RR /\ 2 e. RR /\ N e. RR ) -> ( ( 1 < 2 /\ 2 <_ N ) -> 1 < N ) ) |
25 |
20 22 23 24
|
syl3anc |
|- ( N e. ZZ -> ( ( 1 < 2 /\ 2 <_ N ) -> 1 < N ) ) |
26 |
25
|
expcomd |
|- ( N e. ZZ -> ( 2 <_ N -> ( 1 < 2 -> 1 < N ) ) ) |
27 |
26
|
a1i |
|- ( 2 e. ZZ -> ( N e. ZZ -> ( 2 <_ N -> ( 1 < 2 -> 1 < N ) ) ) ) |
28 |
27
|
3imp |
|- ( ( 2 e. ZZ /\ N e. ZZ /\ 2 <_ N ) -> ( 1 < 2 -> 1 < N ) ) |
29 |
19 28
|
mpi |
|- ( ( 2 e. ZZ /\ N e. ZZ /\ 2 <_ N ) -> 1 < N ) |
30 |
18 29
|
sylbi |
|- ( N e. ( ZZ>= ` 2 ) -> 1 < N ) |
31 |
|
eluz2nn |
|- ( N e. ( ZZ>= ` 2 ) -> N e. NN ) |
32 |
1 2
|
znhash |
|- ( N e. NN -> ( # ` B ) = N ) |
33 |
31 32
|
syl |
|- ( N e. ( ZZ>= ` 2 ) -> ( # ` B ) = N ) |
34 |
30 33
|
breqtrrd |
|- ( N e. ( ZZ>= ` 2 ) -> 1 < ( # ` B ) ) |
35 |
34
|
adantr |
|- ( ( N e. ( ZZ>= ` 2 ) /\ C e. B ) -> 1 < ( # ` B ) ) |
36 |
7 16 17 35
|
copisnmnd |
|- ( ( N e. ( ZZ>= ` 2 ) /\ C e. B ) -> ( mulGrp ` X ) e/ Mnd ) |
37 |
|
df-nel |
|- ( ( mulGrp ` X ) e/ Mnd <-> -. ( mulGrp ` X ) e. Mnd ) |
38 |
36 37
|
sylib |
|- ( ( N e. ( ZZ>= ` 2 ) /\ C e. B ) -> -. ( mulGrp ` X ) e. Mnd ) |
39 |
38
|
intn3an2d |
|- ( ( N e. ( ZZ>= ` 2 ) /\ C e. B ) -> -. ( X e. Grp /\ ( mulGrp ` X ) e. Mnd /\ A. a e. B A. b e. B A. c e. B ( ( a ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) ( b ( +g ` X ) c ) ) = ( ( a ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) b ) ( +g ` X ) ( a ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) c ) ) /\ ( ( a ( +g ` X ) b ) ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) c ) = ( ( a ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) c ) ( +g ` X ) ( b ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) c ) ) ) ) ) |
40 |
|
eqid |
|- ( +g ` X ) = ( +g ` X ) |
41 |
3
|
eqcomi |
|- ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) = X |
42 |
41
|
fveq2i |
|- ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) = ( .r ` X ) |
43 |
6 5 40 42
|
isring |
|- ( X e. Ring <-> ( X e. Grp /\ ( mulGrp ` X ) e. Mnd /\ A. a e. B A. b e. B A. c e. B ( ( a ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) ( b ( +g ` X ) c ) ) = ( ( a ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) b ) ( +g ` X ) ( a ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) c ) ) /\ ( ( a ( +g ` X ) b ) ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) c ) = ( ( a ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) c ) ( +g ` X ) ( b ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) c ) ) ) ) ) |
44 |
39 43
|
sylnibr |
|- ( ( N e. ( ZZ>= ` 2 ) /\ C e. B ) -> -. X e. Ring ) |
45 |
|
df-nel |
|- ( X e/ Ring <-> -. X e. Ring ) |
46 |
44 45
|
sylibr |
|- ( ( N e. ( ZZ>= ` 2 ) /\ C e. B ) -> X e/ Ring ) |