| Step |
Hyp |
Ref |
Expression |
| 1 |
|
cnvimarndm |
|- ( `' F " ran F ) = dom F |
| 2 |
|
fndm |
|- ( F Fn A -> dom F = A ) |
| 3 |
2
|
3ad2ant1 |
|- ( ( F Fn A /\ G : B --> C /\ ran F = B ) -> dom F = A ) |
| 4 |
1 3
|
eqtr2id |
|- ( ( F Fn A /\ G : B --> C /\ ran F = B ) -> A = ( `' F " ran F ) ) |
| 5 |
|
imaeq2 |
|- ( ran F = B -> ( `' F " ran F ) = ( `' F " B ) ) |
| 6 |
5
|
3ad2ant3 |
|- ( ( F Fn A /\ G : B --> C /\ ran F = B ) -> ( `' F " ran F ) = ( `' F " B ) ) |
| 7 |
4 6
|
eqtrd |
|- ( ( F Fn A /\ G : B --> C /\ ran F = B ) -> A = ( `' F " B ) ) |
| 8 |
|
foeq2 |
|- ( A = ( `' F " B ) -> ( ( G o. F ) : A -onto-> C <-> ( G o. F ) : ( `' F " B ) -onto-> C ) ) |
| 9 |
7 8
|
syl |
|- ( ( F Fn A /\ G : B --> C /\ ran F = B ) -> ( ( G o. F ) : A -onto-> C <-> ( G o. F ) : ( `' F " B ) -onto-> C ) ) |
| 10 |
|
fnfun |
|- ( F Fn A -> Fun F ) |
| 11 |
|
id |
|- ( G : B --> C -> G : B --> C ) |
| 12 |
|
eqimss2 |
|- ( ran F = B -> B C_ ran F ) |
| 13 |
|
funfocofob |
|- ( ( Fun F /\ G : B --> C /\ B C_ ran F ) -> ( ( G o. F ) : ( `' F " B ) -onto-> C <-> G : B -onto-> C ) ) |
| 14 |
10 11 12 13
|
syl3an |
|- ( ( F Fn A /\ G : B --> C /\ ran F = B ) -> ( ( G o. F ) : ( `' F " B ) -onto-> C <-> G : B -onto-> C ) ) |
| 15 |
9 14
|
bitrd |
|- ( ( F Fn A /\ G : B --> C /\ ran F = B ) -> ( ( G o. F ) : A -onto-> C <-> G : B -onto-> C ) ) |