Documentation

Atlas.DifferentialGeometry.code.FourVertex

theorem SturmHurwitz.sin_half_diff_ne_zero {t₁ t₂ : } (ht₁ : t₁ Set.Ico 0 (2 * Real.pi)) (ht₂ : t₂ Set.Ico 0 (2 * Real.pi)) (hne : t₁ t₂) :
Real.sin ((t₁ - t₂) / 2) 0
theorem SturmHurwitz.sturm_hurwitz (f : ) (hcont : Continuous f) (hper : ∀ (t : ), f (t + 2 * Real.pi) = f t) (h0 : (t : ) in 0..2 * Real.pi, f t = 0) (hcos : (t : ) in 0..2 * Real.pi, f t * Real.cos t = 0) (hsin : (t : ) in 0..2 * Real.pi, f t * Real.sin t = 0) :
∃ (t₁ : ) (t₂ : ) (t₃ : ) (t₄ : ), 0 t₁ t₁ < t₂ t₂ < t₃ t₃ < t₄ t₄ < 2 * Real.pi f t₁ = 0 f t₂ = 0 f t₃ = 0 f t₄ = 0
theorem SturmHurwitz.periodic_deriv (g : ) (hdiff : Differentiable g) (hper : ∀ (t : ), g (t + 2 * Real.pi) = g t) (t : ) :
deriv g (t + 2 * Real.pi) = deriv g t
theorem SturmHurwitz.ibp_deriv_cos (g : ) (hdiff : Differentiable g) (hcont_g' : Continuous (deriv g)) (hcont_g : Continuous g) (hper : ∀ (t : ), g (t + 2 * Real.pi) = g t) :
(t : ) in 0..2 * Real.pi, deriv g t * Real.cos t = (t : ) in 0..2 * Real.pi, g t * Real.sin t
theorem SturmHurwitz.ibp_deriv_sin (g : ) (hdiff : Differentiable g) (hcont_g' : Continuous (deriv g)) (hcont_g : Continuous g) :
(t : ) in 0..2 * Real.pi, deriv g t * Real.sin t = - (t : ) in 0..2 * Real.pi, g t * Real.cos t
theorem SturmHurwitz.h_plus_h''_four_critical_points (h : ) (hsmooth : ContDiff h) (hper : ∀ (t : ), h (t + 2 * Real.pi) = h t) :
∃ (t₁ : ) (t₂ : ) (t₃ : ) (t₄ : ), 0 t₁ t₁ < t₂ t₂ < t₃ t₃ < t₄ t₄ < 2 * Real.pi deriv (fun (t : ) => h t + deriv (deriv h) t) t₁ = 0 deriv (fun (t : ) => h t + deriv (deriv h) t) t₂ = 0 deriv (fun (t : ) => h t + deriv (deriv h) t) t₃ = 0 deriv (fun (t : ) => h t + deriv (deriv h) t) t₄ = 0
theorem FourVertex.angle_parametrization (c : Fin 2) (T : ) (hc : ClosedCurves.IsSimpleClosedCurve c T) (hpos : ∀ (t : ), ClosedCurves.curvature c t > 0) :
∃ (d : Fin 2), ClosedCurves.IsClosedCurve d (2 * Real.pi) (∀ (t : ), ClosedCurves.curvature d t > 0) (∀ (t : ), deriv d t⁻¹ deriv d t = ![Real.cos t, Real.sin t]) ∀ (t : ), ClosedCurves.curvature d t = deriv d t⁻¹
theorem FourVertex.four_vertex_from_lemmas (c : Fin 2) (T : ) (d : Fin 2) (hc : ClosedCurves.IsSimpleClosedCurve c T) (hpos : ∀ (t : ), ClosedCurves.curvature c t > 0) (hsmooth_κ : ContDiff (ClosedCurves.curvature c)) (hd_closed : ClosedCurves.IsClosedCurve d (2 * Real.pi)) (hd_pos : ∀ (t : ), ClosedCurves.curvature d t > 0) (hd_unit : ∀ (t : ), deriv d t⁻¹ deriv d t = ![Real.cos t, Real.sin t]) (hd_κ : ∀ (t : ), ClosedCurves.curvature d t = deriv d t⁻¹) :
∃ (t₁ : ) (t₂ : ) (t₃ : ) (t₄ : ), 0 t₁ t₁ < t₂ t₂ < t₃ t₃ < t₄ t₄ < T deriv (ClosedCurves.curvature c) t₁ = 0 deriv (ClosedCurves.curvature c) t₂ = 0 deriv (ClosedCurves.curvature c) t₃ = 0 deriv (ClosedCurves.curvature c) t₄ = 0
theorem FourVertex.four_vertex_theorem (c : Fin 2) (T : ) (hc : ClosedCurves.IsSimpleClosedCurve c T) (hpos : ∀ (t : ), ClosedCurves.curvature c t > 0) (hsmooth_κ : ContDiff (ClosedCurves.curvature c)) :
∃ (t₁ : ) (t₂ : ) (t₃ : ) (t₄ : ), 0 t₁ t₁ < t₂ t₂ < t₃ t₃ < t₄ t₄ < T deriv (ClosedCurves.curvature c) t₁ = 0 deriv (ClosedCurves.curvature c) t₂ = 0 deriv (ClosedCurves.curvature c) t₃ = 0 deriv (ClosedCurves.curvature c) t₄ = 0