| Step |
Hyp |
Ref |
Expression |
| 1 |
|
fnfun |
|- ( ( F |` ran G ) Fn ran G -> Fun ( F |` ran G ) ) |
| 2 |
|
fnfun |
|- ( G Fn B -> Fun G ) |
| 3 |
|
funresfunco |
|- ( ( Fun ( F |` ran G ) /\ Fun G ) -> Fun ( F o. G ) ) |
| 4 |
1 2 3
|
syl2an |
|- ( ( ( F |` ran G ) Fn ran G /\ G Fn B ) -> Fun ( F o. G ) ) |
| 5 |
|
fndm |
|- ( ( F |` ran G ) Fn ran G -> dom ( F |` ran G ) = ran G ) |
| 6 |
|
dmres |
|- dom ( F |` ran G ) = ( ran G i^i dom F ) |
| 7 |
6
|
eqeq1i |
|- ( dom ( F |` ran G ) = ran G <-> ( ran G i^i dom F ) = ran G ) |
| 8 |
|
dfss2 |
|- ( ran G C_ dom F <-> ( ran G i^i dom F ) = ran G ) |
| 9 |
7 8
|
sylbb2 |
|- ( dom ( F |` ran G ) = ran G -> ran G C_ dom F ) |
| 10 |
5 9
|
syl |
|- ( ( F |` ran G ) Fn ran G -> ran G C_ dom F ) |
| 11 |
10
|
adantr |
|- ( ( ( F |` ran G ) Fn ran G /\ G Fn B ) -> ran G C_ dom F ) |
| 12 |
|
dmcosseq |
|- ( ran G C_ dom F -> dom ( F o. G ) = dom G ) |
| 13 |
11 12
|
syl |
|- ( ( ( F |` ran G ) Fn ran G /\ G Fn B ) -> dom ( F o. G ) = dom G ) |
| 14 |
|
fndm |
|- ( G Fn B -> dom G = B ) |
| 15 |
14
|
adantl |
|- ( ( ( F |` ran G ) Fn ran G /\ G Fn B ) -> dom G = B ) |
| 16 |
13 15
|
eqtrd |
|- ( ( ( F |` ran G ) Fn ran G /\ G Fn B ) -> dom ( F o. G ) = B ) |
| 17 |
|
df-fn |
|- ( ( F o. G ) Fn B <-> ( Fun ( F o. G ) /\ dom ( F o. G ) = B ) ) |
| 18 |
4 16 17
|
sylanbrc |
|- ( ( ( F |` ran G ) Fn ran G /\ G Fn B ) -> ( F o. G ) Fn B ) |