Metamath Proof Explorer


Theorem fsetsnfo

Description: The mapping of an element of a class to a singleton function is a surjection. (Contributed by AV, 13-Sep-2024)

Ref Expression
Hypotheses fsetsnf.a ⊢ A = y | ∃ b ∈ B y = S b
fsetsnf.f ⊢ F = x ∈ B ⟼ S x
Assertion fsetsnfo ⊢ S ∈ V → F : B ⟶ onto A

Proof

Step Hyp Ref Expression
1 fsetsnf.a ⊢ A = y | ∃ b ∈ B y = S b
2 fsetsnf.f ⊢ F = x ∈ B ⟼ S x
3 1 2 fsetsnf ⊢ S ∈ V → F : B ⟶ A
4 vex ⊢ m ∈ V
5 eqeq1 ⊢ y = m → y = S b ↔ m = S b
6 5 rexbidv ⊢ y = m → ∃ b ∈ B y = S b ↔ ∃ b ∈ B m = S b
7 4 6 1 elab2 ⊢ m ∈ A ↔ ∃ b ∈ B m = S b
8 opeq2 ⊢ b = n → S b = S n
9 8 sneqd ⊢ b = n → S b = S n
10 9 eqeq2d ⊢ b = n → m = S b ↔ m = S n
11 10 cbvrexvw ⊢ ∃ b ∈ B m = S b ↔ ∃ n ∈ B m = S n
12 simpr ⊢ S ∈ V ∧ n ∈ B ∧ m = S n → m = S n
13 2 a1i ⊢ S ∈ V ∧ n ∈ B → F = x ∈ B ⟼ S x
14 opeq2 ⊢ x = n → S x = S n
15 14 sneqd ⊢ x = n → S x = S n
16 15 adantl ⊢ S ∈ V ∧ n ∈ B ∧ x = n → S x = S n
17 simpr ⊢ S ∈ V ∧ n ∈ B → n ∈ B
18 snex ⊢ S n ∈ V
19 18 a1i ⊢ S ∈ V ∧ n ∈ B → S n ∈ V
20 13 16 17 19 fvmptd ⊢ S ∈ V ∧ n ∈ B → F ⁡ n = S n
21 20 eqcomd ⊢ S ∈ V ∧ n ∈ B → S n = F ⁡ n
22 21 adantr ⊢ S ∈ V ∧ n ∈ B ∧ m = S n → S n = F ⁡ n
23 12 22 eqtrd ⊢ S ∈ V ∧ n ∈ B ∧ m = S n → m = F ⁡ n
24 23 ex ⊢ S ∈ V ∧ n ∈ B → m = S n → m = F ⁡ n
25 24 reximdva ⊢ S ∈ V → ∃ n ∈ B m = S n → ∃ n ∈ B m = F ⁡ n
26 11 25 biimtrid ⊢ S ∈ V → ∃ b ∈ B m = S b → ∃ n ∈ B m = F ⁡ n
27 7 26 biimtrid ⊢ S ∈ V → m ∈ A → ∃ n ∈ B m = F ⁡ n
28 27 imp ⊢ S ∈ V ∧ m ∈ A → ∃ n ∈ B m = F ⁡ n
29 28 ralrimiva ⊢ S ∈ V → ∀ m ∈ A ∃ n ∈ B m = F ⁡ n
30 dffo3 ⊢ F : B ⟶ onto A ↔ F : B ⟶ A ∧ ∀ m ∈ A ∃ n ∈ B m = F ⁡ n
31 3 29 30 sylanbrc ⊢ S ∈ V → F : B ⟶ onto A