Terminal exit clocks, cyclic charts and physical connection maps
DefinitionBianchiIX_TerminalConnectionDataFor , define
and .
Write and define
The exit clock rate is , and its field is . Division and square roots have their total real-valued Lean meanings.
For define , evaluated at . The coordinate maps are and . For a curve set
Let consist of the states satisfying
Put
For 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
For , define
For any real height , put
The infimum uses the total real-order convention. Let mean that is the least element of , and, writing , that
All vector and operator norms use the finite-product supremum norms.
For , put ,
Let mean that this infimum is a least element, the full interval lies in the maximal domain with , the active wall is below one before the endpoint, and its normalized-time derivative is strictly positive throughout the interval. The infimum has its total real-order meaning.
For define the cyclic chart by
Its normalized symmetry is
Put and
Write and .
Write and . The closed exit region is defined by
Let .
The logarithmic wall map for the compact connection is , where .
import Mathlib.Analysis.SpecialFunctions.Log.Basic
import Mathlib.Tactic.FieldSimp
import Mathlib.Tactic.Linarith
import Mathlib.Tactic.Positivity
import Mathlib.Tactic.Ring
import Definitions.Def_BianchiIX_Algebra_Projective
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.Analysis.SpecialFunctions.Arsinh
import Mathlib.Analysis.SpecialFunctions.Sqrt
import Definitions.Def_BianchiIX_Algebra_Flow
import Mathlib.Analysis.Calculus.Deriv.Inv
import Mathlib.Tactic.LinearCombination
import Definitions.Def_BianchiIX_Dynamics_ProjectiveState
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.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
import Mathlib.Analysis.SpecialFunctions.Log.Deriv
import Definitions.Def_BianchiIX_Algebra_CoreAngle
import Mathlib.Analysis.Normed.Module.FiniteDimension
import Mathlib.LinearAlgebra.Determinant
import Mathlib.Topology.Instances.Matrix
import Mathlib.LinearAlgebra.Matrix.Trace
import Mathlib.Analysis.Calculus.FDeriv.Analytic
import Mathlib.Topology.Algebra.Module.Determinant
import Mathlib.Analysis.Calculus.Deriv.Pi
import Mathlib.Data.Real.Basic
import Mathlib.MeasureTheory.Integral.IntervalIntegral.DistLEIntegral
import Mathlib.Topology.Order.IntermediateValue
import Mathlib.Analysis.ODE.Gronwall
import Mathlib.Data.Matrix.Mul
import Definitions.Def_BianchiIX_Dynamics_CoreTail
import Definitions.Def_BianchiIX_Dynamics_EntranceReturn
import Mathlib.Topology.Instances.Real.Lemmas
import Mathlib.Tactic.GCongr
import Mathlib.Analysis.Calculus.Deriv.Slope
import Mathlib.Topology.Order.OrderClosed
import Mathlib.Analysis.Calculus.ImplicitContDiff
import Mathlib.Topology.Order.Compact
import Mathlib.Tactic.NormNum
import Mathlib.Analysis.Calculus.FDeriv.Symmetric
import Mathlib.Tactic.Module
import Mathlib.Algebra.BigOperators.Fin
import Mathlib.Analysis.SpecialFunctions.Trigonometric.ArctanDeriv
import Mathlib.Analysis.SpecialFunctions.Trigonometric.DerivHyp
import Mathlib.Topology.MetricSpace.Thickening
import Mathlib.Analysis.Calculus.ParametricIntervalIntegral
import Mathlib.MeasureTheory.Integral.DominatedConvergence
import Definitions.Def_BianchiIX_Dynamics_CoreAngle
import Definitions.Def_BianchiIX_Dynamics_CompactConnectionReturn
import Definitions.Def_BianchiIX_EntrancePhaseResponseData
import Mathlib.Topology.MetricSpace.Cauchy
import Mathlib.Analysis.Calculus.ContDiff.Comp
import Mathlib.Analysis.Calculus.Deriv.Comp
import Mathlib.Analysis.Calculus.UniformLimitsDeriv
import Mathlib.Topology.Order.ProjIcc
import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ContDiff
import Mathlib.Analysis.SpecialFunctions.ExpDeriv
import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals
import Mathlib.Analysis.Calculus.ParametricIntegral
import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap
import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts
section
noncomputable section
namespace BianchiIX
def exitTailLength (η α : ℝ) (J : ℕ) : ℝ := Real.log (1 / η) + J * Real.log (1 / α)
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def exitTailGap (R v : ℝ) : ℝ := Real.sqrt (R ^ 2 - v ^ 2)
def exitTailSpeed (R u v w : ℝ) : ℝ := exitTailGap R v + coupling u v w
def exitTailRadial (R u v w : ℝ) : ℝ :=
(-coupling u v w * R - exitTailGap R v * (u - w) ^ 2 / R) / exitTailSpeed R u v w
def exitTailStrongRate (R u v w : ℝ) : ℝ :=
(2 * exitTailGap R v - R ^ 2 + 2 * v * w - w ^ 2 + u ^ 2) / (2 * exitTailSpeed R u v w)
def exitTailWeakRate (R u v w : ℝ) : ℝ :=
(exitTailGap R v - 2 - coupling u v w) / exitTailSpeed R u v w
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def axisCycleDenom (m u v w : ℝ) : ℝ := (m + 1) ^ 2 + curvature u v w
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Set
def exitClockRate (y : ProjectiveState) : ℝ := 1 - y 0 + coupling (y 1) (y 2) (y 3)
def exitLogField (y : ProjectiveState) : ProjectiveState := (exitClockRate y)⁻¹ • projectiveField y
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Set
abbrev ExitTailState := Fin 3 → ℝ
def toExitTailState (y : ProjectiveState) : ExitTailState := ![coreRadius (y 0) (y 2), y 1, y 3]
def fromExitTailState (v : ℝ) (Y : ExitTailState) : ProjectiveState :=
![1 - exitTailGap (Y 0) v, Y 1, v, Y 2]
def exitTailField (v : ℝ) (Y : ExitTailState) : ExitTailState :=
![exitTailRadial (Y 0) (Y 1) v (Y 2),
exitTailStrongRate (Y 0) (Y 1) v (Y 2) * Y 1,
exitTailWeakRate (Y 0) (Y 1) v (Y 2) * Y 2]
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Set MeasureTheory
def exitTailWallRate (v : ℝ) (Y : ExitTailState) : Fin 2 → ℝ :=
![exitTailStrongRate (Y 0) (Y 1) v (Y 2), exitTailWeakRate (Y 0) (Y 1) v (Y 2)]
def exitTailMultiplier (Y : ℝ → ExitTailState) (i : Fin 2) (T : ℝ) : ℝ :=
Real.exp (∫ s in (0 : ℝ)..T, exitTailWallRate (Real.exp (-s)) (Y s) i)
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def projectiveCycleDenom (y : ProjectiveState) : ℝ := axisCycleDenom (y 0) (y 1) (y 2) (y 3)
def projectiveCycle (y : ProjectiveState) : ProjectiveState :=
![1 - 4 * (y 0 + 1) / projectiveCycleDenom y, 4 * y 2 / projectiveCycleDenom y,
4 * y 3 / projectiveCycleDenom y, 4 * y 1 / projectiveCycleDenom y]
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Set MeasureTheory
def exitTailRegion (α b A D : ℝ) (Y : ExitTailState) : Prop :=
(7 / 4 ≤ Y 0 ∧ Y 0 ≤ 17 / 4) ∧ |Y 1| ≤ 1 / 100 ∧ |Y 2| ≤ 1 / 100 ∧
|Y 1| + |Y 2| ≤ A * b ∧ |Y 0 - (2 + 2 * α)| ≤ D * b
def exitTailRateBudget (α b A D T : ℝ) : ℝ :=
(10 * (α + D * b) + 100 * (A * b) ^ 2) * T + 100 * A * b + 5
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Set
def exitPhysicalRegion (h : ℝ) (y : ProjectiveState) : Prop :=
y 0 ≤ 0 ∧ (7 / 4 ≤ coreRadius (y 0) (y 2) ∧ coreRadius (y 0) (y 2) ≤ 17 / 4) ∧
|y 1| ≤ 1 / 100 ∧ (h ≤ y 2 ∧ y 2 ≤ 1) ∧ |y 3| ≤ 1 / 100
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Set
def terminalConnectionTime (h : ℝ) (Y : ExitTailState) : ℝ :=
coreTailTime h Y + entranceReturnTime (projectiveCycle (coreTailState h Y))
def terminalConnectionState (h : ℝ) (Y : ExitTailState) : ProjectiveState :=
entranceReturnState (projectiveCycle (coreTailState h Y))
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Filter
open scoped Topology
def compactConnectionLogWalls (η : ℝ) (Y : CoreAngleState) : Fin 2 → ℝ :=
entranceLogWalls 1 (compactConnectionState η Y)
end BianchiIX
end
end