Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Dyadic radial pieces and exceptional sets on the physical section

Definition
BianchiIX_RadialFailureData

by trppppp · Nov 6, 2026 · Mathlib 0df444a (Lean v4.33.1)

bianchi-ix-era-statisticsdynamical-systems

For real variables p,s,a,b,cp,s,a,b,cp,s,a,b,c, set

K=a2+b2+c2−2(ab+bc+ca),S=p2+s2,C=S+K.K=a^2+b^2+c^2-2(ab+bc+ca),\qquad S=p^2+s^2,\qquad C=S+K.K=a2+b2+c2−2(ab+bc+ca),S=p2+s2,C=S+K.

The shear components and wall rates are

P=Kp−2a2+b2+c2+ab−2bc+ac,P=Kp-2a^2+b^2+c^2+ab-2bc+ac,P=Kp−2a2+b2+c2+ab−2bc+ac, Q=Ks+3(−b2+c2+ab−ac),Q=Ks+\sqrt{3}(-b^2+c^2+ab-ac),Q=Ks+3​(−b2+c2+ab−ac), r1=−S+2p,r2=−S−p+3s,r3=−S−p−3s.r_1=-S+2p,\qquad r_2=-S-p+\sqrt{3}s,\qquad r_3=-S-p-\sqrt{3}s.r1​=−S+2p,r2​=−S−p+3​s,r3​=−S−p−3​s.

These functions define the normalized vacuum Bianchi IX vector field (P,Q,r1a,r2b,r3c)(P,Q,r_1a,r_2b,r_3c)(P,Q,r1​a,r2​b,r3​c).

Let X=R5X=\mathbb R^5X=R5 with coordinates x=(p,s,a,b,c)x=(p,s,a,b,c)x=(p,s,a,b,c) and the sup norm. Write

F(x)=(P,Q,r1a,r2b,r3c),C(x)=C(p,s,a,b,c),F(x)=(P,Q,r_1a,r_2b,r_3c),\qquad \mathcal C(x)=C(p,s,a,b,c),F(x)=(P,Q,r1​a,r2​b,r3​c),C(x)=C(p,s,a,b,c),

and let W={(p,s,a,b,c)∈X:a>0, b>0, c>0}W=\{(p,s,a,b,c)\in X:a>0,\ b>0,\ c>0\}W={(p,s,a,b,c)∈X:a>0, b>0, c>0}.

Write N1(x)=aN_1(x)=aN1​(x)=a, N2(x)=bN_2(x)=bN2​(x)=b, and N3(x)=cN_3(x)=cN3​(x)=c. For initial data (x0,t0)(x_0,t_0)(x0​,t0​), let Imax⁡(x0,t0)I_{\max}(x_0,t_0)Imax​(x0​,t0​) be the union of all open convex domains of solutions with these initial data, and let αx0,t0\alpha_{x_0,t_0}αx0​,t0​​ be their compatible curve. A solution SSS has such a domain ISI_SIS​, a curve αS\alpha_SαS​, and αS(t0)=x0\alpha_S(t_0)=x_0αS​(t0​)=x0​.

Let L(X,X)\mathcal L(X,X)L(X,X) be the continuous linear operators on XXX and set

A(x)=dFx,F~(x,J)=(F(x),A(x)∘J).A(x)=dF_x,\qquad \widetilde F(x,J)=(F(x),A(x)\circ J).A(x)=dFx​,F(x,J)=(F(x),A(x)∘J).

For a fixed initial time t0t_0t0​, put

Dt0={(x,t):t∈Imax⁡(x,t0)},Φt0(x,t)=αx,t0(t),Jx,t0(t)=dxΦt0(x,t).\mathcal D_{t_0}=\{(x,t):t\in I_{\max}(x,t_0)\},\qquad \Phi_{t_0}(x,t)=\alpha_{x,t_0}(t),\qquad J_{x,t_0}(t)=d_x\Phi_{t_0}(x,t).Dt0​​={(x,t):t∈Imax​(x,t0​)},Φt0​​(x,t)=αx,t0​​(t),Jx,t0​​(t)=dx​Φt0​​(x,t).

Write λx=dCx:X→R\lambda_x=d\mathcal C_x:X\to\mathbb Rλx​=dCx​:X→R for the constraint differential.

For x=(p,s,a,b,c)x=(p,s,a,b,c)x=(p,s,a,b,c), define

H(x)=(abc)2/3,w(x)=abc(1+4H(x)),δ(x)=2K−3S,δˉ(x)=2(K+4H(x))1+4H(x),H(x)=(abc)^{2/3},\quad w(x)=abc(1+4H(x)),\quad \delta(x)=2K-3S,\quad \bar\delta(x)=\frac{2(K+4H(x))}{1+4H(x)},H(x)=(abc)2/3,w(x)=abc(1+4H(x)),δ(x)=2K−3S,δˉ(x)=1+4H(x)2(K+4H(x))​, V(x,t0,t)=w(x)det⁡Jx,t0(t)w(αx,t0(t)).V(x,t_0,t)=\frac{w(x)\det J_{x,t_0}(t)}{w(\alpha_{x,t_0}(t))}.V(x,t0​,t)=w(αx,t0​​(t))w(x)detJx,t0​​(t)​.

