Fáry–Milnor theorem
AbbreviationEuclidean 3-space for the Fáry–Milnor theorem#✓fully proved
Euclidean 3-space is the real vector space \(\mathbb{R}^3\) with the Euclidean inner product and norm.
abbrev Space := EuclideanSpace ℝ (Fin 3)
DefinitionPeriod of a parametrised knot#✓fully proved
The period used for parametrised knots is the real number \(2\pi\).
def period : ℝ := 2 * Real.pi
Used by 2
DefinitionVelocity of a space curve#✓fully proved
For a curve \(r \colon \mathbb{R} \to \mathbb{R}^3\) and a real number \(t\), the velocity of \(r\) at \(t\) is its derivative \(r'(t)\), taken to be \(0\) when \(r\) is not differentiable at \(t\).
def velocity (r : ℝ → Space) (t : ℝ) : Space :=
deriv r t
abbrev Space := EuclideanSpace ℝ (Fin 3)
WantedExt/Geometry/FaryMilnorWanted.lean:77
Uses 1 · Used by 4
DefinitionAcceleration of a space curve#✓fully proved
For a curve \(r \colon \mathbb{R} \to \mathbb{R}^3\) and a real number \(t\), the acceleration of \(r\) at \(t\) is the derivative at \(t\) of its velocity \(s \mapsto r'(s)\), that is \(r''(t)\), where a derivative that does not exist is taken to be \(0\).
def acceleration (r : ℝ → Space) (t : ℝ) : Space :=
deriv (velocity r) t
abbrev Space := EuclideanSpace ℝ (Fin 3)
WantedExt/Geometry/FaryMilnorWanted.lean:77
def velocity (r : ℝ → Space) (t : ℝ) : Space :=
deriv r t
WantedExt/Geometry/FaryMilnorWanted.lean:83
Uses 2 · Used by 1
DefinitionCurvature of a space curve#✓fully proved
For a curve \(r \colon \mathbb{R} \to \mathbb{R}^3\) with velocity \(r'\) and acceleration \(r''\), the curvature of \(r\) at a real number \(t\) is \(\kappa(t) = \lVert r'(t) \times r''(t) \rVert / \lVert r'(t) \rVert^3\), where \(\times\) is the cross product and \(\lVert \cdot \rVert\) is the Euclidean norm; the quotient is \(0\) when \(r'(t) = 0\).
def curvature (r : ℝ → Space) (t : ℝ) : ℝ :=
‖toLp 2 (crossProduct (ofLp (velocity r t)) (ofLp (acceleration r t)))‖ /
‖velocity r t‖ ^ 3
abbrev Space := EuclideanSpace ℝ (Fin 3)
WantedExt/Geometry/FaryMilnorWanted.lean:77
def velocity (r : ℝ → Space) (t : ℝ) : Space :=
deriv r t
WantedExt/Geometry/FaryMilnorWanted.lean:83
def acceleration (r : ℝ → Space) (t : ℝ) : Space :=
deriv (velocity r) t
WantedExt/Geometry/FaryMilnorWanted.lean:87
Uses 3 · Used by 1
DefinitionTotal curvature of a space curve#✓fully proved
For a curve \(r \colon \mathbb{R} \to \mathbb{R}^3\) with velocity \(r'\) and curvature \(\kappa\), the total curvature of \(r\) is the arc-length integral \(\int_0^{2\pi} \kappa(t) \, \lVert r'(t) \rVert \, dt\) over one period, where the integral is taken to be \(0\) if the integrand is not integrable.
def totalCurvature (r : ℝ → Space) : ℝ :=
∫ t in (0 : ℝ)..period, curvature r t * ‖velocity r t‖
abbrev Space := EuclideanSpace ℝ (Fin 3)
WantedExt/Geometry/FaryMilnorWanted.lean:77
def curvature (r : ℝ → Space) (t : ℝ) : ℝ :=
‖toLp 2 (crossProduct (ofLp (velocity r t)) (ofLp (acceleration r t)))‖ /
‖velocity r t‖ ^ 3
WantedExt/Geometry/FaryMilnorWanted.lean:91
def velocity (r : ℝ → Space) (t : ℝ) : Space :=
deriv r t
WantedExt/Geometry/FaryMilnorWanted.lean:83
Uses 4 · Used by 1
DefinitionStandard circle#✓fully proved
The standard circle is the curve \(\mathbb{R} \to \mathbb{R}^3\) given by \(t \mapsto (\cos t, \sin t, 0)\): the unit circle centred at the origin in the \(xy\)-plane.
def standardCircle (t : ℝ) : Space :=
toLp 2 ![Real.cos t, Real.sin t, 0]
abbrev Space := EuclideanSpace ℝ (Fin 3)
WantedExt/Geometry/FaryMilnorWanted.lean:77
Uses 1 · Used by 1
StructureSmooth knot#✓fully proved
A curve \(r \colon \mathbb{R} \to \mathbb{R}^3\) is a smooth knot when it is real-analytic, periodic with period \(2\pi\), injective on \([0, 2\pi)\), and regular, that is, its velocity \(r'(t)\) is nonzero for every real number \(t\).
structure IsSmoothKnot (r : ℝ → Space) : Prop where
smooth : ContDiff ℝ ⊤ r
periodic : Function.Periodic r period
injective_on_period : Set.InjOn r (Set.Ico (0 : ℝ) period)
regular : ∀ t : ℝ, velocity r t ≠ 0
abbrev Space := EuclideanSpace ℝ (Fin 3)
WantedExt/Geometry/FaryMilnorWanted.lean:77
def period : ℝ := 2 * Real.pi
WantedExt/Geometry/FaryMilnorWanted.lean:80
def velocity (r : ℝ → Space) (t : ℝ) : Space :=
deriv r t
WantedExt/Geometry/FaryMilnorWanted.lean:83
Uses 3 · Used by 2
DefinitionUnknotted curve#✓fully proved
A curve \(r \colon \mathbb{R} \to \mathbb{R}^3\) is unknotted when there is a real-analytic map \(R \colon \mathbb{R} \times \mathbb{R} \to \mathbb{R}^3\) such that \(R(t, 0) = r(t)\) and \(R(t, 1) = (\cos t, \sin t, 0)\), the standard circle, for every real number \(t\), and for every \(s \in [0, 1]\) the curve \(t \mapsto R(t, s)\) is a smooth knot.
def IsUnknotted (r : ℝ → Space) : Prop :=
∃ R : ℝ → ℝ → Space,
ContDiff ℝ ⊤ (fun p : ℝ × ℝ => R p.1 p.2) ∧
(∀ t : ℝ, R t 0 = r t) ∧
(∀ t : ℝ, R t 1 = standardCircle t) ∧
∀ s ∈ Set.Icc (0 : ℝ) 1, IsSmoothKnot (fun t : ℝ => R t s)
abbrev Space := EuclideanSpace ℝ (Fin 3)
WantedExt/Geometry/FaryMilnorWanted.lean:77
def standardCircle (t : ℝ) : Space :=
toLp 2 ![Real.cos t, Real.sin t, 0]
WantedExt/Geometry/FaryMilnorWanted.lean:100
structure IsSmoothKnot (r : ℝ → Space) : Prop where
smooth : ContDiff ℝ ⊤ r
periodic : Function.Periodic r period
injective_on_period : Set.InjOn r (Set.Ico (0 : ℝ) period)
regular : ∀ t : ℝ, velocity r t ≠ 0
WantedExt/Geometry/FaryMilnorWanted.lean:104
Uses 3 · Used by 1
TheoremFáry–Milnor theorem#●ready to prove
Let \(r \colon \mathbb{R} \to \mathbb{R}^3\) be a smooth knot, that is, a real-analytic, \(2\pi\)-periodic curve that is injective on \([0, 2\pi)\) and has nonzero velocity everywhere. If the total curvature of \(r\) is at most \(4\pi\), then \(r\) is unknotted: there is a real-analytic isotopy from \(r\) to the standard circle through smooth knots.
public theorem_wanted fary_milnor_total_curvature
{r : ℝ → Space} (_hknot : IsSmoothKnot r)
(_hK : totalCurvature r ≤ 4 * Real.pi) :
IsUnknotted r
abbrev Space := EuclideanSpace ℝ (Fin 3)
WantedExt/Geometry/FaryMilnorWanted.lean:77
structure IsSmoothKnot (r : ℝ → Space) : Prop where
smooth : ContDiff ℝ ⊤ r
periodic : Function.Periodic r period
injective_on_period : Set.InjOn r (Set.Ico (0 : ℝ) period)
regular : ∀ t : ℝ, velocity r t ≠ 0
WantedExt/Geometry/FaryMilnorWanted.lean:104
def totalCurvature (r : ℝ → Space) : ℝ :=
∫ t in (0 : ℝ)..period, curvature r t * ‖velocity r t‖
WantedExt/Geometry/FaryMilnorWanted.lean:96
def IsUnknotted (r : ℝ → Space) : Prop :=
∃ R : ℝ → ℝ → Space,
ContDiff ℝ ⊤ (fun p : ℝ × ℝ => R p.1 p.2) ∧
(∀ t : ℝ, R t 0 = r t) ∧
(∀ t : ℝ, R t 1 = standardCircle t) ∧
∀ s ∈ Set.Icc (0 : ℝ) 1, IsSmoothKnot (fun t : ℝ => R t s)
WantedExt/Geometry/FaryMilnorWanted.lean:111
Sources
- I. Fáry, 'Sur la courbure totale d'une courbe gauche faisant un nœud', Bull. Soc. Math. France 77 (1949) 128–138; J. Milnor, 'On the total curvature of knots', Ann. of Math. (2) 52 (1950) 248–257. §161 in O. Knill, Some Fundamental Theorems in Mathematics (https://people.math.harvard.edu/~knill/graphgeometry/papers/fundamental.pdf). Problem
fary_milnorof the lean-eval benchmark.
Uses 4
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.