Prove2Me
Navigate
DiscoverCollectionsFormalpediaGalaxyBlogsUsersMomentumMy Missions+
Prove2Me
Log in
← Formalpedia

Anosov plugs III: plugs, hyperbolic plugs, laminations, attractors

Definition
AnosovPlugs_Plugs

by Lucas · Oct 1, 2026 · Mathlib 0df444a (Lean v4.33.1)

3-manifoldsanosov-flowsdynamical-systemshyperbolic-dynamics

Let VVV be a 3-manifold with boundary and XXX a vector field on VVV. At a boundary point, a vector written in the boundary chart points strictly inwards iff its first coordinate v0v_0v0​ is positive.

  1. Entrance / exit boundary. ∂inV\partial^{in}V∂inV (resp. ∂outV\partial^{out}V∂outV) is the set of boundary points where XXX points strictly inwards (resp. outwards).
  2. Plug (Definition 3.1). (V,X)(V,X)(V,X) is a plug if XXX is a nonsingular C¹ vector field transverse to ∂V\partial V∂V. It is attracting if ∂outV=∅\partial^{out}V=\emptyset∂outV=∅ and repelling if ∂inV=∅\partial^{in}V=\emptyset∂inV=∅.
  3. Maximal invariant set Λ\LambdaΛ: points whose orbit is defined for all real times. Stable set Ws(Λ)W^s(\Lambda)Ws(Λ): points whose forward orbit is defined for all t≥0t\ge0t≥0; unstable set Wu(Λ)W^u(\Lambda)Wu(Λ): points whose backward orbit is defined for all t≤0t\le0t≤0.
  4. Hyperbolic plug (Definition 3.2): a plug whose maximal invariant set is a hyperbolic set (with 1-dimensional strong stable/unstable bundles).
  5. Entrance and exit laminations: LXs=Ws(Λ)∩∂inVL^s_X=W^s(\Lambda)\cap\partial^{in}VLXs​=Ws(Λ)∩∂inV, LXu=Wu(Λ)∩∂outVL^u_X=W^u(\Lambda)\cap\partial^{out}VLXu​=Wu(Λ)∩∂outV.
  6. Leaves. The weak stable manifold of ppp is the set of forward-complete points qqq such that (Xtq,Xt+sp)(X^t q,X^{t+s}p)(Xtq,Xt+sp) tends to the diagonal as t→+∞t\to+\inftyt→+∞ for some shift sss. The leaf of LXsL^s_XLXs​ through ppp is the path component of ppp in (weak stable manifold of ppp) ∩ ∂inV\cap\,\partial^{in}V∩∂inV; leaves of LXuL^u_XLXu​ are defined in the same way for −X-X−X.
  7. Attractor / repeller. An attractor is a nonempty compact invariant subset A⊆ΛA\subseteq\LambdaA⊆Λ with a dense orbit, admitting a neighbourhood UUU with ⋂t≥0Xt(U)=A\bigcap_{t\ge0}X^t(U)=A⋂t≥0​Xt(U)=A. A repeller is an attractor of −X-X−X.

Formalization Note Leaves are defined as path components of intersections of weak stable manifolds with the boundary; since weak stable manifolds are injectively immersed surfaces meeting any transversal in a totally disconnected set, these path components are exactly the leaves of the paper.

Definition code
import Mathlib
import Definitions.Def_AnosovPlugs_Hyperbolic

/-!
Béguin–Bonatti–Yu, *Building Anosov flows on 3-manifolds*, Geom. Topol. 21 (2017).
Plugs and hyperbolic plugs (§1.2, Definitions 3.1 and 3.2), their maximal invariant set, stable
and unstable sets, entrance/exit laminations and the leaves of these laminations, attractors and
repellers.

Tangent vectors at `x` are expressed in the chart at `x`, whose model is the half-space
`{x₀ ≥ 0}`; at a boundary point `x`, a vector `v` points strictly inwards iff `v₀ > 0`.
-/

open scoped Manifold ContDiff Topology
open Set Filter

namespace AnosovPlugs

