structure
definition
StrainFunctional
show as:
view math explainer →
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
depends on
used by
-
isBalanced -
isMinimizer -
J -
JMinimizationLaw -
Octave -
preserves_equilibria -
equilibria -
equilibria_are_minimizers -
hasUniqueMin -
isBalanced -
isMinimizer -
NonNeg -
StrainLedger -
strictlyBetter -
weaklyBetter -
VantageCategory -
quadratic1D_equilibrium -
quadratic1D_minimizer -
quadratic1DStrain -
quadratic1D_unique_equilibrium -
shifted_equilibrium -
shifted_is_minimizer -
shiftedQuadraticStrain -
trivial_is_minimizer -
trivialStrain -
equiv_equilibria_iff -
equiv_wellPosed -
equilibria_minimal -
strain_order_trans -
strain_strict_order_trans
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