Instances For
theorem
ClosedCurves.totalCurvature_reparam_eq
(c : ℝ → Fin 2 → ℝ)
(φ ψ : ℝ → ℝ)
(T : ℝ)
(hc_smooth : ContDiff ℝ ⊤ c)
(hφ_smooth : ContDiff ℝ ⊤ φ)
(hψ_smooth : ContDiff ℝ ⊤ ψ)
(hφ_left : Function.LeftInverse φ ψ)
(hφ_right : Function.RightInverse φ ψ)
(hψ_deriv : ∀ (t : ℝ), deriv ψ t = ‖deriv c t‖)
(hψ_pos : ∀ (t : ℝ), 0 < deriv ψ t)
(hψ_periodic_shift : ∀ (t : ℝ), ψ (t + T) = ψ t + ∫ (u : ℝ) in 0..T, ‖deriv c u‖)
(hd_unit : ∀ (t : ℝ), ‖deriv (c ∘ φ) t‖ = 1)
(hc_periodic : ∀ (t : ℝ), c (t + T) = c t)
:
theorem
ClosedCurves.curvature_speed_eq_det2_unitTangent
(c : ℝ → Fin 2 → ℝ)
(t : ℝ)
(hsmooth : ContDiff ℝ ⊤ c)
(hc' : deriv c t ≠ 0)
:
curvature c t * ‖deriv (toEuclidean c) t‖ = DegreeTheory.det2 (unitTangent c t) (deriv (unitTangent c) t)
theorem
ClosedCurves.total_curvature_eq_two_pi_degree
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(hc : IsClosedCurve c T)
:
theorem
ClosedCurves.rotationNumber_eq_degree
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(hc : IsClosedCurve c T)
:
theorem
ClosedCurves.unitTangent_on_unit_circle
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(hc : IsClosedCurve c T)
:
theorem
ClosedCurves.unitTangent_periodic
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(hc : IsClosedCurve c T)
(t : ℝ)
:
theorem
ClosedCurves.rotationNumber_is_integer
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(hc : IsClosedCurve c T)
:
∃ (k : ℤ), rotationNumber c T = ↑k
theorem
ClosedCurves.rotation_number_eq_signed_curvature_sum
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(hc : IsClosedCurve c T)
(specialPts : Finset ℝ)
(hpts_range : ∀ t ∈ specialPts, 0 ≤ t ∧ t < T)
(hpts_cond : ∀ t ∈ specialPts, deriv c t 1 = 0 ∧ deriv c t 0 > 0)
(hpts_complete : ∀ (t : ℝ), 0 ≤ t → t < T → deriv c t 1 = 0 → deriv c t 0 > 0 → t ∈ specialPts)
(hcurv_ne : ∀ t ∈ specialPts, curvature c t ≠ 0)
:
theorem
ClosedCurves.whitney_formula
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(hc : IsClosedCurve c T)
(hmin : ∀ (t : ℝ), c 0 1 ≤ c t 1)
(crossings : Finset (ℝ × ℝ))
(hcross : ∀ p ∈ crossings, 0 ≤ p.1 ∧ p.1 < p.2 ∧ p.2 < T ∧ c p.1 = c p.2)
(hcross_complete : ∀ (s t : ℝ), 0 ≤ s → s < t → t < T → c s = c t → (s, t) ∈ crossings)
(hnormal : ∀ p ∈ crossings, det2 (deriv c p.1) (deriv c p.2) ≠ 0)
:
theorem
ClosedCurves.totalCurvature_simple_closed_eq_pm_two_pi
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(hc : IsSimpleClosedCurve c T)
:
theorem
ClosedCurves.rotationNumber_ne_zero_general
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(hc : IsClosedCurve c T)
:
theorem
ClosedCurves.angle_function_hasDerivAt_angularVelocity
(c : ℝ → Fin 2 → ℝ)
(θ : ℝ → ℝ)
(hc : ContDiff ℝ ⊤ c)
(hreg : ∀ (t : ℝ), deriv c t ≠ 0)
(hθ : DegreeTheory.IsAngleFunction (unitTangent c) θ)
(t : ℝ)
:
HasDerivAt θ (DegreeTheory.angularVelocity (unitTangent c) t) t
theorem
ClosedCurves.angle_function_period_shift
(c : ℝ → Fin 2 → ℝ)
(T : ℝ)
(θ : ℝ → ℝ)
(hc : IsClosedCurve c T)
(hpos : ∀ (t : ℝ), curvature c t > 0)
(hθ : DegreeTheory.IsAngleFunction (unitTangent c) θ)
(htc : totalCurvature c T = 2 * Real.pi)
(t : ℝ)
: