The angular clock on an entire positive-clock interval
ProvedBianchiIX.exists_scaled_coreAngle_reparametrizationFor real variables , set
The shear components and wall rates are
These functions define the normalized vacuum Bianchi IX vector field . For , define
and .
For , put
For , set and
Write for the normalized vector field and for its constraint.
The normalized and projective state spaces are and with their finite-product norms. The maps act on these state spaces.
Define the core radius, angle, and clock factor by
For , write , , and . All quotients use the total convention .
The core state space is with coordinates . Define
For fixed put , , , and define
Let be open and convex, with . Suppose is continuous and strictly positive on , and satisfies
There is an open partial homeomorphism with source and open convex target , such that , , is strictly increasing on , and
For , set . Then
import Definitions.Def_BianchiIX_Dynamics_IntegralClock import Definitions.Def_BianchiIX_Algebra_Projective import Definitions.Def_BianchiIX_Algebra_CoreAngle import Definitions.Def_BianchiIX_Dynamics_ProjectiveState import Definitions.Def_BianchiIX_Dynamics_CoreAngle import Mathlib.Analysis.Calculus.Deriv.Pow import Mathlib.Analysis.Calculus.Deriv.Mul import Mathlib.Analysis.Calculus.Deriv.Add import Mathlib.Analysis.Real.Sqrt import Mathlib.Tactic.Linarith import Mathlib.Tactic.Ring import Mathlib.Analysis.SpecialFunctions.Arsinh import Mathlib.Analysis.SpecialFunctions.Sqrt import Mathlib.Tactic.FieldSimp import Mathlib.Analysis.Calculus.ContDiff.Operations import Mathlib.Analysis.Calculus.Deriv.Prod import Mathlib.Analysis.Calculus.MeanValue import Mathlib.Data.Fin.VecNotation import Mathlib.Tactic.FinCases import Mathlib.Tactic.FunProp import Mathlib.Analysis.Calculus.Deriv.Inv import Mathlib.Tactic.LinearCombination import Mathlib.Analysis.SpecialFunctions.Arcosh import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus import Mathlib.Analysis.Calculus.InverseFunctionTheorem.Deriv import Mathlib.Analysis.Calculus.Deriv.MeanValue import Mathlib.Analysis.SpecialFunctions.Pow.Deriv import Mathlib.Analysis.SpecialFunctions.Integrals.Basic import Mathlib.Analysis.ODE.ExistUnique import Mathlib.Analysis.Calculus.FDeriv.Partial noncomputable section open BianchiIX open Set
theorem BianchiIX.exists_scaled_coreAngle_reparametrization {β : ℝ → ProjectiveState} {a : ℝ → ℝ}
{I : Set ℝ} {s : ℝ} (hI : Convex ℝ I) (ho : IsOpen I) (hs : s ∈ I)
(ha : ContinuousOn a I) (ha_pos : ∀ t ∈ I, 0 < a t)
(hβ : ∀ t ∈ I, HasDerivAt β (a t • projectiveField (β t)) t)
(hv : ∀ t ∈ I, 0 < β t 2)
(hd : ∀ t ∈ I, 0 < coreClockFactor (coreRadius (β t 0) (β t 2)) (β t 1) (β t 3)) :
∃ e : OpenPartialHomeomorph ℝ ℝ,
e.source = I ∧
(∀ t ∈ I, e t = coreAngle (β t 0) (β t 2) - coreAngle (β s 0) (β s 2)) ∧
Convex ℝ e.target ∧ 0 ∈ e.target ∧ e.symm 0 = s ∧ StrictMonoOn e I ∧
(∀ z ∈ e.target,
coreAngle (β (e.symm z) 0) (β (e.symm z) 2) = z + coreAngle (β s 0) (β s 2) ∧
HasDerivAt (fun u => toCoreAngleState (β (e.symm u)))
(coreAngleField (z + coreAngle (β s 0) (β s 2)) (toCoreAngleState (β (e.symm z)))) z ∧
fromCoreAngleState (z + coreAngle (β s 0) (β s 2)) (toCoreAngleState (β (e.symm z))) = β (e.symm z)) := by sorry