Metamath Proof Explorer


Theorem bdayn0sf1o

Description: The birthday function restricted to the non-negative surreal integers is a bijection with the finite ordinals. (Contributed by Scott Fenton, 7-Nov-2025)

Ref Expression
Assertion bdayn0sf1o ⊢ bday ↾ ℕ 0s : ℕ 0s ⟶ 1-1 onto ω

Proof

Step Hyp Ref Expression
1 bdayfun ⊢ Fun ⁡ bday
2 funres ⊢ Fun ⁡ bday → Fun ⁡ bday ↾ ℕ 0s
3 1 2 ax-mp ⊢ Fun ⁡ bday ↾ ℕ 0s
4 dmres ⊢ dom ⁡ bday ↾ ℕ 0s = ℕ 0s ∩ dom ⁡ bday
5 bdaydm ⊢ dom ⁡ bday = No
6 5 ineq2i ⊢ ℕ 0s ∩ dom ⁡ bday = ℕ 0s ∩ No
7 n0ssno ⊢ ℕ 0s ⊆ No
8 dfss2 ⊢ ℕ 0s ⊆ No ↔ ℕ 0s ∩ No = ℕ 0s
9 7 8 mpbi ⊢ ℕ 0s ∩ No = ℕ 0s
10 4 6 9 3eqtri ⊢ dom ⁡ bday ↾ ℕ 0s = ℕ 0s
11 df-fn ⊢ bday ↾ ℕ 0s Fn ℕ 0s ↔ Fun ⁡ bday ↾ ℕ 0s ∧ dom ⁡ bday ↾ ℕ 0s = ℕ 0s
12 3 10 11 mpbir2an ⊢ bday ↾ ℕ 0s Fn ℕ 0s
13 fvres ⊢ x ∈ ℕ 0s → bday ↾ ℕ 0s ⁡ x = bday ⁡ x
14 n0bday ⊢ x ∈ ℕ 0s → bday ⁡ x ∈ ω
15 13 14 eqeltrd ⊢ x ∈ ℕ 0s → bday ↾ ℕ 0s ⁡ x ∈ ω
16 15 rgen ⊢ ∀ x ∈ ℕ 0s bday ↾ ℕ 0s ⁡ x ∈ ω
17 fnfvrnss ⊢ bday ↾ ℕ 0s Fn ℕ 0s ∧ ∀ x ∈ ℕ 0s bday ↾ ℕ 0s ⁡ x ∈ ω → ran ⁡ bday ↾ ℕ 0s ⊆ ω
18 12 16 17 mp2an ⊢ ran ⁡ bday ↾ ℕ 0s ⊆ ω
19 eqeq2 ⊢ b = ∅ → bday ⁡ y = b ↔ bday ⁡ y = ∅
20 19 rexbidv ⊢ b = ∅ → ∃ y ∈ ℕ 0s bday ⁡ y = b ↔ ∃ y ∈ ℕ 0s bday ⁡ y = ∅
21 eqeq2 ⊢ b = a → bday ⁡ y = b ↔ bday ⁡ y = a
22 21 rexbidv ⊢ b = a → ∃ y ∈ ℕ 0s bday ⁡ y = b ↔ ∃ y ∈ ℕ 0s bday ⁡ y = a
23 eqeq2 ⊢ b = suc ⁡ a → bday ⁡ y = b ↔ bday ⁡ y = suc ⁡ a
24 23 rexbidv ⊢ b = suc ⁡ a → ∃ y ∈ ℕ 0s bday ⁡ y = b ↔ ∃ y ∈ ℕ 0s bday ⁡ y = suc ⁡ a
25 fveqeq2 ⊢ y = z → bday ⁡ y = suc ⁡ a ↔ bday ⁡ z = suc ⁡ a
26 25 cbvrexvw ⊢ ∃ y ∈ ℕ 0s bday ⁡ y = suc ⁡ a ↔ ∃ z ∈ ℕ 0s bday ⁡ z = suc ⁡ a
27 24 26 bitrdi ⊢ b = suc ⁡ a → ∃ y ∈ ℕ 0s bday ⁡ y = b ↔ ∃ z ∈ ℕ 0s bday ⁡ z = suc ⁡ a
28 eqeq2 ⊢ b = x → bday ⁡ y = b ↔ bday ⁡ y = x
29 28 rexbidv ⊢ b = x → ∃ y ∈ ℕ 0s bday ⁡ y = b ↔ ∃ y ∈ ℕ 0s bday ⁡ y = x
30 0n0s ⊢ 0 s ∈ ℕ 0s
31 bday0 ⊢ bday ⁡ 0 s = ∅
32 fveqeq2 ⊢ y = 0 s → bday ⁡ y = ∅ ↔ bday ⁡ 0 s = ∅
33 32 rspcev ⊢ 0 s ∈ ℕ 0s ∧ bday ⁡ 0 s = ∅ → ∃ y ∈ ℕ 0s bday ⁡ y = ∅
34 30 31 33 mp2an ⊢ ∃ y ∈ ℕ 0s bday ⁡ y = ∅
35 fveqeq2 ⊢ z = y + s 1 s → bday ⁡ z = suc ⁡ bday ⁡ y ↔ bday ⁡ y + s 1 s = suc ⁡ bday ⁡ y
36 peano2n0s ⊢ y ∈ ℕ 0s → y + s 1 s ∈ ℕ 0s
37 bdayn0p1 ⊢ y ∈ ℕ 0s → bday ⁡ y + s 1 s = suc ⁡ bday ⁡ y
38 35 36 37 rspcedvdw ⊢ y ∈ ℕ 0s → ∃ z ∈ ℕ 0s bday ⁡ z = suc ⁡ bday ⁡ y
39 38 adantl ⊢ a ∈ ω ∧ y ∈ ℕ 0s → ∃ z ∈ ℕ 0s bday ⁡ z = suc ⁡ bday ⁡ y
40 suceq ⊢ bday ⁡ y = a → suc ⁡ bday ⁡ y = suc ⁡ a
41 40 eqeq2d ⊢ bday ⁡ y = a → bday ⁡ z = suc ⁡ bday ⁡ y ↔ bday ⁡ z = suc ⁡ a
42 41 rexbidv ⊢ bday ⁡ y = a → ∃ z ∈ ℕ 0s bday ⁡ z = suc ⁡ bday ⁡ y ↔ ∃ z ∈ ℕ 0s bday ⁡ z = suc ⁡ a
43 39 42 syl5ibcom ⊢ a ∈ ω ∧ y ∈ ℕ 0s → bday ⁡ y = a → ∃ z ∈ ℕ 0s bday ⁡ z = suc ⁡ a
44 43 rexlimdva ⊢ a ∈ ω → ∃ y ∈ ℕ 0s bday ⁡ y = a → ∃ z ∈ ℕ 0s bday ⁡ z = suc ⁡ a
45 20 22 27 29 34 44 finds ⊢ x ∈ ω → ∃ y ∈ ℕ 0s bday ⁡ y = x
46 fvelrnb ⊢ bday ↾ ℕ 0s Fn ℕ 0s → x ∈ ran ⁡ bday ↾ ℕ 0s ↔ ∃ y ∈ ℕ 0s bday ↾ ℕ 0s ⁡ y = x
47 12 46 ax-mp ⊢ x ∈ ran ⁡ bday ↾ ℕ 0s ↔ ∃ y ∈ ℕ 0s bday ↾ ℕ 0s ⁡ y = x
48 fvres ⊢ y ∈ ℕ 0s → bday ↾ ℕ 0s ⁡ y = bday ⁡ y
49 48 eqeq1d ⊢ y ∈ ℕ 0s → bday ↾ ℕ 0s ⁡ y = x ↔ bday ⁡ y = x
50 49 rexbiia ⊢ ∃ y ∈ ℕ 0s bday ↾ ℕ 0s ⁡ y = x ↔ ∃ y ∈ ℕ 0s bday ⁡ y = x
51 47 50 bitri ⊢ x ∈ ran ⁡ bday ↾ ℕ 0s ↔ ∃ y ∈ ℕ 0s bday ⁡ y = x
52 45 51 sylibr ⊢ x ∈ ω → x ∈ ran ⁡ bday ↾ ℕ 0s
53 52 ssriv ⊢ ω ⊆ ran ⁡ bday ↾ ℕ 0s
54 18 53 eqssi ⊢ ran ⁡ bday ↾ ℕ 0s = ω
55 df-fo ⊢ bday ↾ ℕ 0s : ℕ 0s ⟶ onto ω ↔ bday ↾ ℕ 0s Fn ℕ 0s ∧ ran ⁡ bday ↾ ℕ 0s = ω
56 12 54 55 mpbir2an ⊢ bday ↾ ℕ 0s : ℕ 0s ⟶ onto ω
57 fof ⊢ bday ↾ ℕ 0s : ℕ 0s ⟶ onto ω → bday ↾ ℕ 0s : ℕ 0s ⟶ ω
58 56 57 ax-mp ⊢ bday ↾ ℕ 0s : ℕ 0s ⟶ ω
59 13 48 eqeqan12d ⊢ x ∈ ℕ 0s ∧ y ∈ ℕ 0s → bday ↾ ℕ 0s ⁡ x = bday ↾ ℕ 0s ⁡ y ↔ bday ⁡ x = bday ⁡ y
60 n0on ⊢ x ∈ ℕ 0s → x ∈ On s
61 n0on ⊢ y ∈ ℕ 0s → y ∈ On s
62 bday11on ⊢ x ∈ On s ∧ y ∈ On s ∧ bday ⁡ x = bday ⁡ y → x = y
63 62 3expia ⊢ x ∈ On s ∧ y ∈ On s → bday ⁡ x = bday ⁡ y → x = y
64 60 61 63 syl2an ⊢ x ∈ ℕ 0s ∧ y ∈ ℕ 0s → bday ⁡ x = bday ⁡ y → x = y
65 59 64 sylbid ⊢ x ∈ ℕ 0s ∧ y ∈ ℕ 0s → bday ↾ ℕ 0s ⁡ x = bday ↾ ℕ 0s ⁡ y → x = y
66 65 rgen2 ⊢ ∀ x ∈ ℕ 0s ∀ y ∈ ℕ 0s bday ↾ ℕ 0s ⁡ x = bday ↾ ℕ 0s ⁡ y → x = y
67 dff13 ⊢ bday ↾ ℕ 0s : ℕ 0s ⟶ 1-1 ω ↔ bday ↾ ℕ 0s : ℕ 0s ⟶ ω ∧ ∀ x ∈ ℕ 0s ∀ y ∈ ℕ 0s bday ↾ ℕ 0s ⁡ x = bday ↾ ℕ 0s ⁡ y → x = y
68 58 66 67 mpbir2an ⊢ bday ↾ ℕ 0s : ℕ 0s ⟶ 1-1 ω
69 df-f1o ⊢ bday ↾ ℕ 0s : ℕ 0s ⟶ 1-1 onto ω ↔ bday ↾ ℕ 0s : ℕ 0s ⟶ 1-1 ω ∧ bday ↾ ℕ 0s : ℕ 0s ⟶ onto ω
70 68 56 69 mpbir2an ⊢ bday ↾ ℕ 0s : ℕ 0s ⟶ 1-1 onto ω