Step |
Hyp |
Ref |
Expression |
1 |
|
funfn |
|- ( Fun ( `' F |` C ) <-> ( `' F |` C ) Fn dom ( `' F |` C ) ) |
2 |
1
|
biimpi |
|- ( Fun ( `' F |` C ) -> ( `' F |` C ) Fn dom ( `' F |` C ) ) |
3 |
2
|
3ad2ant3 |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> ( `' F |` C ) Fn dom ( `' F |` C ) ) |
4 |
|
simp2 |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> C C_ ran F ) |
5 |
|
df-rn |
|- ran F = dom `' F |
6 |
4 5
|
sseqtrdi |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> C C_ dom `' F ) |
7 |
|
ssdmres |
|- ( C C_ dom `' F <-> dom ( `' F |` C ) = C ) |
8 |
6 7
|
sylib |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> dom ( `' F |` C ) = C ) |
9 |
8
|
fneq2d |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> ( ( `' F |` C ) Fn dom ( `' F |` C ) <-> ( `' F |` C ) Fn C ) ) |
10 |
3 9
|
mpbid |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> ( `' F |` C ) Fn C ) |
11 |
|
simp1 |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> Fun F ) |
12 |
11
|
funresd |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> Fun ( F |` ( `' F " C ) ) ) |
13 |
|
funcnvres2 |
|- ( Fun F -> `' ( `' F |` C ) = ( F |` ( `' F " C ) ) ) |
14 |
11 13
|
syl |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> `' ( `' F |` C ) = ( F |` ( `' F " C ) ) ) |
15 |
14
|
funeqd |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> ( Fun `' ( `' F |` C ) <-> Fun ( F |` ( `' F " C ) ) ) ) |
16 |
12 15
|
mpbird |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> Fun `' ( `' F |` C ) ) |
17 |
|
df-ima |
|- ( `' F " C ) = ran ( `' F |` C ) |
18 |
17
|
eqcomi |
|- ran ( `' F |` C ) = ( `' F " C ) |
19 |
18
|
a1i |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> ran ( `' F |` C ) = ( `' F " C ) ) |
20 |
|
dff1o2 |
|- ( ( `' F |` C ) : C -1-1-onto-> ( `' F " C ) <-> ( ( `' F |` C ) Fn C /\ Fun `' ( `' F |` C ) /\ ran ( `' F |` C ) = ( `' F " C ) ) ) |
21 |
10 16 19 20
|
syl3anbrc |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> ( `' F |` C ) : C -1-1-onto-> ( `' F " C ) ) |
22 |
|
f1ocnv |
|- ( ( `' F |` C ) : C -1-1-onto-> ( `' F " C ) -> `' ( `' F |` C ) : ( `' F " C ) -1-1-onto-> C ) |
23 |
21 22
|
syl |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> `' ( `' F |` C ) : ( `' F " C ) -1-1-onto-> C ) |
24 |
|
f1oeq1 |
|- ( `' ( `' F |` C ) = ( F |` ( `' F " C ) ) -> ( `' ( `' F |` C ) : ( `' F " C ) -1-1-onto-> C <-> ( F |` ( `' F " C ) ) : ( `' F " C ) -1-1-onto-> C ) ) |
25 |
11 13 24
|
3syl |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> ( `' ( `' F |` C ) : ( `' F " C ) -1-1-onto-> C <-> ( F |` ( `' F " C ) ) : ( `' F " C ) -1-1-onto-> C ) ) |
26 |
23 25
|
mpbid |
|- ( ( Fun F /\ C C_ ran F /\ Fun ( `' F |` C ) ) -> ( F |` ( `' F " C ) ) : ( `' F " C ) -1-1-onto-> C ) |