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

Theorem bdayn0sf1o 28362
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 27740 . . . . . . 7 Fun bday
2 funres 6540 . . . . . . 7 (Fun bday → Fun ( bday ↾ ℕ0s))
31, 2ax-mp 5 . . . . . 6 Fun ( bday ↾ ℕ0s)
4 dmres 5977 . . . . . . 7 dom ( bday ↾ ℕ0s) = (ℕ0s ∩ dom bday )
5 bdaydm 27742 . . . . . . . 8 dom bday = No
65ineq2i 4157 . . . . . . 7 (ℕ0s ∩ dom bday ) = (ℕ0s No )
7 n0ssno 28312 . . . . . . . 8 0s No
8 dfss2 3907 . . . . . . . 8 (ℕ0s No ↔ (ℕ0s No ) = ℕ0s)
97, 8mpbi 230 . . . . . . 7 (ℕ0s No ) = ℕ0s
104, 6, 93eqtri 2763 . . . . . 6 dom ( bday ↾ ℕ0s) = ℕ0s
11 df-fn 6501 . . . . . 6 (( bday ↾ ℕ0s) Fn ℕ0s ↔ (Fun ( bday ↾ ℕ0s) ∧ dom ( bday ↾ ℕ0s) = ℕ0s))
123, 10, 11mpbir2an 712 . . . . 5 ( bday ↾ ℕ0s) Fn ℕ0s
13 fvres 6859 . . . . . . . . 9 (𝑥 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑥) = ( bday 𝑥))
14 n0bday 28344 . . . . . . . . 9 (𝑥 ∈ ℕ0s → ( bday 𝑥) ∈ ω)
1513, 14eqeltrd 2836 . . . . . . . 8 (𝑥 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑥) ∈ ω)
1615rgen 3053 . . . . . . 7 𝑥 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑥) ∈ ω
17 fnfvrnss 7073 . . . . . . 7 ((( bday ↾ ℕ0s) Fn ℕ0s ∧ ∀𝑥 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑥) ∈ ω) → ran ( bday ↾ ℕ0s) ⊆ ω)
1812, 16, 17mp2an 693 . . . . . 6 ran ( bday ↾ ℕ0s) ⊆ ω
19 eqeq2 2748 . . . . . . . . . 10 (𝑏 = ∅ → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = ∅))
2019rexbidv 3161 . . . . . . . . 9 (𝑏 = ∅ → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = ∅))
21 eqeq2 2748 . . . . . . . . . 10 (𝑏 = 𝑎 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = 𝑎))
2221rexbidv 3161 . . . . . . . . 9 (𝑏 = 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑎))
23 eqeq2 2748 . . . . . . . . . . 11 (𝑏 = suc 𝑎 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = suc 𝑎))
2423rexbidv 3161 . . . . . . . . . 10 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = suc 𝑎))
25 fveqeq2 6849 . . . . . . . . . . 11 (𝑦 = 𝑧 → (( bday 𝑦) = suc 𝑎 ↔ ( bday 𝑧) = suc 𝑎))
2625cbvrexvw 3216 . . . . . . . . . 10 (∃𝑦 ∈ ℕ0s ( bday 𝑦) = suc 𝑎 ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎)
2724, 26bitrdi 287 . . . . . . . . 9 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
28 eqeq2 2748 . . . . . . . . . 10 (𝑏 = 𝑥 → (( bday 𝑦) = 𝑏 ↔ ( bday 𝑦) = 𝑥))
2928rexbidv 3161 . . . . . . . . 9 (𝑏 = 𝑥 → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥))
30 0n0s 28321 . . . . . . . . . 10 0s ∈ ℕ0s
31 bday0 27803 . . . . . . . . . 10 ( bday ‘ 0s ) = ∅
32 fveqeq2 6849 . . . . . . . . . . 11 (𝑦 = 0s → (( bday 𝑦) = ∅ ↔ ( bday ‘ 0s ) = ∅))
3332rspcev 3564 . . . . . . . . . 10 (( 0s ∈ ℕ0s ∧ ( bday ‘ 0s ) = ∅) → ∃𝑦 ∈ ℕ0s ( bday 𝑦) = ∅)
3430, 31, 33mp2an 693 . . . . . . . . 9 𝑦 ∈ ℕ0s ( bday 𝑦) = ∅
35 fveqeq2 6849 . . . . . . . . . . . . 13 (𝑧 = (𝑦 +s 1s ) → (( bday 𝑧) = suc ( bday 𝑦) ↔ ( bday ‘(𝑦 +s 1s )) = suc ( bday 𝑦)))
36 peano2n0s 28322 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → (𝑦 +s 1s ) ∈ ℕ0s)
37 bdayn0p1 28361 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → ( bday ‘(𝑦 +s 1s )) = suc ( bday 𝑦))
3835, 36, 37rspcedvdw 3567 . . . . . . . . . . . 12 (𝑦 ∈ ℕ0s → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦))
3938adantl 481 . . . . . . . . . . 11 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦))
40 suceq 6391 . . . . . . . . . . . . 13 (( bday 𝑦) = 𝑎 → suc ( bday 𝑦) = suc 𝑎)
4140eqeq2d 2747 . . . . . . . . . . . 12 (( bday 𝑦) = 𝑎 → (( bday 𝑧) = suc ( bday 𝑦) ↔ ( bday 𝑧) = suc 𝑎))
4241rexbidv 3161 . . . . . . . . . . 11 (( bday 𝑦) = 𝑎 → (∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc ( bday 𝑦) ↔ ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4339, 42syl5ibcom 245 . . . . . . . . . 10 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → (( bday 𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4443rexlimdva 3138 . . . . . . . . 9 (𝑎 ∈ ω → (∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s ( bday 𝑧) = suc 𝑎))
4520, 22, 27, 29, 34, 44finds 7847 . . . . . . . 8 (𝑥 ∈ ω → ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
46 fvelrnb 6900 . . . . . . . . . 10 (( bday ↾ ℕ0s) Fn ℕ0s → (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥))
4712, 46ax-mp 5 . . . . . . . . 9 (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥)
48 fvres 6859 . . . . . . . . . . 11 (𝑦 ∈ ℕ0s → (( bday ↾ ℕ0s)‘𝑦) = ( bday 𝑦))
4948eqeq1d 2738 . . . . . . . . . 10 (𝑦 ∈ ℕ0s → ((( bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ( bday 𝑦) = 𝑥))
5049rexbiia 3082 . . . . . . . . 9 (∃𝑦 ∈ ℕ0s (( bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
5147, 50bitri 275 . . . . . . . 8 (𝑥 ∈ ran ( bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s ( bday 𝑦) = 𝑥)
5245, 51sylibr 234 . . . . . . 7 (𝑥 ∈ ω → 𝑥 ∈ ran ( bday ↾ ℕ0s))
5352ssriv 3925 . . . . . 6 ω ⊆ ran ( bday ↾ ℕ0s)
5418, 53eqssi 3938 . . . . 5 ran ( bday ↾ ℕ0s) = ω
55 df-fo 6504 . . . . 5 (( bday ↾ ℕ0s):ℕ0sonto→ω ↔ (( bday ↾ ℕ0s) Fn ℕ0s ∧ ran ( bday ↾ ℕ0s) = ω))
5612, 54, 55mpbir2an 712 . . . 4 ( bday ↾ ℕ0s):ℕ0sonto→ω
57 fof 6752 . . . 4 (( bday ↾ ℕ0s):ℕ0sonto→ω → ( bday ↾ ℕ0s):ℕ0s⟶ω)
5856, 57ax-mp 5 . . 3 ( bday ↾ ℕ0s):ℕ0s⟶ω
5913, 48eqeqan12d 2750 . . . . 5 ((𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s) → ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) ↔ ( bday 𝑥) = ( bday 𝑦)))
60 n0on 28328 . . . . . 6 (𝑥 ∈ ℕ0s𝑥 ∈ Ons)
61 n0on 28328 . . . . . 6 (𝑦 ∈ ℕ0s𝑦 ∈ Ons)
62 bday11on 28257 . . . . . . 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 3177 . . 3 𝑥 ∈ ℕ0s𝑦 ∈ ℕ0s ((( bday ↾ ℕ0s)‘𝑥) = (( bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)
67 dff13 7209 . . 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 6505 . 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 3051  wrex 3061  cin 3888  wss 3889  c0 4273  dom cdm 5631  ran crn 5632  cres 5633  suc csuc 6325  Fun wfun 6492   Fn wfn 6493  wf 6494  1-1wf1 6495  ontowfo 6496  1-1-ontowf1o 6497  cfv 6498  (class class class)co 7367  ωcom 7817   No csur 27603   bday cbday 27605   0s c0s 27797   1s c1s 27798   +s cadds 27951  Onscons 28243  0scn0s 28304
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 2185  ax-ext 2708  ax-rep 5212  ax-sep 5231  ax-nul 5241  ax-pow 5307  ax-pr 5375  ax-un 7689
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 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-ral 3052  df-rex 3062  df-rmo 3342  df-reu 3343  df-rab 3390  df-v 3431  df-sbc 3729  df-csb 3838  df-dif 3892  df-un 3894  df-in 3896  df-ss 3906  df-pss 3909  df-nul 4274  df-if 4467  df-pw 4543  df-sn 4568  df-pr 4570  df-tp 4572  df-op 4574  df-ot 4576  df-uni 4851  df-int 4890  df-iun 4935  df-br 5086  df-opab 5148  df-mpt 5167  df-tr 5193  df-id 5526  df-eprel 5531  df-po 5539  df-so 5540  df-fr 5584  df-se 5585  df-we 5586  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-pred 6265  df-ord 6326  df-on 6327  df-lim 6328  df-suc 6329  df-iota 6454  df-fun 6500  df-fn 6501  df-f 6502  df-f1 6503  df-fo 6504  df-f1o 6505  df-fv 6506  df-riota 7324  df-ov 7370  df-oprab 7371  df-mpo 7372  df-om 7818  df-1st 7942  df-2nd 7943  df-frecs 8231  df-wrecs 8262  df-recs 8311  df-rdg 8349  df-1o 8405  df-2o 8406  df-nadd 8602  df-no 27606  df-lts 27607  df-bday 27608  df-les 27709  df-slts 27750  df-cuts 27752  df-0s 27799  df-1s 27800  df-made 27819  df-old 27820  df-left 27822  df-right 27823  df-norec 27930  df-norec2 27941  df-adds 27952  df-negs 28013  df-subs 28014  df-ons 28244  df-n0s 28306
This theorem is referenced by:  oldfib  28369  bdayfinlem  28478
  Copyright terms: Public domain W3C validator