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

Theorem bdayn0sf1o 28783
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-1ontoω

Proof of Theorem bdayn0sf1o
Dummy variables 𝑎 𝑏 𝑥 𝑦 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 bdayfun 28160 . . . . . . 7 Fun bday
2 funres 6599 . . . . . . 7 (Fun bday → Fun (bday ↾ ℕ0s))
31, 2ax-mp 5 . . . . . 6 Fun (bday ↾ ℕ0s)
4 dmres 6014 . . . . . . 7 dom (bday ↾ ℕ0s) = (ℕ0s ∩ dom bday)
5 bdaydm 28162 . . . . . . . 8 dom bday = No
65ineq2i 4117 . . . . . . 7 (ℕ0s ∩ dom bday) = (ℕ0s ∩ No)
7 n0ssno 28733 . . . . . . . 8 ℕ0s ⊆ No
8 dfss2 4097 . . . . . . . 8 (ℕ0s ⊆ No ↔ (ℕ0s ∩ No) = ℕ0s)
97, 8mpbi 233 . . . . . . 7 (ℕ0s ∩ No) = ℕ0s
104, 6, 93eqtri 2790 . . . . . 6 dom (bday ↾ ℕ0s) = ℕ0s
11 df-fn 6558 . . . . . 6 ((bday ↾ ℕ0s) Fn ℕ0s ↔ (Fun (bday ↾ ℕ0s) ∧ dom (bday ↾ ℕ0s) = ℕ0s))
123, 10, 11mpbir2an 724 . . . . 5 (bday ↾ ℕ0s) Fn ℕ0s
13 fvres 6924 . . . . . . . . 9 (𝑥 ∈ ℕ0s → ((bday ↾ ℕ0s)‘𝑥) = (bday‘𝑥))
14 n0bday 28765 . . . . . . . . 9 (𝑥 ∈ ℕ0s → (bday‘𝑥) ∈ ω)
1513, 14eqeltrd 2864 . . . . . . . 8 (𝑥 ∈ ℕ0s → ((bday ↾ ℕ0s)‘𝑥) ∈ ω)
1615rgen 3082 . . . . . . 7 ∀𝑥 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑥) ∈ ω
17 fnfvrnss 7142 . . . . . . 7 (((bday ↾ ℕ0s) Fn ℕ0s ∧ ∀𝑥 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑥) ∈ ω) → ran (bday ↾ ℕ0s) ⊆ ω)
1812, 16, 17mp2an 705 . . . . . 6 ran (bday ↾ ℕ0s) ⊆ ω
19 eqeq2 2775 . . . . . . . . . 10 (𝑏 = ∅ → ((bday‘𝑦) = 𝑏 ↔ (bday‘𝑦) = ∅))
2019rexbidv 3190 . . . . . . . . 9 (𝑏 = ∅ → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = ∅))
21 eqeq2 2775 . . . . . . . . . 10 (𝑏 = 𝑎 → ((bday‘𝑦) = 𝑏 ↔ (bday‘𝑦) = 𝑎))
2221rexbidv 3190 . . . . . . . . 9 (𝑏 = 𝑎 → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑎))
23 eqeq2 2775 . . . . . . . . . . 11 (𝑏 = suc 𝑎 → ((bday‘𝑦) = 𝑏 ↔ (bday‘𝑦) = suc 𝑎))
2423rexbidv 3190 . . . . . . . . . 10 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = suc 𝑎))
25 fveqeq2 6914 . . . . . . . . . . 11 (𝑦 = 𝑧 → ((bday‘𝑦) = suc 𝑎 ↔ (bday‘𝑧) = suc 𝑎))
2625cbvrexvw 3245 . . . . . . . . . 10 (∃𝑦 ∈ ℕ0s (bday‘𝑦) = suc 𝑎 ↔ ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎)
2724, 26bitrdi 290 . . . . . . . . 9 (𝑏 = suc 𝑎 → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎))
28 eqeq2 2775 . . . . . . . . . 10 (𝑏 = 𝑥 → ((bday‘𝑦) = 𝑏 ↔ (bday‘𝑦) = 𝑥))
2928rexbidv 3190 . . . . . . . . 9 (𝑏 = 𝑥 → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑏 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑥))
30 0n0s 28742 . . . . . . . . . 10 0s ∈ ℕ0s
31 bday0 28224 . . . . . . . . . 10 (bday‘ 0s ) = ∅
32 fveqeq2 6914 . . . . . . . . . . 11 (𝑦 = 0s → ((bday‘𝑦) = ∅ ↔ (bday‘ 0s ) = ∅))
3332rspcev 3580 . . . . . . . . . 10 (( 0s ∈ ℕ0s ∧ (bday‘ 0s ) = ∅) → ∃𝑦 ∈ ℕ0s (bday‘𝑦) = ∅)
3430, 31, 33mp2an 705 . . . . . . . . 9 ∃𝑦 ∈ ℕ0s (bday‘𝑦) = ∅
35 fveqeq2 6914 . . . . . . . . . . . . 13 (𝑧 = (𝑦 +s 1s ) → ((bday‘𝑧) = suc (bday‘𝑦) ↔ (bday‘(𝑦 +s 1s )) = suc (bday‘𝑦)))
36 peano2n0s 28743 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → (𝑦 +s 1s ) ∈ ℕ0s)
37 bdayn0p1 28782 . . . . . . . . . . . . 13 (𝑦 ∈ ℕ0s → (bday‘(𝑦 +s 1s )) = suc (bday‘𝑦))
3835, 36, 37rspcedvdw 3583 . . . . . . . . . . . 12 (𝑦 ∈ ℕ0s → ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc (bday‘𝑦))
3938adantl 487 . . . . . . . . . . 11 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc (bday‘𝑦))
40 suceq 6446 . . . . . . . . . . . . 13 ((bday‘𝑦) = 𝑎 → suc (bday‘𝑦) = suc 𝑎)
4140eqeq2d 2774 . . . . . . . . . . . 12 ((bday‘𝑦) = 𝑎 → ((bday‘𝑧) = suc (bday‘𝑦) ↔ (bday‘𝑧) = suc 𝑎))
4241rexbidv 3190 . . . . . . . . . . 11 ((bday‘𝑦) = 𝑎 → (∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc (bday‘𝑦) ↔ ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎))
4339, 42syl5ibcom 248 . . . . . . . . . 10 ((𝑎 ∈ ω ∧ 𝑦 ∈ ℕ0s) → ((bday‘𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎))
4443rexlimdva 3167 . . . . . . . . 9 (𝑎 ∈ ω → (∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑎 → ∃𝑧 ∈ ℕ0s (bday‘𝑧) = suc 𝑎))
4520, 22, 27, 29, 34, 44finds 7929 . . . . . . . 8 (𝑥 ∈ ω → ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑥)
46 fvelrnb 6965 . . . . . . . . . 10 ((bday ↾ ℕ0s) Fn ℕ0s → (𝑥 ∈ ran (bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑦) = 𝑥))
4712, 46ax-mp 5 . . . . . . . . 9 (𝑥 ∈ ran (bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑦) = 𝑥)
48 fvres 6924 . . . . . . . . . . 11 (𝑦 ∈ ℕ0s → ((bday ↾ ℕ0s)‘𝑦) = (bday‘𝑦))
4948eqeq1d 2765 . . . . . . . . . 10 (𝑦 ∈ ℕ0s → (((bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ (bday‘𝑦) = 𝑥))
5049rexbiia 3111 . . . . . . . . 9 (∃𝑦 ∈ ℕ0s ((bday ↾ ℕ0s)‘𝑦) = 𝑥 ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑥)
5147, 50bitri 278 . . . . . . . 8 (𝑥 ∈ ran (bday ↾ ℕ0s) ↔ ∃𝑦 ∈ ℕ0s (bday‘𝑦) = 𝑥)
5245, 51sylibr 237 . . . . . . 7 (𝑥 ∈ ω → 𝑥 ∈ ran (bday ↾ ℕ0s))
5352ssriv 3917 . . . . . 6 ω ⊆ ran (bday ↾ ℕ0s)
5418, 53eqssi 3929 . . . . 5 ran (bday ↾ ℕ0s) = ω
55 df-fo 6561 . . . . 5 ((bday ↾ ℕ0s):ℕ0s⟶ontoω ↔ ((bday ↾ ℕ0s) Fn ℕ0s ∧ ran (bday ↾ ℕ0s) = ω))
5612, 54, 55mpbir2an 724 . . . 4 (bday ↾ ℕ0s):ℕ0s⟶ontoω
57 fof 6815 . . . 4 ((bday ↾ ℕ0s):ℕ0s⟶ontoω → (bday ↾ ℕ0s):ℕ0s⟶ω)
5856, 57ax-mp 5 . . 3 (bday ↾ ℕ0s):ℕ0s⟶ω
5913, 48eqeqan12d 2777 . . . . 5 ((𝑥 ∈ ℕ0s ∧ 𝑦 ∈ ℕ0s) → (((bday ↾ ℕ0s)‘𝑥) = ((bday ↾ ℕ0s)‘𝑦) ↔ (bday‘𝑥) = (bday‘𝑦)))
60 n0on 28749 . . . . . 6 (𝑥 ∈ ℕ0s → 𝑥 ∈ Ons)
61 n0on 28749 . . . . . 6 (𝑦 ∈ ℕ0s → 𝑦 ∈ Ons)
62 bday11on 28678 . . . . . . 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 3206 . . 3 ∀𝑥 ∈ ℕ0s ∀𝑦 ∈ ℕ0s (((bday ↾ ℕ0s)‘𝑥) = ((bday ↾ ℕ0s)‘𝑦) → 𝑥 = 𝑦)
67 dff13 7278 . . 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 6562 . 2 ((bday ↾ ℕ0s):ℕ0s⟶1-1ontoω ↔ ((bday ↾ ℕ0s):ℕ0s⟶1-1ω ∧ (bday ↾ ℕ0s):ℕ0s⟶ontoω))
7068, 56, 69mpbir2an 724 1 (bday ↾ ℕ0s):ℕ0s⟶1-1ontoω
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   = wceq 1570   ∈ wcel 2147  ∀wral 3080  ∃wrex 3090   ⊆ wss 3900   ∩ cin 4092  ∅c0 4281  dom cdm 5655  ran crn 5656   ↾ cres 5657  suc csuc 6379  Fun wfun 6549   Fn wfn 6550  ⟶wf 6551  ⟶1-1wf1 6552  ⟶ontowfo 6553  ⟶1-1ontowf1o 6554  ‘cfv 6555  (class class class)co 7440  ωcom 7898  Nocsur 28024  bdaycbday 28026   0s c0s 28218   1s c1s 28219   +s cadds 28372  Onscons 28664  ℕ0scn0s 28725
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 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5235  ax-sep 5252  ax-nul 5263  ax-pow 5331  ax-pr 5395  ax-un 7772
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 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-tp 4593  df-op 4839  df-ot 4862  df-uni 4871  df-int 4911  df-iun 4956  df-br 5107  df-opab 5171  df-mpt 5190  df-tr 5216  df-id 5550  df-eprel 5555  df-po 5563  df-so 5564  df-fr 5608  df-se 5609  df-we 5610  df-xp 5661  df-rel 5662  df-cnv 5663  df-co 5664  df-dm 5665  df-rn 5666  df-res 5667  df-ima 5668  df-pred 6319  df-ord 6380  df-on 6381  df-lim 6382  df-suc 6383  df-iota 6509  df-fun 6557  df-fn 6558  df-f 6559  df-f1 6560  df-fo 6561  df-f1o 6562  df-fv 6563  df-riota 7397  df-ov 7443  df-oprab 7444  df-mpo 7445  df-om 7899  df-1st 8022  df-2nd 8023  df-frecs 8324  df-wrecs 8355  df-recs 8404  df-rdg 8443  df-1o 8501  df-2o 8502  df-nadd 8700  df-no 28027  df-lts 28028  df-bday 28029  df-les 28129  df-slts 28171  df-cuts 28173  df-0s 28220  df-1s 28221  df-made 28240  df-old 28241  df-left 28243  df-right 28244  df-norec 28351  df-norec2 28362  df-adds 28373  df-negs 28434  df-subs 28435  df-ons 28665  df-n0s 28727
This theorem is used by:  oldfib  28790  bdayfinlem  28899
  Copyright terms: Public domain W3C validator