A growing-wall flight gives a twice differentiable first-hit map
ProvedBianchiIX.exists_growingWall_first_hit_twoFor 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.
The projective vector field in normalized time is
Write , , and let be the maximal solution of with initial value at and domain . Put
Let and define
For an observable , put and define
Suppose , , on , and . There exists with such that and are at ,
For all sufficiently near , is the least positive maximal-domain hit of height one. The full interval has positive chart rate and stays in the maximal domain, the growing wall is below one before the endpoint, and its endpoint event rate is positive.
import Definitions.Def_BianchiIX_Dynamics_Normalized import Definitions.Def_BianchiIX_Dynamics_ProjectiveState import Definitions.Def_BianchiIX_Dynamics_MaximalFlow import Definitions.Def_BianchiIX_Dynamics_Events import Definitions.Def_BianchiIX_Dynamics_ConnectionEvents 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.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.SpecialFunctions.Pow.Deriv import Mathlib.Tactic.FieldSimp import Mathlib.Analysis.SpecialFunctions.Integrals.Basic import Mathlib.Analysis.ODE.ExistUnique import Mathlib.Analysis.Calculus.FDeriv.Partial import Mathlib.Analysis.Calculus.ImplicitContDiff import Mathlib.Analysis.Calculus.Deriv.Inv import Mathlib.Tactic.LinearCombination import Mathlib.Topology.Instances.Real.Lemmas import Mathlib.Analysis.SpecialFunctions.Arsinh import Mathlib.Analysis.SpecialFunctions.Sqrt 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.MeasureTheory.Integral.IntervalIntegral.DistLEIntegral import Mathlib.Tactic.GCongr import Mathlib.Analysis.Calculus.Deriv.Slope import Mathlib.Topology.Order.OrderClosed import Mathlib.Topology.Order.IntermediateValue import Mathlib.Topology.Order.Compact import Mathlib.Tactic.NormNum noncomputable section open BianchiIX open Set Filter open scoped Topology
theorem BianchiIX.exists_growingWall_first_hit_two {x : NormalizedState} {T : ℝ} (hT : 0 < T)
(hreg : ∀ t ∈ Icc 0 T, t ∈ normalizedMaxDomain x 0 ∧ 0 < 1 + normalizedMaxCurve x 0 t 0)
(hrate : ∀ t ∈ Icc 0 T, 0 < normalizedEventRate projectiveGrowingWall x 0 t)
(hhit : projectiveGrowingWall (normalizedMaxCurve x 0 T) = 1) :
∃ τ : NormalizedState → ℝ, τ x = T ∧ ContDiffAt ℝ 2 τ x ∧
ContDiffAt ℝ 2 (fun y => toProjectiveState (normalizedMaxCurve y 0 (τ y))) x ∧
HasFDerivAt τ (normalizedEventTimeDifferential projectiveGrowingWall x 0 T) x ∧
HasFDerivAt (fun y => toProjectiveState (normalizedMaxCurve y 0 (τ y)))
((fderiv ℝ toProjectiveState (normalizedMaxCurve x 0 T)).comp
(normalizedEventDifferential projectiveGrowingWall x 0 T)) x ∧
(∀ᶠ y in 𝓝 x,
IsLeast {t | 0 < t ∧ t ∈ normalizedMaxDomain y 0 ∧ projectiveGrowingWall (normalizedMaxCurve y 0 t) = 1} (τ y) ∧
(∀ t ∈ Icc 0 (τ y), t ∈ normalizedMaxDomain y 0 ∧ 0 < 1 + normalizedMaxCurve y 0 t 0) ∧
(∀ t ∈ Ico 0 (τ y), projectiveGrowingWall (normalizedMaxCurve y 0 t) < 1) ∧
0 < normalizedEventRate projectiveGrowingWall y 0 (τ y)) := by sorry