Metamath Proof Explorer


Theorem bdaypw2bnd

Description: Birthday bounding rule for non-negative dyadic rationals. (Contributed by Scott Fenton, 25-Feb-2026)

Ref Expression
Hypotheses bdaypw2bnd.1 ⊢ φ → N ∈ ℕ 0s
bdaypw2bnd.2 ⊢ φ → X ∈ ℕ 0s
bdaypw2bnd.3 ⊢ φ → Y ∈ ℕ 0s
bdaypw2bnd.4 ⊢ φ → P ∈ ℕ 0s
bdaypw2bnd.5 No typesetting found for |- ( ph -> Y
bdaypw2bnd.6 ⊢ φ → X + s P < s N
Assertion bdaypw2bnd Could not format assertion : No typesetting found for |- ( ph -> ( bday ` ( X +s ( Y /su ( 2s ^su P ) ) ) ) C_ ( bday ` N ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 bdaypw2bnd.1 ⊢ φ → N ∈ ℕ 0s
2 bdaypw2bnd.2 ⊢ φ → X ∈ ℕ 0s
3 bdaypw2bnd.3 ⊢ φ → Y ∈ ℕ 0s
4 bdaypw2bnd.4 ⊢ φ → P ∈ ℕ 0s
5 bdaypw2bnd.5 Could not format ( ph -> Y Y
6 bdaypw2bnd.6 ⊢ φ → X + s P < s N
7 2 n0nod ⊢ φ → X ∈ No
8 3 n0nod ⊢ φ → Y ∈ No
9 8 4 pw2divscld Could not format ( ph -> ( Y /su ( 2s ^su P ) ) e. No ) : No typesetting found for |- ( ph -> ( Y /su ( 2s ^su P ) ) e. No ) with typecode |-
10 addbday Could not format ( ( X e. No /\ ( Y /su ( 2s ^su P ) ) e. No ) -> ( bday ` ( X +s ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) ) : No typesetting found for |- ( ( X e. No /\ ( Y /su ( 2s ^su P ) ) e. No ) -> ( bday ` ( X +s ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) ) with typecode |-
11 7 9 10 syl2anc Could not format ( ph -> ( bday ` ( X +s ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) ) : No typesetting found for |- ( ph -> ( bday ` ( X +s ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) ) with typecode |-
12 bdaypw2n0bnd Could not format ( ( Y e. NN0_s /\ P e. NN0_s /\ Y ( bday ` ( Y /su ( 2s ^su P ) ) ) C_ suc ( bday ` P ) ) : No typesetting found for |- ( ( Y e. NN0_s /\ P e. NN0_s /\ Y ( bday ` ( Y /su ( 2s ^su P ) ) ) C_ suc ( bday ` P ) ) with typecode |-
13 3 4 5 12 syl3anc Could not format ( ph -> ( bday ` ( Y /su ( 2s ^su P ) ) ) C_ suc ( bday ` P ) ) : No typesetting found for |- ( ph -> ( bday ` ( Y /su ( 2s ^su P ) ) ) C_ suc ( bday ` P ) ) with typecode |-
14 bdayon Could not format ( bday ` ( Y /su ( 2s ^su P ) ) ) e. On : No typesetting found for |- ( bday ` ( Y /su ( 2s ^su P ) ) ) e. On with typecode |-
15 bdayon ⊢ bday ⁡ P ∈ On
16 15 onsuci ⊢ suc ⁡ bday ⁡ P ∈ On
17 bdayon ⊢ bday ⁡ X ∈ On
18 naddss2 Could not format ( ( ( bday ` ( Y /su ( 2s ^su P ) ) ) e. On /\ suc ( bday ` P ) e. On /\ ( bday ` X ) e. On ) -> ( ( bday ` ( Y /su ( 2s ^su P ) ) ) C_ suc ( bday ` P ) <-> ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no suc ( bday ` P ) ) ) ) : No typesetting found for |- ( ( ( bday ` ( Y /su ( 2s ^su P ) ) ) e. On /\ suc ( bday ` P ) e. On /\ ( bday ` X ) e. On ) -> ( ( bday ` ( Y /su ( 2s ^su P ) ) ) C_ suc ( bday ` P ) <-> ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no suc ( bday ` P ) ) ) ) with typecode |-
19 14 16 17 18 mp3an Could not format ( ( bday ` ( Y /su ( 2s ^su P ) ) ) C_ suc ( bday ` P ) <-> ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no suc ( bday ` P ) ) ) : No typesetting found for |- ( ( bday ` ( Y /su ( 2s ^su P ) ) ) C_ suc ( bday ` P ) <-> ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no suc ( bday ` P ) ) ) with typecode |-
20 13 19 sylib Could not format ( ph -> ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no suc ( bday ` P ) ) ) : No typesetting found for |- ( ph -> ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) C_ ( ( bday ` X ) +no suc ( bday ` P ) ) ) with typecode |-
21 bdayn0p1 ⊢ P ∈ ℕ 0s → bday ⁡ P + s 1 s = suc ⁡ bday ⁡ P
22 4 21 syl ⊢ φ → bday ⁡ P + s 1 s = suc ⁡ bday ⁡ P
23 22 oveq2d ⊢ φ → bday ⁡ X + bday ⁡ P + s 1 s = bday ⁡ X + suc ⁡ bday ⁡ P
24 n0on ⊢ X ∈ ℕ 0s → X ∈ On s
25 2 24 syl ⊢ φ → X ∈ On s
26 peano2n0s ⊢ P ∈ ℕ 0s → P + s 1 s ∈ ℕ 0s
27 4 26 syl ⊢ φ → P + s 1 s ∈ ℕ 0s
28 n0on ⊢ P + s 1 s ∈ ℕ 0s → P + s 1 s ∈ On s
29 27 28 syl ⊢ φ → P + s 1 s ∈ On s
30 addonbday ⊢ X ∈ On s ∧ P + s 1 s ∈ On s → bday ⁡ X + s P + s 1 s = bday ⁡ X + bday ⁡ P + s 1 s
31 25 29 30 syl2anc ⊢ φ → bday ⁡ X + s P + s 1 s = bday ⁡ X + bday ⁡ P + s 1 s
32 n0on ⊢ N ∈ ℕ 0s → N ∈ On s
33 1 32 syl ⊢ φ → N ∈ On s
34 n0addscl ⊢ X ∈ ℕ 0s ∧ P + s 1 s ∈ ℕ 0s → X + s P + s 1 s ∈ ℕ 0s
35 2 27 34 syl2anc ⊢ φ → X + s P + s 1 s ∈ ℕ 0s
36 n0on ⊢ X + s P + s 1 s ∈ ℕ 0s → X + s P + s 1 s ∈ On s
37 35 36 syl ⊢ φ → X + s P + s 1 s ∈ On s
38 onlts ⊢ N ∈ On s ∧ X + s P + s 1 s ∈ On s → N < s X + s P + s 1 s ↔ bday ⁡ N ∈ bday ⁡ X + s P + s 1 s
39 33 37 38 syl2anc ⊢ φ → N < s X + s P + s 1 s ↔ bday ⁡ N ∈ bday ⁡ X + s P + s 1 s
40 39 notbid ⊢ φ → ¬ N < s X + s P + s 1 s ↔ ¬ bday ⁡ N ∈ bday ⁡ X + s P + s 1 s
41 n0addscl ⊢ X ∈ ℕ 0s ∧ P ∈ ℕ 0s → X + s P ∈ ℕ 0s
42 2 4 41 syl2anc ⊢ φ → X + s P ∈ ℕ 0s
43 n0ltsp1le ⊢ X + s P ∈ ℕ 0s ∧ N ∈ ℕ 0s → X + s P < s N ↔ X + s P + s 1 s ≤ s N
44 42 1 43 syl2anc ⊢ φ → X + s P < s N ↔ X + s P + s 1 s ≤ s N
45 4 n0nod ⊢ φ → P ∈ No
46 1no ⊢ 1 s ∈ No
47 46 a1i ⊢ φ → 1 s ∈ No
48 7 45 47 addsassd ⊢ φ → X + s P + s 1 s = X + s P + s 1 s
49 48 breq1d ⊢ φ → X + s P + s 1 s ≤ s N ↔ X + s P + s 1 s ≤ s N
50 35 n0nod ⊢ φ → X + s P + s 1 s ∈ No
51 1 n0nod ⊢ φ → N ∈ No
52 lenlts ⊢ X + s P + s 1 s ∈ No ∧ N ∈ No → X + s P + s 1 s ≤ s N ↔ ¬ N < s X + s P + s 1 s
53 50 51 52 syl2anc ⊢ φ → X + s P + s 1 s ≤ s N ↔ ¬ N < s X + s P + s 1 s
54 44 49 53 3bitrd ⊢ φ → X + s P < s N ↔ ¬ N < s X + s P + s 1 s
55 bdayon ⊢ bday ⁡ X + s P + s 1 s ∈ On
56 bdayon ⊢ bday ⁡ N ∈ On
57 ontri1 ⊢ bday ⁡ X + s P + s 1 s ∈ On ∧ bday ⁡ N ∈ On → bday ⁡ X + s P + s 1 s ⊆ bday ⁡ N ↔ ¬ bday ⁡ N ∈ bday ⁡ X + s P + s 1 s
58 55 56 57 mp2an ⊢ bday ⁡ X + s P + s 1 s ⊆ bday ⁡ N ↔ ¬ bday ⁡ N ∈ bday ⁡ X + s P + s 1 s
59 58 a1i ⊢ φ → bday ⁡ X + s P + s 1 s ⊆ bday ⁡ N ↔ ¬ bday ⁡ N ∈ bday ⁡ X + s P + s 1 s
60 40 54 59 3bitr4d ⊢ φ → X + s P < s N ↔ bday ⁡ X + s P + s 1 s ⊆ bday ⁡ N
61 6 60 mpbid ⊢ φ → bday ⁡ X + s P + s 1 s ⊆ bday ⁡ N
62 31 61 eqsstrrd ⊢ φ → bday ⁡ X + bday ⁡ P + s 1 s ⊆ bday ⁡ N
63 23 62 eqsstrrd ⊢ φ → bday ⁡ X + suc ⁡ bday ⁡ P ⊆ bday ⁡ N
64 20 63 sstrd Could not format ( ph -> ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) C_ ( bday ` N ) ) : No typesetting found for |- ( ph -> ( ( bday ` X ) +no ( bday ` ( Y /su ( 2s ^su P ) ) ) ) C_ ( bday ` N ) ) with typecode |-
65 11 64 sstrd Could not format ( ph -> ( bday ` ( X +s ( Y /su ( 2s ^su P ) ) ) ) C_ ( bday ` N ) ) : No typesetting found for |- ( ph -> ( bday ` ( X +s ( Y /su ( 2s ^su P ) ) ) ) C_ ( bday ` N ) ) with typecode |-