Step |
Hyp |
Ref |
Expression |
1 |
|
iscring2.1 |
|- G = ( 1st ` R ) |
2 |
|
iscring2.2 |
|- H = ( 2nd ` R ) |
3 |
|
iscring2.3 |
|- X = ran G |
4 |
|
iscrngo |
|- ( R e. CRingOps <-> ( R e. RingOps /\ R e. Com2 ) ) |
5 |
|
relrngo |
|- Rel RingOps |
6 |
|
1st2nd |
|- ( ( Rel RingOps /\ R e. RingOps ) -> R = <. ( 1st ` R ) , ( 2nd ` R ) >. ) |
7 |
5 6
|
mpan |
|- ( R e. RingOps -> R = <. ( 1st ` R ) , ( 2nd ` R ) >. ) |
8 |
|
eleq1 |
|- ( R = <. ( 1st ` R ) , ( 2nd ` R ) >. -> ( R e. Com2 <-> <. ( 1st ` R ) , ( 2nd ` R ) >. e. Com2 ) ) |
9 |
1
|
rneqi |
|- ran G = ran ( 1st ` R ) |
10 |
3 9
|
eqtri |
|- X = ran ( 1st ` R ) |
11 |
10
|
raleqi |
|- ( A. x e. X A. y e. ran ( 1st ` R ) ( x ( 2nd ` R ) y ) = ( y ( 2nd ` R ) x ) <-> A. x e. ran ( 1st ` R ) A. y e. ran ( 1st ` R ) ( x ( 2nd ` R ) y ) = ( y ( 2nd ` R ) x ) ) |
12 |
2
|
oveqi |
|- ( x H y ) = ( x ( 2nd ` R ) y ) |
13 |
2
|
oveqi |
|- ( y H x ) = ( y ( 2nd ` R ) x ) |
14 |
12 13
|
eqeq12i |
|- ( ( x H y ) = ( y H x ) <-> ( x ( 2nd ` R ) y ) = ( y ( 2nd ` R ) x ) ) |
15 |
10 14
|
raleqbii |
|- ( A. y e. X ( x H y ) = ( y H x ) <-> A. y e. ran ( 1st ` R ) ( x ( 2nd ` R ) y ) = ( y ( 2nd ` R ) x ) ) |
16 |
15
|
ralbii |
|- ( A. x e. X A. y e. X ( x H y ) = ( y H x ) <-> A. x e. X A. y e. ran ( 1st ` R ) ( x ( 2nd ` R ) y ) = ( y ( 2nd ` R ) x ) ) |
17 |
|
fvex |
|- ( 1st ` R ) e. _V |
18 |
|
fvex |
|- ( 2nd ` R ) e. _V |
19 |
|
iscom2 |
|- ( ( ( 1st ` R ) e. _V /\ ( 2nd ` R ) e. _V ) -> ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. Com2 <-> A. x e. ran ( 1st ` R ) A. y e. ran ( 1st ` R ) ( x ( 2nd ` R ) y ) = ( y ( 2nd ` R ) x ) ) ) |
20 |
17 18 19
|
mp2an |
|- ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. Com2 <-> A. x e. ran ( 1st ` R ) A. y e. ran ( 1st ` R ) ( x ( 2nd ` R ) y ) = ( y ( 2nd ` R ) x ) ) |
21 |
11 16 20
|
3bitr4ri |
|- ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. Com2 <-> A. x e. X A. y e. X ( x H y ) = ( y H x ) ) |
22 |
8 21
|
bitrdi |
|- ( R = <. ( 1st ` R ) , ( 2nd ` R ) >. -> ( R e. Com2 <-> A. x e. X A. y e. X ( x H y ) = ( y H x ) ) ) |
23 |
7 22
|
syl |
|- ( R e. RingOps -> ( R e. Com2 <-> A. x e. X A. y e. X ( x H y ) = ( y H x ) ) ) |
24 |
23
|
pm5.32i |
|- ( ( R e. RingOps /\ R e. Com2 ) <-> ( R e. RingOps /\ A. x e. X A. y e. X ( x H y ) = ( y H x ) ) ) |
25 |
4 24
|
bitri |
|- ( R e. CRingOps <-> ( R e. RingOps /\ A. x e. X A. y e. X ( x H y ) = ( y H x ) ) ) |