This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Condition for function equality in terms of vanishing of the composition with the inverse. (Contributed by Stefan O'Rear, 12-Feb-2015) (Proof shortened by Wolf Lammen, 29-May-2024)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | f1eqcocnv | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> ( F = G <-> ( `' F o. G ) = ( _I |` A ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | f1cocnv1 | |- ( F : A -1-1-> B -> ( `' F o. F ) = ( _I |` A ) ) |
|
| 2 | coeq2 | |- ( F = G -> ( `' F o. F ) = ( `' F o. G ) ) |
|
| 3 | 2 | eqeq1d | |- ( F = G -> ( ( `' F o. F ) = ( _I |` A ) <-> ( `' F o. G ) = ( _I |` A ) ) ) |
| 4 | 1 3 | syl5ibcom | |- ( F : A -1-1-> B -> ( F = G -> ( `' F o. G ) = ( _I |` A ) ) ) |
| 5 | 4 | adantr | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> ( F = G -> ( `' F o. G ) = ( _I |` A ) ) ) |
| 6 | f1fn | |- ( G : A -1-1-> B -> G Fn A ) |
|
| 7 | 6 | adantl | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> G Fn A ) |
| 8 | 7 | adantr | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ ( `' F o. G ) = ( _I |` A ) ) -> G Fn A ) |
| 9 | f1fn | |- ( F : A -1-1-> B -> F Fn A ) |
|
| 10 | 9 | adantr | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> F Fn A ) |
| 11 | 10 | adantr | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ ( `' F o. G ) = ( _I |` A ) ) -> F Fn A ) |
| 12 | equid | |- x = x |
|
| 13 | resieq | |- ( ( x e. A /\ x e. A ) -> ( x ( _I |` A ) x <-> x = x ) ) |
|
| 14 | 12 13 | mpbiri | |- ( ( x e. A /\ x e. A ) -> x ( _I |` A ) x ) |
| 15 | 14 | anidms | |- ( x e. A -> x ( _I |` A ) x ) |
| 16 | 15 | adantl | |- ( ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ ( `' F o. G ) = ( _I |` A ) ) /\ x e. A ) -> x ( _I |` A ) x ) |
| 17 | breq | |- ( ( `' F o. G ) = ( _I |` A ) -> ( x ( `' F o. G ) x <-> x ( _I |` A ) x ) ) |
|
| 18 | 17 | ad2antlr | |- ( ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ ( `' F o. G ) = ( _I |` A ) ) /\ x e. A ) -> ( x ( `' F o. G ) x <-> x ( _I |` A ) x ) ) |
| 19 | 16 18 | mpbird | |- ( ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ ( `' F o. G ) = ( _I |` A ) ) /\ x e. A ) -> x ( `' F o. G ) x ) |
| 20 | fnfun | |- ( G Fn A -> Fun G ) |
|
| 21 | 7 20 | syl | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> Fun G ) |
| 22 | 7 | fndmd | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> dom G = A ) |
| 23 | 22 | eleq2d | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> ( x e. dom G <-> x e. A ) ) |
| 24 | 23 | biimpar | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> x e. dom G ) |
| 25 | funopfvb | |- ( ( Fun G /\ x e. dom G ) -> ( ( G ` x ) = y <-> <. x , y >. e. G ) ) |
|
| 26 | 21 24 25 | syl2an2r | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( ( G ` x ) = y <-> <. x , y >. e. G ) ) |
| 27 | 26 | bicomd | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( <. x , y >. e. G <-> ( G ` x ) = y ) ) |
| 28 | df-br | |- ( x G y <-> <. x , y >. e. G ) |
|
| 29 | eqcom | |- ( y = ( G ` x ) <-> ( G ` x ) = y ) |
|
| 30 | 27 28 29 | 3bitr4g | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( x G y <-> y = ( G ` x ) ) ) |
| 31 | 30 | biimpd | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( x G y -> y = ( G ` x ) ) ) |
| 32 | df-br | |- ( x F y <-> <. x , y >. e. F ) |
|
| 33 | fnfun | |- ( F Fn A -> Fun F ) |
|
| 34 | 10 33 | syl | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> Fun F ) |
| 35 | 10 | fndmd | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> dom F = A ) |
| 36 | 35 | eleq2d | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> ( x e. dom F <-> x e. A ) ) |
| 37 | 36 | biimpar | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> x e. dom F ) |
| 38 | funopfvb | |- ( ( Fun F /\ x e. dom F ) -> ( ( F ` x ) = y <-> <. x , y >. e. F ) ) |
|
| 39 | 34 37 38 | syl2an2r | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( ( F ` x ) = y <-> <. x , y >. e. F ) ) |
| 40 | 32 39 | bitr4id | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( x F y <-> ( F ` x ) = y ) ) |
| 41 | vex | |- y e. _V |
|
| 42 | vex | |- x e. _V |
|
| 43 | 41 42 | brcnv | |- ( y `' F x <-> x F y ) |
| 44 | eqcom | |- ( y = ( F ` x ) <-> ( F ` x ) = y ) |
|
| 45 | 40 43 44 | 3bitr4g | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( y `' F x <-> y = ( F ` x ) ) ) |
| 46 | 45 | biimpd | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( y `' F x -> y = ( F ` x ) ) ) |
| 47 | 31 46 | anim12d | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( ( x G y /\ y `' F x ) -> ( y = ( G ` x ) /\ y = ( F ` x ) ) ) ) |
| 48 | 47 | eximdv | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( E. y ( x G y /\ y `' F x ) -> E. y ( y = ( G ` x ) /\ y = ( F ` x ) ) ) ) |
| 49 | 42 42 | brco | |- ( x ( `' F o. G ) x <-> E. y ( x G y /\ y `' F x ) ) |
| 50 | fvex | |- ( G ` x ) e. _V |
|
| 51 | 50 | eqvinc | |- ( ( G ` x ) = ( F ` x ) <-> E. y ( y = ( G ` x ) /\ y = ( F ` x ) ) ) |
| 52 | 48 49 51 | 3imtr4g | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ x e. A ) -> ( x ( `' F o. G ) x -> ( G ` x ) = ( F ` x ) ) ) |
| 53 | 52 | adantlr | |- ( ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ ( `' F o. G ) = ( _I |` A ) ) /\ x e. A ) -> ( x ( `' F o. G ) x -> ( G ` x ) = ( F ` x ) ) ) |
| 54 | 19 53 | mpd | |- ( ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ ( `' F o. G ) = ( _I |` A ) ) /\ x e. A ) -> ( G ` x ) = ( F ` x ) ) |
| 55 | 8 11 54 | eqfnfvd | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ ( `' F o. G ) = ( _I |` A ) ) -> G = F ) |
| 56 | 55 | eqcomd | |- ( ( ( F : A -1-1-> B /\ G : A -1-1-> B ) /\ ( `' F o. G ) = ( _I |` A ) ) -> F = G ) |
| 57 | 56 | ex | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> ( ( `' F o. G ) = ( _I |` A ) -> F = G ) ) |
| 58 | 5 57 | impbid | |- ( ( F : A -1-1-> B /\ G : A -1-1-> B ) -> ( F = G <-> ( `' F o. G ) = ( _I |` A ) ) ) |