| Step |
Hyp |
Ref |
Expression |
| 1 |
|
fsetfocdm.f |
|- F = { f | f : A --> B } |
| 2 |
|
fsetfocdm.s |
|- S = ( g e. F |-> ( g ` X ) ) |
| 3 |
1 2
|
fsetfcdm |
|- ( X e. A -> S : F --> B ) |
| 4 |
3
|
adantl |
|- ( ( A e. V /\ X e. A ) -> S : F --> B ) |
| 5 |
|
simplr |
|- ( ( ( ( A e. V /\ X e. A ) /\ g e. B ) /\ x e. A ) -> g e. B ) |
| 6 |
5
|
fmpttd |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> ( x e. A |-> g ) : A --> B ) |
| 7 |
|
simpll |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> A e. V ) |
| 8 |
7
|
mptexd |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> ( x e. A |-> g ) e. _V ) |
| 9 |
|
feq1 |
|- ( f = ( x e. A |-> g ) -> ( f : A --> B <-> ( x e. A |-> g ) : A --> B ) ) |
| 10 |
9 1
|
elab2g |
|- ( ( x e. A |-> g ) e. _V -> ( ( x e. A |-> g ) e. F <-> ( x e. A |-> g ) : A --> B ) ) |
| 11 |
8 10
|
syl |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> ( ( x e. A |-> g ) e. F <-> ( x e. A |-> g ) : A --> B ) ) |
| 12 |
6 11
|
mpbird |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> ( x e. A |-> g ) e. F ) |
| 13 |
|
fveq1 |
|- ( g = f -> ( g ` X ) = ( f ` X ) ) |
| 14 |
13
|
cbvmptv |
|- ( g e. F |-> ( g ` X ) ) = ( f e. F |-> ( f ` X ) ) |
| 15 |
2 14
|
eqtri |
|- S = ( f e. F |-> ( f ` X ) ) |
| 16 |
|
fveq1 |
|- ( f = ( x e. A |-> g ) -> ( f ` X ) = ( ( x e. A |-> g ) ` X ) ) |
| 17 |
|
fvexd |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> ( ( x e. A |-> g ) ` X ) e. _V ) |
| 18 |
15 16 12 17
|
fvmptd3 |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> ( S ` ( x e. A |-> g ) ) = ( ( x e. A |-> g ) ` X ) ) |
| 19 |
|
eqidd |
|- ( x = X -> g = g ) |
| 20 |
|
eqid |
|- ( x e. A |-> g ) = ( x e. A |-> g ) |
| 21 |
|
vex |
|- g e. _V |
| 22 |
19 20 21
|
fvmpt |
|- ( X e. A -> ( ( x e. A |-> g ) ` X ) = g ) |
| 23 |
22
|
ad2antlr |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> ( ( x e. A |-> g ) ` X ) = g ) |
| 24 |
18 23
|
eqtrd |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> ( S ` ( x e. A |-> g ) ) = g ) |
| 25 |
|
fveq2 |
|- ( h = ( x e. A |-> g ) -> ( S ` h ) = ( S ` ( x e. A |-> g ) ) ) |
| 26 |
25
|
eqcomd |
|- ( h = ( x e. A |-> g ) -> ( S ` ( x e. A |-> g ) ) = ( S ` h ) ) |
| 27 |
24 26
|
sylan9req |
|- ( ( ( ( A e. V /\ X e. A ) /\ g e. B ) /\ h = ( x e. A |-> g ) ) -> g = ( S ` h ) ) |
| 28 |
12 27
|
rspcedeq2vd |
|- ( ( ( A e. V /\ X e. A ) /\ g e. B ) -> E. h e. F g = ( S ` h ) ) |
| 29 |
28
|
ralrimiva |
|- ( ( A e. V /\ X e. A ) -> A. g e. B E. h e. F g = ( S ` h ) ) |
| 30 |
|
dffo3 |
|- ( S : F -onto-> B <-> ( S : F --> B /\ A. g e. B E. h e. F g = ( S ` h ) ) ) |
| 31 |
4 29 30
|
sylanbrc |
|- ( ( A e. V /\ X e. A ) -> S : F -onto-> B ) |