Write [L][L][L] for the matrix of a continuous linear operator L:X→XL:X\to XL:X→X in the standard basis. Set Ω(v0,…,v4)=det⁡(v0,…,v4)\Omega(v_0,\ldots,v_4)=\det(v_0,\ldots,v_4)Ω(v0​,…,v4​)=det(v0​,…,v4​),

ωx(v0,…,v3)=Ω(x/2,v0,…,v3)w(x),φx(v0,v1,v2)=ωx(F(x),v0,v1,v2).\omega_x(v_0,\ldots,v_3)=\frac{\Omega(x/2,v_0,\ldots,v_3)}{w(x)},\qquad \varphi_x(v_0,v_1,v_2)=\omega_x(F(x),v_0,v_1,v_2).ωx​(v0​,…,v3​)=w(x)Ω(x/2,v0​,…,v3​)​,φx​(v0​,v1​,v2​)=ωx​(F(x),v0​,v1​,v2​).

A normalized symmetry is a continuous linear equivalence L:X→XL:X\to XL:X→X satisfying

C(Lx)=C(x),Lx∈W ⟺ x∈W,F(Lx)=LF(x),w(Lx)=w(x),det⁡L=1.\mathcal C(Lx)=\mathcal C(x),\quad Lx\in W\ \Longleftrightarrow\ x\in W, \quad F(Lx)=LF(x),\quad w(Lx)=w(x),\quad\det L=1.C(Lx)=C(x),Lx∈W ⟺ x∈W,F(Lx)=LF(x),w(Lx)=w(x),detL=1.

These symmetries include the identity, composition, inverse, and the two maps

R(p,s,a,b,c)=((−p+3s)/2,(−3p−s)/2,b,c,a),S0(p,s,a,b,c)=(p,−s,a,c,b).R(p,s,a,b,c)=((-p+\sqrt3s)/2,(-\sqrt3p-s)/2,b,c,a),\qquad S_0(p,s,a,b,c)=(p,-s,a,c,b).R(p,s,a,b,c)=((−p+3​s)/2,(−3​p−s)/2,b,c,a),S0​(p,s,a,b,c)=(p,−s,a,c,b).

Transforming a solution replaces its curve α\alphaα by LαL\alphaLα and keeps its time domain.

Write Φts(x)=αx,s(t)\Phi^s_t(x)=\alpha_{x,s}(t)Φts​(x)=αx,s​(t), with domain I(x,s)I(x,s)I(x,s), and X={x:C(x)=1, Ni(x)>0 (i=1,2,3)}\mathcal X=\{x:\mathcal C(x)=1,\ N_i(x)>0\ (i=1,2,3)\}X={x:C(x)=1, Ni​(x)>0 (i=1,2,3)}. For y=(v,l,r)∈R3y=(v,l,r)\in\mathbb R^3y=(v,l,r)∈R3 and a wall height hhh, put

b=e−l,c=e−r,d=1−v2−K(h,b,c),Uh={y:d>0},ch(y)=(−d,v,h,b,c).b=e^{-l},\quad c=e^{-r},\quad d=1-v^2-K(h,b,c),\quad U_h=\{y:d>0\},\quad c_h(y)=(-\sqrt d,v,h,b,c).b=e−l,c=e−r,d=1−v2−K(h,b,c),Uh​={y:d>0},ch​(y)=(−d​,v,h,b,c).

For a normalized axis symmetry AAA, the chart is cA,h=A−1chc_{A,h}=A^{-1}c_hcA,h​=A−1ch​, with coordinates πA(x)=((Ax)1,−log⁡(Ax)3,−log⁡(Ax)4)\pi_A(x)=((Ax)_1,-\log (Ax)_3,-\log (Ax)_4)πA​(x)=((Ax)1​,−log(Ax)3​,−log(Ax)4​). At p=−dp=-\sqrt dp=−d​ its flux density and measure are

ρh(y)=p2+v2−2p2∣p∣(1+4(hbc)2/3),dμh=1Uhρh+ dy.\rho_h(y)=\frac{p^2+v^2-2p}{2|p|(1+4(hbc)^{2/3})}, \qquad d\mu_h={\bf1}_{U_h}\rho_h^+\,dy.ρh​(y)=2∣p∣(1+4(hbc)2/3)p2+v2−2p​,dμh​=1Uh​​ρh+​dy.

Write φ\varphiφ for the signed section flux and δˉ\bar\deltaδˉ for the corrected divergence. The three primary frames interchange axis zero with the chosen dominant axis.

