Step |
Hyp |
Ref |
Expression |
1 |
|
dffo2 |
|- ( F : A -onto-> B <-> ( F : A --> B /\ ran F = B ) ) |
2 |
|
simpl |
|- ( ( F : A --> B /\ ran F = B ) -> F : A --> B ) |
3 |
|
vex |
|- y e. _V |
4 |
3
|
elrn |
|- ( y e. ran F <-> E. x x F y ) |
5 |
|
eleq2 |
|- ( ran F = B -> ( y e. ran F <-> y e. B ) ) |
6 |
4 5
|
bitr3id |
|- ( ran F = B -> ( E. x x F y <-> y e. B ) ) |
7 |
6
|
biimpar |
|- ( ( ran F = B /\ y e. B ) -> E. x x F y ) |
8 |
7
|
adantll |
|- ( ( ( F : A --> B /\ ran F = B ) /\ y e. B ) -> E. x x F y ) |
9 |
|
ffn |
|- ( F : A --> B -> F Fn A ) |
10 |
|
fnbr |
|- ( ( F Fn A /\ x F y ) -> x e. A ) |
11 |
10
|
ex |
|- ( F Fn A -> ( x F y -> x e. A ) ) |
12 |
9 11
|
syl |
|- ( F : A --> B -> ( x F y -> x e. A ) ) |
13 |
12
|
ancrd |
|- ( F : A --> B -> ( x F y -> ( x e. A /\ x F y ) ) ) |
14 |
13
|
eximdv |
|- ( F : A --> B -> ( E. x x F y -> E. x ( x e. A /\ x F y ) ) ) |
15 |
|
df-rex |
|- ( E. x e. A x F y <-> E. x ( x e. A /\ x F y ) ) |
16 |
14 15
|
syl6ibr |
|- ( F : A --> B -> ( E. x x F y -> E. x e. A x F y ) ) |
17 |
16
|
ad2antrr |
|- ( ( ( F : A --> B /\ ran F = B ) /\ y e. B ) -> ( E. x x F y -> E. x e. A x F y ) ) |
18 |
8 17
|
mpd |
|- ( ( ( F : A --> B /\ ran F = B ) /\ y e. B ) -> E. x e. A x F y ) |
19 |
18
|
ralrimiva |
|- ( ( F : A --> B /\ ran F = B ) -> A. y e. B E. x e. A x F y ) |
20 |
2 19
|
jca |
|- ( ( F : A --> B /\ ran F = B ) -> ( F : A --> B /\ A. y e. B E. x e. A x F y ) ) |
21 |
1 20
|
sylbi |
|- ( F : A -onto-> B -> ( F : A --> B /\ A. y e. B E. x e. A x F y ) ) |
22 |
|
fnbrfvb |
|- ( ( F Fn A /\ x e. A ) -> ( ( F ` x ) = y <-> x F y ) ) |
23 |
22
|
biimprd |
|- ( ( F Fn A /\ x e. A ) -> ( x F y -> ( F ` x ) = y ) ) |
24 |
|
eqcom |
|- ( ( F ` x ) = y <-> y = ( F ` x ) ) |
25 |
23 24
|
syl6ib |
|- ( ( F Fn A /\ x e. A ) -> ( x F y -> y = ( F ` x ) ) ) |
26 |
9 25
|
sylan |
|- ( ( F : A --> B /\ x e. A ) -> ( x F y -> y = ( F ` x ) ) ) |
27 |
26
|
reximdva |
|- ( F : A --> B -> ( E. x e. A x F y -> E. x e. A y = ( F ` x ) ) ) |
28 |
27
|
ralimdv |
|- ( F : A --> B -> ( A. y e. B E. x e. A x F y -> A. y e. B E. x e. A y = ( F ` x ) ) ) |
29 |
28
|
imdistani |
|- ( ( F : A --> B /\ A. y e. B E. x e. A x F y ) -> ( F : A --> B /\ A. y e. B E. x e. A y = ( F ` x ) ) ) |
30 |
|
dffo3 |
|- ( F : A -onto-> B <-> ( F : A --> B /\ A. y e. B E. x e. A y = ( F ` x ) ) ) |
31 |
29 30
|
sylibr |
|- ( ( F : A --> B /\ A. y e. B E. x e. A x F y ) -> F : A -onto-> B ) |
32 |
21 31
|
impbii |
|- ( F : A -onto-> B <-> ( F : A --> B /\ A. y e. B E. x e. A x F y ) ) |