Step |
Hyp |
Ref |
Expression |
1 |
|
drngi.1 |
|- G = ( 1st ` R ) |
2 |
|
drngi.2 |
|- H = ( 2nd ` R ) |
3 |
|
drngi.3 |
|- X = ran G |
4 |
|
drngi.4 |
|- Z = ( GId ` G ) |
5 |
|
opeq1 |
|- ( g = ( 1st ` R ) -> <. g , h >. = <. ( 1st ` R ) , h >. ) |
6 |
5
|
eleq1d |
|- ( g = ( 1st ` R ) -> ( <. g , h >. e. RingOps <-> <. ( 1st ` R ) , h >. e. RingOps ) ) |
7 |
|
id |
|- ( g = ( 1st ` R ) -> g = ( 1st ` R ) ) |
8 |
7 1
|
eqtr4di |
|- ( g = ( 1st ` R ) -> g = G ) |
9 |
8
|
rneqd |
|- ( g = ( 1st ` R ) -> ran g = ran G ) |
10 |
9 3
|
eqtr4di |
|- ( g = ( 1st ` R ) -> ran g = X ) |
11 |
8
|
fveq2d |
|- ( g = ( 1st ` R ) -> ( GId ` g ) = ( GId ` G ) ) |
12 |
11 4
|
eqtr4di |
|- ( g = ( 1st ` R ) -> ( GId ` g ) = Z ) |
13 |
12
|
sneqd |
|- ( g = ( 1st ` R ) -> { ( GId ` g ) } = { Z } ) |
14 |
10 13
|
difeq12d |
|- ( g = ( 1st ` R ) -> ( ran g \ { ( GId ` g ) } ) = ( X \ { Z } ) ) |
15 |
14
|
sqxpeqd |
|- ( g = ( 1st ` R ) -> ( ( ran g \ { ( GId ` g ) } ) X. ( ran g \ { ( GId ` g ) } ) ) = ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) |
16 |
15
|
reseq2d |
|- ( g = ( 1st ` R ) -> ( h |` ( ( ran g \ { ( GId ` g ) } ) X. ( ran g \ { ( GId ` g ) } ) ) ) = ( h |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) ) |
17 |
16
|
eleq1d |
|- ( g = ( 1st ` R ) -> ( ( h |` ( ( ran g \ { ( GId ` g ) } ) X. ( ran g \ { ( GId ` g ) } ) ) ) e. GrpOp <-> ( h |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) |
18 |
6 17
|
anbi12d |
|- ( g = ( 1st ` R ) -> ( ( <. g , h >. e. RingOps /\ ( h |` ( ( ran g \ { ( GId ` g ) } ) X. ( ran g \ { ( GId ` g ) } ) ) ) e. GrpOp ) <-> ( <. ( 1st ` R ) , h >. e. RingOps /\ ( h |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) ) |
19 |
|
opeq2 |
|- ( h = ( 2nd ` R ) -> <. ( 1st ` R ) , h >. = <. ( 1st ` R ) , ( 2nd ` R ) >. ) |
20 |
19
|
eleq1d |
|- ( h = ( 2nd ` R ) -> ( <. ( 1st ` R ) , h >. e. RingOps <-> <. ( 1st ` R ) , ( 2nd ` R ) >. e. RingOps ) ) |
21 |
20
|
anbi1d |
|- ( h = ( 2nd ` R ) -> ( ( <. ( 1st ` R ) , h >. e. RingOps /\ ( h |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) <-> ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. RingOps /\ ( h |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) ) |
22 |
|
id |
|- ( h = ( 2nd ` R ) -> h = ( 2nd ` R ) ) |
23 |
2 22
|
eqtr4id |
|- ( h = ( 2nd ` R ) -> H = h ) |
24 |
23
|
reseq1d |
|- ( h = ( 2nd ` R ) -> ( H |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) = ( h |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) ) |
25 |
24
|
eleq1d |
|- ( h = ( 2nd ` R ) -> ( ( H |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp <-> ( h |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) |
26 |
25
|
anbi2d |
|- ( h = ( 2nd ` R ) -> ( ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. RingOps /\ ( H |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) <-> ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. RingOps /\ ( h |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) ) |
27 |
21 26
|
bitr4d |
|- ( h = ( 2nd ` R ) -> ( ( <. ( 1st ` R ) , h >. e. RingOps /\ ( h |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) <-> ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. RingOps /\ ( H |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) ) |
28 |
18 27
|
elopabi |
|- ( R e. { <. g , h >. | ( <. g , h >. e. RingOps /\ ( h |` ( ( ran g \ { ( GId ` g ) } ) X. ( ran g \ { ( GId ` g ) } ) ) ) e. GrpOp ) } -> ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. RingOps /\ ( H |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) |
29 |
|
df-drngo |
|- DivRingOps = { <. g , h >. | ( <. g , h >. e. RingOps /\ ( h |` ( ( ran g \ { ( GId ` g ) } ) X. ( ran g \ { ( GId ` g ) } ) ) ) e. GrpOp ) } |
30 |
28 29
|
eleq2s |
|- ( R e. DivRingOps -> ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. RingOps /\ ( H |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) |
31 |
29
|
relopabiv |
|- Rel DivRingOps |
32 |
|
1st2nd |
|- ( ( Rel DivRingOps /\ R e. DivRingOps ) -> R = <. ( 1st ` R ) , ( 2nd ` R ) >. ) |
33 |
31 32
|
mpan |
|- ( R e. DivRingOps -> R = <. ( 1st ` R ) , ( 2nd ` R ) >. ) |
34 |
33
|
eleq1d |
|- ( R e. DivRingOps -> ( R e. RingOps <-> <. ( 1st ` R ) , ( 2nd ` R ) >. e. RingOps ) ) |
35 |
34
|
anbi1d |
|- ( R e. DivRingOps -> ( ( R e. RingOps /\ ( H |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) <-> ( <. ( 1st ` R ) , ( 2nd ` R ) >. e. RingOps /\ ( H |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) ) |
36 |
30 35
|
mpbird |
|- ( R e. DivRingOps -> ( R e. RingOps /\ ( H |` ( ( X \ { Z } ) X. ( X \ { Z } ) ) ) e. GrpOp ) ) |