Theorem 6.14 (Krasovskii–LaSalle principle)
ProvedTeschlODE.Stability.krasovskii_lasalleLet be open, , and the flow of with maximal intervals and orbits . Suppose is a fixed point of and is a Liapunov function at on the open neighborhood . Say that is not constant on any orbit lying entirely in if
Then:
- if holds, is asymptotically stable;
- if is a strict Liapunov function, holds;
- if holds, then every whose forward orbit lies in a compact subset of has defined for all and as .
This is the central stability criterion of the chapter: asymptotic stability from a Liapunov function that is merely non-increasing, provided it is not constant on a whole orbit.
Formalization Note. The flow is local; no completeness is assumed anywhere. Part 3 corrects the book's "every orbit lying entirely in converges to ", which is false as printed: for , on , is a strict Liapunov function, yet orbits starting in stay in that region and do not converge to (Khalil, Nonlinear Systems, 3rd ed., §4.1). The book's argument (the text before Theorem 6.14) needs to be a nonempty subset of , which is exactly what a forward orbit inside a compact provides. Parts 1 and 2 are as printed.
import Mathlib import Definitions.Def_TeschlODE_Stability_IsIntegralCurve import Definitions.Def_TeschlODE_Stability_IsMaximalFlow import Definitions.Def_TeschlODE_Stability_IsLiapunovFunction import Definitions.Def_TeschlODE_Stability_IsStrictLiapunovFunction import Definitions.Def_TeschlODE_Stability_semiOrbit import Definitions.Def_TeschlODE_Stability_orbit import Definitions.Def_TeschlODE_Stability_IsStable import Definitions.Def_TeschlODE_Stability_IsAsymptoticallyStable
namespace TeschlODE.Stability
theorem krasovskii_lasalle {n : ℕ}
(f : EuclideanSpace ℝ (Fin n) → EuclideanSpace ℝ (Fin n))
(M : Set (EuclideanSpace ℝ (Fin n))) (hM : IsOpen M) (hf : ContDiffOn ℝ 1 f M)
(I : EuclideanSpace ℝ (Fin n) → Set ℝ)
(Φ : ℝ → EuclideanSpace ℝ (Fin n) → EuclideanSpace ℝ (Fin n))
(hΦ : IsMaximalFlow f M I Φ)
(x₀ : EuclideanSpace ℝ (Fin n)) (hx₀ : x₀ ∈ M) (hfix : f x₀ = 0)
(U : Set (EuclideanSpace ℝ (Fin n))) (L : EuclideanSpace ℝ (Fin n) → ℝ)
(hL : IsLiapunovFunction f M x₀ U L) :
-- (i) L not constant on any orbit lying entirely in U \ {x₀} ⇒ x₀ asymptotically stable
((∀ y ∈ M, orbit I Φ y ⊆ U \ {x₀} → ∃ a ∈ orbit I Φ y, ∃ b ∈ orbit I Φ y, L a ≠ L b) →
IsAsymptoticallyStable M I Φ x₀) ∧
-- (ii) a strict Liapunov function is not constant on any orbit lying entirely in U \ {x₀}
(IsStrictLiapunovFunction f M x₀ U L →
∀ y ∈ M, orbit I Φ y ⊆ U \ {x₀} → ∃ a ∈ orbit I Φ y, ∃ b ∈ orbit I Φ y, L a ≠ L b) ∧
-- (iii) under the hypothesis of (i), every forward orbit lying in a compact subset of U
-- exists for all t ≥ 0 and converges to x₀
((∀ y ∈ M, orbit I Φ y ⊆ U \ {x₀} → ∃ a ∈ orbit I Φ y, ∃ b ∈ orbit I Φ y, L a ≠ L b) →
∀ x ∈ M, ∀ C : Set (EuclideanSpace ℝ (Fin n)), IsCompact C → C ⊆ U →
semiOrbit 1 I Φ x ⊆ C →
(∀ t : ℝ, 0 ≤ t → t ∈ I x) ∧
Filter.Tendsto (fun t => Φ t x) Filter.atTop (nhds x₀)) := by sorry
end TeschlODE.Stability
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
The declaration concerns vectors in (the Euclidean space with coordinates indexed by ), where is any natural number. It takes the following data and hypotheses:
- is a vector field defined on all of .
- is an open set, and is continuously differentiable () on . Nothing is assumed about outside .
- assigns to each point a set of times . Nothing is assumed about being an interval, containing , or being nonempty, except what the next hypothesis supplies.
- , written , is defined for every real and every . Its values at times are whatever happens to return.
- The bundle predicate holds. Its body is not shown here. The statement relies on it for any link between , and solutions of in , and for any properties of .
- is a point with .
- is a set, and is a real function. The bundle predicate holds, and its body is not shown here. The statement itself does not require to be open, to contain , to be a neighbourhood of , or to lie inside . Any such property can only come from that predicate.
Two bundle notions describe trajectories. is the set named "orbit" of , built from and . is the set named "semiOrbit", built from the parameter , , and . Their definitions are not shown, so it is not visible here which times they use, or whether the parameter selects the forward direction. and are also bundle predicates whose bodies are not shown. depends only on , , and , and not on , or .
To shorten the conclusions, write for the following condition. For every with
there exist with . In words: takes at least two distinct values on every orbit that starts in and lies entirely in . Orbits that leave at any point, or that contain , are not constrained by .
Under all the hypotheses above, the declaration asserts that the following three statements all hold:
- (i) If holds, then holds.
- (ii) If holds, then holds.
- (iii) Suppose holds. Take any and any compact set with and . Then:
- every lies in , that is, ; and
where the limit is taken over real in the usual topology of .
Part (iii) does not assume that , that , or that is nonempty. Its only link to the trajectory is the containment of the semi-orbit in .
Degenerate cases, with the caveat that several depend on bundle definitions not shown here:
- . The space is a single point, so , is that point, and . Then . An orbit lies inside it only if the orbit is empty, and then no can be found in it. So holds exactly when no has an empty orbit. The limit in (iii) holds automatically, because every function into a one-point space converges to that point.
- empty. This is impossible, since .
- empty, or . The statement itself allows both. For , the only compact is .
- . The premise holds only if that semi-orbit is empty. In that case (iii) still requires and . Whether a semi-orbit can be empty (for example, when ) is decided by the unseen definitions of and .
- An empty orbit . It is contained in , but no exist in it. So fails if any has an empty orbit. In that case (i) and (iii) become vacuous, and (ii) asserts that strictness excludes empty orbits.
- Values of at times outside . These are unconstrained by the statement. The limit in (iii) only involves large , and the first conclusion of (iii) places all such in .
- Hypotheses that may be unsatisfiable. Whether or can be satisfied, and so whether the whole statement is vacuous, depends on their definitions, which are not shown.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.