def
definition
equilibria
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 45.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
-
State -
isBalanced -
has -
one -
A -
one -
A -
A -
State -
equilibrium -
one -
one -
S -
isBalanced -
equilibria -
isBalanced -
StrainFunctional -
equilibria -
isBalanced
used by
formal source
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
72end StrainFunctional
73
74/-- A ledger constraint: the sum of debits equals the sum of credits. -/
75structure LedgerConstraint (State : Type*) where