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

StrainFunctional

definition
show as:
view math explainer →
module
IndisputableMonolith.RRF.Core.Strain
domain
RRF
line
28 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.RRF.Core.Strain on GitHub at line 28.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

used by

formal source

  25
  26We use `ℝ` as the codomain and add nonnegativity as a class constraint.
  27-/
  28structure StrainFunctional (State : Type*) where
  29  /-- The strain/cost of a state. -/
  30  J : State → ℝ
  31
  32namespace StrainFunctional
  33
  34variable {State : Type*}
  35
  36/-- A strain functional is non-negative if J(x) ≥ 0 for all x. -/
  37class NonNeg (S : StrainFunctional State) : Prop where
  38  nonneg : ∀ x, 0 ≤ S.J x
  39
  40/-- A state is balanced/equilibrium if its strain is exactly zero. -/
  41def isBalanced (S : StrainFunctional State) (x : State) : Prop :=
  42  S.J x = 0
  43
  44/-- The set of equilibrium states. -/
  45def equilibria (S : StrainFunctional State) : Set State :=
  46  { x | S.isBalanced x }
  47
  48/-- A strain functional has a unique minimum if there's exactly one equilibrium. -/
  49def hasUniqueMin (S : StrainFunctional State) : Prop :=
  50  ∃! x, S.isBalanced x
  51
  52/-- Strict improvement: x is strictly better than y. -/
  53def strictlyBetter (S : StrainFunctional State) (x y : State) : Prop :=
  54  S.J x < S.J y
  55
  56/-- Weak improvement: x is at least as good as y. -/
  57def weaklyBetter (S : StrainFunctional State) (x y : State) : Prop :=
  58  S.J x ≤ S.J y