Metamath Proof Explorer


Theorem ssnnf1octb

Description: There exists a bijection between a subset of NN and a given nonempty countable set. (Contributed by Glauco Siliprandi, 11-Oct-2020)

Ref Expression
Assertion ssnnf1octb ⊢ A ≼ ω ∧ A ≠ ∅ → ∃ f dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A

Proof

Step Hyp Ref Expression
1 nnfoctb ⊢ A ≼ ω ∧ A ≠ ∅ → ∃ g g : ℕ ⟶ onto A
2 fofn ⊢ g : ℕ ⟶ onto A → g Fn ℕ
3 nnex ⊢ ℕ ∈ V
4 3 a1i ⊢ g : ℕ ⟶ onto A → ℕ ∈ V
5 ltwenn ⊢ < We ℕ
6 5 a1i ⊢ g : ℕ ⟶ onto A → < We ℕ
7 2 4 6 wessf1orn ⊢ g : ℕ ⟶ onto A → ∃ x ∈ 𝒫 ℕ g ↾ x : x ⟶ 1-1 onto ran ⁡ g
8 f1odm ⊢ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → dom ⁡ g ↾ x = x
9 8 adantl ⊢ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → dom ⁡ g ↾ x = x
10 elpwi ⊢ x ∈ 𝒫 ℕ → x ⊆ ℕ
11 10 adantr ⊢ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → x ⊆ ℕ
12 9 11 eqsstrd ⊢ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → dom ⁡ g ↾ x ⊆ ℕ
13 12 3adant1 ⊢ g : ℕ ⟶ onto A ∧ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → dom ⁡ g ↾ x ⊆ ℕ
14 simpr ⊢ g : ℕ ⟶ onto A ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x : x ⟶ 1-1 onto ran ⁡ g
15 eqidd ⊢ g : ℕ ⟶ onto A ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x = g ↾ x
16 8 eqcomd ⊢ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → x = dom ⁡ g ↾ x
17 16 adantl ⊢ g : ℕ ⟶ onto A ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → x = dom ⁡ g ↾ x
18 forn ⊢ g : ℕ ⟶ onto A → ran ⁡ g = A
19 18 adantr ⊢ g : ℕ ⟶ onto A ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → ran ⁡ g = A
20 15 17 19 f1oeq123d ⊢ g : ℕ ⟶ onto A ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x : x ⟶ 1-1 onto ran ⁡ g ↔ g ↾ x : dom ⁡ g ↾ x ⟶ 1-1 onto A
21 14 20 mpbid ⊢ g : ℕ ⟶ onto A ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x : dom ⁡ g ↾ x ⟶ 1-1 onto A
22 21 3adant2 ⊢ g : ℕ ⟶ onto A ∧ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x : dom ⁡ g ↾ x ⟶ 1-1 onto A
23 vex ⊢ g ∈ V
24 23 resex ⊢ g ↾ x ∈ V
25 dmeq ⊢ f = g ↾ x → dom ⁡ f = dom ⁡ g ↾ x
26 25 sseq1d ⊢ f = g ↾ x → dom ⁡ f ⊆ ℕ ↔ dom ⁡ g ↾ x ⊆ ℕ
27 id ⊢ f = g ↾ x → f = g ↾ x
28 eqidd ⊢ f = g ↾ x → A = A
29 27 25 28 f1oeq123d ⊢ f = g ↾ x → f : dom ⁡ f ⟶ 1-1 onto A ↔ g ↾ x : dom ⁡ g ↾ x ⟶ 1-1 onto A
30 26 29 anbi12d ⊢ f = g ↾ x → dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A ↔ dom ⁡ g ↾ x ⊆ ℕ ∧ g ↾ x : dom ⁡ g ↾ x ⟶ 1-1 onto A
31 24 30 spcev ⊢ dom ⁡ g ↾ x ⊆ ℕ ∧ g ↾ x : dom ⁡ g ↾ x ⟶ 1-1 onto A → ∃ f dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A
32 13 22 31 syl2anc ⊢ g : ℕ ⟶ onto A ∧ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → ∃ f dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A
33 32 3exp ⊢ g : ℕ ⟶ onto A → x ∈ 𝒫 ℕ → g ↾ x : x ⟶ 1-1 onto ran ⁡ g → ∃ f dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A
34 33 rexlimdv ⊢ g : ℕ ⟶ onto A → ∃ x ∈ 𝒫 ℕ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → ∃ f dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A
35 7 34 mpd ⊢ g : ℕ ⟶ onto A → ∃ f dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A
36 35 a1i ⊢ A ≼ ω ∧ A ≠ ∅ → g : ℕ ⟶ onto A → ∃ f dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A
37 36 exlimdv ⊢ A ≼ ω ∧ A ≠ ∅ → ∃ g g : ℕ ⟶ onto A → ∃ f dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A
38 1 37 mpd ⊢ A ≼ ω ∧ A ≠ ∅ → ∃ f dom ⁡ f ⊆ ℕ ∧ f : dom ⁡ f ⟶ 1-1 onto A