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

Theorem bdaypw2n0bnd 28855
Description: Upper bound for the birthday of a proper fraction of a power of two. This is actually a strict equality when 𝐴 is odd, but we do not need this for the rest of our development. (Contributed by Scott Fenton, 22-Feb-2026.)
Assertion
Ref Expression
bdaypw2n0bnd ((𝐴 ∈ ℕ0s ∧ 𝑁 ∈ ℕ0s ∧ 𝐴 <s (2s↑s𝑁)) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁))

Proof of Theorem bdaypw2n0bnd
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 n0s0suc 28733 . . 3 (𝑁 ∈ ℕ0s → (𝑁 = 0s ∨ ∃𝑥 ∈ ℕ0s 𝑁 = (𝑥 +s 1s )))
2 n0lts1e0 28759 . . . . . 6 (𝐴 ∈ ℕ0s → (𝐴 <s 1s ↔ 𝐴 = 0s ))
3 oveq1 7427 . . . . . . . . . 10 (𝐴 = 0s → (𝐴 /su 1s ) = ( 0s /su 1s ))
4 0no 28200 . . . . . . . . . . 11 0s ∈ No
5 divs1 28595 . . . . . . . . . . 11 ( 0s ∈ No → ( 0s /su 1s ) = 0s )
64, 5ax-mp 5 . . . . . . . . . 10 ( 0s /su 1s ) = 0s
73, 6eqtrdi 2811 . . . . . . . . 9 (𝐴 = 0s → (𝐴 /su 1s ) = 0s )
87fveq2d 6889 . . . . . . . 8 (𝐴 = 0s → (bday‘(𝐴 /su 1s )) = (bday‘ 0s ))
9 bday0 28202 . . . . . . . 8 (bday‘ 0s ) = ∅
108, 9eqtrdi 2811 . . . . . . 7 (𝐴 = 0s → (bday‘(𝐴 /su 1s )) = ∅)
11 0ss 4349 . . . . . . 7 ∅ ⊆ suc ∅
1210, 11eqsstrdi 3952 . . . . . 6 (𝐴 = 0s → (bday‘(𝐴 /su 1s )) ⊆ suc ∅)
132, 12biimtrdi 256 . . . . 5 (𝐴 ∈ ℕ0s → (𝐴 <s 1s → (bday‘(𝐴 /su 1s )) ⊆ suc ∅))
14 oveq2 7428 . . . . . . . 8 (𝑁 = 0s → (2s↑s𝑁) = (2s↑s 0s ))
15 2no 28810 . . . . . . . . 9 2s ∈ No
16 exps0 28818 . . . . . . . . 9 (2s ∈ No → (2s↑s 0s ) = 1s )
1715, 16ax-mp 5 . . . . . . . 8 (2s↑s 0s ) = 1s
1814, 17eqtrdi 2811 . . . . . . 7 (𝑁 = 0s → (2s↑s𝑁) = 1s )
1918breq2d 5114 . . . . . 6 (𝑁 = 0s → (𝐴 <s (2s↑s𝑁) ↔ 𝐴 <s 1s ))
2018oveq2d 7436 . . . . . . . 8 (𝑁 = 0s → (𝐴 /su (2s↑s𝑁)) = (𝐴 /su 1s ))
2120fveq2d 6889 . . . . . . 7 (𝑁 = 0s → (bday‘(𝐴 /su (2s↑s𝑁))) = (bday‘(𝐴 /su 1s )))
22 fveq2 6885 . . . . . . . . 9 (𝑁 = 0s → (bday‘𝑁) = (bday‘ 0s ))
2322, 9eqtrdi 2811 . . . . . . . 8 (𝑁 = 0s → (bday‘𝑁) = ∅)
2423suceqd 6430 . . . . . . 7 (𝑁 = 0s → suc (bday‘𝑁) = suc ∅)
2521, 24sseq12d 3941 . . . . . 6 (𝑁 = 0s → ((bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁) ↔ (bday‘(𝐴 /su 1s )) ⊆ suc ∅))
2619, 25imbi12d 347 . . . . 5 (𝑁 = 0s → ((𝐴 <s (2s↑s𝑁) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁)) ↔ (𝐴 <s 1s → (bday‘(𝐴 /su 1s )) ⊆ suc ∅)))
2713, 26imbitrrid 249 . . . 4 (𝑁 = 0s → (𝐴 ∈ ℕ0s → (𝐴 <s (2s↑s𝑁) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁))))
28 bdaypw2n0bndlem 28854 . . . . . . . 8 ((𝐴 ∈ ℕ0s ∧ 𝑥 ∈ ℕ0s ∧ 𝐴 <s (2s↑s(𝑥 +s 1s ))) → (bday‘(𝐴 /su (2s↑s(𝑥 +s 1s )))) ⊆ suc (bday‘(𝑥 +s 1s )))
29283exp 1137 . . . . . . 7 (𝐴 ∈ ℕ0s → (𝑥 ∈ ℕ0s → (𝐴 <s (2s↑s(𝑥 +s 1s )) → (bday‘(𝐴 /su (2s↑s(𝑥 +s 1s )))) ⊆ suc (bday‘(𝑥 +s 1s )))))
3029com12 33 . . . . . 6 (𝑥 ∈ ℕ0s → (𝐴 ∈ ℕ0s → (𝐴 <s (2s↑s(𝑥 +s 1s )) → (bday‘(𝐴 /su (2s↑s(𝑥 +s 1s )))) ⊆ suc (bday‘(𝑥 +s 1s )))))
31 oveq2 7428 . . . . . . . . 9 (𝑁 = (𝑥 +s 1s ) → (2s↑s𝑁) = (2s↑s(𝑥 +s 1s )))
3231breq2d 5114 . . . . . . . 8 (𝑁 = (𝑥 +s 1s ) → (𝐴 <s (2s↑s𝑁) ↔ 𝐴 <s (2s↑s(𝑥 +s 1s ))))
3331oveq2d 7436 . . . . . . . . . 10 (𝑁 = (𝑥 +s 1s ) → (𝐴 /su (2s↑s𝑁)) = (𝐴 /su (2s↑s(𝑥 +s 1s ))))
3433fveq2d 6889 . . . . . . . . 9 (𝑁 = (𝑥 +s 1s ) → (bday‘(𝐴 /su (2s↑s𝑁))) = (bday‘(𝐴 /su (2s↑s(𝑥 +s 1s )))))
35 fveq2 6885 . . . . . . . . . 10 (𝑁 = (𝑥 +s 1s ) → (bday‘𝑁) = (bday‘(𝑥 +s 1s )))
3635suceqd 6430 . . . . . . . . 9 (𝑁 = (𝑥 +s 1s ) → suc (bday‘𝑁) = suc (bday‘(𝑥 +s 1s )))
3734, 36sseq12d 3941 . . . . . . . 8 (𝑁 = (𝑥 +s 1s ) → ((bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁) ↔ (bday‘(𝐴 /su (2s↑s(𝑥 +s 1s )))) ⊆ suc (bday‘(𝑥 +s 1s ))))
3832, 37imbi12d 347 . . . . . . 7 (𝑁 = (𝑥 +s 1s ) → ((𝐴 <s (2s↑s𝑁) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁)) ↔ (𝐴 <s (2s↑s(𝑥 +s 1s )) → (bday‘(𝐴 /su (2s↑s(𝑥 +s 1s )))) ⊆ suc (bday‘(𝑥 +s 1s )))))
3938imbi2d 343 . . . . . 6 (𝑁 = (𝑥 +s 1s ) → ((𝐴 ∈ ℕ0s → (𝐴 <s (2s↑s𝑁) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁))) ↔ (𝐴 ∈ ℕ0s → (𝐴 <s (2s↑s(𝑥 +s 1s )) → (bday‘(𝐴 /su (2s↑s(𝑥 +s 1s )))) ⊆ suc (bday‘(𝑥 +s 1s ))))))
4030, 39syl5ibrcom 250 . . . . 5 (𝑥 ∈ ℕ0s → (𝑁 = (𝑥 +s 1s ) → (𝐴 ∈ ℕ0s → (𝐴 <s (2s↑s𝑁) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁)))))
4140rexlimiv 3156 . . . 4 (∃𝑥 ∈ ℕ0s 𝑁 = (𝑥 +s 1s ) → (𝐴 ∈ ℕ0s → (𝐴 <s (2s↑s𝑁) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁))))
4227, 41jaoi 871 . . 3 ((𝑁 = 0s ∨ ∃𝑥 ∈ ℕ0s 𝑁 = (𝑥 +s 1s )) → (𝐴 ∈ ℕ0s → (𝐴 <s (2s↑s𝑁) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁))))
431, 42syl 18 . 2 (𝑁 ∈ ℕ0s → (𝐴 ∈ ℕ0s → (𝐴 <s (2s↑s𝑁) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁))))
44433imp21 1131 1 ((𝐴 ∈ ℕ0s ∧ 𝑁 ∈ ℕ0s ∧ 𝐴 <s (2s↑s𝑁)) → (bday‘(𝐴 /su (2s↑s𝑁))) ⊆ suc (bday‘𝑁))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ∨ wo 861   ∧ w3a 1103   = wceq 1569   ∈ wcel 2144  ∃wrex 3086   ⊆ wss 3895  ∅c0 4278   class class class wbr 5102  suc csuc 6364  ‘cfv 6538  (class class class)co 7420  Nocsur 28002   <s clts 28003  bdaycbday 28004   0s c0s 28196   1s c1s 28197   +s cadds 28350   /su cdivs 28578  ℕ0scn0s 28703  2sc2s 28801  ↑scexps 28803
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-rep 5231  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7751  ax-dc 10527
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-ss 3896  df-pss 4014  df-dif 4047  df-in 4091  df-un 4151  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-tp 4589  df-op 4835  df-ot 4858  df-uni 4867  df-int 4907  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-tr 5212  df-id 5545  df-eprel 5550  df-po 5558  df-so 5559  df-fr 5603  df-se 5604  df-we 5605  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-riota 7377  df-ov 7423  df-oprab 7424  df-mpo 7425  df-om 7878  df-1st 8001  df-2nd 8002  df-frecs 8302  df-wrecs 8333  df-recs 8382  df-rdg 8421  df-1o 8479  df-2o 8480  df-oadd 8483  df-nadd 8678  df-no 28005  df-lts 28006  df-bday 28007  df-les 28107  df-slts 28149  df-cuts 28151  df-0s 28198  df-1s 28199  df-made 28218  df-old 28219  df-left 28221  df-right 28222  df-norec 28329  df-norec2 28340  df-adds 28351  df-negs 28412  df-subs 28413  df-muls 28498  df-divs 28579  df-ons 28643  df-seqs 28675  df-n0s 28705  df-nns 28706  df-zs 28770  df-2s 28802  df-exps 28804
This theorem is used by:  bdaypw2bnd  28856  z12bdaylem2  28862  z12bdaylem  28875
  Copyright terms: Public domain W3C validator