In wall coordinates y=(v,l,r)y=(v,l,r)y=(v,l,r) put u=e−lu=e^{-l}u=e−l, w=e−rw=e^{-r}w=e−r, M=max⁡(u,w)M=\max(u,w)M=max(u,w), Sd∘={∣v∣,M<d}S_d^\circ=\{|v|,M<d\}Sd∘​={∣v∣,M<d}, and let SdS_dSd​ use weak inequalities. Put R=∣v∣R=|v|R=∣v∣ when M≤ϵ∣v∣M\le\epsilon|v|M≤ϵ∣v∣ and R=MR=MR=M otherwise. For a=aj=d2−j−1a=a_j=d2^{-j-1}a=aj​=d2−j−1 and a<ρ<2aa<\rho<2aa<ρ<2a, ρ<d\rho<dρ<d, there are four charts LkL_kLk​ with domains DkjD_{kj}Dkj​. The two shear charts send (ρ,u,w)(\rho,u,w)(ρ,u,w) to (±ρ,−log⁡u,−log⁡w)(\pm\rho,-\log u,-\log w)(±ρ,−logu,−logw) for u,w>0u,w>0u,w>0, M≤ϵρM\le\epsilon\rhoM≤ϵρ. The angular chart sends (ρ,θ,ζ)(\rho,\theta,\zeta)(ρ,θ,ζ) to (θρ,−log⁡ρ,−log⁡ζ)(\theta\rho,-\log\rho,-\log\zeta)(θρ,−logρ,−logζ), with ∣θ∣<L=1/ϵ|\theta|<L=1/\epsilon∣θ∣<L=1/ϵ, ∣θ∣ρ<d|\theta|\rho<d∣θ∣ρ<d and 0<ζ≤ρ0<\zeta\le\rho0<ζ≤ρ. Its reflected chart composes with (v,l,r)↦(−v,r,l)(v,l,r)\mapsto(-v,r,l)(v,l,r)↦(−v,r,l) and has ζ<ρ\zeta<\rhoζ<ρ.

The selected angular labels satisfy ∣θ∣≤L|\theta|\le L∣θ∣≤L, 0<ζ≤aP0<\zeta\le a^P0<ζ≤aP; their budget is 51200(L+1)ζ/a351200(L+1)\zeta/a^351200(L+1)ζ/a3. The shear labels have 0<u,w≤2ϵa0<u,w\le2\epsilon a0<u,w≤2ϵa, min⁡(u,w)≤aP\min(u,w)\le a^Pmin(u,w)≤aP, with budget 800uw/a4800uw/a^4800uw/a4. Order the shear label as (w,u)(w,u)(w,u) on the negative branch and (u,w)(u,w)(u,w) on the positive one. Write sj=(q/2)log⁡(1/aj)s_j=(q/2)\log(1/a_j)sj​=(q/2)log(1/aj​). Let FkjF_{kj}Fkj​ contain points with ρ∈[a,2a]\rho\in[a,2a]ρ∈[a,2a] whose label is unselected or whose budget and actual restart core at (h,sj)(h,s_j)(h,sj​) lie outside the typical survivor domain for (η,J,σ,Bcap)(\eta,J,\sigma,B_{\rm cap})(η,J,σ,Bcap​). The section failure is F=H∪⋃kjLk(Dkj∩Fkj)F=H\cup\bigcup_{kj}L_k(D_{kj}\cap F_{kj})F=H∪⋃kj​Lk​(Dkj​∩Fkj​), where H=Sd∘∩⋃j{R=2aj}H=S_d^\circ\cap\bigcup_j\{R=2a_j\}H=Sd∘​∩⋃j​{R=2aj​}. The comparison regions A(BA),S(BS)A(B_A),S(B_S)A(BA​),S(BS​) consist of the corresponding dyadic unions of the symmetrized selected failure layers at those caps and the unselected layers.

The original flux on UhU_hUh​ has density [(p2+v2−2p)/(2∣p∣)]+[(p^2+v^2-2p)/(2|p|)]^+[(p2+v2−2p)/(2∣p∣)]+. The closed-section failure adds Sd∖Sd∘S_d\setminus S_d^\circSd​∖Sd∘​ to the given exception. The inverse radial charts recover the labels and radius used to select the restart time, budget and core; the frame index is zero on the reflected branch and three on the other.

