FormalConjectures/Millennium/Poincare.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Formal Conjectures paper, arXiv v1
12 declarations, 9 contain sorry, 0 declared as axioms
The Poincaré Conjecture
References:
The formalisations in this file are based on the ones written by Junyan Xu in Mathlib4.
Imports (1)
Imported by 1 file
- def
PoincareConjecture.ConjectureForThe predicate that the generalized Poincaré conjecture holds in dimension line 45 sourceSource documentation
The predicate that the generalized Poincaré conjecture holds in dimension $n$, i.e. that any $n$-dimensional manifold that is homotopy equivalent to the sphere is in fact homeomorphic to the sphere.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
TopologicalSpace,T2Space,ChartedSpace,EuclideanSpace,Real,Fin,OfNat.ofNat,ENNReal,ContinuousMap.HomotopyEquiv,HAdd.hAdd,Metric.sphere,Membership.mem,Set,Nonempty,Homeomorph29 instances, coercions and auxiliary constants left out.
def ConjectureFor (n : ℕ) : Prop := …
- theorem
PoincareConjecture.poincare_conjectureThe Millennium Problem, solved by Grigori Perelman in 2003: the Poincaré Conjecture holds sorry line 52 sourceSource documentation
The Millennium Problem, solved by Grigori Perelman in 2003: the Poincaré Conjecture holds.
depends on sorry what this means
Statement uses: PoincareConjecture.ConjectureFor,
OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem poincare_conjecture : ConjectureFor 3 := by …
Mentions: PoincareConjecture.ConjectureFor
- theorem
PoincareConjecture.poincare_conjecture.variants.dimension_twoThe Generalized Poincaré Conjecture holds for surfaces sorry line 59 sourceSource documentation
The Generalized Poincaré Conjecture holds for surfaces.
depends on sorry what this means
Statement uses: PoincareConjecture.ConjectureFor,
OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem poincare_conjecture.variants.dimension_two : ConjectureFor 2 := by …
Mentions: PoincareConjecture.ConjectureFor
- theorem
PoincareConjecture.poincare_conjecture.variants.dimension_ge_fiveThe Generalized Poincaré Conjecture holds for dimensions at least 5 sorry line 66 sourceSource documentation
The Generalized Poincaré Conjecture holds for dimensions at least 5.
depends on sorry what this means
Statement uses:
Nat,LE.le,OfNat.ofNat, PoincareConjecture.ConjectureForProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem poincare_conjecture.variants.dimension_ge_five (n : ℕ) (hn : 5 ≤ n) : ConjectureFor n := by …
Mentions: PoincareConjecture.ConjectureFor
- theorem
PoincareConjecture.poincare_conjecture.variants.dimension_fourThe Generalized Poincaré Conjecture holds in dimension 4 sorry line 73 sourceSource documentation
The Generalized Poincaré Conjecture holds in dimension 4.
depends on sorry what this means
Statement uses: PoincareConjecture.ConjectureFor,
OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem poincare_conjecture.variants.dimension_four : ConjectureFor 4 := by …
Mentions: PoincareConjecture.ConjectureFor
- def
PoincareConjecture.SmoothConjectureForThe predicate that the smooth Poincaré conjecture holds in dimension line 81 sourceSource documentation
The predicate that the smooth Poincaré conjecture holds in dimension $n$, i.e. that any smooth $n$-dimensional manifold that is homotopy equivalent to the sphere is in fact diffeomorphic to the sphere. As in
ConjectureFor, the manifold must be Hausdorff:ChartedSpaceandIsManifolddo not imply this, and in every positive dimension there is a non-Hausdorff smooth manifold that is homotopy equivalent to the sphere.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
NatProof uses:
TopologicalSpace,T2Space,ChartedSpace,EuclideanSpace,Real,Fin,OfNat.ofNat,ENNReal,IsManifold,modelWithCornersSelf,ENat,Top.top,ContinuousMap.HomotopyEquiv,HAdd.hAdd,Metric.sphere,Membership.mem,Set,Nonempty,Diffeomorph48 instances, coercions and auxiliary constants left out.
def SmoothConjectureFor (n : ℕ) : Prop := …
- theorem
PoincareConjecture.poincare_conjecture.variants.smooth_for_threeA reformulation of the Millennium Problem in terms of smooth 3-folds sorry line 87 sourceSource documentation
A reformulation of the Millennium Problem in terms of smooth 3-folds.
depends on sorry what this means
Statement uses: PoincareConjecture.SmoothConjectureFor,
OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem poincare_conjecture.variants.smooth_for_three : SmoothConjectureFor 3 := by …
Mentions: PoincareConjecture.SmoothConjectureFor
- theorem
PoincareConjecture.poincare_conjecture.variants.smooth_implicationThe smooth formulation of the Millennium Problem implies the general case sorry line 93 sourceSource documentation
The smooth formulation of the Millennium Problem implies the general case. This follows from the fact that every topological 3-fold admits a smooth structure [mo296171].
depends on sorry what this means
Statement uses: PoincareConjecture.SmoothConjectureFor,
OfNat.ofNat,Nat, PoincareConjecture.ConjectureForProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem poincare_conjecture.variants.smooth_implication (H : SmoothConjectureFor 3) : ConjectureFor 3 := by …Mentions: PoincareConjecture.SmoothConjectureFor, PoincareConjecture.ConjectureFor
- def
PoincareConjecture.SmoothTrueValuesThe values at which the smooth version of the conjecture is known to hold line 98 sourceSource documentation
The values at which the smooth version of the conjecture is known to hold.
no axioms what this means
Statement uses:
Set,NatProof uses:
Insert.insert,OfNat.ofNat,Singleton.singleton3 instances, coercions and auxiliary constants left out.
def SmoothTrueValues : Set ℕ := {1, 2, 3, 5, 6, 12, 56, 61} … - theorem
PoincareConjecture.poincare_conjecture.variants.smooth_known_casesThe smooth version of the Poincaré conjecture is known to hold in dimensions $1, 2, 3, 5, 6, 12, 56, 61$ sorry line 103 sourceSource documentation
The smooth version of the Poincaré conjecture is known to hold in dimensions $1, 2, 3, 5, 6, 12, 56, 61$. See [Wang2017].
depends on sorry what this means
Statement uses:
Nat,Membership.mem,Set, PoincareConjecture.SmoothTrueValues, PoincareConjecture.SmoothConjectureForProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous,OfNat.ofNat3 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem poincare_conjecture.variants.smooth_known_cases (n : ℕ) (hn : n ∈ SmoothTrueValues) : SmoothConjectureFor n := by …Mentions: PoincareConjecture.SmoothTrueValues, PoincareConjecture.SmoothConjectureFor
- theorem
PoincareConjecture.poincare_conjecture.variants.smooth_dimension_fourThe four dimensional case of the smooth version of the conjecture is still open sorry line 110 sourceSource documentation
The four dimensional case of the smooth version of the conjecture is still open. See [Wang2017].
depends on sorry what this means
Statement uses: PoincareConjecture.SmoothConjectureFor,
OfNat.ofNat,NatProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous2 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem poincare_conjecture.variants.smooth_dimension_four : SmoothConjectureFor 4 := by …
Mentions: PoincareConjecture.SmoothConjectureFor
- theorem
PoincareConjecture.poincare_conjecture.variants.smooth_other_casesIt is conjectured that the only values of $n > 4$ for which the smooth version of the conjecture holds are $n = 5, 6, 12, 56, 61$ sorry line 116 sourceSource documentation
It is conjectured that the only values of $n > 4$ for which the smooth version of the conjecture holds are $n = 5, 6, 12, 56, 61$. See Conjecture 1.17 in [Wang2017].
depends on sorry what this means
Statement uses:
Nat,GT.gt,OfNat.ofNat,Not,Membership.mem,Set, PoincareConjecture.SmoothTrueValues, PoincareConjecture.SmoothConjectureForProof uses:
sorryAx,Lean.Name,Bool.false,Lean.Name.num,Lean.Name.str,Lean.Name.anonymous6 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
theorem poincare_conjecture.variants.smooth_other_cases (n : ℕ) (hn : n > 4) (hn' : n ∉ SmoothTrueValues) : ¬ SmoothConjectureFor n := by …Mentions: PoincareConjecture.SmoothTrueValues, PoincareConjecture.SmoothConjectureFor