Step |
Hyp |
Ref |
Expression |
1 |
|
resima |
|- ( ( F |` ( `' F " C ) ) " ( `' F " C ) ) = ( F " ( `' F " C ) ) |
2 |
|
fofun |
|- ( F : A -onto-> B -> Fun F ) |
3 |
2
|
adantr |
|- ( ( F : A -onto-> B /\ C C_ B ) -> Fun F ) |
4 |
|
funcnvres2 |
|- ( Fun F -> `' ( `' F |` C ) = ( F |` ( `' F " C ) ) ) |
5 |
3 4
|
syl |
|- ( ( F : A -onto-> B /\ C C_ B ) -> `' ( `' F |` C ) = ( F |` ( `' F " C ) ) ) |
6 |
5
|
imaeq1d |
|- ( ( F : A -onto-> B /\ C C_ B ) -> ( `' ( `' F |` C ) " ( `' F " C ) ) = ( ( F |` ( `' F " C ) ) " ( `' F " C ) ) ) |
7 |
|
resss |
|- ( `' F |` C ) C_ `' F |
8 |
|
cnvss |
|- ( ( `' F |` C ) C_ `' F -> `' ( `' F |` C ) C_ `' `' F ) |
9 |
7 8
|
ax-mp |
|- `' ( `' F |` C ) C_ `' `' F |
10 |
|
cnvcnvss |
|- `' `' F C_ F |
11 |
9 10
|
sstri |
|- `' ( `' F |` C ) C_ F |
12 |
|
funss |
|- ( `' ( `' F |` C ) C_ F -> ( Fun F -> Fun `' ( `' F |` C ) ) ) |
13 |
11 2 12
|
mpsyl |
|- ( F : A -onto-> B -> Fun `' ( `' F |` C ) ) |
14 |
13
|
adantr |
|- ( ( F : A -onto-> B /\ C C_ B ) -> Fun `' ( `' F |` C ) ) |
15 |
|
df-ima |
|- ( `' F " C ) = ran ( `' F |` C ) |
16 |
|
df-rn |
|- ran ( `' F |` C ) = dom `' ( `' F |` C ) |
17 |
15 16
|
eqtr2i |
|- dom `' ( `' F |` C ) = ( `' F " C ) |
18 |
|
df-fn |
|- ( `' ( `' F |` C ) Fn ( `' F " C ) <-> ( Fun `' ( `' F |` C ) /\ dom `' ( `' F |` C ) = ( `' F " C ) ) ) |
19 |
14 17 18
|
sylanblrc |
|- ( ( F : A -onto-> B /\ C C_ B ) -> `' ( `' F |` C ) Fn ( `' F " C ) ) |
20 |
|
dfdm4 |
|- dom ( `' F |` C ) = ran `' ( `' F |` C ) |
21 |
|
forn |
|- ( F : A -onto-> B -> ran F = B ) |
22 |
21
|
sseq2d |
|- ( F : A -onto-> B -> ( C C_ ran F <-> C C_ B ) ) |
23 |
22
|
biimpar |
|- ( ( F : A -onto-> B /\ C C_ B ) -> C C_ ran F ) |
24 |
|
df-rn |
|- ran F = dom `' F |
25 |
23 24
|
sseqtrdi |
|- ( ( F : A -onto-> B /\ C C_ B ) -> C C_ dom `' F ) |
26 |
|
ssdmres |
|- ( C C_ dom `' F <-> dom ( `' F |` C ) = C ) |
27 |
25 26
|
sylib |
|- ( ( F : A -onto-> B /\ C C_ B ) -> dom ( `' F |` C ) = C ) |
28 |
20 27
|
eqtr3id |
|- ( ( F : A -onto-> B /\ C C_ B ) -> ran `' ( `' F |` C ) = C ) |
29 |
|
df-fo |
|- ( `' ( `' F |` C ) : ( `' F " C ) -onto-> C <-> ( `' ( `' F |` C ) Fn ( `' F " C ) /\ ran `' ( `' F |` C ) = C ) ) |
30 |
19 28 29
|
sylanbrc |
|- ( ( F : A -onto-> B /\ C C_ B ) -> `' ( `' F |` C ) : ( `' F " C ) -onto-> C ) |
31 |
|
foima |
|- ( `' ( `' F |` C ) : ( `' F " C ) -onto-> C -> ( `' ( `' F |` C ) " ( `' F " C ) ) = C ) |
32 |
30 31
|
syl |
|- ( ( F : A -onto-> B /\ C C_ B ) -> ( `' ( `' F |` C ) " ( `' F " C ) ) = C ) |
33 |
6 32
|
eqtr3d |
|- ( ( F : A -onto-> B /\ C C_ B ) -> ( ( F |` ( `' F " C ) ) " ( `' F " C ) ) = C ) |
34 |
1 33
|
eqtr3id |
|- ( ( F : A -onto-> B /\ C C_ B ) -> ( F " ( `' F " C ) ) = C ) |