Definition code
import Mathlib.Analysis.SpecificLimits.Normed
import Mathlib.Analysis.SpecialFunctions.Log.Basic
import Mathlib.Data.Nat.Choose.Cast
import Mathlib.MeasureTheory.Measure.MeasureSpace
import Mathlib.Topology.Algebra.InfiniteSum.ENNReal
import Mathlib.Tactic.Linarith
import Mathlib.Tactic.Ring
import Definitions.Def_BianchiIX_AxisAndOrbitData
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.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.SpecialFunctions.Sqrt
import Mathlib.Analysis.SpecialFunctions.Log.Deriv
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.LinearAlgebra.Determinant
import Mathlib.Data.Real.Basic
import Mathlib.LinearAlgebra.Alternating.Curry
import Mathlib.Analysis.Calculus.ImplicitContDiff
import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ContDiff
import Mathlib.MeasureTheory.Function.Jacobian
import Mathlib.MeasureTheory.Measure.WithDensity
import Definitions.Def_BianchiIX_SectionRestartData
import Mathlib.Analysis.Normed.Module.FiniteDimension
import Mathlib.MeasureTheory.Constructions.Pi
import Mathlib.MeasureTheory.Measure.Lebesgue.Basic
import Mathlib.MeasureTheory.Measure.Prod
import Mathlib.Algebra.Order.Archimedean.Basic
import Mathlib.Topology.Order.Compact
import Mathlib.Tactic.NormNum
import Mathlib.Analysis.Calculus.Deriv.Inv
import Mathlib.Analysis.SpecialFunctions.ExpDeriv
import Mathlib.Analysis.Calculus.ContDiff.Comp
import Mathlib.Analysis.Calculus.Deriv.Comp
import Mathlib.Analysis.SpecialFunctions.Arsinh
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.SpecificLimits.Basic
import Mathlib.Analysis.SpecialFunctions.Pow.Real
import Mathlib.Analysis.ODE.Gronwall
import Mathlib.Topology.Order.IntermediateValue
import Mathlib.Analysis.Calculus.FDeriv.Symmetric
import Mathlib.Analysis.Calculus.ContDiff.Deriv
import Mathlib.Tactic.GCongr
import Mathlib.Tactic.Positivity
import Mathlib.Analysis.SpecialFunctions.Pow.Asymptotics
import Definitions.Def_BianchiIX_Dynamics_CoreAngle
import Definitions.Def_BianchiIX_EraCodingData
import Mathlib.Analysis.Calculus.ParametricIntervalIntegral
import Mathlib.MeasureTheory.Integral.DominatedConvergence
import Mathlib.Topology.Instances.Real.Lemmas
import Mathlib.Tactic.Module
import Mathlib.Data.Matrix.Mul
import Mathlib.Algebra.BigOperators.Fin
import Mathlib.Analysis.SpecialFunctions.Trigonometric.ArctanDeriv
import Mathlib.Analysis.SpecialFunctions.Trigonometric.DerivHyp
import Mathlib.MeasureTheory.Integral.IntervalIntegral.DistLEIntegral
import Mathlib.Analysis.Calculus.Deriv.Slope
import Mathlib.Topology.Order.OrderClosed
import Mathlib.MeasureTheory.Integral.IntervalIntegral.IntegrationByParts
import Mathlib.Topology.MetricSpace.Thickening
import Mathlib.Topology.Order.ProjIcc
import Mathlib.Analysis.Normed.Operator.Basic
import Mathlib.LinearAlgebra.Matrix.Notation
import Mathlib.Analysis.SpecialFunctions.Pow.Continuity
import Mathlib.Topology.MetricSpace.Cauchy
import Mathlib.Analysis.Calculus.UniformLimitsDeriv
import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals
import Mathlib.Analysis.Calculus.ParametricIntegral
import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap
import Mathlib.Analysis.Calculus.FDeriv.Comp
import Mathlib.Algebra.Order.Floor.Ring
import Mathlib.Analysis.Calculus.FDeriv.Mul
import Mathlib.LinearAlgebra.Matrix.ToLin
import Mathlib.Data.List.Induction
import Mathlib.Algebra.BigOperators.Ring.Finset
import Mathlib.Algebra.Order.Floor.Semiring
import Mathlib.MeasureTheory.Constructions.BorelSpace.Metrizable
import Mathlib.Topology.Algebra.InfiniteSum.Order
import Mathlib.Data.PNat.Basic
import Mathlib.Data.Rat.Floor
import Mathlib.NumberTheory.Real.Irrational
import Mathlib.Order.OrderIsoNat
import Mathlib.MeasureTheory.Group.MeasurableEquiv
import Mathlib.MeasureTheory.Measure.Regular
import Mathlib.MeasureTheory.Function.JacobianOneDim
import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic
import Mathlib.MeasureTheory.Function.Floor
import Mathlib.Dynamics.Ergodic.Ergodic
import Mathlib.Dynamics.BirkhoffSum.Average
import Mathlib.MeasureTheory.Integral.Bochner.Basic
import Mathlib.Dynamics.Ergodic.MeasurePreserving
import Mathlib.Analysis.Asymptotics.SpecificAsymptotics
import Mathlib.Topology.UniformSpace.HeineCantor
import Mathlib.Dynamics.BirkhoffSum.NormedSpace
import Mathlib.MeasureTheory.Integral.Bochner.Set
import Mathlib.Analysis.Normed.Group.Tannery
import Mathlib.MeasureTheory.Function.LocallyIntegrable
import Mathlib.MeasureTheory.Constructions.Polish.Basic
import Mathlib.MeasureTheory.Integral.Lebesgue.Markov
import Definitions.Def_BianchiIX_PhysicalEraData
import Definitions.Def_BianchiIX_GeometricExceptionData

