Metamath Proof Explorer


Theorem cfsetsnfsetf

Description: The mapping of the class of singleton functions into the class of constant functions is a function. (Contributed by AV, 14-Sep-2024)

Ref Expression
Hypotheses cfsetsnfsetfv.f
|- F = { f | ( f : A --> B /\ E. b e. B A. z e. A ( f ` z ) = b ) }
cfsetsnfsetfv.g
|- G = { x | x : { Y } --> B }
cfsetsnfsetfv.h
|- H = ( g e. G |-> ( a e. A |-> ( g ` Y ) ) )
Assertion cfsetsnfsetf
|- ( ( A e. V /\ Y e. A ) -> H : G --> F )

Proof

Step Hyp Ref Expression
1 cfsetsnfsetfv.f
 |-  F = { f | ( f : A --> B /\ E. b e. B A. z e. A ( f ` z ) = b ) }
2 cfsetsnfsetfv.g
 |-  G = { x | x : { Y } --> B }
3 cfsetsnfsetfv.h
 |-  H = ( g e. G |-> ( a e. A |-> ( g ` Y ) ) )
4 simpl
 |-  ( ( A e. V /\ Y e. A ) -> A e. V )
5 4 adantr
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> A e. V )
6 5 mptexd
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> ( a e. A |-> ( g ` Y ) ) e. _V )
7 vex
 |-  g e. _V
8 feq1
 |-  ( x = g -> ( x : { Y } --> B <-> g : { Y } --> B ) )
9 7 8 2 elab2
 |-  ( g e. G <-> g : { Y } --> B )
10 9 bilani
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> g : { Y } --> B )
11 snidg
 |-  ( Y e. A -> Y e. { Y } )
12 11 adantl
 |-  ( ( A e. V /\ Y e. A ) -> Y e. { Y } )
13 12 adantr
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> Y e. { Y } )
14 10 13 ffvelcdmd
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> ( g ` Y ) e. B )
15 14 adantr
 |-  ( ( ( ( A e. V /\ Y e. A ) /\ g e. G ) /\ a e. A ) -> ( g ` Y ) e. B )
16 15 fmpttd
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> ( a e. A |-> ( g ` Y ) ) : A --> B )
17 eqeq2
 |-  ( b = ( g ` Y ) -> ( ( g ` Y ) = b <-> ( g ` Y ) = ( g ` Y ) ) )
18 17 ralbidv
 |-  ( b = ( g ` Y ) -> ( A. z e. A ( g ` Y ) = b <-> A. z e. A ( g ` Y ) = ( g ` Y ) ) )
19 18 adantl
 |-  ( ( ( ( A e. V /\ Y e. A ) /\ g e. G ) /\ b = ( g ` Y ) ) -> ( A. z e. A ( g ` Y ) = b <-> A. z e. A ( g ` Y ) = ( g ` Y ) ) )
20 eqidd
 |-  ( ( ( ( A e. V /\ Y e. A ) /\ g e. G ) /\ z e. A ) -> ( g ` Y ) = ( g ` Y ) )
21 20 ralrimiva
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> A. z e. A ( g ` Y ) = ( g ` Y ) )
22 14 19 21 rspcedvd
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> E. b e. B A. z e. A ( g ` Y ) = b )
23 16 22 jca
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> ( ( a e. A |-> ( g ` Y ) ) : A --> B /\ E. b e. B A. z e. A ( g ` Y ) = b ) )
24 feq1
 |-  ( f = ( a e. A |-> ( g ` Y ) ) -> ( f : A --> B <-> ( a e. A |-> ( g ` Y ) ) : A --> B ) )
25 simpl
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> f = ( a e. A |-> ( g ` Y ) ) )
26 eqidd
 |-  ( ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) /\ a = z ) -> ( g ` Y ) = ( g ` Y ) )
27 simpr
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> z e. A )
28 fvexd
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> ( g ` Y ) e. _V )
29 nfcv
 |-  F/_ a f
30 nfmpt1
 |-  F/_ a ( a e. A |-> ( g ` Y ) )
31 29 30 nfeq
 |-  F/ a f = ( a e. A |-> ( g ` Y ) )
32 nfv
 |-  F/ a z e. A
33 31 32 nfan
 |-  F/ a ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A )
34 nfcv
 |-  F/_ a z
35 nfcv
 |-  F/_ a ( g ` Y )
36 25 26 27 28 33 34 35 fvmptdf
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> ( f ` z ) = ( g ` Y ) )
37 36 eqeq1d
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> ( ( f ` z ) = b <-> ( g ` Y ) = b ) )
38 37 ralbidva
 |-  ( f = ( a e. A |-> ( g ` Y ) ) -> ( A. z e. A ( f ` z ) = b <-> A. z e. A ( g ` Y ) = b ) )
39 38 rexbidv
 |-  ( f = ( a e. A |-> ( g ` Y ) ) -> ( E. b e. B A. z e. A ( f ` z ) = b <-> E. b e. B A. z e. A ( g ` Y ) = b ) )
40 24 39 anbi12d
 |-  ( f = ( a e. A |-> ( g ` Y ) ) -> ( ( f : A --> B /\ E. b e. B A. z e. A ( f ` z ) = b ) <-> ( ( a e. A |-> ( g ` Y ) ) : A --> B /\ E. b e. B A. z e. A ( g ` Y ) = b ) ) )
41 6 23 40 elabd
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> ( a e. A |-> ( g ` Y ) ) e. { f | ( f : A --> B /\ E. b e. B A. z e. A ( f ` z ) = b ) } )
42 41 1 eleqtrrdi
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> ( a e. A |-> ( g ` Y ) ) e. F )
43 42 3 fmptd
 |-  ( ( A e. V /\ Y e. A ) -> H : G --> F )