variable {M : Type} [TopologicalSpace M] [ChartedSpace (EuclideanHalfSpace 3) M]
  [IsManifold I3 ∞ M]

/-- The first coordinate `v₀` of a vector `v ∈ ℝ³`. A tangent vector at a boundary point,
written in the chart at that point (modelled on the half-space `{x₀ ≥ 0}`), points strictly
inwards iff its first coordinate is positive. -/
def normalCoord (v : EuclideanSpace ℝ (Fin 3)) : ℝ := v 0

/-- The entrance boundary `∂^{in} M`: boundary points at which `X` points strictly inwards. -/
def inBoundary (X : (x : M) → TangentSpace I3 x) : Set M :=
  {x | x ∈ I3.boundary M ∧ 0 < normalCoord (X x)}

/-- The exit boundary `∂^{out} M`: boundary points at which `X` points strictly outwards. -/
def outBoundary (X : (x : M) → TangentSpace I3 x) : Set M :=
  {x | x ∈ I3.boundary M ∧ normalCoord (X x) < 0}

/-- `X` is nonsingular and transverse to the boundary `∂M`. -/
def IsNonsingularTransverse (X : (x : M) → TangentSpace I3 x) : Prop :=
  (∀ x, X x ≠ 0) ∧ ∀ x ∈ I3.boundary M, normalCoord (X x) ≠ 0

/-- `(M, X)` is a plug (Definition 3.1): `X` is a nonsingular C¹ vector field transverse to the
boundary `∂M`. (Compactness of `M` is a standing typeclass assumption where plugs are used.) -/
def IsPlug (X : (x : M) → TangentSpace I3 x) : Prop :=
  IsC1VectorField X ∧ IsNonsingularTransverse X

/-- Attracting plug: a plug with empty exit boundary. -/
def IsAttractingPlug (X : (x : M) → TangentSpace I3 x) : Prop :=
  IsPlug X ∧ outBoundary X = ∅

/-- Repelling plug: a plug with empty entrance boundary. -/
def IsRepellingPlug (X : (x : M) → TangentSpace I3 x) : Prop :=
  IsPlug X ∧ inBoundary X = ∅

/-- The maximal invariant set `Λ`: points whose forward and backward orbits are defined for all
times. -/
def maxInvSet (X : (x : M) → TangentSpace I3 x) : Set M :=
  {x | ∃ γ : ℝ → M, γ 0 = x ∧ IsMIntegralCurve γ X}

/-- The stable set `W^s(Λ)`: points whose forward orbit is defined for all positive times. -/
def stableSet (X : (x : M) → TangentSpace I3 x) : Set M :=
  {x | ∃ γ : ℝ → M, γ 0 = x ∧ IsMIntegralCurveOn γ X (Ici 0)}

/-- The unstable set `W^u(Λ)`: points whose backward orbit is defined for all negative times. -/
def unstableSet (X : (x : M) → TangentSpace I3 x) : Set M :=
  {x | ∃ γ : ℝ → M, γ 0 = x ∧ IsMIntegralCurveOn γ X (Iic 0)}

/-- `(M, X)` is a hyperbolic plug (Definition 3.2): a plug whose maximal invariant set is a
hyperbolic set with one-dimensional strong stable and strong unstable bundles. -/
def IsHyperbolicPlug (X : (x : M) → TangentSpace I3 x) : Prop :=
  IsPlug X ∧ IsHyperbolicSet X (maxInvSet X)

/-- The entrance lamination `L^s_X = W^s(Λ) ∩ ∂^{in} M`. -/
def entranceLamination (X : (x : M) → TangentSpace I3 x) : Set M :=
  stableSet X ∩ inBoundary X

/-- The exit lamination `L^u_X = W^u(Λ) ∩ ∂^{out} M`. -/
def exitLamination (X : (x : M) → TangentSpace I3 x) : Set M :=
  unstableSet X ∩ outBoundary X