section

noncomputable section

namespace BianchiIX

open MeasureTheory
open scoped Topology ENNReal

def dyadicScale (d : ℝ) (j : ℕ) : ℝ := d * (1 / 2 : ℝ) ^ (j + 1)





















end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def scaledAngularLogCoordinates (a : ℝ) (z : SectionCoordinates) : SectionCoordinates :=
  ![z 1 * z 0, -Real.log (z 0), -Real.log (2 * a * z 2)]

def scaledAngularLogDifferential (z : SectionCoordinates) : SectionCoordinates →L[ℝ] SectionCoordinates :=
  ContinuousLinearMap.pi ![z 1 • ContinuousLinearMap.proj 0 + z 0 • ContinuousLinearMap.proj 1,
    (-(z 0)⁻¹) • ContinuousLinearMap.proj 0, (-(z 2)⁻¹) • ContinuousLinearMap.proj 2]









end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal





def mainWallSymmetrization (A : Set SectionCoordinates) : Set SectionCoordinates :=
  A ∪ mainWallReflection '' A







end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def mainWallOriginalDensity (h : ℝ) (z : SectionCoordinates) : ℝ :=
  sectionFluxDensity (mainWallChart h z 0) (z 0)

/-- The unmodified section flux in logarithmic wall coordinates. -/
def mainWallOriginalMeasure (h : ℝ) : Measure SectionCoordinates :=
  (volume.restrict (mainWallChartDomain h)).withDensity
    (fun z => ENNReal.ofReal (mainWallOriginalDensity h z))



















end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal







def signedShearLogCoordinates (σ : ℝ) (z : SectionCoordinates) : SectionCoordinates :=
  ![σ * z 0, -Real.log (z 1), -Real.log (z 2)]

def signedShearLogDifferential (σ : ℝ) (z : SectionCoordinates) :
    SectionCoordinates →L[ℝ] SectionCoordinates :=
  ContinuousLinearMap.pi ![σ • ContinuousLinearMap.proj 0,
    (-(z 1)⁻¹) • ContinuousLinearMap.proj 1, (-(z 2)⁻¹) • ContinuousLinearMap.proj 2]









/-- The two orders give respectively (s,N2,N3) = (theta*r,r,zeta) and (-theta*r,zeta,r). -/
def orderedAngularLogCoordinates (otherWall : Bool) (z : SectionCoordinates) : SectionCoordinates :=
  if otherWall then mainWallReflection (scaledAngularLogCoordinates (1 / 2) z)
    else scaledAngularLogCoordinates (1 / 2) z





end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def shearRadialInterval (a d ε n₂ n₃ : ℝ) : Set ℝ :=
  Ioo a (2 * a) ∩ {r | max n₂ n₃ ≤ ε * r ∧ r < d}

def angularRadialInterval (otherWall : Bool) (a d θ ζ : ℝ) : Set ℝ :=
  Ioo a (2 * a) ∩ {r | (if otherWall then ζ < r else ζ ≤ r) ∧ r < d ∧ |θ| * r < d}









def shearRadialDomain (a d ε : ℝ) : Set SectionCoordinates :=
  {z | 0 < z 1 ∧ 0 < z 2 ∧ z 0 ∈ shearRadialInterval a d ε (z 1) (z 2)}

def angularRadialDomain (otherWall : Bool) (a d L : ℝ) : Set SectionCoordinates :=
  {z | |z 1| < L ∧ 0 < z 2 ∧ z 0 ∈ angularRadialInterval otherWall a d (z 1) (z 2)}





















end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory

def mainWallOpenSection (d : ℝ) : Set SectionCoordinates :=
  {z | |z 0| < d ∧ max (Real.exp (-z 1)) (Real.exp (-z 2)) < d}

def mainWallRadialRadius (ε : ℝ) (z : SectionCoordinates) : ℝ :=
  if max (Real.exp (-z 1)) (Real.exp (-z 2)) ≤ ε * |z 0| then |z 0|
    else max (Real.exp (-z 1)) (Real.exp (-z 2))

/-- The two summands distinguish shear signs and angular wall orders. -/
abbrev RadialPieceIndex := (Bool ⊕ Bool) × ℕ

def radialPieceMap (k : Bool ⊕ Bool) : SectionCoordinates → SectionCoordinates :=
  match k with
  | Sum.inl neg => signedShearLogCoordinates (if neg then -1 else 1)
  | Sum.inr other => orderedAngularLogCoordinates other

