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 biimpi
 |-  ( g e. G -> g : { Y } --> B )
11 10 adantl
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> g : { Y } --> B )
12 snidg
 |-  ( Y e. A -> Y e. { Y } )
13 12 adantl
 |-  ( ( A e. V /\ Y e. A ) -> Y e. { Y } )
14 13 adantr
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> Y e. { Y } )
15 11 14 ffvelrnd
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> ( g ` Y ) e. B )
16 15 adantr
 |-  ( ( ( ( A e. V /\ Y e. A ) /\ g e. G ) /\ a e. A ) -> ( g ` Y ) e. B )
17 16 fmpttd
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> ( a e. A |-> ( g ` Y ) ) : A --> B )
18 eqeq2
 |-  ( b = ( g ` Y ) -> ( ( g ` Y ) = b <-> ( g ` Y ) = ( g ` Y ) ) )
19 18 ralbidv
 |-  ( b = ( g ` Y ) -> ( A. z e. A ( g ` Y ) = b <-> A. z e. A ( g ` Y ) = ( g ` Y ) ) )
20 19 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 ) ) )
21 eqidd
 |-  ( ( ( ( A e. V /\ Y e. A ) /\ g e. G ) /\ z e. A ) -> ( g ` Y ) = ( g ` Y ) )
22 21 ralrimiva
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> A. z e. A ( g ` Y ) = ( g ` Y ) )
23 15 20 22 rspcedvd
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> E. b e. B A. z e. A ( g ` Y ) = b )
24 17 23 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 ) )
25 feq1
 |-  ( f = ( a e. A |-> ( g ` Y ) ) -> ( f : A --> B <-> ( a e. A |-> ( g ` Y ) ) : A --> B ) )
26 simpl
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> f = ( a e. A |-> ( g ` Y ) ) )
27 eqidd
 |-  ( ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) /\ a = z ) -> ( g ` Y ) = ( g ` Y ) )
28 simpr
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> z e. A )
29 fvexd
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> ( g ` Y ) e. _V )
30 nfcv
 |-  F/_ a f
31 nfmpt1
 |-  F/_ a ( a e. A |-> ( g ` Y ) )
32 30 31 nfeq
 |-  F/ a f = ( a e. A |-> ( g ` Y ) )
33 nfv
 |-  F/ a z e. A
34 32 33 nfan
 |-  F/ a ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A )
35 nfcv
 |-  F/_ a z
36 nfcv
 |-  F/_ a ( g ` Y )
37 26 27 28 29 34 35 36 fvmptdf
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> ( f ` z ) = ( g ` Y ) )
38 37 eqeq1d
 |-  ( ( f = ( a e. A |-> ( g ` Y ) ) /\ z e. A ) -> ( ( f ` z ) = b <-> ( g ` Y ) = b ) )
39 38 ralbidva
 |-  ( f = ( a e. A |-> ( g ` Y ) ) -> ( A. z e. A ( f ` z ) = b <-> A. z e. A ( g ` Y ) = b ) )
40 39 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 ) )
41 25 40 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 ) ) )
42 6 24 41 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 ) } )
43 42 1 eleqtrrdi
 |-  ( ( ( A e. V /\ Y e. A ) /\ g e. G ) -> ( a e. A |-> ( g ` Y ) ) e. F )
44 43 3 fmptd
 |-  ( ( A e. V /\ Y e. A ) -> H : G --> F )