/-- The weak stable manifold of a point `p`: the points `q` with forward-complete orbit whose
forward orbit is asymptotic to the forward orbit of `p` up to a time shift `s`, i.e.
`(X^t q, X^{t+s} p)` tends to the diagonal as `t → +∞`. -/
def weakStableSet (X : (x : M) → TangentSpace I3 x) (p : M) : Set M :=
  {q | q ∈ stableSet X ∧ ∃ s : ℝ,
    Tendsto (fun t : ℝ => (flowMap X t q, flowMap X (t + s) p)) atTop (𝓝ˢ (diagonal M))}

/-- The leaf through `p` of the entrance lamination: the path component of `p` in the
intersection of the weak stable manifold of `p` with the entrance boundary. -/
def entranceLeaf (X : (x : M) → TangentSpace I3 x) (p : M) : Set M :=
  pathComponentIn (weakStableSet X p ∩ inBoundary X) p

/-- The leaf through `p` of the exit lamination (the entrance leaf for the reversed field). -/
def exitLeaf (X : (x : M) → TangentSpace I3 x) (p : M) : Set M :=
  entranceLeaf (fun x => -X x) p

/-- `A` is an attractor of `X`: a nonempty compact invariant set, contained in the maximal
invariant set, with a dense orbit, admitting a neighbourhood `U` with
`⋂_{t ≥ 0} X^t(U) = A` (where `X^t(U)` is the set of points `X^t(y)`, `y ∈ U`, whose forward
orbit is defined up to time `t`). -/
def IsAttractor (X : (x : M) → TangentSpace I3 x) (A : Set M) : Prop :=
  A.Nonempty ∧ IsCompact A ∧ A ⊆ maxInvSet X ∧ (∀ x ∈ A, ∀ t : ℝ, flowMap X t x ∈ A) ∧
    (∃ x ∈ A, A ⊆ closure (range fun t : ℝ => flowMap X t x)) ∧
    ∃ U ∈ 𝓝ˢ A, (⋂ t ∈ Ici (0 : ℝ), {y | ∃ z ∈ U, FlowDefined X z t ∧ flowMap X t z = y}) = A

/-- `A` is a repeller of `X`: an attractor of `-X`. -/
def IsRepeller (X : (x : M) → TangentSpace I3 x) (A : Set M) : Prop :=
  IsAttractor (fun x => -X x) A

/-- The maximal invariant set of `X` contains neither attractors nor repellers. -/
def NoAttractorNorRepeller (X : (x : M) → TangentSpace I3 x) : Prop :=
  ∀ A ⊆ maxInvSet X, ¬ IsAttractor X A ∧ ¬ IsRepeller X A

end AnosovPlugs
Source
F. Béguin, C. Bonatti, B. Yu, *Building Anosov flows on 3-manifolds*, Geom. Topol. 21 (2017) 1837–1930, https://doi.org/10.2140/gt.2017.21.1837, §1.2 and Definitions 3.1–3.2 (pp. 1849–1850), §3.3
Read-back

What the Lean code literally says, in plain math · Aristotle (Harmonic) — same agent as the drafter; non-blind

Non-blind read-back — not independent testimony. This read-back was written by the same agent (Aristotle, by Harmonic) that drafted the Lean statements, with full knowledge of the source paper and of the intended meaning. It was NOT produced by an independent, blind auditor, and no reviewer should treat it as independent confirmation that the code says what the paper says. Compare it against the Lean code yourself.