def radialPieceDomain (d ε : ℝ) (i : RadialPieceIndex) : Set SectionCoordinates :=
  match i.1 with
  | Sum.inl _ => shearRadialDomain (dyadicScale d i.2) d ε
  | Sum.inr other => angularRadialDomain other (dyadicScale d i.2) d (1 / ε)

def physicalRadialPiece (d ε : ℝ) (i : RadialPieceIndex) : Set SectionCoordinates :=
  radialPieceMap i.1 '' radialPieceDomain d ε i

def radialPieceInverse (k : Bool ⊕ Bool) (z : SectionCoordinates) : SectionCoordinates :=
  match k with
  | Sum.inl neg => ![(if neg then -1 else 1) * z 0, Real.exp (-z 1), Real.exp (-z 2)]
  | Sum.inr false => ![Real.exp (-z 1), z 0 / Real.exp (-z 1), Real.exp (-z 2)]
  | Sum.inr true => ![Real.exp (-z 2), -z 0 / Real.exp (-z 2), Real.exp (-z 1)]































end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory

def mainWallRadialBoundary (d ε : ℝ) : Set SectionCoordinates :=
  mainWallOpenSection d ∩ ⋃ j : ℕ, {z | mainWallRadialRadius ε z = 2 * dyadicScale d j}



















end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def radialFailurePiece (d ε : ℝ) (F : RadialPieceIndex → Set SectionCoordinates)
    (i : RadialPieceIndex) : Set SectionCoordinates :=
  radialPieceMap i.1 '' (radialPieceDomain d ε i ∩ F i)

def radialFailureSet (d ε : ℝ) (F : RadialPieceIndex → Set SectionCoordinates) : Set SectionCoordinates :=
  mainWallRadialBoundary d ε ∪ ⋃ i : RadialPieceIndex, radialFailurePiece d ε F i

def radialFailureIntegral (h d ε : ℝ) (F : RadialPieceIndex → Set SectionCoordinates)
    (i : RadialPieceIndex) : ℝ≥0∞ :=
  match i.1 with
  | Sum.inl neg =>
      ∫⁻ n₂ : ℝ, ∫⁻ n₃ : ℝ, ENNReal.ofReal (1 / (n₂ * n₃)) *
        ∫⁻ r in {r : ℝ | 0 < n₂ ∧ 0 < n₃ ∧
          r ∈ shearRadialInterval (dyadicScale d i.2) d ε n₂ n₃ ∧ ![r, n₂, n₃] ∈ F i},
          ENNReal.ofReal (mainWallOriginalDensity h
            (signedShearLogCoordinates (if neg then -1 else 1) ![r, n₂, n₃]))
  | Sum.inr other =>
      ∫⁻ θ : ℝ, ∫⁻ ζ : ℝ, ENNReal.ofReal (1 / ζ) *
        ∫⁻ r in {r : ℝ | |θ| < 1 / ε ∧ 0 < ζ ∧
          r ∈ angularRadialInterval other (dyadicScale d i.2) d θ ζ ∧ ![r, θ, ζ] ∈ F i},
          ENNReal.ofReal (mainWallOriginalDensity h (orderedAngularLogCoordinates other ![r, θ, ζ]))















end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def scaledShearLogCoordinates (a : ℝ) (z : SectionCoordinates) : SectionCoordinates :=
  ![z 0, -Real.log (a * z 1), -Real.log (a * z 2)]

def scaledShearLogDifferential (z : SectionCoordinates) : SectionCoordinates →L[ℝ] SectionCoordinates :=
  ContinuousLinearMap.pi ![ContinuousLinearMap.proj 0,
    (-(z 1)⁻¹) • ContinuousLinearMap.proj 1, (-(z 2)⁻¹) • ContinuousLinearMap.proj 2]











end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def shearSectionLayer (a ε : ℝ) : Set SectionCoordinates :=
  {z | |z 0| ∈ Icc a (2 * a) ∧ Real.exp (-z 1) ≤ 2 * ε * a ∧ Real.exp (-z 2) ≤ 2 * ε * a}

def shearUnselectedSection (a ε P : ℝ) : Set SectionCoordinates :=
  {z ∈ shearSectionLayer a ε | a ^ P < Real.exp (-z 1) ∧ a ^ P < Real.exp (-z 2)}













end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def angularUnselectedSection (a L P : ℝ) : Set SectionCoordinates :=
  {z | max (Real.exp (-z 1)) (Real.exp (-z 2)) ∈ Icc a (2 * a) ∧
    |z 0| ≤ L * max (Real.exp (-z 1)) (Real.exp (-z 2)) ∧
    a ^ P < min (Real.exp (-z 1)) (Real.exp (-z 2))}

def angularLogBox (a L P : ℝ) : Set SectionCoordinates :=
  Icc ![-2 * L * a, -Real.log (2 * a), 0] ![2 * L * a, -Real.log a, P * |Real.log a|]

def angularLogBoxSwapped (a L P : ℝ) : Set SectionCoordinates :=
  Icc ![-2 * L * a, 0, -Real.log (2 * a)] ![2 * L * a, P * |Real.log a|, -Real.log a]









