Step |
Hyp |
Ref |
Expression |
1 |
|
fnfun |
|- ( F Fn A -> Fun F ) |
2 |
|
fdmrn |
|- ( Fun F <-> F : dom F --> ran F ) |
3 |
1 2
|
sylib |
|- ( F Fn A -> F : dom F --> ran F ) |
4 |
3
|
adantr |
|- ( ( F Fn A /\ `' F = F ) -> F : dom F --> ran F ) |
5 |
|
fndm |
|- ( F Fn A -> dom F = A ) |
6 |
5
|
adantr |
|- ( ( F Fn A /\ `' F = F ) -> dom F = A ) |
7 |
|
df-rn |
|- ran F = dom `' F |
8 |
|
dmeq |
|- ( `' F = F -> dom `' F = dom F ) |
9 |
7 8
|
eqtrid |
|- ( `' F = F -> ran F = dom F ) |
10 |
9 5
|
sylan9eqr |
|- ( ( F Fn A /\ `' F = F ) -> ran F = A ) |
11 |
6 10
|
feq23d |
|- ( ( F Fn A /\ `' F = F ) -> ( F : dom F --> ran F <-> F : A --> A ) ) |
12 |
4 11
|
mpbid |
|- ( ( F Fn A /\ `' F = F ) -> F : A --> A ) |
13 |
1
|
adantr |
|- ( ( F Fn A /\ `' F = F ) -> Fun F ) |
14 |
|
funeq |
|- ( `' F = F -> ( Fun `' F <-> Fun F ) ) |
15 |
14
|
adantl |
|- ( ( F Fn A /\ `' F = F ) -> ( Fun `' F <-> Fun F ) ) |
16 |
13 15
|
mpbird |
|- ( ( F Fn A /\ `' F = F ) -> Fun `' F ) |
17 |
|
df-f1 |
|- ( F : A -1-1-> A <-> ( F : A --> A /\ Fun `' F ) ) |
18 |
12 16 17
|
sylanbrc |
|- ( ( F Fn A /\ `' F = F ) -> F : A -1-1-> A ) |
19 |
|
simpl |
|- ( ( F Fn A /\ `' F = F ) -> F Fn A ) |
20 |
|
df-fo |
|- ( F : A -onto-> A <-> ( F Fn A /\ ran F = A ) ) |
21 |
19 10 20
|
sylanbrc |
|- ( ( F Fn A /\ `' F = F ) -> F : A -onto-> A ) |
22 |
|
df-f1o |
|- ( F : A -1-1-onto-> A <-> ( F : A -1-1-> A /\ F : A -onto-> A ) ) |
23 |
18 21 22
|
sylanbrc |
|- ( ( F Fn A /\ `' F = F ) -> F : A -1-1-onto-> A ) |