def
definition
isBalanced
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 41.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
isBalanced -
isBalanced -
isConsistent -
JMinimizationLaw -
V -
preserves_equilibria -
wellPosed -
equilibria -
equilibria_are_minimizers -
hasUniqueMin -
isValid -
equilibria -
equilibria_iso -
hasEquilibrium -
isBalanced -
preserves_balanced -
quadratic1D_equilibrium -
quadratic1D_unique_equilibrium -
shifted_equilibrium -
trivial_balanced -
equiv_equilibria_iff -
equiv_wellPosed -
equilibria_minimal
formal source
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
59
60/-- A state x is a minimizer if no state is strictly better. -/
61def isMinimizer (S : StrainFunctional State) (x : State) : Prop :=
62 ∀ y, S.weaklyBetter x y
63
64/-- For non-negative strain, equilibria are minimizers. -/
65theorem equilibria_are_minimizers [NonNeg S] (x : State) (hx : S.isBalanced x) :
66 S.isMinimizer x := by
67 intro y
68 simp only [weaklyBetter, isBalanced] at *
69 rw [hx]
70 exact NonNeg.nonneg y
71