Metamath Proof Explorer


Theorem isrim0

Description: An isomorphism of rings is a homomorphism whose converse is also a homomorphism . (Contributed by AV, 22-Oct-2019)

Ref Expression
Assertion isrim0
|- ( ( R e. V /\ S e. W ) -> ( F e. ( R RingIso S ) <-> ( F e. ( R RingHom S ) /\ `' F e. ( S RingHom R ) ) ) )

Proof

Step Hyp Ref Expression
1 df-rngiso
 |-  RingIso = ( r e. _V , s e. _V |-> { f e. ( r RingHom s ) | `' f e. ( s RingHom r ) } )
2 1 a1i
 |-  ( ( R e. V /\ S e. W ) -> RingIso = ( r e. _V , s e. _V |-> { f e. ( r RingHom s ) | `' f e. ( s RingHom r ) } ) )
3 oveq12
 |-  ( ( r = R /\ s = S ) -> ( r RingHom s ) = ( R RingHom S ) )
4 3 adantl
 |-  ( ( ( R e. V /\ S e. W ) /\ ( r = R /\ s = S ) ) -> ( r RingHom s ) = ( R RingHom S ) )
5 oveq12
 |-  ( ( s = S /\ r = R ) -> ( s RingHom r ) = ( S RingHom R ) )
6 5 ancoms
 |-  ( ( r = R /\ s = S ) -> ( s RingHom r ) = ( S RingHom R ) )
7 6 adantl
 |-  ( ( ( R e. V /\ S e. W ) /\ ( r = R /\ s = S ) ) -> ( s RingHom r ) = ( S RingHom R ) )
8 7 eleq2d
 |-  ( ( ( R e. V /\ S e. W ) /\ ( r = R /\ s = S ) ) -> ( `' f e. ( s RingHom r ) <-> `' f e. ( S RingHom R ) ) )
9 4 8 rabeqbidv
 |-  ( ( ( R e. V /\ S e. W ) /\ ( r = R /\ s = S ) ) -> { f e. ( r RingHom s ) | `' f e. ( s RingHom r ) } = { f e. ( R RingHom S ) | `' f e. ( S RingHom R ) } )
10 elex
 |-  ( R e. V -> R e. _V )
11 10 adantr
 |-  ( ( R e. V /\ S e. W ) -> R e. _V )
12 elex
 |-  ( S e. W -> S e. _V )
13 12 adantl
 |-  ( ( R e. V /\ S e. W ) -> S e. _V )
14 ovex
 |-  ( R RingHom S ) e. _V
15 14 rabex
 |-  { f e. ( R RingHom S ) | `' f e. ( S RingHom R ) } e. _V
16 15 a1i
 |-  ( ( R e. V /\ S e. W ) -> { f e. ( R RingHom S ) | `' f e. ( S RingHom R ) } e. _V )
17 2 9 11 13 16 ovmpod
 |-  ( ( R e. V /\ S e. W ) -> ( R RingIso S ) = { f e. ( R RingHom S ) | `' f e. ( S RingHom R ) } )
18 17 eleq2d
 |-  ( ( R e. V /\ S e. W ) -> ( F e. ( R RingIso S ) <-> F e. { f e. ( R RingHom S ) | `' f e. ( S RingHom R ) } ) )
19 cnveq
 |-  ( f = F -> `' f = `' F )
20 19 eleq1d
 |-  ( f = F -> ( `' f e. ( S RingHom R ) <-> `' F e. ( S RingHom R ) ) )
21 20 elrab
 |-  ( F e. { f e. ( R RingHom S ) | `' f e. ( S RingHom R ) } <-> ( F e. ( R RingHom S ) /\ `' F e. ( S RingHom R ) ) )
22 18 21 syl6bb
 |-  ( ( R e. V /\ S e. W ) -> ( F e. ( R RingIso S ) <-> ( F e. ( R RingHom S ) /\ `' F e. ( S RingHom R ) ) ) )