Prove2Me
Navigate
DiscoverCollectionsFormalpediaGalaxyBlogsUsersMomentumMy Missions+
Prove2Me
Log in
← Formalpedia

Anosov plugs V: glued manifolds, strong isotopy, combinatorial transitivity

Definition
AnosovPlugs_Gluing

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

3-manifoldsanosov-flowsdynamical-systemshyperbolic-dynamics
  1. Self-gluing (§1.3). (N,Z)(N,Z)(N,Z) is U/φU/\varphiU/φ with the vector field induced by XXX if there is a surjective C¹ immersion q:U→Nq:U\to Nq:U→N with q(x)=q(y)q(x)=q(y)q(x)=q(y) iff x=yx=yx=y or one of them lies in ∂outU\partial^{out}U∂outU and is sent to the other by φ\varphiφ, and Dqx(X(x))=Z(q(x))Dq_x(X(x))=Z(q(x))Dqx​(X(x))=Z(q(x)) for all xxx.
  2. Gluing of two plugs (Proposition 1.1). (W,Z)(W,Z)(W,Z) is (U⊔V)/φ(U\sqcup V)/\varphi(U⊔V)/φ (gluing Tout⊆∂outUT^{out}\subseteq\partial^{out}UTout⊆∂outU to Tin⊆∂inVT^{in}\subseteq\partial^{in}VTin⊆∂inV) if there are C¹ embeddings iU,iVi_U,i_ViU​,iV​ into WWW covering WWW, with iU(x)=iV(y)i_U(x)=i_V(y)iU​(x)=iV​(y) iff x∈Toutx\in T^{out}x∈Tout and y=φ(x)y=\varphi(x)y=φ(x), mapping XXX and YYY to ZZZ.
  3. Strong isotopy (Definition 3.28). (U,X0,φ0)(U,X_0,\varphi_0)(U,X0​,φ0​) and (U,X1,φ1)(U,X_1,\varphi_1)(U,X1​,φ1​) are strongly isotopic if they are joined by a path (Xt,φt)t∈[0,1](X_t,\varphi_t)_{t\in[0,1]}(Xt​,φt​)t∈[0,1]​ of hyperbolic plugs with filling MS laminations and strongly transverse gluing maps, the vector fields varying continuously in the C¹ topology and the gluing maps continuously.
  4. Basic pieces: nonempty closed invariant subsets of the nonwandering set Ω\OmegaΩ, open in Ω\OmegaΩ, with a dense orbit.
  5. Combinatorial transitivity (§1.3). The oriented graph PPP has the basic pieces as vertices and an edge Λi→Λj\Lambda_i\to\Lambda_jΛi​→Λj​ if Wu(Λi)W^u(\Lambda_i)Wu(Λi​) meets Ws(Λj)W^s(\Lambda_j)Ws(Λj​) or φ(Wu(Λi)∩∂outU)\varphi(W^u(\Lambda_i)\cap\partial^{out}U)φ(Wu(Λi​)∩∂outU) meets Ws(Λj)∩∂inUW^s(\Lambda_j)\cap\partial^{in}UWs(Λj​)∩∂inU. (U,X,φ)(U,X,\varphi)(U,X,φ) is combinatorially transitive if PPP is strongly connected.

Formalization Note The paper writes "WXu(Λj)∩∂inUW^u_X(\Lambda_j)\cap\partial^{in}UWXu​(Λj​)∩∂inU" in the second edge condition; since unstable sets do not meet the entrance boundary, this is read as WXs(Λj)W^s_X(\Lambda_j)WXs​(Λj​). "Any two edges" in the paper's definition of strong connectedness is read as "any two vertices". The glued manifold is characterised by these maps rather than built as a quotient type; the vector field ZZZ is not required to be C¹ (the induced field is only continuous for some smooth structures when X,φX,\varphiX,φ are only C¹).

Definition code
import Mathlib
import Definitions.Def_AnosovPlugs_Laminations

/-!
Béguin–Bonatti–Yu, *Building Anosov flows on 3-manifolds*, Geom. Topol. 21 (2017).
Glued manifolds and induced vector fields (Proposition 1.1, §1.3, Lemma 3.27), strong isotopy
(§1.3, Definition 3.28), basic pieces and combinatorial transitivity (§1.3).
-/

open scoped Manifold ContDiff Topology
open Set Filter Function

namespace AnosovPlugs

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

