Step |
Hyp |
Ref |
Expression |
1 |
|
fof |
|- ( F : A -onto-> B -> F : A --> B ) |
2 |
|
fcof |
|- ( ( F : A --> B /\ Fun G ) -> ( F o. G ) : ( `' G " A ) --> B ) |
3 |
1 2
|
sylan |
|- ( ( F : A -onto-> B /\ Fun G ) -> ( F o. G ) : ( `' G " A ) --> B ) |
4 |
3
|
3adant3 |
|- ( ( F : A -onto-> B /\ Fun G /\ A C_ ran G ) -> ( F o. G ) : ( `' G " A ) --> B ) |
5 |
|
rnco |
|- ran ( F o. G ) = ran ( F |` ran G ) |
6 |
1
|
freld |
|- ( F : A -onto-> B -> Rel F ) |
7 |
6
|
3ad2ant1 |
|- ( ( F : A -onto-> B /\ Fun G /\ A C_ ran G ) -> Rel F ) |
8 |
|
fdm |
|- ( F : A --> B -> dom F = A ) |
9 |
8
|
eqcomd |
|- ( F : A --> B -> A = dom F ) |
10 |
1 9
|
syl |
|- ( F : A -onto-> B -> A = dom F ) |
11 |
10
|
sseq1d |
|- ( F : A -onto-> B -> ( A C_ ran G <-> dom F C_ ran G ) ) |
12 |
11
|
biimpa |
|- ( ( F : A -onto-> B /\ A C_ ran G ) -> dom F C_ ran G ) |
13 |
|
relssres |
|- ( ( Rel F /\ dom F C_ ran G ) -> ( F |` ran G ) = F ) |
14 |
13
|
rneqd |
|- ( ( Rel F /\ dom F C_ ran G ) -> ran ( F |` ran G ) = ran F ) |
15 |
7 12 14
|
3imp3i2an |
|- ( ( F : A -onto-> B /\ Fun G /\ A C_ ran G ) -> ran ( F |` ran G ) = ran F ) |
16 |
|
forn |
|- ( F : A -onto-> B -> ran F = B ) |
17 |
16
|
3ad2ant1 |
|- ( ( F : A -onto-> B /\ Fun G /\ A C_ ran G ) -> ran F = B ) |
18 |
15 17
|
eqtrd |
|- ( ( F : A -onto-> B /\ Fun G /\ A C_ ran G ) -> ran ( F |` ran G ) = B ) |
19 |
5 18
|
eqtrid |
|- ( ( F : A -onto-> B /\ Fun G /\ A C_ ran G ) -> ran ( F o. G ) = B ) |
20 |
|
dffo2 |
|- ( ( F o. G ) : ( `' G " A ) -onto-> B <-> ( ( F o. G ) : ( `' G " A ) --> B /\ ran ( F o. G ) = B ) ) |
21 |
4 19 20
|
sylanbrc |
|- ( ( F : A -onto-> B /\ Fun G /\ A C_ ran G ) -> ( F o. G ) : ( `' G " A ) -onto-> B ) |