Documentation

Atlas.DifferentialGeometry.code.ClosedCurves

structure ClosedCurves.IsClosedCurve (c : Fin 2) (T : ) :
Instances For
    def ClosedCurves.IsSimpleClosedCurve (c : Fin 2) (T : ) :
    Instances For
      def ClosedCurves.IsConvexCurve (c : Fin 2) (T : ) :
      Instances For
        noncomputable def ClosedCurves.toEuclidean (c : Fin 2) :
        Instances For
          noncomputable def ClosedCurves.curvature (c : Fin 2) (t : ) :
          Instances For
            noncomputable def ClosedCurves.totalCurvature (c : Fin 2) (T : ) :
            Instances For
              theorem ClosedCurves.curvature_comp_reparam (c : Fin 2) (φ : ) (hc : ContDiff c) ( : ContDiff φ) (hφ_pos : ∀ (t : ), 0 < deriv φ t) (hreg : ∀ (t : ), deriv c (φ t) 0) (t : ) :
              curvature (c φ) t = curvature c (φ t)
              theorem ClosedCurves.totalCurvature_integrand_periodic (c : Fin 2) (T : ) (hc : ContDiff c) (hperiodic : ∀ (t : ), c (t + T) = c t) :
              theorem ClosedCurves.curvature_comp_continuous (c : Fin 2) (φ : ) (hc : ContDiff c) ( : ContDiff φ) (hreg : ∀ (s : ), deriv c (φ s) 0) :
              Continuous fun (s : ) => curvature c (φ s)
              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.deriv_periodic_of_closed (c : Fin 2) (T : ) (hc : IsClosedCurve c T) (t : ) :
              deriv c (t + T) = deriv c t
              theorem ClosedCurves.norm_deriv_periodic_of_closed (c : Fin 2) (T : ) (hc : IsClosedCurve c T) (t : ) :
              theorem ClosedCurves.unit_speed_reparam_closed (c : Fin 2) (T : ) (hc : IsClosedCurve c T) :
              have L := (t : ) in 0..T, deriv c t; ∃ (d : Fin 2), IsClosedCurve d L (∀ (t : ), deriv d t = 1) totalCurvature d L = totalCurvature c T
              noncomputable def ClosedCurves.unitTangent (c : Fin 2) (t : ) :
              Fin 2
              Instances For
                noncomputable def ClosedCurves.rotationNumber (c : Fin 2) (T : ) :
                Instances For
                  theorem ClosedCurves.unitTangent_smooth (c : Fin 2) (hc : ContDiff c) (hreg : ∀ (t : ), deriv c t 0) :
                  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.det2_unitTangent_deriv_eq_curvature_speed (c : Fin 2) (t : ) (p : Fin 2) (hsmooth : ContDiff c) (hc' : deriv c t 0) (hfp : unitTangent c t = p) :
                  theorem ClosedCurves.norm_deriv_toEuclidean_pos (c : Fin 2) (t : ) (hsmooth : ContDiff c) (hc' : deriv c t 0) :
                  theorem ClosedCurves.sign_det2_unitTangent_eq_sign_curvature (c : Fin 2) (t : ) (p : Fin 2) (hsmooth : ContDiff c) (hc' : deriv c t 0) (hfp : unitTangent c t = p) :
                  theorem ClosedCurves.unitTangent_eq_e1_iff (c : Fin 2) (t : ) (hsmooth : ContDiff c) (hc' : deriv c t 0) :
                  (unitTangent c t = fun (i : Fin 2) => if i = 0 then 1 else 0) deriv c t 1 = 0 deriv c t 0 > 0
                  theorem ClosedCurves.rotation_number_eq_signed_curvature_sum (c : Fin 2) (T : ) (hc : IsClosedCurve c T) (specialPts : Finset ) (hpts_range : tspecialPts, 0 t t < T) (hpts_cond : tspecialPts, deriv c t 1 = 0 deriv c t 0 > 0) (hpts_complete : ∀ (t : ), 0 tt < Tderiv c t 1 = 0deriv c t 0 > 0t specialPts) (hcurv_ne : tspecialPts, curvature c t 0) :
                  rotationNumber c T = tspecialPts, (curvature c t).sign
                  theorem ClosedCurves.convex_iff_curvature_no_sign_change (c : Fin 2) (T : ) (hc : IsSimpleClosedCurve c T) :
                  IsConvexCurve c T (∀ (t : ), curvature c t 0) ∀ (t : ), curvature c t 0
                  noncomputable def ClosedCurves.det2 (a b : Fin 2) :
                  Instances For
                    theorem ClosedCurves.whitney_formula (c : Fin 2) (T : ) (hc : IsClosedCurve c T) (hmin : ∀ (t : ), c 0 1 c t 1) (crossings : Finset ( × )) (hcross : pcrossings, 0 p.1 p.1 < p.2 p.2 < T c p.1 = c p.2) (hcross_complete : ∀ (s t : ), 0 ss < tt < Tc s = c t(s, t) crossings) (hnormal : pcrossings, det2 (deriv c p.1) (deriv c p.2) 0) :
                    totalCurvature c T / (2 * Real.pi) = (deriv c 0 0).sign - pcrossings, (det2 (deriv c p.1) (deriv c p.2)).sign
                    theorem ClosedCurves.totalCurvature_shift (c : Fin 2) (T t₀ : ) (hc : IsClosedCurve c T) :
                    totalCurvature (fun (t : ) => c (t + t₀)) T = totalCurvature c T
                    theorem ClosedCurves.periodic_global_min_of_minOn {f : } {T t₀ : } (hT : 0 < T) (hper : Function.Periodic f T) (hmin : IsMinOn f (Set.Icc 0 T) t₀) (s : ) :
                    f t₀ f s
                    theorem ClosedCurves.curvature_integrand_continuous (c : Fin 2) (hc : ContDiff c) (hreg : ∀ (t : ), deriv c t 0) :
                    theorem ClosedCurves.toEuclidean_deriv_eq_zero (c : Fin 2) (hc : ContDiff c) (t : ) :
                    deriv (toEuclidean c) t = 0 deriv c t = 0
                    theorem ClosedCurves.angularVelocity_unitTangent_pos (c : Fin 2) (t : ) (hc : ContDiff c) (hreg : ∀ (t : ), deriv c t 0) (hκ_pos : curvature c t > 0) :
                    theorem ClosedCurves.angle_function_period_shift (c : Fin 2) (T : ) (θ : ) (hc : IsClosedCurve c T) (hpos : ∀ (t : ), curvature c t > 0) ( : DegreeTheory.IsAngleFunction (unitTangent c) θ) (htc : totalCurvature c T = 2 * Real.pi) (t : ) :
                    θ (t + T) = θ t + 2 * Real.pi
                    theorem ClosedCurves.angle_reparam_inverse_period (φ θ : ) (T : ) (hleft : Function.LeftInverse φ θ) (hright : Function.RightInverse φ θ) (hθ_shift : ∀ (t : ), θ (t + T) = θ t + 2 * Real.pi) {t : } :
                    φ (t + 2 * Real.pi) = φ t + T
                    theorem ClosedCurves.angle_reparam_inverse_deriv_pos (θ φ : ) (hθ_pos : ∀ (t : ), 0 < deriv θ t) (hleft : Function.LeftInverse φ θ) (hright : Function.RightInverse φ θ) (hderiv : ∀ (t : ), deriv φ (θ t) = (deriv θ t)⁻¹) (t : ) :
                    deriv φ t > 0
                    theorem ClosedCurves.comp_deriv_ne_zero (c : Fin 2) (φ : ) (hc : ContDiff c) ( : ContDiff φ) {t : } (hreg : deriv c (φ t) 0) (hφ_ne : deriv φ t 0) :
                    deriv (c φ) t 0
                    theorem ClosedCurves.unit_tangent_angle_reparam (c : Fin 2) (φ θ : ) (t : ) (hc : ContDiff c) ( : ContDiff φ) (hreg : ∀ (s : ), deriv c s 0) (hφ_pos : ∀ (s : ), deriv φ s > 0) ( : DegreeTheory.IsAngleFunction (unitTangent c) θ) (hleft : Function.LeftInverse φ θ) :