/-- `(N, Z)` is the manifold `U/φ` obtained from `U` by gluing the exit boundary of `X` to the
entrance boundary by `φ`, endowed with the vector field induced by `X`: the map `q : U → N` is
a surjective C¹ immersion identifying exactly the points `x ∈ ∂^{out} U` with `φ x`, and it
maps `X` to `Z` (`Dq_x (X x) = Z (q x)` for all `x`). -/
def IsSelfGluing (X : (x : U) → TangentSpace I3 x) (φ : U → U)
    (Z : (y : N) → TangentSpace I3 y) (q : U → N) : Prop :=
  ContMDiff I3 I3 1 q ∧ (∀ x, Injective (mfderiv I3 I3 q x)) ∧ Surjective q ∧
    (∀ x y, q x = q y ↔
      (x = y ∨ (x ∈ outBoundary X ∧ y = φ x) ∨ (y ∈ outBoundary X ∧ x = φ y))) ∧
    ∀ x, mfderiv I3 I3 q x (X x) = Z (q x)

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

/-- `(W, Z)` is the manifold `(U ⊔ V)/φ` obtained by gluing `T^{out} ⊆ ∂^{out} U` to
`T^{in} ⊆ ∂^{in} V` by `φ`, with the vector field induced by `X` and `Y`: `iU : U → W` and
`iV : V → W` are C¹ embeddings (topological embeddings with injective derivatives), their images
cover `W`, `iU x = iV y` exactly when `x ∈ T^{out}` and `y = φ x`, and they map `X`, `Y`
to `Z`. -/
def IsPlugGluing (X : (x : U) → TangentSpace I3 x) (Y : (y : V) → TangentSpace I3 y)
    (Tout : Set U) (φ : U → V) (Z : (w : W) → TangentSpace I3 w) (iU : U → W) (iV : V → W) :
    Prop :=
  ContMDiff I3 I3 1 iU ∧ ContMDiff I3 I3 1 iV ∧
    Topology.IsEmbedding iU ∧ Topology.IsEmbedding iV ∧
    (∀ x, Injective (mfderiv I3 I3 iU x)) ∧ (∀ y, Injective (mfderiv I3 I3 iV y)) ∧
    range iU ∪ range iV = univ ∧
    (∀ x y, iU x = iV y ↔ (x ∈ Tout ∧ y = φ x)) ∧
    (∀ x, mfderiv I3 I3 iU x (X x) = Z (iU x)) ∧
    (∀ y, mfderiv I3 I3 iV y (Y y) = Z (iV y))

/-- Definition 3.28: `(U, X₀, φ₀)` and `(U, X₁, φ₁)` are strongly isotopic: there is a path
`(X_t, φ_t)_{t ∈ [0,1]}` from `(X₀, φ₀)` to `(X₁, φ₁)` (the gluing maps agreeing on the exit
boundaries) such that each `(U, X_t)` is a hyperbolic plug with filling MS laminations and each
`φ_t` a strongly transverse gluing diffeomorphism for it; the path of vector fields is continuous
for the C¹ topology (the tangent maps of the sections `x ↦ X_t x` depend continuously on
`(t, v)`), and `(t, x) ↦ φ_t x` is continuous on `{(t, x) | t ∈ [0,1], x ∈ ∂^{out}_{X_t} U}`. -/
def StronglyIsotopic (X₀ : (x : U) → TangentSpace I3 x) (φ₀ : U → U)
    (X₁ : (x : U) → TangentSpace I3 x) (φ₁ : U → U) : Prop :=
  ∃ (Xt : ℝ → (x : U) → TangentSpace I3 x) (φt : ℝ → U → U),
    Xt 0 = X₀ ∧ Xt 1 = X₁ ∧ (∀ x ∈ outBoundary X₀, φt 0 x = φ₀ x) ∧
    (∀ x ∈ outBoundary X₁, φt 1 x = φ₁ x) ∧
    (∀ t ∈ Icc (0 : ℝ) 1, IsFillingHyperbolicPlug (Xt t) ∧ IsStronglyTransverseGluing (Xt t) (φt t)) ∧
    ContinuousOn (fun p : ℝ × TangentBundle I3 U =>
        tangentMap I3 I3.tangent (fun x => (⟨x, Xt p.1 x⟩ : TangentBundle I3 U)) p.2)
      (Icc 0 1 ×ˢ univ) ∧
    ContinuousOn (fun p : ℝ × U => φt p.1 p.2) {p | p.1 ∈ Icc (0 : ℝ) 1 ∧ p.2 ∈ outBoundary (Xt p.1)}

