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 |
|
nnnn0 |
|- ( N e. NN -> N e. NN0 ) |
6 |
1
|
zncrng |
|- ( N e. NN0 -> Y e. CRing ) |
7 |
5 6
|
syl |
|- ( N e. NN -> Y e. CRing ) |
8 |
|
crngring |
|- ( Y e. CRing -> Y e. Ring ) |
9 |
2 4
|
ring0cl |
|- ( Y e. Ring -> .0. e. B ) |
10 |
|
eleq1a |
|- ( .0. e. B -> ( C = .0. -> C e. B ) ) |
11 |
9 10
|
syl |
|- ( Y e. Ring -> ( C = .0. -> C e. B ) ) |
12 |
8 11
|
syl |
|- ( Y e. CRing -> ( C = .0. -> C e. B ) ) |
13 |
7 12
|
syl |
|- ( N e. NN -> ( C = .0. -> C e. B ) ) |
14 |
13
|
imp |
|- ( ( N e. NN /\ C = .0. ) -> C e. B ) |
15 |
1 2 3
|
cznabel |
|- ( ( N e. NN /\ C e. B ) -> X e. Abel ) |
16 |
15
|
adantlr |
|- ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> X e. Abel ) |
17 |
|
eqid |
|- ( mulGrp ` X ) = ( mulGrp ` X ) |
18 |
1 2 3
|
cznrnglem |
|- B = ( Base ` X ) |
19 |
17 18
|
mgpbas |
|- B = ( Base ` ( mulGrp ` X ) ) |
20 |
3
|
fveq2i |
|- ( mulGrp ` X ) = ( mulGrp ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) |
21 |
1
|
fvexi |
|- Y e. _V |
22 |
2
|
fvexi |
|- B e. _V |
23 |
22 22
|
mpoex |
|- ( x e. B , y e. B |-> C ) e. _V |
24 |
|
mulridx |
|- .r = Slot ( .r ` ndx ) |
25 |
24
|
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 ) >. ) ) ) |
26 |
21 23 25
|
mp2an |
|- ( x e. B , y e. B |-> C ) = ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) |
27 |
20 26
|
mgpplusg |
|- ( x e. B , y e. B |-> C ) = ( +g ` ( mulGrp ` X ) ) |
28 |
27
|
eqcomi |
|- ( +g ` ( mulGrp ` X ) ) = ( x e. B , y e. B |-> C ) |
29 |
|
ne0i |
|- ( C e. B -> B =/= (/) ) |
30 |
29
|
adantl |
|- ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> B =/= (/) ) |
31 |
|
simpr |
|- ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> C e. B ) |
32 |
19 28 30 31
|
copissgrp |
|- ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> ( mulGrp ` X ) e. Smgrp ) |
33 |
|
oveq1 |
|- ( C = .0. -> ( C ( +g ` Y ) C ) = ( .0. ( +g ` Y ) C ) ) |
34 |
33
|
ad3antlr |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( C ( +g ` Y ) C ) = ( .0. ( +g ` Y ) C ) ) |
35 |
7 8
|
syl |
|- ( N e. NN -> Y e. Ring ) |
36 |
|
ringmnd |
|- ( Y e. Ring -> Y e. Mnd ) |
37 |
35 36
|
syl |
|- ( N e. NN -> Y e. Mnd ) |
38 |
37
|
adantr |
|- ( ( N e. NN /\ C = .0. ) -> Y e. Mnd ) |
39 |
38
|
anim1i |
|- ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> ( Y e. Mnd /\ C e. B ) ) |
40 |
39
|
adantr |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( Y e. Mnd /\ C e. B ) ) |
41 |
|
eqid |
|- ( +g ` Y ) = ( +g ` Y ) |
42 |
2 41 4
|
mndlid |
|- ( ( Y e. Mnd /\ C e. B ) -> ( .0. ( +g ` Y ) C ) = C ) |
43 |
40 42
|
syl |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( .0. ( +g ` Y ) C ) = C ) |
44 |
34 43
|
eqtrd |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( C ( +g ` Y ) C ) = C ) |
45 |
|
eqidd |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( x e. B , y e. B |-> C ) = ( x e. B , y e. B |-> C ) ) |
46 |
|
eqidd |
|- ( ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) /\ ( x = a /\ y = b ) ) -> C = C ) |
47 |
|
simpr1 |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> a e. B ) |
48 |
|
simpr2 |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> b e. B ) |
49 |
31
|
adantr |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> C e. B ) |
50 |
45 46 47 48 49
|
ovmpod |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( a ( x e. B , y e. B |-> C ) b ) = C ) |
51 |
|
eqidd |
|- ( ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) /\ ( x = a /\ y = c ) ) -> C = C ) |
52 |
|
simpr3 |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> c e. B ) |
53 |
45 51 47 52 49
|
ovmpod |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( a ( x e. B , y e. B |-> C ) c ) = C ) |
54 |
50 53
|
oveq12d |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) = ( C ( +g ` Y ) C ) ) |
55 |
|
eqidd |
|- ( ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) /\ ( x = a /\ y = ( b ( +g ` Y ) c ) ) ) -> C = C ) |
56 |
35
|
ad3antrrr |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> Y e. Ring ) |
57 |
2 41
|
ringacl |
|- ( ( Y e. Ring /\ b e. B /\ c e. B ) -> ( b ( +g ` Y ) c ) e. B ) |
58 |
56 48 52 57
|
syl3anc |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( b ( +g ` Y ) c ) e. B ) |
59 |
45 55 47 58 49
|
ovmpod |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = C ) |
60 |
44 54 59
|
3eqtr4rd |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) ) |
61 |
|
eqidd |
|- ( ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) /\ ( x = b /\ y = c ) ) -> C = C ) |
62 |
45 61 48 52 49
|
ovmpod |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( b ( x e. B , y e. B |-> C ) c ) = C ) |
63 |
53 62
|
oveq12d |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) = ( C ( +g ` Y ) C ) ) |
64 |
|
eqidd |
|- ( ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) /\ ( x = ( a ( +g ` Y ) b ) /\ y = c ) ) -> C = C ) |
65 |
2 41
|
ringacl |
|- ( ( Y e. Ring /\ a e. B /\ b e. B ) -> ( a ( +g ` Y ) b ) e. B ) |
66 |
56 47 48 65
|
syl3anc |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( a ( +g ` Y ) b ) e. B ) |
67 |
45 64 66 52 49
|
ovmpod |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = C ) |
68 |
44 63 67
|
3eqtr4rd |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) |
69 |
60 68
|
jca |
|- ( ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) /\ ( a e. B /\ b e. B /\ c e. B ) ) -> ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) |
70 |
69
|
ralrimivvva |
|- ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) |
71 |
16 32 70
|
3jca |
|- ( ( ( N e. NN /\ C = .0. ) /\ C e. B ) -> ( X e. Abel /\ ( mulGrp ` X ) e. Smgrp /\ A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) ) |
72 |
14 71
|
mpdan |
|- ( ( N e. NN /\ C = .0. ) -> ( X e. Abel /\ ( mulGrp ` X ) e. Smgrp /\ A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) ) |
73 |
|
plusgid |
|- +g = Slot ( +g ` ndx ) |
74 |
|
plusgndxnmulrndx |
|- ( +g ` ndx ) =/= ( .r ` ndx ) |
75 |
73 74
|
setsnid |
|- ( +g ` Y ) = ( +g ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) |
76 |
3
|
fveq2i |
|- ( +g ` X ) = ( +g ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) |
77 |
75 76
|
eqtr4i |
|- ( +g ` Y ) = ( +g ` X ) |
78 |
3
|
eqcomi |
|- ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) = X |
79 |
78
|
fveq2i |
|- ( .r ` ( Y sSet <. ( .r ` ndx ) , ( x e. B , y e. B |-> C ) >. ) ) = ( .r ` X ) |
80 |
26 79
|
eqtri |
|- ( x e. B , y e. B |-> C ) = ( .r ` X ) |
81 |
18 17 77 80
|
isrng |
|- ( X e. Rng <-> ( X e. Abel /\ ( mulGrp ` X ) e. Smgrp /\ A. a e. B A. b e. B A. c e. B ( ( a ( x e. B , y e. B |-> C ) ( b ( +g ` Y ) c ) ) = ( ( a ( x e. B , y e. B |-> C ) b ) ( +g ` Y ) ( a ( x e. B , y e. B |-> C ) c ) ) /\ ( ( a ( +g ` Y ) b ) ( x e. B , y e. B |-> C ) c ) = ( ( a ( x e. B , y e. B |-> C ) c ) ( +g ` Y ) ( b ( x e. B , y e. B |-> C ) c ) ) ) ) ) |
82 |
72 81
|
sylibr |
|- ( ( N e. NN /\ C = .0. ) -> X e. Rng ) |