Metamath Proof Explorer


Theorem cfsetsnfsetfo

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

Ref Expression
Hypotheses cfsetsnfsetfv.f ⊢ F = f | f : A ⟶ B ∧ ∃ b ∈ B ∀ z ∈ A f ⁡ z = b
cfsetsnfsetfv.g ⊢ G = x | x : Y ⟶ B
cfsetsnfsetfv.h ⊢ H = g ∈ G ⟼ a ∈ A ⟼ g ⁡ Y
Assertion cfsetsnfsetfo ⊢ A ∈ V ∧ Y ∈ A → H : G ⟶ onto F

Proof

Step Hyp Ref Expression
1 cfsetsnfsetfv.f ⊢ F = f | f : A ⟶ B ∧ ∃ b ∈ B ∀ z ∈ A f ⁡ z = b
2 cfsetsnfsetfv.g ⊢ G = x | x : Y ⟶ B
3 cfsetsnfsetfv.h ⊢ H = g ∈ G ⟼ a ∈ A ⟼ g ⁡ Y
4 1 2 3 cfsetsnfsetf ⊢ A ∈ V ∧ Y ∈ A → H : G ⟶ F
5 vex ⊢ m ∈ V
6 feq1 ⊢ f = m → f : A ⟶ B ↔ m : A ⟶ B
7 fveq1 ⊢ f = m → f ⁡ z = m ⁡ z
8 7 adantr ⊢ f = m ∧ z ∈ A → f ⁡ z = m ⁡ z
9 8 eqeq1d ⊢ f = m ∧ z ∈ A → f ⁡ z = b ↔ m ⁡ z = b
10 9 ralbidva ⊢ f = m → ∀ z ∈ A f ⁡ z = b ↔ ∀ z ∈ A m ⁡ z = b
11 10 rexbidv ⊢ f = m → ∃ b ∈ B ∀ z ∈ A f ⁡ z = b ↔ ∃ b ∈ B ∀ z ∈ A m ⁡ z = b
12 6 11 anbi12d ⊢ f = m → f : A ⟶ B ∧ ∃ b ∈ B ∀ z ∈ A f ⁡ z = b ↔ m : A ⟶ B ∧ ∃ b ∈ B ∀ z ∈ A m ⁡ z = b
13 5 12 1 elab2 ⊢ m ∈ F ↔ m : A ⟶ B ∧ ∃ b ∈ B ∀ z ∈ A m ⁡ z = b
14 simpllr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b ∧ y ∈ Y → b ∈ B
15 eqid ⊢ y ∈ Y ⟼ b = y ∈ Y ⟼ b
16 14 15 fmptd ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → y ∈ Y ⟼ b : Y ⟶ B
17 snex ⊢ Y ∈ V
18 17 mptex ⊢ y ∈ Y ⟼ b ∈ V
19 feq1 ⊢ x = y ∈ Y ⟼ b → x : Y ⟶ B ↔ y ∈ Y ⟼ b : Y ⟶ B
20 18 19 2 elab2 ⊢ y ∈ Y ⟼ b ∈ G ↔ y ∈ Y ⟼ b : Y ⟶ B
21 16 20 sylibr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → y ∈ Y ⟼ b ∈ G
22 fveq1 ⊢ n = y ∈ Y ⟼ b → n ⁡ Y = y ∈ Y ⟼ b ⁡ Y
23 22 mpteq2dv ⊢ n = y ∈ Y ⟼ b → a ∈ A ⟼ n ⁡ Y = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y
24 23 eqeq2d ⊢ n = y ∈ Y ⟼ b → m = a ∈ A ⟼ n ⁡ Y ↔ m = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y
25 24 adantl ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b ∧ n = y ∈ Y ⟼ b → m = a ∈ A ⟼ n ⁡ Y ↔ m = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y
26 simpr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b → m ⁡ z = b
27 eqidd ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b → a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y
28 eqidd ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b ∧ a = z → y ∈ Y ⟼ b = y ∈ Y ⟼ b
29 eqidd ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b ∧ a = z ∧ y = Y → b = b
30 snidg ⊢ Y ∈ A → Y ∈ Y
31 30 ad6antlr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b ∧ a = z → Y ∈ Y
32 simpllr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b → b ∈ B
33 32 adantr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b ∧ a = z → b ∈ B
34 28 29 31 33 fvmptd ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b ∧ a = z → y ∈ Y ⟼ b ⁡ Y = b
35 simpr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A → z ∈ A
36 35 adantr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b → z ∈ A
37 27 34 36 32 fvmptd ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b → a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y ⁡ z = b
38 26 37 eqtr4d ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A ∧ m ⁡ z = b → m ⁡ z = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y ⁡ z
39 38 ex ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ z ∈ A → m ⁡ z = b → m ⁡ z = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y ⁡ z
40 39 ralimdva ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B → ∀ z ∈ A m ⁡ z = b → ∀ z ∈ A m ⁡ z = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y ⁡ z
41 40 imp ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → ∀ z ∈ A m ⁡ z = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y ⁡ z
42 ffn ⊢ m : A ⟶ B → m Fn A
43 42 adantl ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B → m Fn A
44 nfv ⊢ Ⅎ a A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B
45 fvexd ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ a ∈ A → y ∈ Y ⟼ b ⁡ Y ∈ V
46 eqid ⊢ a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y
47 44 45 46 fnmptd ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B → a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y Fn A
48 43 47 jca ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B → m Fn A ∧ a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y Fn A
49 48 adantr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B → m Fn A ∧ a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y Fn A
50 49 adantr ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → m Fn A ∧ a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y Fn A
51 eqfnfv ⊢ m Fn A ∧ a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y Fn A → m = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y ↔ ∀ z ∈ A m ⁡ z = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y ⁡ z
52 50 51 syl ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → m = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y ↔ ∀ z ∈ A m ⁡ z = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y ⁡ z
53 41 52 mpbird ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → m = a ∈ A ⟼ y ∈ Y ⟼ b ⁡ Y
54 21 25 53 rspcedvd ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → ∃ n ∈ G m = a ∈ A ⟼ n ⁡ Y
55 simp-4l ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → A ∈ V
56 1 2 3 cfsetsnfsetfv ⊢ A ∈ V ∧ n ∈ G → H ⁡ n = a ∈ A ⟼ n ⁡ Y
57 55 56 sylan ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b ∧ n ∈ G → H ⁡ n = a ∈ A ⟼ n ⁡ Y
58 57 eqeq2d ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b ∧ n ∈ G → m = H ⁡ n ↔ m = a ∈ A ⟼ n ⁡ Y
59 58 rexbidva ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → ∃ n ∈ G m = H ⁡ n ↔ ∃ n ∈ G m = a ∈ A ⟼ n ⁡ Y
60 54 59 mpbird ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B ∧ ∀ z ∈ A m ⁡ z = b → ∃ n ∈ G m = H ⁡ n
61 60 ex ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B ∧ b ∈ B → ∀ z ∈ A m ⁡ z = b → ∃ n ∈ G m = H ⁡ n
62 61 rexlimdva ⊢ A ∈ V ∧ Y ∈ A ∧ m : A ⟶ B → ∃ b ∈ B ∀ z ∈ A m ⁡ z = b → ∃ n ∈ G m = H ⁡ n
63 62 expimpd ⊢ A ∈ V ∧ Y ∈ A → m : A ⟶ B ∧ ∃ b ∈ B ∀ z ∈ A m ⁡ z = b → ∃ n ∈ G m = H ⁡ n
64 13 63 biimtrid ⊢ A ∈ V ∧ Y ∈ A → m ∈ F → ∃ n ∈ G m = H ⁡ n
65 64 ralrimiv ⊢ A ∈ V ∧ Y ∈ A → ∀ m ∈ F ∃ n ∈ G m = H ⁡ n
66 dffo3 ⊢ H : G ⟶ onto F ↔ H : G ⟶ F ∧ ∀ m ∈ F ∃ n ∈ G m = H ⁡ n
67 4 65 66 sylanbrc ⊢ A ∈ V ∧ Y ∈ A → H : G ⟶ onto F