pith. machine review for the scientific record. sign in
lemma

abs_sub_le_width_of_memI

proved
show as:
view math explainer →
module
IndisputableMonolith.Recognition.Certification
domain
Recognition
line
21 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Recognition.Certification on GitHub at line 21.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

  18@[simp] def width (I : Interval) : ℝ := I.hi - I.lo
  19
  20/-- If `x,y` lie in the same interval `I`, then `|x − y| ≤ width(I)`. -/
  21lemma abs_sub_le_width_of_memI {I : Interval} {x y : ℝ}
  22  (hx : memI I x) (hy : memI I y) : |x - y| ≤ width I := by
  23  have : I.lo ≤ x ∧ x ≤ I.hi := hx
  24  have : I.lo ≤ y ∧ y ≤ I.hi := hy
  25  have : x - y ≤ I.hi - I.lo := by linarith
  26  have : y - x ≤ I.hi - I.lo := by linarith
  27  have : -(I.hi - I.lo) ≤ x - y ∧ x - y ≤ I.hi - I.lo := by
  28    constructor
  29    · linarith
  30    · linarith
  31  simpa [width, abs_le] using this
  32
  33/-! ## Certificate schema -/
  34
  35/-- Anchor certificate: per-species residue intervals plus charge-wise gap intervals. -/
  36structure AnchorCert (Species : Type) where
  37  M0 : Interval
  38  Ires : Species → Interval
  39  center : Int → ℝ
  40  eps : Int → ℝ
  41  eps_nonneg : ∀ z, 0 ≤ eps z
  42
  43@[simp] def Igap {Species : Type} (C : AnchorCert Species) (z : Int) : Interval :=
  44{ lo := C.center z - C.eps z
  45, hi := C.center z + C.eps z
  46, lo_le_hi := by have := C.eps_nonneg z; linarith }
  47
  48/-- Validity of a certificate w.r.t. a charge map `Z` and display function `Fgap`. -/
  49structure Valid {Species : Type} (Z : Species → Int) (Fgap : Int → ℝ) (C : AnchorCert Species) : Prop where
  50  M0_pos : 0 < C.M0.lo
  51  Fgap_in : ∀ i : Species, memI (Igap C (Z i)) (Fgap (Z i))