end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def labelRadialFailure (a : ℝ) (L : Set (ℝ × ℝ)) (G : Set (ℝ × CoreAngleState))
    (Z : (ℝ × ℝ) → ℝ → ℝ × CoreAngleState) : Set SectionCoordinates :=
  {z | z 0 ∈ Icc a (2 * a) ∧ ((z 1, z 2) ∉ L ∨ Z (z 1, z 2) (z 0) ∉ G)}



def restartRadialFailureFamily (h q d ε P η : ℝ) (J : ℕ) (σ Bcap : ℝ)
    (i : RadialPieceIndex) : Set SectionCoordinates :=
  let a := dyadicScale d i.2
  let s := q / 2 * Real.log (1 / a)
  let G := EraSurvivor.typicalDomain η J σ Bcap
  match i.1 with
  | Sum.inl neg =>
      let F := labelRadialFailure a (restartShearCommonLabelSet ε a P) G
        (fun l r => (restartShearAmplitudeBudget a l.1 l.2, restartShearReturnState h s l.1 l.2 r))
      if neg then (fun z => ![z 0, z 2, z 1]) ⁻¹' F else F
  | Sum.inr _ =>
      labelRadialFailure a (restartLabelSet (1 / ε) a P) G
        (fun l r => (restartAmplitudeBudget (1 / ε) a l.2, restartReturnState h s l.1 l.2 r))

def restartRadialOutput (h q d ε : ℝ) (i : RadialPieceIndex) (z : SectionCoordinates) : ℝ × CoreAngleState :=
  let a := dyadicScale d i.2
  let s := q / 2 * Real.log (1 / a)
  match i.1 with
  | Sum.inl neg =>
      let l := if neg then (z 2, z 1) else (z 1, z 2)
      (restartShearAmplitudeBudget a l.1 l.2, restartShearReturnState h s l.1 l.2 (z 0))
  | Sum.inr _ => (restartAmplitudeBudget (1 / ε) a (z 2), restartReturnState h s (z 1) (z 2) (z 0))







end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory

def restartAngularFailureCoordinates (h s a L P η : ℝ) (J : ℕ) (σ Bcap : ℝ) : Set SectionCoordinates :=
  {z | z 1 ∈ Icc (-L) L ∧ z 2 ∈ Ioo (0 : ℝ) 1 ∧
    (z 1, 2 * a * z 2) ∈ restartLabelSet L a P ∧
    z 0 ∈ eraRadialFailure η J σ (restartAmplitudeBudget L a (2 * a * z 2)) Bcap a (2 * a)
      (restartReturnState h s (z 1) (2 * a * z 2))}

def restartAngularFailureSection (h s a L P η : ℝ) (J : ℕ) (σ Bcap : ℝ) : Set SectionCoordinates :=
  scaledAngularLogCoordinates a '' restartAngularFailureCoordinates h s a L P η J σ Bcap







end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def restartShearRadialFlux (h n₂ n₃ : ℝ) (A : Set ℝ) : ℝ≥0∞ :=
  ∫⁻ ρ in A, ENNReal.ofReal (restartShearFluxDensity h n₂ n₃ ρ)





end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal Classical

def shearLabelFailureCoordinates (a : ℝ) (L : Set (ℝ × ℝ)) (F : ℝ × ℝ → Set ℝ) :
    Set SectionCoordinates :=
  {z | z 1 ∈ Ioo (0 : ℝ) 1 ∧ z 2 ∈ Ioo (0 : ℝ) 1 ∧
    (a * z 1, a * z 2) ∈ L ∧ z 0 ∈ F (a * z 1, a * z 2)}

def shearLabelFailureSection (a : ℝ) (L : Set (ℝ × ℝ)) (F : ℝ × ℝ → Set ℝ) :
    Set SectionCoordinates := scaledShearLogCoordinates a '' shearLabelFailureCoordinates a L F

def shearLabelFailureLayer (h a : ℝ) (L : Set (ℝ × ℝ)) (F : ℝ × ℝ → Set ℝ) : ℝ≥0∞ :=
  ∫⁻ x in Ioo (0 : ℝ) 1, ∫⁻ y in Ioo (0 : ℝ) 1,
    if (a * x, a * y) ∈ L then
      restartShearRadialFlux h (a * x) (a * y) (F (a * x, a * y)) / ENNReal.ofReal (x * y)
    else 0















end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def restartShearFailureFibers (h s a η : ℝ) (J : ℕ) (σ Bcap : ℝ) : ℝ × ℝ → Set ℝ :=
  fun z => eraRadialFailure η J σ (restartShearAmplitudeBudget a z.1 z.2) Bcap a (2 * a)
    (restartShearReturnState h s z.1 z.2)

