Metamath Proof Explorer


Theorem nnfoctbdj

Description: There exists a mapping from NN onto any (nonempty) countable set of disjoint sets, such that elements in the range of the map are disjoint. (Contributed by Glauco Siliprandi, 17-Aug-2020)

Ref Expression
Hypotheses nnfoctbdj.ctb ⊢ φ → X ≼ ω
nnfoctbdj.n0 ⊢ φ → X ≠ ∅
nnfoctbdj.dj ⊢ φ → Disj y ∈ X y
Assertion nnfoctbdj ⊢ φ → ∃ f f : ℕ ⟶ onto X ∪ ∅ ∧ Disj n ∈ ℕ f ⁡ n

Proof

Step Hyp Ref Expression
1 nnfoctbdj.ctb ⊢ φ → X ≼ ω
2 nnfoctbdj.n0 ⊢ φ → X ≠ ∅
3 nnfoctbdj.dj ⊢ φ → Disj y ∈ X y
4 nnfoctb ⊢ X ≼ ω ∧ X ≠ ∅ → ∃ g g : ℕ ⟶ onto X
5 1 2 4 syl2anc ⊢ φ → ∃ g g : ℕ ⟶ onto X
6 fofn ⊢ g : ℕ ⟶ onto X → g Fn ℕ
7 6 adantl ⊢ φ ∧ g : ℕ ⟶ onto X → g Fn ℕ
8 nnex ⊢ ℕ ∈ V
9 8 a1i ⊢ φ ∧ g : ℕ ⟶ onto X → ℕ ∈ V
10 ltwenn ⊢ < We ℕ
11 10 a1i ⊢ φ ∧ g : ℕ ⟶ onto X → < We ℕ
12 7 9 11 wessf1orn ⊢ φ ∧ g : ℕ ⟶ onto X → ∃ x ∈ 𝒫 ℕ g ↾ x : x ⟶ 1-1 onto ran ⁡ g
13 elpwi ⊢ x ∈ 𝒫 ℕ → x ⊆ ℕ
14 13 3ad2ant2 ⊢ φ ∧ g : ℕ ⟶ onto X ∧ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → x ⊆ ℕ
15 simpr ⊢ g : ℕ ⟶ onto X ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x : x ⟶ 1-1 onto ran ⁡ g
16 forn ⊢ g : ℕ ⟶ onto X → ran ⁡ g = X
17 16 adantr ⊢ g : ℕ ⟶ onto X ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → ran ⁡ g = X
18 17 f1oeq3d ⊢ g : ℕ ⟶ onto X ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x : x ⟶ 1-1 onto ran ⁡ g ↔ g ↾ x : x ⟶ 1-1 onto X
19 15 18 mpbid ⊢ g : ℕ ⟶ onto X ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x : x ⟶ 1-1 onto X
20 19 adantll ⊢ φ ∧ g : ℕ ⟶ onto X ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x : x ⟶ 1-1 onto X
21 20 3adant2 ⊢ φ ∧ g : ℕ ⟶ onto X ∧ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → g ↾ x : x ⟶ 1-1 onto X
22 3 adantr ⊢ φ ∧ g : ℕ ⟶ onto X → Disj y ∈ X y
23 22 3ad2ant1 ⊢ φ ∧ g : ℕ ⟶ onto X ∧ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → Disj y ∈ X y
24 eqeq1 ⊢ m = n → m = 1 ↔ n = 1
25 oveq1 ⊢ m = n → m − 1 = n − 1
26 25 eleq1d ⊢ m = n → m − 1 ∈ x ↔ n − 1 ∈ x
27 26 notbid ⊢ m = n → ¬ m − 1 ∈ x ↔ ¬ n − 1 ∈ x
28 24 27 orbi12d ⊢ m = n → m = 1 ∨ ¬ m − 1 ∈ x ↔ n = 1 ∨ ¬ n − 1 ∈ x
29 fvoveq1 ⊢ m = n → g ↾ x ⁡ m − 1 = g ↾ x ⁡ n − 1
30 28 29 ifbieq2d ⊢ m = n → if m = 1 ∨ ¬ m − 1 ∈ x ∅ g ↾ x ⁡ m − 1 = if n = 1 ∨ ¬ n − 1 ∈ x ∅ g ↾ x ⁡ n − 1
31 30 cbvmptv ⊢ m ∈ ℕ ⟼ if m = 1 ∨ ¬ m − 1 ∈ x ∅ g ↾ x ⁡ m − 1 = n ∈ ℕ ⟼ if n = 1 ∨ ¬ n − 1 ∈ x ∅ g ↾ x ⁡ n − 1
32 14 21 23 31 nnfoctbdjlem ⊢ φ ∧ g : ℕ ⟶ onto X ∧ x ∈ 𝒫 ℕ ∧ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → ∃ f f : ℕ ⟶ onto X ∪ ∅ ∧ Disj n ∈ ℕ f ⁡ n
33 32 3exp ⊢ φ ∧ g : ℕ ⟶ onto X → x ∈ 𝒫 ℕ → g ↾ x : x ⟶ 1-1 onto ran ⁡ g → ∃ f f : ℕ ⟶ onto X ∪ ∅ ∧ Disj n ∈ ℕ f ⁡ n
34 33 rexlimdv ⊢ φ ∧ g : ℕ ⟶ onto X → ∃ x ∈ 𝒫 ℕ g ↾ x : x ⟶ 1-1 onto ran ⁡ g → ∃ f f : ℕ ⟶ onto X ∪ ∅ ∧ Disj n ∈ ℕ f ⁡ n
35 12 34 mpd ⊢ φ ∧ g : ℕ ⟶ onto X → ∃ f f : ℕ ⟶ onto X ∪ ∅ ∧ Disj n ∈ ℕ f ⁡ n
36 35 ex ⊢ φ → g : ℕ ⟶ onto X → ∃ f f : ℕ ⟶ onto X ∪ ∅ ∧ Disj n ∈ ℕ f ⁡ n
37 36 exlimdv ⊢ φ → ∃ g g : ℕ ⟶ onto X → ∃ f f : ℕ ⟶ onto X ∪ ∅ ∧ Disj n ∈ ℕ f ⁡ n
38 5 37 mpd ⊢ φ → ∃ f f : ℕ ⟶ onto X ∪ ∅ ∧ Disj n ∈ ℕ f ⁡ n