Step |
Hyp |
Ref |
Expression |
1 |
|
mapsnd.1 |
|- ( ph -> A e. V ) |
2 |
|
mapsnd.2 |
|- ( ph -> B e. W ) |
3 |
|
snex |
|- { B } e. _V |
4 |
3
|
a1i |
|- ( ph -> { B } e. _V ) |
5 |
1 4
|
elmapd |
|- ( ph -> ( f e. ( A ^m { B } ) <-> f : { B } --> A ) ) |
6 |
|
ffn |
|- ( f : { B } --> A -> f Fn { B } ) |
7 |
|
snidg |
|- ( B e. W -> B e. { B } ) |
8 |
2 7
|
syl |
|- ( ph -> B e. { B } ) |
9 |
|
fneu |
|- ( ( f Fn { B } /\ B e. { B } ) -> E! y B f y ) |
10 |
6 8 9
|
syl2anr |
|- ( ( ph /\ f : { B } --> A ) -> E! y B f y ) |
11 |
|
euabsn |
|- ( E! y B f y <-> E. y { y | B f y } = { y } ) |
12 |
|
frel |
|- ( f : { B } --> A -> Rel f ) |
13 |
|
relimasn |
|- ( Rel f -> ( f " { B } ) = { y | B f y } ) |
14 |
12 13
|
syl |
|- ( f : { B } --> A -> ( f " { B } ) = { y | B f y } ) |
15 |
|
fdm |
|- ( f : { B } --> A -> dom f = { B } ) |
16 |
15
|
imaeq2d |
|- ( f : { B } --> A -> ( f " dom f ) = ( f " { B } ) ) |
17 |
|
imadmrn |
|- ( f " dom f ) = ran f |
18 |
16 17
|
eqtr3di |
|- ( f : { B } --> A -> ( f " { B } ) = ran f ) |
19 |
14 18
|
eqtr3d |
|- ( f : { B } --> A -> { y | B f y } = ran f ) |
20 |
19
|
eqeq1d |
|- ( f : { B } --> A -> ( { y | B f y } = { y } <-> ran f = { y } ) ) |
21 |
20
|
exbidv |
|- ( f : { B } --> A -> ( E. y { y | B f y } = { y } <-> E. y ran f = { y } ) ) |
22 |
11 21
|
bitrid |
|- ( f : { B } --> A -> ( E! y B f y <-> E. y ran f = { y } ) ) |
23 |
22
|
adantl |
|- ( ( ph /\ f : { B } --> A ) -> ( E! y B f y <-> E. y ran f = { y } ) ) |
24 |
10 23
|
mpbid |
|- ( ( ph /\ f : { B } --> A ) -> E. y ran f = { y } ) |
25 |
|
frn |
|- ( f : { B } --> A -> ran f C_ A ) |
26 |
25
|
sseld |
|- ( f : { B } --> A -> ( y e. ran f -> y e. A ) ) |
27 |
|
vsnid |
|- y e. { y } |
28 |
|
eleq2 |
|- ( ran f = { y } -> ( y e. ran f <-> y e. { y } ) ) |
29 |
27 28
|
mpbiri |
|- ( ran f = { y } -> y e. ran f ) |
30 |
26 29
|
impel |
|- ( ( f : { B } --> A /\ ran f = { y } ) -> y e. A ) |
31 |
30
|
adantll |
|- ( ( ( ph /\ f : { B } --> A ) /\ ran f = { y } ) -> y e. A ) |
32 |
|
ffrn |
|- ( f : { B } --> A -> f : { B } --> ran f ) |
33 |
|
feq3 |
|- ( ran f = { y } -> ( f : { B } --> ran f <-> f : { B } --> { y } ) ) |
34 |
32 33
|
syl5ibcom |
|- ( f : { B } --> A -> ( ran f = { y } -> f : { B } --> { y } ) ) |
35 |
34
|
imp |
|- ( ( f : { B } --> A /\ ran f = { y } ) -> f : { B } --> { y } ) |
36 |
35
|
adantll |
|- ( ( ( ph /\ f : { B } --> A ) /\ ran f = { y } ) -> f : { B } --> { y } ) |
37 |
2
|
ad2antrr |
|- ( ( ( ph /\ f : { B } --> A ) /\ ran f = { y } ) -> B e. W ) |
38 |
|
vex |
|- y e. _V |
39 |
|
fsng |
|- ( ( B e. W /\ y e. _V ) -> ( f : { B } --> { y } <-> f = { <. B , y >. } ) ) |
40 |
37 38 39
|
sylancl |
|- ( ( ( ph /\ f : { B } --> A ) /\ ran f = { y } ) -> ( f : { B } --> { y } <-> f = { <. B , y >. } ) ) |
41 |
36 40
|
mpbid |
|- ( ( ( ph /\ f : { B } --> A ) /\ ran f = { y } ) -> f = { <. B , y >. } ) |
42 |
31 41
|
jca |
|- ( ( ( ph /\ f : { B } --> A ) /\ ran f = { y } ) -> ( y e. A /\ f = { <. B , y >. } ) ) |
43 |
42
|
ex |
|- ( ( ph /\ f : { B } --> A ) -> ( ran f = { y } -> ( y e. A /\ f = { <. B , y >. } ) ) ) |
44 |
43
|
eximdv |
|- ( ( ph /\ f : { B } --> A ) -> ( E. y ran f = { y } -> E. y ( y e. A /\ f = { <. B , y >. } ) ) ) |
45 |
24 44
|
mpd |
|- ( ( ph /\ f : { B } --> A ) -> E. y ( y e. A /\ f = { <. B , y >. } ) ) |
46 |
|
df-rex |
|- ( E. y e. A f = { <. B , y >. } <-> E. y ( y e. A /\ f = { <. B , y >. } ) ) |
47 |
45 46
|
sylibr |
|- ( ( ph /\ f : { B } --> A ) -> E. y e. A f = { <. B , y >. } ) |
48 |
47
|
ex |
|- ( ph -> ( f : { B } --> A -> E. y e. A f = { <. B , y >. } ) ) |
49 |
|
f1osng |
|- ( ( B e. W /\ y e. _V ) -> { <. B , y >. } : { B } -1-1-onto-> { y } ) |
50 |
2 38 49
|
sylancl |
|- ( ph -> { <. B , y >. } : { B } -1-1-onto-> { y } ) |
51 |
50
|
adantr |
|- ( ( ph /\ f = { <. B , y >. } ) -> { <. B , y >. } : { B } -1-1-onto-> { y } ) |
52 |
|
f1oeq1 |
|- ( f = { <. B , y >. } -> ( f : { B } -1-1-onto-> { y } <-> { <. B , y >. } : { B } -1-1-onto-> { y } ) ) |
53 |
52
|
bicomd |
|- ( f = { <. B , y >. } -> ( { <. B , y >. } : { B } -1-1-onto-> { y } <-> f : { B } -1-1-onto-> { y } ) ) |
54 |
53
|
adantl |
|- ( ( ph /\ f = { <. B , y >. } ) -> ( { <. B , y >. } : { B } -1-1-onto-> { y } <-> f : { B } -1-1-onto-> { y } ) ) |
55 |
51 54
|
mpbid |
|- ( ( ph /\ f = { <. B , y >. } ) -> f : { B } -1-1-onto-> { y } ) |
56 |
|
f1of |
|- ( f : { B } -1-1-onto-> { y } -> f : { B } --> { y } ) |
57 |
55 56
|
syl |
|- ( ( ph /\ f = { <. B , y >. } ) -> f : { B } --> { y } ) |
58 |
57
|
3adant2 |
|- ( ( ph /\ y e. A /\ f = { <. B , y >. } ) -> f : { B } --> { y } ) |
59 |
|
snssi |
|- ( y e. A -> { y } C_ A ) |
60 |
59
|
3ad2ant2 |
|- ( ( ph /\ y e. A /\ f = { <. B , y >. } ) -> { y } C_ A ) |
61 |
58 60
|
fssd |
|- ( ( ph /\ y e. A /\ f = { <. B , y >. } ) -> f : { B } --> A ) |
62 |
61
|
rexlimdv3a |
|- ( ph -> ( E. y e. A f = { <. B , y >. } -> f : { B } --> A ) ) |
63 |
48 62
|
impbid |
|- ( ph -> ( f : { B } --> A <-> E. y e. A f = { <. B , y >. } ) ) |
64 |
5 63
|
bitrd |
|- ( ph -> ( f e. ( A ^m { B } ) <-> E. y e. A f = { <. B , y >. } ) ) |
65 |
64
|
abbi2dv |
|- ( ph -> ( A ^m { B } ) = { f | E. y e. A f = { <. B , y >. } } ) |