Metamath Proof Explorer


Theorem n0bday

Description: A non-negative surreal integer has a finite birthday. (Contributed by Scott Fenton, 18-Apr-2025)

Ref Expression
Assertion n0bday ( 𝐴 ∈ ℕ0s → ( bday ‘ 𝐴 ) ∈ ω )

Proof

Step Hyp Ref Expression
1 fveq2 ⊢ ( 𝑚 = 0s → ( bday ‘ 𝑚 ) = ( bday ‘ 0s ) )
2 1 eleq1d ⊢ ( 𝑚 = 0s → ( ( bday ‘ 𝑚 ) ∈ ω ↔ ( bday ‘ 0s ) ∈ ω ) )
3 fveq2 ⊢ ( 𝑚 = 𝑛 → ( bday ‘ 𝑚 ) = ( bday ‘ 𝑛 ) )
4 3 eleq1d ⊢ ( 𝑚 = 𝑛 → ( ( bday ‘ 𝑚 ) ∈ ω ↔ ( bday ‘ 𝑛 ) ∈ ω ) )
5 fveq2 ⊢ ( 𝑚 = ( 𝑛 +s 1s ) → ( bday ‘ 𝑚 ) = ( bday ‘ ( 𝑛 +s 1s ) ) )
6 5 eleq1d ⊢ ( 𝑚 = ( 𝑛 +s 1s ) → ( ( bday ‘ 𝑚 ) ∈ ω ↔ ( bday ‘ ( 𝑛 +s 1s ) ) ∈ ω ) )
7 fveq2 ⊢ ( 𝑚 = 𝐴 → ( bday ‘ 𝑚 ) = ( bday ‘ 𝐴 ) )
8 7 eleq1d ⊢ ( 𝑚 = 𝐴 → ( ( bday ‘ 𝑚 ) ∈ ω ↔ ( bday ‘ 𝐴 ) ∈ ω ) )
9 bday0 ⊢ ( bday ‘ 0s ) = ∅
10 peano1 ⊢ ∅ ∈ ω
11 9 10 eqeltri ⊢ ( bday ‘ 0s ) ∈ ω
12 n0cut2 ⊢ ( 𝑛 ∈ ℕ0s → ( 𝑛 +s 1s ) = ( { 𝑛 } |s ∅ ) )
13 12 fveq2d ⊢ ( 𝑛 ∈ ℕ0s → ( bday ‘ ( 𝑛 +s 1s ) ) = ( bday ‘ ( { 𝑛 } |s ∅ ) ) )
14 n0no ⊢ ( 𝑛 ∈ ℕ0s → 𝑛 ∈ No )
15 snelpwi ⊢ ( 𝑛 ∈ No → { 𝑛 } ∈ 𝒫 No )
16 nulsgts ⊢ ( { 𝑛 } ∈ 𝒫 No → { 𝑛 } <<s ∅ )
17 14 15 16 3syl ⊢ ( 𝑛 ∈ ℕ0s → { 𝑛 } <<s ∅ )
18 un0 ⊢ ( { 𝑛 } ∪ ∅ ) = { 𝑛 }
19 18 imaeq2i ⊢ ( bday “ ( { 𝑛 } ∪ ∅ ) ) = ( bday “ { 𝑛 } )
20 bdayfn ⊢ bday Fn No
21 fnsnfv ⊢ ( ( bday Fn No ∧ 𝑛 ∈ No ) → { ( bday ‘ 𝑛 ) } = ( bday “ { 𝑛 } ) )
22 20 14 21 sylancr ⊢ ( 𝑛 ∈ ℕ0s → { ( bday ‘ 𝑛 ) } = ( bday “ { 𝑛 } ) )
23 19 22 eqtr4id ⊢ ( 𝑛 ∈ ℕ0s → ( bday “ ( { 𝑛 } ∪ ∅ ) ) = { ( bday ‘ 𝑛 ) } )
24 fvex ⊢ ( bday ‘ 𝑛 ) ∈ V
25 24 sucid ⊢ ( bday ‘ 𝑛 ) ∈ suc ( bday ‘ 𝑛 )
26 snssi ⊢ ( ( bday ‘ 𝑛 ) ∈ suc ( bday ‘ 𝑛 ) → { ( bday ‘ 𝑛 ) } ⊆ suc ( bday ‘ 𝑛 ) )
27 25 26 ax-mp ⊢ { ( bday ‘ 𝑛 ) } ⊆ suc ( bday ‘ 𝑛 )
28 23 27 eqsstrdi ⊢ ( 𝑛 ∈ ℕ0s → ( bday “ ( { 𝑛 } ∪ ∅ ) ) ⊆ suc ( bday ‘ 𝑛 ) )
29 bdayon ⊢ ( bday ‘ 𝑛 ) ∈ On
30 29 onsuci ⊢ suc ( bday ‘ 𝑛 ) ∈ On
31 cutbdaybnd ⊢ ( ( { 𝑛 } <<s ∅ ∧ suc ( bday ‘ 𝑛 ) ∈ On ∧ ( bday “ ( { 𝑛 } ∪ ∅ ) ) ⊆ suc ( bday ‘ 𝑛 ) ) → ( bday ‘ ( { 𝑛 } |s ∅ ) ) ⊆ suc ( bday ‘ 𝑛 ) )
32 30 31 mp3an2 ⊢ ( ( { 𝑛 } <<s ∅ ∧ ( bday “ ( { 𝑛 } ∪ ∅ ) ) ⊆ suc ( bday ‘ 𝑛 ) ) → ( bday ‘ ( { 𝑛 } |s ∅ ) ) ⊆ suc ( bday ‘ 𝑛 ) )
33 17 28 32 syl2anc ⊢ ( 𝑛 ∈ ℕ0s → ( bday ‘ ( { 𝑛 } |s ∅ ) ) ⊆ suc ( bday ‘ 𝑛 ) )
34 13 33 eqsstrd ⊢ ( 𝑛 ∈ ℕ0s → ( bday ‘ ( 𝑛 +s 1s ) ) ⊆ suc ( bday ‘ 𝑛 ) )
35 bdayon ⊢ ( bday ‘ ( 𝑛 +s 1s ) ) ∈ On
36 onsssuc ⊢ ( ( ( bday ‘ ( 𝑛 +s 1s ) ) ∈ On ∧ suc ( bday ‘ 𝑛 ) ∈ On ) → ( ( bday ‘ ( 𝑛 +s 1s ) ) ⊆ suc ( bday ‘ 𝑛 ) ↔ ( bday ‘ ( 𝑛 +s 1s ) ) ∈ suc suc ( bday ‘ 𝑛 ) ) )
37 35 30 36 mp2an ⊢ ( ( bday ‘ ( 𝑛 +s 1s ) ) ⊆ suc ( bday ‘ 𝑛 ) ↔ ( bday ‘ ( 𝑛 +s 1s ) ) ∈ suc suc ( bday ‘ 𝑛 ) )
38 34 37 sylib ⊢ ( 𝑛 ∈ ℕ0s → ( bday ‘ ( 𝑛 +s 1s ) ) ∈ suc suc ( bday ‘ 𝑛 ) )
39 peano2 ⊢ ( ( bday ‘ 𝑛 ) ∈ ω → suc ( bday ‘ 𝑛 ) ∈ ω )
40 peano2 ⊢ ( suc ( bday ‘ 𝑛 ) ∈ ω → suc suc ( bday ‘ 𝑛 ) ∈ ω )
41 39 40 syl ⊢ ( ( bday ‘ 𝑛 ) ∈ ω → suc suc ( bday ‘ 𝑛 ) ∈ ω )
42 elnn ⊢ ( ( ( bday ‘ ( 𝑛 +s 1s ) ) ∈ suc suc ( bday ‘ 𝑛 ) ∧ suc suc ( bday ‘ 𝑛 ) ∈ ω ) → ( bday ‘ ( 𝑛 +s 1s ) ) ∈ ω )
43 38 41 42 syl2an ⊢ ( ( 𝑛 ∈ ℕ0s ∧ ( bday ‘ 𝑛 ) ∈ ω ) → ( bday ‘ ( 𝑛 +s 1s ) ) ∈ ω )
44 43 ex ⊢ ( 𝑛 ∈ ℕ0s → ( ( bday ‘ 𝑛 ) ∈ ω → ( bday ‘ ( 𝑛 +s 1s ) ) ∈ ω ) )
45 2 4 6 8 11 44 n0sind ⊢ ( 𝐴 ∈ ℕ0s → ( bday ‘ 𝐴 ) ∈ ω )