Lean source · namespace BFPP
DelayPrefixBound.lean
BFPP/DelayPrefixBound.lean · 22 lines
1import BFPP.Profiles23/-! # The delay estimate only needs strict predecessors -/45namespace BFPP.Profile67set_option autoImplicit false8open Set910variable {ι : Type*} [LinearOrder ι] [OrderBot ι]1112theorem delayValue_abs_sub_le_of_prefix (a b : Profile ι) (i : ι) (c : ℝ) (hc : 0 ≤ c)13 (h : ∀ j, j < i → |a.val j - b.val j| ≤ c) : |a.delayValue i - b.delayValue i| ≤ c := by14 classical15 by_cases hi : i = ⊥16 · simpa only [hi, delayValue_bot, sub_self, abs_zero] using hc17 · letI : Nonempty (Iio i) := ⟨⟨⊥, lt_of_le_of_ne bot_le (Ne.symm hi)⟩⟩18 rw [delayValue, if_neg hi, delayValue, if_neg hi]19 exact abs_ciSup_sub_ciSup_le _ _ (a.prefix_bddAbove i) (b.prefix_bddAbove i) c20 (fun j => h j.val j.property)2122end BFPP.ProfileSHA-256
825f569e0cb7c6adbba47d1ec0c6fbd684f833467d0e8455c4aad9e865f6f492