Step |
Hyp |
Ref |
Expression |
1 |
|
igenval.1 |
|- G = ( 1st ` R ) |
2 |
|
igenval.2 |
|- X = ran G |
3 |
1 2
|
rngoidl |
|- ( R e. RingOps -> X e. ( Idl ` R ) ) |
4 |
|
sseq2 |
|- ( j = X -> ( S C_ j <-> S C_ X ) ) |
5 |
4
|
rspcev |
|- ( ( X e. ( Idl ` R ) /\ S C_ X ) -> E. j e. ( Idl ` R ) S C_ j ) |
6 |
3 5
|
sylan |
|- ( ( R e. RingOps /\ S C_ X ) -> E. j e. ( Idl ` R ) S C_ j ) |
7 |
|
rabn0 |
|- ( { j e. ( Idl ` R ) | S C_ j } =/= (/) <-> E. j e. ( Idl ` R ) S C_ j ) |
8 |
6 7
|
sylibr |
|- ( ( R e. RingOps /\ S C_ X ) -> { j e. ( Idl ` R ) | S C_ j } =/= (/) ) |
9 |
|
intex |
|- ( { j e. ( Idl ` R ) | S C_ j } =/= (/) <-> |^| { j e. ( Idl ` R ) | S C_ j } e. _V ) |
10 |
8 9
|
sylib |
|- ( ( R e. RingOps /\ S C_ X ) -> |^| { j e. ( Idl ` R ) | S C_ j } e. _V ) |
11 |
1
|
fvexi |
|- G e. _V |
12 |
11
|
rnex |
|- ran G e. _V |
13 |
2 12
|
eqeltri |
|- X e. _V |
14 |
13
|
elpw2 |
|- ( S e. ~P X <-> S C_ X ) |
15 |
|
simpl |
|- ( ( r = R /\ s = S ) -> r = R ) |
16 |
15
|
fveq2d |
|- ( ( r = R /\ s = S ) -> ( Idl ` r ) = ( Idl ` R ) ) |
17 |
|
sseq1 |
|- ( s = S -> ( s C_ j <-> S C_ j ) ) |
18 |
17
|
adantl |
|- ( ( r = R /\ s = S ) -> ( s C_ j <-> S C_ j ) ) |
19 |
16 18
|
rabeqbidv |
|- ( ( r = R /\ s = S ) -> { j e. ( Idl ` r ) | s C_ j } = { j e. ( Idl ` R ) | S C_ j } ) |
20 |
19
|
inteqd |
|- ( ( r = R /\ s = S ) -> |^| { j e. ( Idl ` r ) | s C_ j } = |^| { j e. ( Idl ` R ) | S C_ j } ) |
21 |
|
fveq2 |
|- ( r = R -> ( 1st ` r ) = ( 1st ` R ) ) |
22 |
21 1
|
eqtr4di |
|- ( r = R -> ( 1st ` r ) = G ) |
23 |
22
|
rneqd |
|- ( r = R -> ran ( 1st ` r ) = ran G ) |
24 |
23 2
|
eqtr4di |
|- ( r = R -> ran ( 1st ` r ) = X ) |
25 |
24
|
pweqd |
|- ( r = R -> ~P ran ( 1st ` r ) = ~P X ) |
26 |
|
df-igen |
|- IdlGen = ( r e. RingOps , s e. ~P ran ( 1st ` r ) |-> |^| { j e. ( Idl ` r ) | s C_ j } ) |
27 |
20 25 26
|
ovmpox |
|- ( ( R e. RingOps /\ S e. ~P X /\ |^| { j e. ( Idl ` R ) | S C_ j } e. _V ) -> ( R IdlGen S ) = |^| { j e. ( Idl ` R ) | S C_ j } ) |
28 |
14 27
|
syl3an2br |
|- ( ( R e. RingOps /\ S C_ X /\ |^| { j e. ( Idl ` R ) | S C_ j } e. _V ) -> ( R IdlGen S ) = |^| { j e. ( Idl ` R ) | S C_ j } ) |
29 |
10 28
|
mpd3an3 |
|- ( ( R e. RingOps /\ S C_ X ) -> ( R IdlGen S ) = |^| { j e. ( Idl ` R ) | S C_ j } ) |