/-- The nonwandering set of `X`: points `x` such that for every neighbourhood `O` of `x` and
every `T`, some orbit segment of duration `t ≥ T` starts and ends in `O`. -/
def nonwanderingSet (X : (x : U) → TangentSpace I3 x) : Set U :=
  {x | ∀ O ∈ 𝓝 x, ∀ T : ℝ, ∃ t ≥ T, ∃ y ∈ O, FlowDefined X y t ∧ flowMap X t y ∈ O}

/-- A basic piece of `X`: a nonempty closed invariant subset of the nonwandering set `Ω`, open in
`Ω`, with a dense orbit (for hyperbolic plugs these are exactly the pieces of the spectral
decomposition of `Ω`). -/
def IsBasicPiece (X : (x : U) → TangentSpace I3 x) (B : Set U) : Prop :=
  B.Nonempty ∧ B ⊆ nonwanderingSet X ∧ IsClosed B ∧
    (∃ O : Set U, IsOpen O ∧ O ∩ nonwanderingSet X = B) ∧
    (∀ x ∈ B, ∀ t : ℝ, flowMap X t x ∈ B) ∧
    ∃ x ∈ B, B ⊆ closure (range fun t : ℝ => flowMap X t x)

/-- The stable set `W^s_X(B)` of `B`: points whose forward orbit is defined for all times and
accumulates only on `B` (converges to `B`). -/
def stableSetOf (X : (x : U) → TangentSpace I3 x) (B : Set U) : Set U :=
  {x | x ∈ stableSet X ∧ Tendsto (fun t : ℝ => flowMap X t x) atTop (𝓝ˢ B)}

/-- The unstable set `W^u_X(B)` of `B`. -/
def unstableSetOf (X : (x : U) → TangentSpace I3 x) (B : Set U) : Set U :=
  {x | x ∈ unstableSet X ∧ Tendsto (fun t : ℝ => flowMap X t x) atBot (𝓝ˢ B)}

