MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  bdayn0sf1o Structured version   Visualization version   GIF version

Theorem bdayn0sf1o 28756
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.)
Assertion
Ref Expression
bdayn0sf1o (bday ↾ ℕ0s):ℕ0s–1-1-onto→ω

Proof of Theorem bdayn0sf1o
Dummy variables 𝑎 𝑏 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 bdayfun 28133 . . . . . . 7 Fun bday
2 funres 6582 . . . . . . 7 (Fun bday → Fun (bday ↾ ℕ0s))
31, 2ax-mp 5 . . . . . 6 Fun (bday ↾ ℕ0s)
4 dmres 6002 . . . . . . 7 dom (bday ↾ ℕ0s) = (ℕ0s ∩ dom bday)
5 bdaydm 28135 . . . . . . . 8 dom bday = No
65ineq2i 4114 . . . . . . 7 (ℕ0s ∩ dom bday) = (ℕ0s ∩ No)
7 n0ssno 28706 . . . . . . . 8 ℕ0s ⊆ No
8 dfss2 4094 . . . . . . . 8 (ℕ0s ⊆ No ↔ (ℕ0s ∩ No) = ℕ0s)
97, 8mpbi 233 . . . . . . 7 (ℕ0s ∩ No) = ℕ0s
104, 6, 93eqtri 2787 . . . . . 6 dom (bday ↾ ℕ0s) = ℕ0s
11 df-fn 6541 . . . . . 6 ((bday ↾ ℕ0s) Fn ℕ0s ↔ (Fun (bday ↾ ℕ0s) ∧ dom (bday ↾ ℕ0s) = ℕ0s))
123, 10, 11mpbir2an 724 . . . . 5 (bday ↾ ℕ0s) Fn ℕ0s
13 fvres 6904 . . . . . . . . 9 (𝑥 ∈ ℕ0s → ((bday ↾ ℕ0s)‘𝑥) = (bday‘𝑥))
14 n0bday 28738 . . . . . . . . 9 (𝑥 ∈ ℕ0s → (bday‘𝑥) ∈ ω)
1513, 14eqeltrd 2860 . . . . . . . 8 (𝑥 ∈ ℕ0s → ((bday ↾ ℕ0s)‘𝑥) ∈ ω)
1615rgen 3078 . . . . . . 7 ∀𝑥 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑥) ∈ ω
17 fnfvrnss 7121 . . . . . . 7 (((bday ↾ ℕ0s) Fn ℕ0s ∧ ∀𝑥 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑥) ∈ ω) → ran (bday ↾ ℕ0s) ⊆ ω)
1812, 16, 17mp2an 705 . . . . . 6 ran (bday ↾ ℕ0s) ⊆ ω
19 eqeq2 2772 . . . . . . . . . 10 (𝑏 = ∅ → ((bday‘𝑦) = 𝑏 ↔ (bday‘𝑦) = ∅))
2019rexbidv 3186 . . . . . . . . 9 (𝑏 = ∅ → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = ∅))
21 eqeq2 2772 . . . . . . . . . 10 (𝑏 = 𝑎 → ((bday‘𝑦) = 𝑏 ↔ (bday‘𝑦) = 𝑎))
2221rexbidv 3186 . . . . . . . . 9 (𝑏 = 𝑎 → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑎))
23 eqeq2 2772 . . . . . . . . . . 11 (𝑏 = suc 𝑎 → ((bday‘𝑦) = 𝑏 ↔ (bday‘𝑦) = suc 𝑎))
2423rexbidv 3186 . . . . . . . . . 10 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = suc 𝑎))
25 fveqeq2 6894 . . . . . . . . . . 11 (𝑦 = 𝑧 → ((bday‘𝑦) = suc 𝑎 ↔ (bday‘𝑧) = suc 𝑎))
2625cbvrexvw 3241 . . . . . . . . . 10 (∃𝑦 ∈ ℕ0s (bday‘𝑦) = suc 𝑎 ↔ ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎)
2724, 26bitrdi 290 . . . . . . . . 9 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎))
28 eqeq2 2772 . . . . . . . . . 10 (𝑏 = 𝑥 → ((bday‘𝑦) = 𝑏 ↔ (bday‘𝑦) = 𝑥))
2928rexbidv 3186 . . . . . . . . 9 (𝑏 = 𝑥 → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑥))
30 0n0s 28715 . . . . . . . . . 10 0s ∈ ℕ0s
31 bday0 28197 . . . . . . . . . 10 (bday‘ 0s ) = ∅
32 fveqeq2 6894 . . . . . . . . . . 11 (𝑦 = 0s → ((bday‘𝑦) = ∅ ↔ (bday‘ 0s ) = ∅))
3332rspcev 3576 . . . . . . . . . 10 (( 0s ∈ ℕ0s ∧ (bday‘ 0s ) = ∅) → ∃𝑦 ∈ ℕ0s (bday‘𝑦) = ∅)
3430, 31, 33mp2an 705 . . . . . . . . 9 ∃𝑦 ∈ ℕ0s (bday‘𝑦) = ∅
35 fveqeq2 6894 . . . . . . . . . . . . 13 (𝑧 = (𝑦 +s 1s ) → ((bday‘𝑧) = suc (bday‘𝑦) ↔ (bday‘(𝑦 +s 1s )) = suc (bday‘𝑦)))
36 peano2n0s 28716 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → (𝑦 +s 1s ) ∈ ℕ0s)
37 bdayn0p1 28755 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → (bday‘(𝑦 +s 1s )) = suc (bday‘𝑦))
3835, 36, 37rspcedvdw 3579 . . . . . . . . . . . 12 (𝑦 ∈ ℕ0s → ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc (bday‘𝑦))
3938adantl 487 . . . . . . . . . . 11 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc (bday‘𝑦))
40 suceq 6431 . . . . . . . . . . . . 13 ((bday‘𝑦) = 𝑎 → suc (bday‘𝑦) = suc 𝑎)
4140eqeq2d 2771 . . . . . . . . . . . 12 ((bday‘𝑦) = 𝑎 → ((bday‘𝑧) = suc (bday‘𝑦) ↔ (bday‘𝑧) = suc 𝑎))
4241rexbidv 3186 . . . . . . . . . . 11 ((bday‘𝑦) = 𝑎 → (∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc (bday‘𝑦) ↔ ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎))
4339, 42syl5ibcom 248 . . . . . . . . . 10 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → ((bday‘𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎))
4443rexlimdva 3163 . . . . . . . . 9 (𝑎 ∈ ω → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎))
4520, 22, 27, 29, 34, 44finds 7908 . . . . . . . 8 (𝑥 ∈ ω → ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑥)
46 fvelrnb 6945 . . . . . . . . . 10 ((bday ↾ ℕ0s) Fn ℕ0s → (𝑥 ∈ ran (bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑦) = 𝑥))
4712, 46ax-mp 5 . . . . . . . . 9 (𝑥 ∈ ran (bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑦) = 𝑥)
48 fvres 6904 . . . . . . . . . . 11 (𝑦 ∈ ℕ0s → ((bday ↾ ℕ0s)‘𝑦) = (bday‘𝑦))
4948eqeq1d 2762 . . . . . . . . . 10 (𝑦 ∈ ℕ0s → (((bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ (bday‘𝑦) = 𝑥))
5049rexbiia 3107 . . . . . . . . 9 (∃𝑦 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑥)
5147, 50bitri 278 . . . . . . . 8 (𝑥 ∈ ran (bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑥)
5245, 51sylibr 237 . . . . . . 7 (𝑥 ∈ ω → 𝑥 ∈ ran (bday ↾ ℕ0s))
5352ssriv 3912 . . . . . 6 ω ⊆ ran (bday ↾ ℕ0s)
5418, 53eqssi 3924 . . . . 5 ran (bday ↾ ℕ0s) = ω
55 df-fo 6544 . . . . 5 ((bday ↾ ℕ0s):ℕ0s–onto→ω ↔ ((bday ↾ ℕ0s) Fn ℕ0s ∧ ran (bday ↾ ℕ0s) = ω))
5612, 54, 55mpbir2an 724 . . . 4 (bday ↾ ℕ0s):ℕ0s–onto→ω
57 fof 6796 . . . 4 ((bday ↾ ℕ0s):ℕ0s–onto→ω → (bday ↾ ℕ0s):ℕ0s⟶ω)
5856, 57ax-mp 5 . . 3 (bday ↾ ℕ0s):ℕ0s⟶ω
5913, 48eqeqan12d 2774 . . . . 5 ((𝑥 ∈ ℕ0s ∧ 𝑦 ∈ ℕ0s) → (((bday ↾ ℕ0s)‘𝑥) = ((bday ↾ ℕ0s)‘𝑦) ↔ (bday‘𝑥) = (bday‘𝑦)))
60 n0on 28722 . . . . . 6 (𝑥 ∈ ℕ0s → 𝑥 ∈ Ons)
61 n0on 28722 . . . . . 6 (𝑦 ∈ ℕ0s → 𝑦 ∈ Ons)
62 bday11on 28651 . . . . . . 7 ((𝑥 ∈ Ons ∧ 𝑦 ∈ Ons ∧ (bday‘𝑥) = (bday‘𝑦)) → 𝑥 = 𝑦)
63623expia 1139 . . . . . 6 ((𝑥 ∈ Ons ∧ 𝑦 ∈ Ons) → ((bday‘𝑥) = (bday‘𝑦) → 𝑥 = 𝑦))
6460, 61, 63syl2an 608 . . . . 5 ((𝑥 ∈ ℕ0s ∧ 𝑦 ∈ ℕ0s) → ((bday‘𝑥) = (bday‘𝑦) → 𝑥 = 𝑦))
6559, 64sylbid 243 . . . 4 ((𝑥 ∈ ℕ0s ∧ 𝑦 ∈ ℕ0s) → (((bday ↾ ℕ0s)‘𝑥) = ((bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦))
6665rgen2 3202 . . 3 ∀𝑥 ∈ ℕ0s ∀𝑦 ∈ ℕ0s (((bday ↾ ℕ0s)‘𝑥) = ((bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)
67 dff13 7258 . . 3 ((bday ↾ ℕ0s):ℕ0s–1-1→ω ↔ ((bday ↾ ℕ0s):ℕ0s⟶ω ∧ ∀𝑥 ∈ ℕ0s ∀𝑦 ∈ ℕ0s (((bday ↾ ℕ0s)‘𝑥) = ((bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)))
6858, 66, 67mpbir2an 724 . 2 (bday ↾ ℕ0s):ℕ0s–1-1→ω
69 df-f1o 6545 . 2 ((bday ↾ ℕ0s):ℕ0s–1-1-onto→ω ↔ ((bday ↾ ℕ0s):ℕ0s–1-1→ω ∧ (bday ↾ ℕ0s):ℕ0s–onto→ω))
7068, 56, 69mpbir2an 724 1 (bday ↾ ℕ0s):ℕ0s–1-1-onto→ω
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1569   ∈ wcel 2144  ∀wral 3076  ∃wrex 3086   ⊆ wss 3895   ∩ cin 4089  ∅c0 4278  dom cdm 5650  ran crn 5651   ↾ cres 5652  suc csuc 6364  Fun wfun 6532   Fn wfn 6533  ⟶wf 6534  –1-1→wf1 6535  –onto→wfo 6536  –1-1-onto→wf1o 6537  ‘cfv 6538  (class class class)co 7420  ωcom 7877  Nocsur 27997  bdaycbday 27999   0s c0s 28191   1s c1s 28192   +s cadds 28345  Onscons 28637  ℕ0scn0s 28698
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7751
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-pss 4014  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-tp 4588  df-op 4590  df-ot 4592  df-uni 4867  df-int 4907  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5545  df-eprel 5550  df-po 5558  df-so 5559  df-fr 5603  df-se 5604  df-we 5605  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-riota 7377  df-ov 7423  df-oprab 7424  df-mpo 7425  df-om 7878  df-1st 8001  df-2nd 8002  df-frecs 8299  df-wrecs 8330  df-recs 8379  df-rdg 8418  df-1o 8476  df-2o 8477  df-nadd 8675  df-no 28000  df-lts 28001  df-bday 28002  df-les 28102  df-slts 28144  df-cuts 28146  df-0s 28193  df-1s 28194  df-made 28213  df-old 28214  df-left 28216  df-right 28217  df-norec 28324  df-norec2 28335  df-adds 28346  df-negs 28407  df-subs 28408  df-ons 28638  df-n0s 28700
This theorem is used by:  oldfib  28763  bdayfinlem  28872
  Copyright terms: Public domain W3C validator