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

Theorem bdayn0sf1o 28543
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 27920 . . . . . . 7 Fun bday
2 funres 6582 . . . . . . 7 (Fun bday → Fun ( bday ↾ ℕ0s))
31, 2ax-mp 5 . . . . . 6 Fun ( bday ↾ ℕ0s)
4 dmres 6015 . . . . . . 7 dom ( bday ↾ ℕ0s) = (ℕ0s ∩ dom bday )
5 bdaydm 27922 . . . . . . . 8 dom bday = No
65ineq2i 4178 . . . . . . 7 (ℕ0s ∩ dom bday ) = (ℕ0s No )
7 n0ssno 28493 . . . . . . . 8 0s No
8 dfss2 3931 . . . . . . . 8 (ℕ0s No ↔ (ℕ0s No ) = ℕ0s)
97, 8mpbi 233 . . . . . . 7 (ℕ0s No ) = ℕ0s
104, 6, 93eqtri 2797 . . . . . 6 dom ( bday ↾ ℕ0s) = ℕ0s
11 df-fn 6543 . . . . . 6 (( bday ↾ ℕ0s) Fn ℕ0s ↔ (Fun ( bday ↾ ℕ0s) ∧ dom ( bday ↾ ℕ0s) = ℕ0s))
123, 10, 11mpbir2an 723 . . . . 5 ( bday ↾ ℕ0s) Fn ℕ0s
13 fvres 6904 . . . . . . . . 9 (𝑥 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑥) = ( bday 𝑥))
14 n0bday 28525 . . . . . . . . 9 (𝑥 ∈ ℕ0s → ( bday 𝑥) ∈ ω)
1513, 14eqeltrd 2870 . . . . . . . 8 (𝑥 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑥) ∈ ω)
1615rgen 3088 . . . . . . 7 𝑥 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑥) ∈ ω
17 fnfvrnss 7120 . . . . . . 7 ((( bday ↾ ℕ0s) Fn ℕ0s ∧ ∀𝑥 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑥) ∈ ω) → ran ( bday ↾ ℕ0s) ⊆ ω)
1812, 16, 17mp2an 704 . . . . . 6 ran ( bday ↾ ℕ0s) ⊆ ω
19 eqeq2 2782 . . . . . . . . . 10 (𝑏 = ∅ → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = ∅))
2019rexbidv 3196 . . . . . . . . 9 (𝑏 = ∅ → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = ∅))
21 eqeq2 2782 . . . . . . . . . 10 (𝑏 = 𝑎 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = 𝑎))
2221rexbidv 3196 . . . . . . . . 9 (𝑏 = 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑎))
23 eqeq2 2782 . . . . . . . . . . 11 (𝑏 = suc 𝑎 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = suc 𝑎))
2423rexbidv 3196 . . . . . . . . . 10 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = suc 𝑎))
25 fveqeq2 6894 . . . . . . . . . . 11 (𝑦 = 𝑧 → (( bday 𝑦) = suc 𝑎 ↔ ( bday 𝑧) = suc 𝑎))
2625cbvrexvw 3251 . . . . . . . . . 10 (∃𝑦 ∈ ℕ0s ( bday 𝑦) = suc 𝑎 ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎)
2724, 26bitrdi 290 . . . . . . . . 9 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
28 eqeq2 2782 . . . . . . . . . 10 (𝑏 = 𝑥 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = 𝑥))
2928rexbidv 3196 . . . . . . . . 9 (𝑏 = 𝑥 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥))
30 0n0s 28502 . . . . . . . . . 10 0s ∈ ℕ0s
31 bday0 27984 . . . . . . . . . 10 ( bday ‘ 0s ) = ∅
32 fveqeq2 6894 . . . . . . . . . . 11 (𝑦 = 0s → (( bday 𝑦) = ∅ ↔ ( bday ‘ 0s ) = ∅))
3332rspcev 3589 . . . . . . . . . 10 (( 0s ∈ ℕ0s ∧ ( bday ‘ 0s ) = ∅) → ∃𝑦 ∈ ℕ0s ( bday 𝑦) = ∅)
3430, 31, 33mp2an 704 . . . . . . . . 9 𝑦 ∈ ℕ0s ( bday 𝑦) = ∅
35 fveqeq2 6894 . . . . . . . . . . . . 13 (𝑧 = (𝑦 +s 1s ) → (( bday 𝑧) = suc ( bday 𝑦) ↔ ( bday ‘(𝑦 +s 1s )) = suc ( bday 𝑦)))
36 peano2n0s 28503 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → (𝑦 +s 1s ) ∈ ℕ0s)
37 bdayn0p1 28542 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → ( bday ‘(𝑦 +s 1s )) = suc ( bday 𝑦))
3835, 36, 37rspcedvdw 3592 . . . . . . . . . . . 12 (𝑦 ∈ ℕ0s → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦))
3938adantl 486 . . . . . . . . . . 11 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦))
40 suceq 6433 . . . . . . . . . . . . 13 (( bday 𝑦) = 𝑎 → suc ( bday 𝑦) = suc 𝑎)
4140eqeq2d 2781 . . . . . . . . . . . 12 (( bday 𝑦) = 𝑎 → (( bday 𝑧) = suc ( bday 𝑦) ↔ ( bday 𝑧) = suc 𝑎))
4241rexbidv 3196 . . . . . . . . . . 11 (( bday 𝑦) = 𝑎 → (∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦) ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4339, 42syl5ibcom 248 . . . . . . . . . 10 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → (( bday 𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4443rexlimdva 3173 . . . . . . . . 9 (𝑎 ∈ ω → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4520, 22, 27, 29, 34, 44finds 7896 . . . . . . . 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 2772 . . . . . . . . . 10 (𝑦 ∈ ℕ0s → ((( bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ( bday 𝑦) = 𝑥))
5049rexbiia 3117 . . . . . . . . 9 (∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
5147, 50bitri 278 . . . . . . . 8 (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
5245, 51sylibr 237 . . . . . . 7 (𝑥 ∈ ω → 𝑥 ∈ ran ( bday ↾ ℕ0s))
5352ssriv 3949 . . . . . 6 ω ⊆ ran ( bday ↾ ℕ0s)
5418, 53eqssi 3961 . . . . 5 ran ( bday ↾ ℕ0s) = ω
55 df-fo 6546 . . . . 5 (( bday ↾ ℕ0s):ℕ0sonto→ω ↔ (( bday ↾ ℕ0s) Fn ℕ0s ∧ ran ( bday ↾ ℕ0s) = ω))
5612, 54, 55mpbir2an 723 . . . 4 ( bday ↾ ℕ0s):ℕ0sonto→ω
57 fof 6796 . . . 4 (( bday ↾ ℕ0s):ℕ0sonto→ω → ( bday ↾ ℕ0s):ℕ0s⟶ω)
5856, 57ax-mp 5 . . 3 ( bday ↾ ℕ0s):ℕ0s⟶ω
5913, 48eqeqan12d 2784 . . . . 5 ((𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s) → ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) ↔ ( bday 𝑥) = ( bday 𝑦)))
60 n0on 28509 . . . . . 6 (𝑥 ∈ ℕ0s𝑥 ∈ Ons)
61 n0on 28509 . . . . . 6 (𝑦 ∈ ℕ0s𝑦 ∈ Ons)
62 bday11on 28438 . . . . . . 7 ((𝑥 ∈ Ons𝑦 ∈ Ons ∧ ( bday 𝑥) = ( bday 𝑦)) → 𝑥 = 𝑦)
63623expia 1137 . . . . . 6 ((𝑥 ∈ Ons𝑦 ∈ Ons) → (( bday 𝑥) = ( bday 𝑦) → 𝑥 = 𝑦))
6460, 61, 63syl2an 607 . . . . 5 ((𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s) → (( bday 𝑥) = ( bday 𝑦) → 𝑥 = 𝑦))
6559, 64sylbid 243 . . . 4 ((𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s) → ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦))
6665rgen2 3212 . . 3 𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)
67 dff13 7256 . . 3 (( bday ↾ ℕ0s):ℕ0s1-1→ω ↔ (( bday ↾ ℕ0s):ℕ0s⟶ω ∧ ∀𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)))
6858, 66, 67mpbir2an 723 . 2 ( bday ↾ ℕ0s):ℕ0s1-1→ω
69 df-f1o 6547 . 2 (( bday ↾ ℕ0s):ℕ0s1-1-onto→ω ↔ (( bday ↾ ℕ0s):ℕ0s1-1→ω ∧ ( bday ↾ ℕ0s):ℕ0sonto→ω))
7068, 56, 69mpbir2an 723 1 ( bday ↾ ℕ0s):ℕ0s1-1-onto→ω
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 400   = wceq 1568  wcel 2150  wral 3086  wrex 3096  cin 3912  wss 3913  c0 4294  dom cdm 5665  ran crn 5666  cres 5667  suc csuc 6366  Fun wfun 6534   Fn wfn 6535  wf 6536  1-1wf1 6537  ontowfo 6538  1-1-ontowf1o 6539  cfv 6540  (class class class)co 7414  ωcom 7865   No csur 27784   bday cbday 27786   0s c0s 27978   1s c1s 27979   +s cadds 28132  Onscons 28424  0scn0s 28485
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1823  ax-4 1837  ax-5 1938  ax-6 1995  ax-7 2036  ax-8 2152  ax-9 2160  ax-10 2183  ax-11 2199  ax-12 2220  ax-ext 2742  ax-rep 5243  ax-sep 5262  ax-nul 5274  ax-pow 5340  ax-pr 5408  ax-un 7736
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1102  df-3an 1103  df-tru 1571  df-fal 1581  df-ex 1808  df-nf 1812  df-sb 2099  df-mo 2574  df-eu 2604  df-clab 2749  df-cleq 2762  df-clel 2845  df-nfc 2919  df-ne 2966  df-ral 3087  df-rex 3097  df-rmo 3376  df-reu 3377  df-rab 3424  df-v 3464  df-sbc 3753  df-csb 3862  df-dif 3916  df-un 3918  df-in 3920  df-ss 3930  df-pss 3933  df-nul 4295  df-if 4493  df-pw 4569  df-sn 4595  df-pr 4597  df-tp 4599  df-op 4601  df-ot 4603  df-uni 4878  df-int 4918  df-iun 4963  df-br 5115  df-opab 5179  df-mpt 5198  df-tr 5224  df-id 5560  df-eprel 5565  df-po 5573  df-so 5574  df-fr 5618  df-se 5619  df-we 5620  df-xp 5671  df-rel 5672  df-cnv 5673  df-co 5674  df-dm 5675  df-rn 5676  df-res 5677  df-ima 5678  df-pred 6306  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6496  df-fun 6542  df-fn 6543  df-f 6544  df-f1 6545  df-fo 6546  df-f1o 6547  df-fv 6548  df-riota 7371  df-ov 7417  df-oprab 7418  df-mpo 7419  df-om 7866  df-1st 7989  df-2nd 7990  df-frecs 8281  df-wrecs 8312  df-recs 8361  df-rdg 8400  df-1o 8456  df-2o 8457  df-nadd 8655  df-no 27787  df-lts 27788  df-bday 27789  df-les 27889  df-slts 27931  df-cuts 27933  df-0s 27980  df-1s 27981  df-made 28000  df-old 28001  df-left 28003  df-right 28004  df-norec 28111  df-norec2 28122  df-adds 28133  df-negs 28194  df-subs 28195  df-ons 28425  df-n0s 28487
This theorem is referenced by:  oldfib  28550  bdayfinlem  28659
  Copyright terms: Public domain W3C validator