Step |
Hyp |
Ref |
Expression |
1 |
|
ffn |
|- ( F : A --> B -> F Fn A ) |
2 |
|
fnfocofob |
|- ( ( F Fn A /\ G : C --> D /\ ran F = C ) -> ( ( G o. F ) : A -onto-> D <-> G : C -onto-> D ) ) |
3 |
1 2
|
syl3an1 |
|- ( ( F : A --> B /\ G : C --> D /\ ran F = C ) -> ( ( G o. F ) : A -onto-> D <-> G : C -onto-> D ) ) |
4 |
|
dffn4 |
|- ( F Fn A <-> F : A -onto-> ran F ) |
5 |
1 4
|
sylib |
|- ( F : A --> B -> F : A -onto-> ran F ) |
6 |
5
|
3ad2ant1 |
|- ( ( F : A --> B /\ G : C --> D /\ ran F = C ) -> F : A -onto-> ran F ) |
7 |
|
foeq3 |
|- ( ran F = C -> ( F : A -onto-> ran F <-> F : A -onto-> C ) ) |
8 |
7
|
3ad2ant3 |
|- ( ( F : A --> B /\ G : C --> D /\ ran F = C ) -> ( F : A -onto-> ran F <-> F : A -onto-> C ) ) |
9 |
6 8
|
mpbid |
|- ( ( F : A --> B /\ G : C --> D /\ ran F = C ) -> F : A -onto-> C ) |
10 |
9
|
biantrurd |
|- ( ( F : A --> B /\ G : C --> D /\ ran F = C ) -> ( G : C -onto-> D <-> ( F : A -onto-> C /\ G : C -onto-> D ) ) ) |
11 |
3 10
|
bitrd |
|- ( ( F : A --> B /\ G : C --> D /\ ran F = C ) -> ( ( G o. F ) : A -onto-> D <-> ( F : A -onto-> C /\ G : C -onto-> D ) ) ) |