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

Theorem bdayn0sf1o 28347
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 27746 . . . . . . 7 Fun bday
2 funres 6533 . . . . . . 7 (Fun bday → Fun ( bday ↾ ℕ0s))
31, 2ax-mp 5 . . . . . 6 Fun ( bday ↾ ℕ0s)
4 dmres 5970 . . . . . . 7 dom ( bday ↾ ℕ0s) = (ℕ0s ∩ dom bday )
5 bdaydm 27748 . . . . . . . 8 dom bday = No
65ineq2i 4168 . . . . . . 7 (ℕ0s ∩ dom bday ) = (ℕ0s No )
7 n0ssno 28299 . . . . . . . 8 0s No
8 dfss2 3918 . . . . . . . 8 (ℕ0s No ↔ (ℕ0s No ) = ℕ0s)
97, 8mpbi 230 . . . . . . 7 (ℕ0s No ) = ℕ0s
104, 6, 93eqtri 2762 . . . . . 6 dom ( bday ↾ ℕ0s) = ℕ0s
11 df-fn 6494 . . . . . 6 (( bday ↾ ℕ0s) Fn ℕ0s ↔ (Fun ( bday ↾ ℕ0s) ∧ dom ( bday ↾ ℕ0s) = ℕ0s))
123, 10, 11mpbir2an 712 . . . . 5 ( bday ↾ ℕ0s) Fn ℕ0s
13 fvres 6852 . . . . . . . . 9 (𝑥 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑥) = ( bday 𝑥))
14 n0sbday 28330 . . . . . . . . 9 (𝑥 ∈ ℕ0s → ( bday 𝑥) ∈ ω)
1513, 14eqeltrd 2835 . . . . . . . 8 (𝑥 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑥) ∈ ω)
1615rgen 3052 . . . . . . 7 𝑥 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑥) ∈ ω
17 fnfvrnss 7066 . . . . . . 7 ((( bday ↾ ℕ0s) Fn ℕ0s ∧ ∀𝑥 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑥) ∈ ω) → ran ( bday ↾ ℕ0s) ⊆ ω)
1812, 16, 17mp2an 693 . . . . . 6 ran ( bday ↾ ℕ0s) ⊆ ω
19 eqeq2 2747 . . . . . . . . . 10 (𝑏 = ∅ → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = ∅))
2019rexbidv 3159 . . . . . . . . 9 (𝑏 = ∅ → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = ∅))
21 eqeq2 2747 . . . . . . . . . 10 (𝑏 = 𝑎 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = 𝑎))
2221rexbidv 3159 . . . . . . . . 9 (𝑏 = 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑎))
23 eqeq2 2747 . . . . . . . . . . 11 (𝑏 = suc 𝑎 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = suc 𝑎))
2423rexbidv 3159 . . . . . . . . . 10 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = suc 𝑎))
25 fveqeq2 6842 . . . . . . . . . . 11 (𝑦 = 𝑧 → (( bday 𝑦) = suc 𝑎 ↔ ( bday 𝑧) = suc 𝑎))
2625cbvrexvw 3214 . . . . . . . . . 10 (∃𝑦 ∈ ℕ0s ( bday 𝑦) = suc 𝑎 ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎)
2724, 26bitrdi 287 . . . . . . . . 9 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
28 eqeq2 2747 . . . . . . . . . 10 (𝑏 = 𝑥 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = 𝑥))
2928rexbidv 3159 . . . . . . . . 9 (𝑏 = 𝑥 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥))
30 0n0s 28308 . . . . . . . . . 10 0s ∈ ℕ0s
31 bday0s 27807 . . . . . . . . . 10 ( bday ‘ 0s ) = ∅
32 fveqeq2 6842 . . . . . . . . . . 11 (𝑦 = 0s → (( bday 𝑦) = ∅ ↔ ( bday ‘ 0s ) = ∅))
3332rspcev 3575 . . . . . . . . . 10 (( 0s ∈ ℕ0s ∧ ( bday ‘ 0s ) = ∅) → ∃𝑦 ∈ ℕ0s ( bday 𝑦) = ∅)
3430, 31, 33mp2an 693 . . . . . . . . 9 𝑦 ∈ ℕ0s ( bday 𝑦) = ∅
35 fveqeq2 6842 . . . . . . . . . . . . 13 (𝑧 = (𝑦 +s 1s ) → (( bday 𝑧) = suc ( bday 𝑦) ↔ ( bday ‘(𝑦 +s 1s )) = suc ( bday 𝑦)))
36 peano2n0s 28309 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → (𝑦 +s 1s ) ∈ ℕ0s)
37 bdayn0p1 28346 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → ( bday ‘(𝑦 +s 1s )) = suc ( bday 𝑦))
3835, 36, 37rspcedvdw 3578 . . . . . . . . . . . 12 (𝑦 ∈ ℕ0s → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦))
3938adantl 481 . . . . . . . . . . 11 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦))
40 suceq 6384 . . . . . . . . . . . . 13 (( bday 𝑦) = 𝑎 → suc ( bday 𝑦) = suc 𝑎)
4140eqeq2d 2746 . . . . . . . . . . . 12 (( bday 𝑦) = 𝑎 → (( bday 𝑧) = suc ( bday 𝑦) ↔ ( bday 𝑧) = suc 𝑎))
4241rexbidv 3159 . . . . . . . . . . 11 (( bday 𝑦) = 𝑎 → (∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦) ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4339, 42syl5ibcom 245 . . . . . . . . . 10 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → (( bday 𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4443rexlimdva 3136 . . . . . . . . 9 (𝑎 ∈ ω → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4520, 22, 27, 29, 34, 44finds 7838 . . . . . . . 8 (𝑥 ∈ ω → ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
46 fvelrnb 6893 . . . . . . . . . 10 (( bday ↾ ℕ0s) Fn ℕ0s → (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥))
4712, 46ax-mp 5 . . . . . . . . 9 (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥)
48 fvres 6852 . . . . . . . . . . 11 (𝑦 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑦) = ( bday 𝑦))
4948eqeq1d 2737 . . . . . . . . . 10 (𝑦 ∈ ℕ0s → ((( bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ( bday 𝑦) = 𝑥))
5049rexbiia 3080 . . . . . . . . 9 (∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
5147, 50bitri 275 . . . . . . . 8 (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
5245, 51sylibr 234 . . . . . . 7 (𝑥 ∈ ω → 𝑥 ∈ ran ( bday ↾ ℕ0s))
5352ssriv 3936 . . . . . 6 ω ⊆ ran ( bday ↾ ℕ0s)
5418, 53eqssi 3949 . . . . 5 ran ( bday ↾ ℕ0s) = ω
55 df-fo 6497 . . . . 5 (( bday ↾ ℕ0s):ℕ0sonto→ω ↔ (( bday ↾ ℕ0s) Fn ℕ0s ∧ ran ( bday ↾ ℕ0s) = ω))
5612, 54, 55mpbir2an 712 . . . 4 ( bday ↾ ℕ0s):ℕ0sonto→ω
57 fof 6745 . . . 4 (( bday ↾ ℕ0s):ℕ0sonto→ω → ( bday ↾ ℕ0s):ℕ0s⟶ω)
5856, 57ax-mp 5 . . 3 ( bday ↾ ℕ0s):ℕ0s⟶ω
5913, 48eqeqan12d 2749 . . . . 5 ((𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s) → ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) ↔ ( bday 𝑥) = ( bday 𝑦)))
60 n0ons 28314 . . . . . 6 (𝑥 ∈ ℕ0s𝑥 ∈ Ons)
61 n0ons 28314 . . . . . 6 (𝑦 ∈ ℕ0s𝑦 ∈ Ons)
62 bday11on 28244 . . . . . . 7 ((𝑥 ∈ Ons𝑦 ∈ Ons ∧ ( bday 𝑥) = ( bday 𝑦)) → 𝑥 = 𝑦)
63623expia 1122 . . . . . 6 ((𝑥 ∈ Ons𝑦 ∈ Ons) → (( bday 𝑥) = ( bday 𝑦) → 𝑥 = 𝑦))
6460, 61, 63syl2an 597 . . . . 5 ((𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s) → (( bday 𝑥) = ( bday 𝑦) → 𝑥 = 𝑦))
6559, 64sylbid 240 . . . 4 ((𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s) → ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦))
6665rgen2 3175 . . 3 𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)
67 dff13 7200 . . 3 (( bday ↾ ℕ0s):ℕ0s1-1→ω ↔ (( bday ↾ ℕ0s):ℕ0s⟶ω ∧ ∀𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)))
6858, 66, 67mpbir2an 712 . 2 ( bday ↾ ℕ0s):ℕ0s1-1→ω
69 df-f1o 6498 . 2 (( bday ↾ ℕ0s):ℕ0s1-1-onto→ω ↔ (( bday ↾ ℕ0s):ℕ0s1-1→ω ∧ ( bday ↾ ℕ0s):ℕ0sonto→ω))
7068, 56, 69mpbir2an 712 1 ( bday ↾ ℕ0s):ℕ0s1-1-onto→ω
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395   = wceq 1542  wcel 2114  wral 3050  wrex 3059  cin 3899  wss 3900  c0 4284  dom cdm 5623  ran crn 5624  cres 5625  suc csuc 6318  Fun wfun 6485   Fn wfn 6486  wf 6487  1-1wf1 6488  ontowfo 6489  1-1-ontowf1o 6490  cfv 6491  (class class class)co 7358  ωcom 7808   No csur 27609   bday cbday 27611   0s c0s 27801   1s c1s 27802   +s cadds 27939  Onscons 28230  0scnn0s 28291
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2183  ax-ext 2707  ax-rep 5223  ax-sep 5240  ax-nul 5250  ax-pow 5309  ax-pr 5376  ax-un 7680
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2538  df-eu 2568  df-clab 2714  df-cleq 2727  df-clel 2810  df-nfc 2884  df-ne 2932  df-ral 3051  df-rex 3060  df-rmo 3349  df-reu 3350  df-rab 3399  df-v 3441  df-sbc 3740  df-csb 3849  df-dif 3903  df-un 3905  df-in 3907  df-ss 3917  df-pss 3920  df-nul 4285  df-if 4479  df-pw 4555  df-sn 4580  df-pr 4582  df-tp 4584  df-op 4586  df-ot 4588  df-uni 4863  df-int 4902  df-iun 4947  df-br 5098  df-opab 5160  df-mpt 5179  df-tr 5205  df-id 5518  df-eprel 5523  df-po 5531  df-so 5532  df-fr 5576  df-se 5577  df-we 5578  df-xp 5629  df-rel 5630  df-cnv 5631  df-co 5632  df-dm 5633  df-rn 5634  df-res 5635  df-ima 5636  df-pred 6258  df-ord 6319  df-on 6320  df-lim 6321  df-suc 6322  df-iota 6447  df-fun 6493  df-fn 6494  df-f 6495  df-f1 6496  df-fo 6497  df-f1o 6498  df-fv 6499  df-riota 7315  df-ov 7361  df-oprab 7362  df-mpo 7363  df-om 7809  df-1st 7933  df-2nd 7934  df-frecs 8223  df-wrecs 8254  df-recs 8303  df-rdg 8341  df-1o 8397  df-2o 8398  df-nadd 8594  df-no 27612  df-slt 27613  df-bday 27614  df-sle 27715  df-sslt 27756  df-scut 27758  df-0s 27803  df-1s 27804  df-made 27823  df-old 27824  df-left 27826  df-right 27827  df-norec 27918  df-norec2 27929  df-adds 27940  df-negs 28001  df-subs 28002  df-ons 28231  df-n0s 28293
This theorem is referenced by:  oldfib  28354  bdayfinlem  28463
  Copyright terms: Public domain W3C validator