def restartShearCommonFailureSection (h s a ε P η : ℝ) (J : ℕ) (σ Bcap : ℝ) : Set SectionCoordinates :=
  shearLabelFailureSection a (restartShearCommonLabelSet ε a P) (restartShearFailureFibers h s a η J σ Bcap)

def restartShearCommonFailureLayer (h s a ε P η : ℝ) (J : ℕ) (σ Bcap : ℝ) : ℝ≥0∞ :=
  shearLabelFailureLayer h a (restartShearCommonLabelSet ε a P) (restartShearFailureFibers h s a η J σ Bcap)





end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def angularFailureRegion (h q d L P η : ℝ) (J : ℕ) (σ Bcap : ℝ) : Set SectionCoordinates :=
  (⋃ j : ℕ, mainWallSymmetrization (restartAngularFailureSection h
    (q / 2 * Real.log (1 / dyadicScale d j)) (dyadicScale d j) L P η J σ Bcap)) ∪
  ⋃ j : ℕ, angularUnselectedSection (dyadicScale d j) L P



end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def shearFailureRegion (h q d ε P η : ℝ) (J : ℕ) (σ Bcap : ℝ) : Set SectionCoordinates :=
  (⋃ j : ℕ, mainWallSymmetrization (restartShearCommonFailureSection h
    (q / 2 * Real.log (1 / dyadicScale d j)) (dyadicScale d j) ε P η J σ Bcap)) ∪
  ⋃ j : ℕ, shearUnselectedSection (dyadicScale d j) ε P



end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def angularRestartParameterDomain (a L P : ℝ) : Set ((ℝ × ℝ) × ℝ) :=
  restartLabelSet L a P ×ˢ Icc a (2 * a)

def angularRestartChart (o : Bool) (p : (ℝ × ℝ) × ℝ) : SectionCoordinates :=
  let y : SectionCoordinates := ![p.1.1 * p.2, -Real.log p.2, -Real.log p.1.2]
  if o then mainWallReflection y else y

def angularRestartData (h s a L : ℝ) (o : Bool) (p : (ℝ × ℝ) × ℝ) : CoreRestartData :=
  ((if o then 0 else 3, restartReturnTime h s p.1.1 p.1.2 p.2),
    (restartAmplitudeBudget L a p.1.2, restartReturnState h s p.1.1 p.1.2 p.2))















end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory
open scoped ENNReal

def shearRestartParameterDomain (ε a P : ℝ) : Set ((ℝ × ℝ) × ℝ) :=
  restartShearCommonLabelSet ε a P ×ˢ Icc a (2 * a)

def shearRestartChart (o : Bool) (p : (ℝ × ℝ) × ℝ) : SectionCoordinates :=
  let y : SectionCoordinates := ![p.2, -Real.log p.1.1, -Real.log p.1.2]
  if o then mainWallReflection y else y

def shearRestartData (h s a : ℝ) (o : Bool) (p : (ℝ × ℝ) × ℝ) : CoreRestartData :=
  ((if o then 0 else 3, restartShearReturnTime h s p.1.1 p.1.2 p.2),
    (restartShearAmplitudeBudget a p.1.1 p.1.2, restartShearReturnState h s p.1.1 p.1.2 p.2))













end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory

def mainWallSectionBoundary (d : ℝ) : Set SectionCoordinates :=
  mainWallSmallSection d \ mainWallOpenSection d

def mainWallClosedFailure (d : ℝ) (E : Set SectionCoordinates) : Set SectionCoordinates :=
  mainWallSectionBoundary d ∪ E





















end BianchiIX

end
end

section

noncomputable section

namespace BianchiIX

open Set MeasureTheory

def radialRestartParameter (k : Bool ⊕ Bool) (z : SectionCoordinates) : (ℝ × ℝ) × ℝ :=
  match k with
  | Sum.inl neg => ((if neg then (z 2, z 1) else (z 1, z 2)), z 0)
  | Sum.inr _ => ((z 1, z 2), z 0)

def radialRestartParameterDomain (a ε P : ℝ) : Bool ⊕ Bool → Set ((ℝ × ℝ) × ℝ)
  | Sum.inl _ => shearRestartParameterDomain ε a P
  | Sum.inr _ => angularRestartParameterDomain a (1 / ε) P

def radialRestartChart : Bool ⊕ Bool → ((ℝ × ℝ) × ℝ) → SectionCoordinates
  | Sum.inl neg => shearRestartChart neg
  | Sum.inr other => angularRestartChart other

def radialRestartData (h s a ε : ℝ) : Bool ⊕ Bool → ((ℝ × ℝ) × ℝ) → CoreRestartData
  | Sum.inl neg => shearRestartData h s a neg
  | Sum.inr other => angularRestartData h s a (1 / ε) other











end BianchiIX

end
end
Source
https://github.com/l46430640-del/ERA-STATISTICS-FORMAL/tree/d74c241819f896ab8d050b21ace80c8e90eabd9e/BianchiIX

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me