/-- Edges of the oriented graph `P` of §1.3: from `B` to `B'` if `W^u_X(B)` meets `W^s_X(B')`,
or if `φ(W^u_X(B) ∩ ∂^{out} U)` meets `W^s_X(B') ∩ ∂^{in} U`. -/
def PieceEdge (X : (x : U) → TangentSpace I3 x) (φ : U → U) (B B' : Set U) : Prop :=
  IsBasicPiece X B ∧ IsBasicPiece X B' ∧
    ((unstableSetOf X B ∩ stableSetOf X B').Nonempty ∨
      (φ '' (unstableSetOf X B ∩ outBoundary X) ∩ (stableSetOf X B' ∩ inBoundary X)).Nonempty)

/-- `(U, X, φ)` is combinatorially transitive: the graph `P` is strongly connected. -/
def IsCombinatoriallyTransitive (X : (x : U) → TangentSpace I3 x) (φ : U → U) : Prop :=
  ∀ B B', IsBasicPiece X B → IsBasicPiece X B' → Relation.ReflTransGen (PieceEdge X φ) B B'

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, Proposition 1.1 (p. 1839), §1.3 (pp. 1841–1842), Lemma 3.27 and Definition 3.28 (p. 1862)
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.

U,N,V,WU,N,V,WU,N,V,W: charted spaces over the half-space {x0≥0}⊂R3\{x_0\ge0\}\subset\mathbb R^3{x0​≥0}⊂R3 with C∞C^\inftyC∞ structures (no compactness assumed in this file).

  • IsSelfGluing X φ Z qX\,\varphi\,Z\,qXφZq (q:U→Nq:U\to Nq:U→N): qqq is C1C^1C1; its derivative DqxDq_xDqx​ is injective at every xxx (including boundary points of UUU); qqq is surjective; for all x,yx,yx,y: q(x)=q(y)q(x)=q(y)q(x)=q(y) iff [x=yx=yx=y, or (x∈x\inx∈ outBoundary XXX and y=φ(x)y=\varphi(x)y=φ(x)), or (y∈y\iny∈ outBoundary XXX and x=φ(y)x=\varphi(y)x=φ(y))]; and Dqx(X(x))=Z(q(x))Dq_x(X(x))=Z(q(x))Dqx​(X(x))=Z(q(x)) for every xxx. No regularity of ZZZ is required.
  • IsPlugGluing X Y Tout φ Z iU iVX\,Y\,T^{out}\,\varphi\,Z\,i_U\,i_VXYToutφZiU​iV​: iU:U→Wi_U:U\to WiU​:U→W, iV:V→Wi_V:V\to WiV​:V→W are C1C^1C1, topological embeddings, with injective derivatives everywhere; range iU ∪i_U\,\cupiU​∪ range iV=Wi_V=WiV​=W; for all x,yx,yx,y: iU(x)=iV(y)i_U(x)=i_V(y)iU​(x)=iV​(y) iff x∈Toutx\in T^{out}x∈Tout and y=φ(x)y=\varphi(x)y=φ(x); DiU(X(x))=Z(iUx)Di_U(X(x))=Z(i_U x)DiU​(X(x))=Z(iU​x) and DiV(Y(y))=Z(iVy)Di_V(Y(y))=Z(i_V y)DiV​(Y(y))=Z(iV​y). (TinT^{in}Tin does not appear; nothing forces ToutT^{out}Tout to lie in the boundary here.)
  • StronglyIsotopic X0 φ0 X1 φ1X_0\,\varphi_0\,X_1\,\varphi_1X0​φ0​X1​φ1​: there are families XtX_tXt​ (vector fields on UUU) and φt:U→U\varphi_t:U\to Uφt​:U→U, t∈Rt\in\mathbb Rt∈R, with Xt=0=X0X_{t=0}=X_0Xt=0​=X0​, Xt=1=X1X_{t=1}=X_1Xt=1​=X1​ (equal as functions), φt=0=φ0\varphi_{t=0}=\varphi_0φt=0​=φ0​ on outBoundary X0X_0X0​, φt=1=φ1\varphi_{t=1}=\varphi_1φt=1​=φ1​ on outBoundary X1X_1X1​, such that for every t∈[0,1]t\in[0,1]t∈[0,1]: IsFillingHyperbolicPlug XtX_tXt​ and IsStronglyTransverseGluing Xt φtX_t\,\varphi_tXt​φt​; the map (t,v)↦(t,v)\mapsto(t,v)↦ (tangent map of the section x↦(x,Xt(x))x\mapsto(x,X_t(x))x↦(x,Xt​(x)) applied to v∈TUv\in TUv∈TU) is continuous on [0,1]×TU[0,1]\times TU[0,1]×TU; and (t,x)↦φt(x)(t,x)\mapsto\varphi_t(x)(t,x)↦φt​(x) is continuous on {(t,x):t∈[0,1], x∈\{(t,x): t\in[0,1],\ x\in{(t,x):t∈[0,1], x∈ outBoundary Xt}X_t\}Xt​}. Only C0C^0C0 continuity in ttt is asked of φt\varphi_tφt​.
  • nonwanderingSet XXX ={x:∀=\{x : \forall={x:∀ neighbourhood OOO of xxx, ∀T\forall T∀T, ∃t≥T\exists t\ge T∃t≥T, ∃y∈O\exists y\in O∃y∈O with FlowDefined X y tX\,y\,tXyt and flowMap X t y∈O}X\,t\,y\in O\}Xty∈O}.
  • IsBasicPiece X BX\,BXB: B≠∅B\neq\emptysetB=∅, B⊆B\subseteqB⊆ nonwanderingSet, BBB closed, B=O∩B=O\capB=O∩ nonwanderingSet for some open OOO, flowMap X tX\,tXt maps BBB into BBB for all real ttt, and some x∈Bx\in Bx∈B has BBB contained in the closure of its orbit.
  • stableSetOf X BX\,BXB ={x∈=\{x\in={x∈ stableSet XXX : flowMap X t x→BX\,t\,x\to BXtx→B as t→+∞}t\to+\infty\}t→+∞} (eventually in every neighbourhood of BBB); unstableSetOf: same with unstableSet and t→−∞t\to-\inftyt→−∞.
  • PieceEdge X φ B B′X\,\varphi\,B\,B'XφBB′: BBB, B′B'B′ are basic pieces and either unstableSetOf B ∩B\,\capB∩ stableSetOf B′≠∅B'\neq\emptysetB′=∅ or φ\varphiφ(unstableSetOf B ∩B\,\capB∩ outBoundary XXX) ∩\cap∩ (stableSetOf B′ ∩B'\,\capB′∩ inBoundary XXX) ≠∅\neq\emptyset=∅.
  • IsCombinatoriallyTransitive X φX\,\varphiXφ: for all basic pieces B,B′B,B'B,B′, B′B'B′ is reachable from BBB by a finite (possibly empty) chain of PieceEdge steps.
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