MMM is a charted space over the half-space H={x∈R3:x0≥0}H=\{x\in\mathbb R^3: x_0\ge0\}H={x∈R3:x0​≥0} with a C∞C^\inftyC∞ manifold structure; X(x)∈TxM≅R3X(x)\in T_xM\cong\mathbb R^3X(x)∈Tx​M≅R3 (coordinates in the chart at xxx).

  • normalCoord vvv =v0=v_0=v0​, the first coordinate of v∈R3v\in\mathbb R^3v∈R3.
  • inBoundary XXX ={x∈∂M:X(x)0>0}=\{x\in\partial M : X(x)_0>0\}={x∈∂M:X(x)0​>0}; outBoundary XXX ={x∈∂M:X(x)0<0}=\{x\in\partial M: X(x)_0<0\}={x∈∂M:X(x)0​<0}, where ∂M\partial M∂M is Mathlib's manifold boundary (points not mapped to the interior of HHH by their chart).
  • IsNonsingularTransverse XXX: X(x)≠0X(x)\neq0X(x)=0 for all xxx, and X(x)0≠0X(x)_0\neq0X(x)0​=0 for all x∈∂Mx\in\partial Mx∈∂M.
  • IsPlug XXX: XXX is C1C^1C1 and IsNonsingularTransverse XXX. No compactness is part of this definition.
  • IsAttractingPlug XXX: plug with outBoundary X=∅X=\emptysetX=∅. IsRepellingPlug XXX: plug with inBoundary X=∅X=\emptysetX=∅.
  • maxInvSet XXX ={x:∃γ:R→M, γ(0)=x, γ=\{x : \exists\gamma:\mathbb R\to M,\ \gamma(0)=x,\ \gamma={x:∃γ:R→M, γ(0)=x, γ an integral curve of XXX on all of R}\mathbb R\}R}.
  • stableSet XXX ={x:∃γ, γ(0)=x, γ=\{x:\exists\gamma,\ \gamma(0)=x,\ \gamma={x:∃γ, γ(0)=x, γ integral curve of XXX on [0,∞)}[0,\infty)\}[0,∞)}; unstableSet XXX: same on (−∞,0](-\infty,0](−∞,0].
  • IsHyperbolicPlug XXX: IsPlug XXX and IsHyperbolicSet XXX (maxInvSet XXX) (previous file: metric, lines Es,EuE^s,E^uEs,Eu, constants C,λ>0C,\lambda>0C,λ>0 with invariance and exponential estimates on Λ\LambdaΛ).
  • entranceLamination XXX === stableSet X ∩X\,\capX∩ inBoundary XXX; exitLamination XXX === unstableSet X ∩X\,\capX∩ outBoundary XXX.
  • weakStableSet X pX\,pXp ={q∈=\{q\in={q∈ stableSet X:∃s∈R, (flowMap X t q, flowMap X (t+s) p)→X : \exists s\in\mathbb R,\ (\mathrm{flowMap}\,X\,t\,q,\ \mathrm{flowMap}\,X\,(t+s)\,p)\toX:∃s∈R, (flowMapXtq, flowMapX(t+s)p)→ diagonal as t→+∞}t\to+\infty\}t→+∞}, where "tends to the diagonal" means eventually inside every neighbourhood of the diagonal of M×MM\times MM×M. No condition is put on ppp (if ppp is not forward complete, flowMap returns ppp at undefined times).
  • entranceLeaf X pX\,pXp is the path component of ppp inside (weakStableSet X pX\,pXp) ∩\cap∩ (inBoundary XXX) (empty if ppp is not in that set). exitLeaf X pX\,pXp is entranceLeaf of the field −X-X−X at ppp.
  • IsAttractor X AX\,AXA: AAA nonempty, compact, A⊆A\subseteqA⊆ maxInvSet XXX, flowMap X tX\,tXt maps AAA into AAA for all real ttt, some x∈Ax\in Ax∈A has A⊆{flowMap X t x:t∈R}‾A\subseteq\overline{\{\mathrm{flowMap}\,X\,t\,x:t\in\mathbb R\}}A⊆{flowMapXtx:t∈R}​, and some neighbourhood UUU of AAA satisfies
⋂t≥0{flowMap X t z:z∈U, FlowDefined X z t}=A.\bigcap_{t\ge0}\{\mathrm{flowMap}\,X\,t\,z : z\in U,\ \mathrm{FlowDefined}\,X\,z\,t\}=A.t≥0⋂​{flowMapXtz:z∈U, FlowDefinedXzt}=A.
  • IsRepeller X AX\,AXA: IsAttractor (−X) A(-X)\,A(−X)A.
  • NoAttractorNorRepeller XXX: no subset of maxInvSet XXX is an attractor or a repeller of XXX.
Human review
  • Endorsed by Shuze Chen · Oct 1, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Lucas · Oct 1, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paperProve2Me Team
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me