Step |
Hyp |
Ref |
Expression |
1 |
|
dffo3f.1 |
|- F/_ x F |
2 |
|
dffo2 |
|- ( F : A -onto-> B <-> ( F : A --> B /\ ran F = B ) ) |
3 |
|
ffn |
|- ( F : A --> B -> F Fn A ) |
4 |
|
fnrnfv |
|- ( F Fn A -> ran F = { y | E. w e. A y = ( F ` w ) } ) |
5 |
|
nfcv |
|- F/_ x w |
6 |
1 5
|
nffv |
|- F/_ x ( F ` w ) |
7 |
6
|
nfeq2 |
|- F/ x y = ( F ` w ) |
8 |
|
nfv |
|- F/ w y = ( F ` x ) |
9 |
|
fveq2 |
|- ( w = x -> ( F ` w ) = ( F ` x ) ) |
10 |
9
|
eqeq2d |
|- ( w = x -> ( y = ( F ` w ) <-> y = ( F ` x ) ) ) |
11 |
7 8 10
|
cbvrexw |
|- ( E. w e. A y = ( F ` w ) <-> E. x e. A y = ( F ` x ) ) |
12 |
11
|
abbii |
|- { y | E. w e. A y = ( F ` w ) } = { y | E. x e. A y = ( F ` x ) } |
13 |
4 12
|
eqtrdi |
|- ( F Fn A -> ran F = { y | E. x e. A y = ( F ` x ) } ) |
14 |
13
|
eqeq1d |
|- ( F Fn A -> ( ran F = B <-> { y | E. x e. A y = ( F ` x ) } = B ) ) |
15 |
3 14
|
syl |
|- ( F : A --> B -> ( ran F = B <-> { y | E. x e. A y = ( F ` x ) } = B ) ) |
16 |
|
dfbi2 |
|- ( ( E. x e. A y = ( F ` x ) <-> y e. B ) <-> ( ( E. x e. A y = ( F ` x ) -> y e. B ) /\ ( y e. B -> E. x e. A y = ( F ` x ) ) ) ) |
17 |
|
nfcv |
|- F/_ x A |
18 |
|
nfcv |
|- F/_ x B |
19 |
1 17 18
|
nff |
|- F/ x F : A --> B |
20 |
|
nfv |
|- F/ x y e. B |
21 |
|
simpr |
|- ( ( ( F : A --> B /\ x e. A ) /\ y = ( F ` x ) ) -> y = ( F ` x ) ) |
22 |
|
ffvelrn |
|- ( ( F : A --> B /\ x e. A ) -> ( F ` x ) e. B ) |
23 |
22
|
adantr |
|- ( ( ( F : A --> B /\ x e. A ) /\ y = ( F ` x ) ) -> ( F ` x ) e. B ) |
24 |
21 23
|
eqeltrd |
|- ( ( ( F : A --> B /\ x e. A ) /\ y = ( F ` x ) ) -> y e. B ) |
25 |
19 20 24
|
rexlimd3 |
|- ( F : A --> B -> ( E. x e. A y = ( F ` x ) -> y e. B ) ) |
26 |
25
|
biantrurd |
|- ( F : A --> B -> ( ( y e. B -> E. x e. A y = ( F ` x ) ) <-> ( ( E. x e. A y = ( F ` x ) -> y e. B ) /\ ( y e. B -> E. x e. A y = ( F ` x ) ) ) ) ) |
27 |
16 26
|
bitr4id |
|- ( F : A --> B -> ( ( E. x e. A y = ( F ` x ) <-> y e. B ) <-> ( y e. B -> E. x e. A y = ( F ` x ) ) ) ) |
28 |
27
|
albidv |
|- ( F : A --> B -> ( A. y ( E. x e. A y = ( F ` x ) <-> y e. B ) <-> A. y ( y e. B -> E. x e. A y = ( F ` x ) ) ) ) |
29 |
|
abeq1 |
|- ( { y | E. x e. A y = ( F ` x ) } = B <-> A. y ( E. x e. A y = ( F ` x ) <-> y e. B ) ) |
30 |
|
df-ral |
|- ( A. y e. B E. x e. A y = ( F ` x ) <-> A. y ( y e. B -> E. x e. A y = ( F ` x ) ) ) |
31 |
28 29 30
|
3bitr4g |
|- ( F : A --> B -> ( { y | E. x e. A y = ( F ` x ) } = B <-> A. y e. B E. x e. A y = ( F ` x ) ) ) |
32 |
15 31
|
bitrd |
|- ( F : A --> B -> ( ran F = B <-> A. y e. B E. x e. A y = ( F ` x ) ) ) |
33 |
32
|
pm5.32i |
|- ( ( F : A --> B /\ ran F = B ) <-> ( F : A --> B /\ A. y e. B E. x e. A y = ( F ` x ) ) ) |
34 |
2 33
|
bitri |
|- ( F : A -onto-> B <-> ( F : A --> B /\ A. y e. B E. x e. A y = ( F ` x ) ) ) |