Step |
Hyp |
Ref |
Expression |
1 |
|
idomodle.g |
|- G = ( ( mulGrp ` R ) |`s ( Unit ` R ) ) |
2 |
|
idomodle.b |
|- B = ( Base ` G ) |
3 |
|
idomodle.o |
|- O = ( od ` G ) |
4 |
2
|
fvexi |
|- B e. _V |
5 |
4
|
rabex |
|- { x e. B | ( O ` x ) || N } e. _V |
6 |
|
hashxrcl |
|- ( { x e. B | ( O ` x ) || N } e. _V -> ( # ` { x e. B | ( O ` x ) || N } ) e. RR* ) |
7 |
5 6
|
mp1i |
|- ( ( R e. IDomn /\ N e. NN ) -> ( # ` { x e. B | ( O ` x ) || N } ) e. RR* ) |
8 |
|
fvex |
|- ( Base ` R ) e. _V |
9 |
8
|
rabex |
|- { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } e. _V |
10 |
|
hashxrcl |
|- ( { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } e. _V -> ( # ` { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) e. RR* ) |
11 |
9 10
|
mp1i |
|- ( ( R e. IDomn /\ N e. NN ) -> ( # ` { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) e. RR* ) |
12 |
|
nnre |
|- ( N e. NN -> N e. RR ) |
13 |
12
|
rexrd |
|- ( N e. NN -> N e. RR* ) |
14 |
13
|
adantl |
|- ( ( R e. IDomn /\ N e. NN ) -> N e. RR* ) |
15 |
|
isidom |
|- ( R e. IDomn <-> ( R e. CRing /\ R e. Domn ) ) |
16 |
15
|
simplbi |
|- ( R e. IDomn -> R e. CRing ) |
17 |
16
|
adantr |
|- ( ( R e. IDomn /\ N e. NN ) -> R e. CRing ) |
18 |
|
crngring |
|- ( R e. CRing -> R e. Ring ) |
19 |
17 18
|
syl |
|- ( ( R e. IDomn /\ N e. NN ) -> R e. Ring ) |
20 |
19
|
adantr |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> R e. Ring ) |
21 |
|
eqid |
|- ( Unit ` R ) = ( Unit ` R ) |
22 |
21 1
|
unitgrp |
|- ( R e. Ring -> G e. Grp ) |
23 |
20 22
|
syl |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> G e. Grp ) |
24 |
|
simpr |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> x e. B ) |
25 |
|
nnz |
|- ( N e. NN -> N e. ZZ ) |
26 |
25
|
ad2antlr |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> N e. ZZ ) |
27 |
|
eqid |
|- ( .g ` G ) = ( .g ` G ) |
28 |
|
eqid |
|- ( 0g ` G ) = ( 0g ` G ) |
29 |
2 3 27 28
|
oddvds |
|- ( ( G e. Grp /\ x e. B /\ N e. ZZ ) -> ( ( O ` x ) || N <-> ( N ( .g ` G ) x ) = ( 0g ` G ) ) ) |
30 |
23 24 26 29
|
syl3anc |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> ( ( O ` x ) || N <-> ( N ( .g ` G ) x ) = ( 0g ` G ) ) ) |
31 |
|
eqid |
|- ( mulGrp ` R ) = ( mulGrp ` R ) |
32 |
21 31
|
unitsubm |
|- ( R e. Ring -> ( Unit ` R ) e. ( SubMnd ` ( mulGrp ` R ) ) ) |
33 |
20 32
|
syl |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> ( Unit ` R ) e. ( SubMnd ` ( mulGrp ` R ) ) ) |
34 |
|
nnnn0 |
|- ( N e. NN -> N e. NN0 ) |
35 |
34
|
ad2antlr |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> N e. NN0 ) |
36 |
21 1
|
unitgrpbas |
|- ( Unit ` R ) = ( Base ` G ) |
37 |
2 36
|
eqtr4i |
|- B = ( Unit ` R ) |
38 |
24 37
|
eleqtrdi |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> x e. ( Unit ` R ) ) |
39 |
|
eqid |
|- ( .g ` ( mulGrp ` R ) ) = ( .g ` ( mulGrp ` R ) ) |
40 |
39 1 27
|
submmulg |
|- ( ( ( Unit ` R ) e. ( SubMnd ` ( mulGrp ` R ) ) /\ N e. NN0 /\ x e. ( Unit ` R ) ) -> ( N ( .g ` ( mulGrp ` R ) ) x ) = ( N ( .g ` G ) x ) ) |
41 |
33 35 38 40
|
syl3anc |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> ( N ( .g ` ( mulGrp ` R ) ) x ) = ( N ( .g ` G ) x ) ) |
42 |
|
eqid |
|- ( 1r ` R ) = ( 1r ` R ) |
43 |
21 1 42
|
unitgrpid |
|- ( R e. Ring -> ( 1r ` R ) = ( 0g ` G ) ) |
44 |
20 43
|
syl |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> ( 1r ` R ) = ( 0g ` G ) ) |
45 |
41 44
|
eqeq12d |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> ( ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) <-> ( N ( .g ` G ) x ) = ( 0g ` G ) ) ) |
46 |
30 45
|
bitr4d |
|- ( ( ( R e. IDomn /\ N e. NN ) /\ x e. B ) -> ( ( O ` x ) || N <-> ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) ) ) |
47 |
46
|
rabbidva |
|- ( ( R e. IDomn /\ N e. NN ) -> { x e. B | ( O ` x ) || N } = { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) |
48 |
47
|
fveq2d |
|- ( ( R e. IDomn /\ N e. NN ) -> ( # ` { x e. B | ( O ` x ) || N } ) = ( # ` { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) ) |
49 |
|
eqid |
|- ( Base ` R ) = ( Base ` R ) |
50 |
49 37
|
unitss |
|- B C_ ( Base ` R ) |
51 |
|
rabss2 |
|- ( B C_ ( Base ` R ) -> { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } C_ { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) |
52 |
50 51
|
mp1i |
|- ( ( R e. IDomn /\ N e. NN ) -> { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } C_ { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) |
53 |
|
ssdomg |
|- ( { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } e. _V -> ( { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } C_ { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } -> { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ~<_ { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) ) |
54 |
9 52 53
|
mpsyl |
|- ( ( R e. IDomn /\ N e. NN ) -> { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ~<_ { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) |
55 |
|
hashdomi |
|- ( { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ~<_ { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } -> ( # ` { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) <_ ( # ` { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) ) |
56 |
54 55
|
syl |
|- ( ( R e. IDomn /\ N e. NN ) -> ( # ` { x e. B | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) <_ ( # ` { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) ) |
57 |
48 56
|
eqbrtrd |
|- ( ( R e. IDomn /\ N e. NN ) -> ( # ` { x e. B | ( O ` x ) || N } ) <_ ( # ` { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) ) |
58 |
|
simpl |
|- ( ( R e. IDomn /\ N e. NN ) -> R e. IDomn ) |
59 |
49 42
|
ringidcl |
|- ( R e. Ring -> ( 1r ` R ) e. ( Base ` R ) ) |
60 |
19 59
|
syl |
|- ( ( R e. IDomn /\ N e. NN ) -> ( 1r ` R ) e. ( Base ` R ) ) |
61 |
|
simpr |
|- ( ( R e. IDomn /\ N e. NN ) -> N e. NN ) |
62 |
49 39
|
idomrootle |
|- ( ( R e. IDomn /\ ( 1r ` R ) e. ( Base ` R ) /\ N e. NN ) -> ( # ` { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) <_ N ) |
63 |
58 60 61 62
|
syl3anc |
|- ( ( R e. IDomn /\ N e. NN ) -> ( # ` { x e. ( Base ` R ) | ( N ( .g ` ( mulGrp ` R ) ) x ) = ( 1r ` R ) } ) <_ N ) |
64 |
7 11 14 57 63
|
xrletrd |
|- ( ( R e. IDomn /\ N e. NN ) -> ( # ` { x e. B | ( O ` x ) || N } ) <_ N ) |