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

Theorem bdayn0sf1o 28633
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):ℕ0s1-1-onto→ω

Proof of Theorem bdayn0sf1o
Dummy variables 𝑎 𝑏 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 bdayfun 28010 . . . . . . 7 Fun bday
2 funres 6579 . . . . . . 7 (Fun bday → Fun ( bday ↾ ℕ0s))
31, 2ax-mp 5 . . . . . 6 Fun ( bday ↾ ℕ0s)
4 dmres 6009 . . . . . . 7 dom ( bday ↾ ℕ0s) = (ℕ0s ∩ dom bday )
5 bdaydm 28012 . . . . . . . 8 dom bday = No
65ineq2i 4166 . . . . . . 7 (ℕ0s ∩ dom bday ) = (ℕ0s No )
7 n0ssno 28583 . . . . . . . 8 0s No
8 dfss2 3920 . . . . . . . 8 (ℕ0s No ↔ (ℕ0s No ) = ℕ0s)
97, 8mpbi 233 . . . . . . 7 (ℕ0s No ) = ℕ0s
104, 6, 93eqtri 2789 . . . . . 6 dom ( bday ↾ ℕ0s) = ℕ0s
11 df-fn 6540 . . . . . 6 (( bday ↾ ℕ0s) Fn ℕ0s ↔ (Fun ( bday ↾ ℕ0s) ∧ dom ( bday ↾ ℕ0s) = ℕ0s))
123, 10, 11mpbir2an 724 . . . . 5 ( bday ↾ ℕ0s) Fn ℕ0s
13 fvres 6901 . . . . . . . . 9 (𝑥 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑥) = ( bday 𝑥))
14 n0bday 28615 . . . . . . . . 9 (𝑥 ∈ ℕ0s → ( bday 𝑥) ∈ ω)
1513, 14eqeltrd 2862 . . . . . . . 8 (𝑥 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑥) ∈ ω)
1615rgen 3080 . . . . . . 7 𝑥 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑥) ∈ ω
17 fnfvrnss 7117 . . . . . . 7 ((( bday ↾ ℕ0s) Fn ℕ0s ∧ ∀𝑥 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑥) ∈ ω) → ran ( bday ↾ ℕ0s) ⊆ ω)
1812, 16, 17mp2an 705 . . . . . 6 ran ( bday ↾ ℕ0s) ⊆ ω
19 eqeq2 2774 . . . . . . . . . 10 (𝑏 = ∅ → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = ∅))
2019rexbidv 3188 . . . . . . . . 9 (𝑏 = ∅ → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = ∅))
21 eqeq2 2774 . . . . . . . . . 10 (𝑏 = 𝑎 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = 𝑎))
2221rexbidv 3188 . . . . . . . . 9 (𝑏 = 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑎))
23 eqeq2 2774 . . . . . . . . . . 11 (𝑏 = suc 𝑎 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = suc 𝑎))
2423rexbidv 3188 . . . . . . . . . 10 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = suc 𝑎))
25 fveqeq2 6891 . . . . . . . . . . 11 (𝑦 = 𝑧 → (( bday 𝑦) = suc 𝑎 ↔ ( bday 𝑧) = suc 𝑎))
2625cbvrexvw 3243 . . . . . . . . . 10 (∃𝑦 ∈ ℕ0s ( bday 𝑦) = suc 𝑎 ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎)
2724, 26bitrdi 290 . . . . . . . . 9 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
28 eqeq2 2774 . . . . . . . . . 10 (𝑏 = 𝑥 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = 𝑥))
2928rexbidv 3188 . . . . . . . . 9 (𝑏 = 𝑥 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥))
30 0n0s 28592 . . . . . . . . . 10 0s ∈ ℕ0s
31 bday0 28074 . . . . . . . . . 10 ( bday ‘ 0s ) = ∅
32 fveqeq2 6891 . . . . . . . . . . 11 (𝑦 = 0s → (( bday 𝑦) = ∅ ↔ ( bday ‘ 0s ) = ∅))
3332rspcev 3579 . . . . . . . . . 10 (( 0s ∈ ℕ0s ∧ ( bday ‘ 0s ) = ∅) → ∃𝑦 ∈ ℕ0s ( bday 𝑦) = ∅)
3430, 31, 33mp2an 705 . . . . . . . . 9 𝑦 ∈ ℕ0s ( bday 𝑦) = ∅
35 fveqeq2 6891 . . . . . . . . . . . . 13 (𝑧 = (𝑦 +s 1s ) → (( bday 𝑧) = suc ( bday 𝑦) ↔ ( bday ‘(𝑦 +s 1s )) = suc ( bday 𝑦)))
36 peano2n0s 28593 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → (𝑦 +s 1s ) ∈ ℕ0s)
37 bdayn0p1 28632 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → ( bday ‘(𝑦 +s 1s )) = suc ( bday 𝑦))
3835, 36, 37rspcedvdw 3582 . . . . . . . . . . . 12 (𝑦 ∈ ℕ0s → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦))
3938adantl 487 . . . . . . . . . . 11 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦))
40 suceq 6430 . . . . . . . . . . . . 13 (( bday 𝑦) = 𝑎 → suc ( bday 𝑦) = suc 𝑎)
4140eqeq2d 2773 . . . . . . . . . . . 12 (( bday 𝑦) = 𝑎 → (( bday 𝑧) = suc ( bday 𝑦) ↔ ( bday 𝑧) = suc 𝑎))
4241rexbidv 3188 . . . . . . . . . . 11 (( bday 𝑦) = 𝑎 → (∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦) ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4339, 42syl5ibcom 248 . . . . . . . . . 10 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → (( bday 𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4443rexlimdva 3165 . . . . . . . . 9 (𝑎 ∈ ω → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4520, 22, 27, 29, 34, 44finds 7896 . . . . . . . 8 (𝑥 ∈ ω → ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
46 fvelrnb 6942 . . . . . . . . . 10 (( bday ↾ ℕ0s) Fn ℕ0s → (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥))
4712, 46ax-mp 5 . . . . . . . . 9 (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥)
48 fvres 6901 . . . . . . . . . . 11 (𝑦 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑦) = ( bday 𝑦))
4948eqeq1d 2764 . . . . . . . . . 10 (𝑦 ∈ ℕ0s → ((( bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ( bday 𝑦) = 𝑥))
5049rexbiia 3109 . . . . . . . . 9 (∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
5147, 50bitri 278 . . . . . . . 8 (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
5245, 51sylibr 237 . . . . . . 7 (𝑥 ∈ ω → 𝑥 ∈ ran ( bday ↾ ℕ0s))
5352ssriv 3938 . . . . . 6 ω ⊆ ran ( bday ↾ ℕ0s)
5418, 53eqssi 3950 . . . . 5 ran ( bday ↾ ℕ0s) = ω
55 df-fo 6543 . . . . 5 (( bday ↾ ℕ0s):ℕ0sonto→ω ↔ (( bday ↾ ℕ0s) Fn ℕ0s ∧ ran ( bday ↾ ℕ0s) = ω))
5612, 54, 55mpbir2an 724 . . . 4 ( bday ↾ ℕ0s):ℕ0sonto→ω
57 fof 6793 . . . 4 (( bday ↾ ℕ0s):ℕ0sonto→ω → ( bday ↾ ℕ0s):ℕ0s⟶ω)
5856, 57ax-mp 5 . . 3 ( bday ↾ ℕ0s):ℕ0s⟶ω
5913, 48eqeqan12d 2776 . . . . 5 ((𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s) → ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) ↔ ( bday 𝑥) = ( bday 𝑦)))
60 n0on 28599 . . . . . 6 (𝑥 ∈ ℕ0s𝑥 ∈ Ons)
61 n0on 28599 . . . . . 6 (𝑦 ∈ ℕ0s𝑦 ∈ Ons)
62 bday11on 28528 . . . . . . 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 3204 . . 3 𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)
67 dff13 7254 . . 3 (( bday ↾ ℕ0s):ℕ0s1-1→ω ↔ (( bday ↾ ℕ0s):ℕ0s⟶ω ∧ ∀𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)))
6858, 66, 67mpbir2an 724 . 2 ( bday ↾ ℕ0s):ℕ0s1-1→ω
69 df-f1o 6544 . 2 (( bday ↾ ℕ0s):ℕ0s1-1-onto→ω ↔ (( bday ↾ ℕ0s):ℕ0s1-1→ω ∧ ( bday ↾ ℕ0s):ℕ0sonto→ω))
7068, 56, 69mpbir2an 724 1 ( bday ↾ ℕ0s):ℕ0s1-1-onto→ω
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401   = wceq 1570  wcel 2145  wral 3078  wrex 3088  cin 3901  wss 3902  c0 4282  dom cdm 5659  ran crn 5660  cres 5661  suc csuc 6363  Fun wfun 6531   Fn wfn 6532  wf 6533  1-1wf1 6534  ontowfo 6535  1-1-ontowf1o 6536  cfv 6537  (class class class)co 7416  ωcom 7865   No csur 27874   bday cbday 27876   0s c0s 28068   1s c1s 28069   +s cadds 28222  Onscons 28514  0scn0s 28575
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2734  ax-rep 5236  ax-sep 5255  ax-nul 5267  ax-pow 5334  ax-pr 5402  ax-un 7739
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-ral 3079  df-rex 3089  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-tp 4592  df-op 4594  df-ot 4596  df-uni 4871  df-int 4911  df-iun 4956  df-br 5108  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5554  df-eprel 5559  df-po 5567  df-so 5568  df-fr 5612  df-se 5613  df-we 5614  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-riota 7373  df-ov 7419  df-oprab 7420  df-mpo 7421  df-om 7866  df-1st 7989  df-2nd 7990  df-frecs 8283  df-wrecs 8314  df-recs 8363  df-rdg 8402  df-1o 8458  df-2o 8459  df-nadd 8657  df-no 27877  df-lts 27878  df-bday 27879  df-les 27979  df-slts 28021  df-cuts 28023  df-0s 28070  df-1s 28071  df-made 28090  df-old 28091  df-left 28093  df-right 28094  df-norec 28201  df-norec2 28212  df-adds 28223  df-negs 28284  df-subs 28285  df-ons 28515  df-n0s 28577
This theorem is used by:  oldfib  28640  bdayfinlem  28749
  Copyright terms: Public domain W3C validator