OAI/Geometry/HarmonicGrowth/Profiles.lean
153 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.HarmonicCounterexample.Scale.cutoffline 21Source documentation
The fixed cutoff is independent of all pulse data. It is zero already on (-infty,5/2] and one on [7/2,infty), as allowed by geometry.tex.
def cutoff (t : ℝ) : ℝ := Real.smoothTransition (t - 5/2)
- def
OAI.HarmonicCounterexample.Scale.weightline 23 - def
OAI.HarmonicCounterexample.Scale.primitiveline 25 - def
OAI.HarmonicCounterexample.Scale.totalline 27 - def
OAI.HarmonicCounterexample.Scale.profileline 29 - def
OAI.HarmonicCounterexample.Scale.slopeline 31 - lemma
OAI.HarmonicCounterexample.Scale.cutoff_smoothline 33 - lemma
OAI.HarmonicCounterexample.Scale.cutoff_zeroline 36 - lemma
OAI.HarmonicCounterexample.Scale.cutoff_oneline 39 - lemma
OAI.HarmonicCounterexample.Scale.cutoff_nonnegline 42 - lemma
OAI.HarmonicCounterexample.Scale.cutoff_le_oneline 43 - lemma
OAI.HarmonicCounterexample.Scale.cutoff_monoline 44 - lemma
OAI.HarmonicCounterexample.Scale.weight_zeroline 47 - lemma
OAI.HarmonicCounterexample.Scale.weight_tailline 50 - lemma
OAI.HarmonicCounterexample.Scale.weight_smoothline 53 - lemma
OAI.HarmonicCounterexample.Scale.weight_nonnegline 65 - lemma
OAI.HarmonicCounterexample.Scale.weight_le_oneline 70 - lemma
OAI.HarmonicCounterexample.Scale.primitive_hasDerivAtline 77 - lemma
OAI.HarmonicCounterexample.Scale.primitive_smoothline 82 - lemma
OAI.HarmonicCounterexample.Scale.primitive_zeroline 89 - lemma
OAI.HarmonicCounterexample.Scale.primitive_nonnegline 97 - lemma
OAI.HarmonicCounterexample.Scale.primitive_tailline 102 - lemma
OAI.HarmonicCounterexample.Scale.total_posline 126 - lemma
OAI.HarmonicCounterexample.Scale.primitive_le_totalline 132 - lemma
OAI.HarmonicCounterexample.Scale.primitive_limitline 144 - lemma
OAI.HarmonicCounterexample.Scale.profile_smoothline 156 - lemma
OAI.HarmonicCounterexample.Scale.profile_posline 159 - lemma
OAI.HarmonicCounterexample.Scale.profile_le_oneline 161 - lemma
OAI.HarmonicCounterexample.Scale.profile_lowerline 165 - lemma
OAI.HarmonicCounterexample.Scale.profile_initialline 170 - lemma
OAI.HarmonicCounterexample.Scale.profile_limitline 173 - lemma
OAI.HarmonicCounterexample.Scale.profile_hasDerivAtline 178 - lemma
OAI.HarmonicCounterexample.Scale.profile_logSlopeline 182 - lemma
OAI.HarmonicCounterexample.Scale.slope_nonposline 185 - lemma
OAI.HarmonicCounterexample.Scale.slope_lowerline 188 - lemma
OAI.HarmonicCounterexample.Scale.weight_derivline 212 - lemma
OAI.HarmonicCounterexample.Scale.slope_derivline 226 - lemma
OAI.HarmonicCounterexample.Scale.slope_deriv_boundline 229 - lemma
OAI.HarmonicCounterexample.Scale.slope_initial_derivline 245 - theorem
OAI.HarmonicCounterexample.Scale.radial_concavityline 253Source documentation
The exact concavity estimate used on the whole initial round region, not merely the limiting tail.
theorem radial_concavity {μ : ℝ} (hμ : 0 ≤ μ) (hμ1 : μ ≤ 1/4) (t : ℝ) : slope μ t + deriv (slope μ) t + slope μ t ^ 2 ≤ 0 := by …Mentions: OAI.HarmonicCounterexample.Scale.slope
- lemma
OAI.HarmonicCounterexample.Scale.log_profile_tailline 271 - lemma
OAI.HarmonicCounterexample.Scale.slope_tailline 278 - lemma
OAI.HarmonicCounterexample.Scale.profile_antitoneline 281 - theorem
OAI.HarmonicCounterexample.Scale.choose_scaleline 289Source documentation
Every requested subunit endpoint sufficiently close to one is attained by the same fixed cutoff, before any control family is specified.
theorem choose_scale {a : ℝ} (ha : 0 < a) (ha1 : a < 1) (hclose : Real.exp (-total/4) ≤ a) : ∃ μ : ℝ, 0 < μ ∧ μ ≤ 1/4 ∧ Tendsto (profile μ) atTop (𝓝 a) ∧ Real.exp (-μ*total) = a := by …Mentions: OAI.HarmonicCounterexample.a, OAI.HarmonicCounterexample.Scale.total, OAI.HarmonicCounterexample.Scale.profile
- lemma
OAI.HarmonicCounterexample.Scale.radial_tail_marginline 324 - lemma
OAI.HarmonicCounterexample.Scale.slope_limitline 340 - lemma
OAI.HarmonicCounterexample.Scale.slope_deriv_tailline 350 - lemma
OAI.HarmonicCounterexample.Scale.slope_deriv_limitline 365 - def
OAI.HarmonicCounterexample.Schedule.pulseline 398Source documentation
Source period j is indexed here by j-1; no period lengths are changed.
def pulse (j : ℕ) : ℝ := (j + 1 : ℝ) ^ 6
- def
OAI.HarmonicCounterexample.Schedule.dwellline 399 - def
OAI.HarmonicCounterexample.Schedule.timeline 400 - def
OAI.HarmonicCounterexample.Schedule.dwellSumline 401 - theorem
OAI.HarmonicCounterexample.Schedule.time_zeroline 403 - theorem
OAI.HarmonicCounterexample.Schedule.time_succline 404 - theorem
OAI.HarmonicCounterexample.Schedule.sum_pow_sevenline 408 - theorem
OAI.HarmonicCounterexample.Schedule.sum_pow_sixline 419 - theorem
OAI.HarmonicCounterexample.Schedule.dwellSum_formulaline 430 - theorem
OAI.HarmonicCounterexample.Schedule.time_formulaline 435 - theorem
OAI.HarmonicCounterexample.Schedule.time_posline 443 - theorem
OAI.HarmonicCounterexample.Schedule.dwellSum_nonnegline 447 - theorem
OAI.HarmonicCounterexample.Schedule.tendsto_inv_natline 450 - theorem
OAI.HarmonicCounterexample.Schedule.dwellSum_scaledline 453 - theorem
OAI.HarmonicCounterexample.Schedule.time_scaledline 466 - theorem
OAI.HarmonicCounterexample.Schedule.dwell_scaledline 483 - theorem
OAI.HarmonicCounterexample.Schedule.pulse_scaledline 493 - lemma
OAI.HarmonicCounterexample.Schedule.cancel_scale_limitline 503 - theorem
OAI.HarmonicCounterexample.Schedule.dwellSum_timeline 516 - theorem
OAI.HarmonicCounterexample.Schedule.dwell_timeline 520 - theorem
OAI.HarmonicCounterexample.Schedule.pulse_timeline 524 - theorem
OAI.HarmonicCounterexample.Schedule.duration_timeline 528 - theorem
OAI.HarmonicCounterexample.Schedule.time_strictMonoline 537 - theorem
OAI.HarmonicCounterexample.Schedule.time_atTopline 545 - theorem
OAI.HarmonicCounterexample.Schedule.dwellSum_atTopline 554 - def
OAI.HarmonicCounterexample.Pulses.rampline 586Source documentation
A globally smooth, fixed ramp, constant on neighborhoods of both endpoints.
def ramp (t : ℝ) : ℝ := Real.smoothTransition (2*t-1/2)
- lemma
OAI.HarmonicCounterexample.Pulses.ramp_smoothline 588 - lemma
OAI.HarmonicCounterexample.Pulses.ramp_zeroline 590 - lemma
OAI.HarmonicCounterexample.Pulses.ramp_oneline 592 - lemma
OAI.HarmonicCounterexample.Pulses.ramp_rangeline 594 - lemma
OAI.HarmonicCounterexample.Pulses.ramp_monoline 596 - lemma
OAI.HarmonicCounterexample.Pulses.pulse_posline 599 - lemma
OAI.HarmonicCounterexample.Pulses.dwell_posline 600 - theorem
OAI.HarmonicCounterexample.Pulses.smooth_escaping_sumline 604Source documentation
Smoothness of this series is LOCAL FINITENESS, not an unproved convergence claim or an exchange of derivatives and a general infinite sum.
theorem smooth_escaping_sum {f : ℕ → ℝ → ℝ} (hf : ∀ j, ContDiff ℝ ∞ (f j)) (hz : ∀ j t, t ≤ time j → f j t = 0) : ContDiff ℝ ∞ (fun t => ∑' j, f j t) := by … - def
OAI.HarmonicCounterexample.Pulses.windowline 618Source documentation
The upward and downward ramps, with the exact dwell and rest schedule.
def window (j : ℕ) (t : ℝ) : ℝ := …
- lemma
OAI.HarmonicCounterexample.Pulses.window_smoothline 622 - lemma
OAI.HarmonicCounterexample.Pulses.window_zero_beforeline 626 - lemma
OAI.HarmonicCounterexample.Pulses.window_zero_afterline 636 - lemma
OAI.HarmonicCounterexample.Pulses.window_oneline 646 - lemma
OAI.HarmonicCounterexample.Pulses.window_rangeline 656 - def
OAI.HarmonicCounterexample.Pulses.incrementline 667Source documentation
Controls are arbitrary across periods; only each individual scalar bump is smooth.
def increment (z : ℕ → ℝ → ℝ) (qstar : ℝ) (j : ℕ) (t : ℝ) : ℝ := …
- def
OAI.HarmonicCounterexample.Pulses.profileline 670 - lemma
OAI.HarmonicCounterexample.Pulses.increment_smoothline 673 - lemma
OAI.HarmonicCounterexample.Pulses.increment_zero_beforeline 679 - lemma
OAI.HarmonicCounterexample.Pulses.increment_zero_afterline 687 - lemma
OAI.HarmonicCounterexample.Pulses.profile_smoothline 697 - lemma
OAI.HarmonicCounterexample.Pulses.profile_initialline 711 - lemma
OAI.HarmonicCounterexample.Pulses.profile_periodline 722 - lemma
OAI.HarmonicCounterexample.GlobalGrowth.grid_bracketline 760Source documentation
Every late real time lies between consecutive entries of an unbounded grid. No interpolation or endpoint-only growth convention is used.
lemma grid_bracket {τ : ℕ → ℝ} (hτ : Tendsto τ atTop atTop) (N : ℕ) {t : ℝ} (ht : τ N ≤ t) : ∃ j ≥ N, τ j ≤ t ∧ t ≤ τ (j+1) := by … - theorem
OAI.HarmonicCounterexample.GlobalGrowth.all_time_log_boundline 782Source documentation
The full real-time bridge in the proof of the main theorem. A bounded Riccati matrix controls each period, and sublinear period lengths prevent hidden growth between endpoints.
theorem all_time_log_bound {τ : ℕ → ℝ} {w : ℝ → ℝ} {d α C : ℝ} (hτ : Tendsto τ atTop atTop) (hpos : ∀ j, 0 < τ j) (hend : Tendsto (fun j => w (τ j) / τ j) atTop (𝓝 d)) (hduration : Tendsto (fun j => (τ (j+1) - τ j) / τ j) atTop (𝓝 0)) (hlocal : ∀ᶠ j in atTop, ∀ t ∈ Set.Icc (τ j) (τ (j+1)), w t ≤ w (τ j) + C * (τ (j+1) - τ j)) (hd : 0 ≤ d) (hα : d < α) : ∀ᶠ t in atTop, w t ≤ α * t := by … - theorem
OAI.HarmonicCounterexample.GlobalGrowth.radial_power_boundline 806Source documentation
Passing from logarithmic time to radius is an actual bound on every sufficiently large radius, not just on the discrete schedule.
theorem radial_power_bound {y : ℝ → ℝ} {α : ℝ} (hy : ∀ t, 0 ≤ y t) (hlog : ∀ᶠ t in atTop, Real.log (y t) ≤ α * t) : ∀ᶠ r in atTop, y (Real.log r) ≤ r ^ α := by … - lemma
OAI.HarmonicCounterexample.Pulses.profile_bounds_on_periodline 845 - theorem
OAI.HarmonicCounterexample.Pulses.choose_positive_startline 865Source documentation
Uniform positivity is obtained by delaying the pulses, with NO dependence on the subsequently chosen sequence of parameters.
theorem choose_positive_start {z : ℕ → ℝ → ℝ} {M qstar : ℝ} (hz0 : ∀ j u, u ≤ 0 → z j u = 0) (hz1 : ∀ j u, 1 ≤ u → z j u = 0) (hbound : ∀ j u, |z j u| ≤ M) (hq : 1 ≤ qstar) : ∃ j0 : ℕ, ∀ t, 1/2 ≤ profile z qstar j0 t ∧ profile z qstar j0 t ≤ qstar + 1/2 := by … - lemma
OAI.HarmonicCounterexample.Pulses.profile_pulseline 884 - lemma
OAI.HarmonicCounterexample.Pulses.profile_dwellline 894 - lemma
OAI.HarmonicCounterexample.Pulses.profile_restline 906 - lemma
OAI.HarmonicCounterexample.Pulses.deriv_eqOn_Iccline 941 - lemma
OAI.HarmonicCounterexample.Pulses.deriv_two_eqOn_Iccline 950 - lemma
OAI.HarmonicCounterexample.Pulses.affine_composition_derivline 959 - lemma
OAI.HarmonicCounterexample.Pulses.affine_composition_hasDerivAtline 964 - lemma
OAI.HarmonicCounterexample.Pulses.window_derivline 969 - lemma
OAI.HarmonicCounterexample.Pulses.window_deriv_twoline 986 - lemma
OAI.HarmonicCounterexample.Pulses.increment_derivline 1008 - lemma
OAI.HarmonicCounterexample.Pulses.increment_deriv_twoline 1021 - lemma
OAI.HarmonicCounterexample.Pulses.profile_deriv_periodline 1040 - lemma
OAI.HarmonicCounterexample.Pulses.profile_deriv_two_periodline 1051 - lemma
OAI.HarmonicCounterexample.Pulses.bounded_of_zero_outsideline 1085 - lemma
OAI.HarmonicCounterexample.Pulses.ramp_locally_constantline 1095 - lemma
OAI.HarmonicCounterexample.Pulses.ramp_derivatives_boundedline 1106 - lemma
OAI.HarmonicCounterexample.Pulses.pulse_one_leline 1116 - lemma
OAI.HarmonicCounterexample.Pulses.window_deriv_boundline 1122 - lemma
OAI.HarmonicCounterexample.Pulses.window_deriv_two_boundline 1131 - lemma
OAI.HarmonicCounterexample.Pulses.increment_deriv_boundline 1140 - lemma
OAI.HarmonicCounterexample.Pulses.increment_deriv_two_boundline 1160 - theorem
OAI.HarmonicCounterexample.Pulses.profile_derivative_boundsline 1182Source documentation
The time derivatives are controlled uniformly on each CLOSED period, including both joining points. Constants depend on the fixed pulse family, never its history.
theorem profile_derivative_bounds {z : ℕ → ℝ → ℝ} (hs : ∀ j, ContDiff ℝ ∞ (z j)) (hz0 : ∀ j u, u ≤ 0 → z j u = 0) (hz1 : ∀ j u, 1 ≤ u → z j u = 0) {M1 M2 : ℝ} (hM1 : ∀ j t, |deriv (z j) t| ≤ M1) (hM2 : ∀ j t, |deriv (deriv (z j)) t| ≤ M2) (qstar : ℝ) : ∃ C1 C2 : ℝ, 0 ≤ C1 ∧ 0 ≤ C2 ∧ ∀ j0 j, j0 ≤ j → ∀ t ∈ Set.Icc (time j) (time (j+1)), |deriv (profile z qstar j0) t| ≤ C1/pulse j ∧ |deriv (deriv (profile z qstar j0)) t| ≤ C2/pulse j^2 := by … - def
OAI.HarmonicCounterexample.Pulses.logSlopeline 1224Source documentation
Half the logarithmic derivative of the volume-normalized Berger anisotropy.
def logSlope (q : ℝ → ℝ) (t : ℝ) : ℝ := deriv q t / (2*q t)
- lemma
OAI.HarmonicCounterexample.Pulses.logSlope_smoothline 1226 - lemma
OAI.HarmonicCounterexample.Pulses.logSlope_derivline 1231 - lemma
OAI.HarmonicCounterexample.Pulses.logSlope_boundline 1240 - lemma
OAI.HarmonicCounterexample.Pulses.logSlope_deriv_boundline 1246 - lemma
OAI.HarmonicCounterexample.Schedule.time_succ_upperline 1291 - lemma
OAI.HarmonicCounterexample.Schedule.period_weight_boundline 1312 - lemma
OAI.HarmonicCounterexample.Berger.scale_margin_on_periodline 1352 - theorem
OAI.HarmonicCounterexample.Berger.radial_budget_indexline 1374Source documentation
A single late index absorbs the entire radial curvature cost uniformly in all subsequent controls satisfying the fixed derivative bound.
theorem radial_budget_index {m μ C : ℝ} (hm : 1 ≤ m) (hμ : 0 < μ) : ∃ J : ℕ, ∀ j ≥ J, 64*C^2 ≤ m*μ*(j+1:ℝ)^2 := by … - theorem
OAI.HarmonicCounterexample.Berger.radialRicci_of_pulse_budgetline 1389 - def
OAI.HarmonicCounterexample.Berger.tangentHline 1428Source documentation
The two tangent Ricci eigenvalues as continuous functions of the six scalar profile jets. The harmless positive clamp is inactive wherever q≥1/2.
def tangentH (m : ℝ) (X : Fin 6 → ℝ) : ℝ := …
- def
OAI.HarmonicCounterexample.Berger.tangentVline 1431 - lemma
OAI.HarmonicCounterexample.Berger.tangentH_continuousline 1435 - lemma
OAI.HarmonicCounterexample.Berger.tangentV_continuousline 1442 - def
OAI.HarmonicCounterexample.Berger.staticJetline 1449 - lemma
OAI.HarmonicCounterexample.Berger.staticJet_continuousline 1451 - lemma
OAI.HarmonicCounterexample.Berger.staticHline 1456 - lemma
OAI.HarmonicCounterexample.Berger.staticVline 1462 - theorem
OAI.HarmonicCounterexample.Berger.tangent_budget_tubeline 1470Source documentation
The strict link margin yields a uniform open neighborhood of positive horizontal and vertical Ricci jets along the ENTIRE compact Berger segment.
theorem tangent_budget_tube {m a qstar : ℝ} (hH : ∀ q ∈ Set.Icc 1 qstar, 0 < m+1-2*q-(m-1)*a^2*q^(-1/m)) (hV : ∀ q ∈ Set.Icc 1 qstar, 0 < (m-1)*q*(q-a^2*q^(-1/m))) : ∃ δ > 0, ∀ (X : Fin 6 → ℝ) (q : ℝ), q ∈ Set.Icc 1 qstar → dist X (staticJet a q) < δ → 0 < tangentH m X ∧ 0 < tangentV m X := by …Mentions: OAI.HarmonicCounterexample.a, OAI.HarmonicCounterexample.Berger.staticJet, OAI.HarmonicCounterexample.Berger.tangentH, OAI.HarmonicCounterexample.Berger.tangentV
- lemma
OAI.HarmonicCounterexample.Berger.static_vertical_marginline 1490Source documentation
Positivity of the vertical static margin follows directly from a<1.
lemma static_vertical_margin {m a q : ℝ} (hm : 1 < m) (ha : a^2 < 1) (hq : 1 ≤ q) : 0 < (m-1)*q*(q-a^2*q^(-1/m)) := by …Mentions: OAI.HarmonicCounterexample.a
- theorem
OAI.HarmonicCounterexample.Berger.tangent_budget_coordinatesline 1521 - lemma
OAI.HarmonicCounterexample.Berger.clamp_segmentline 1548Source documentation
Any anisotropy in an epsilon enlargement of the closed dwell segment is within epsilon of an actual point of that segment.
lemma clamp_segment {qstar q ε : ℝ} (hqstar : 1 ≤ qstar) (hlo : 1-ε ≤ q) (hhi : q ≤ qstar+ε) (he : 0 ≤ ε) : ∃ q0 ∈ Set.Icc 1 qstar, |q-q0| ≤ ε := by … - lemma
OAI.HarmonicCounterexample.Schedule.pulse_atTop_limitline 1579 - lemma
OAI.HarmonicCounterexample.Schedule.pulse_reciprocal_limitline 1584 - lemma
OAI.HarmonicCounterexample.Schedule.pulse_reciprocal_square_limitline 1589 - theorem
OAI.HarmonicCounterexample.Berger.tangentRicci_of_pulse_budgetline 1620Source documentation
Uniform tangent curvature budget, independent of the later control sequence. All hypotheses concerning q are the bounds already proved for the actual pulse profile; the smallness index is produced from the fixed scale and fixed family.
theorem tangentRicci_of_pulse_budget {m a μ qstar M C1 C2 : ℝ} (hM : 0 ≤ M) (hqstar : 1 ≤ qstar) (ha : Tendsto (Scale.profile μ) atTop (𝓝 a)) (hH : ∀ q ∈ Set.Icc 1 qstar, 0 < m+1-2*q-(m-1)*a^2*q^(-1/m)) (hV : ∀ q ∈ Set.Icc 1 qstar, 0 < (m-1)*q*(q-a^2*q^(-1/m))) : ∃ J : ℕ, ∀ j ≥ J, ∀ (q : ℝ → ℝ) (t : ℝ), ContDiff ℝ ∞ q → 1/2 ≤ q t → 1-M/pulse j ≤ q t → q t ≤ qstar+M/pulse j → |deriv q t| ≤ C1/pulse j → |deriv (deriv q) t| ≤ C2/(pulse j)^2 → time j ≤ t → 0 < horizontalRicciNumerator (m+1) ((Scale.profile μ t)^2*(q t)^(-1/m)) (q t) …Mentions: OAI.HarmonicCounterexample.a, OAI.HarmonicCounterexample.Scale.profile, OAI.HarmonicCounterexample.Berger.horizontalRicciNumerator
- lemma
OAI.HarmonicCounterexample.christoffel_eq_zero_of_locallyConstantline 1688 - lemma
OAI.HarmonicCounterexample.ricci_eq_zero_of_locallyConstantline 1696 - lemma
OAI.HarmonicCounterexample.Cartesian.rawCoefficient_locally_fixedline 1729 - theorem
OAI.HarmonicCounterexample.Cartesian.bergerMetric_ricciNonnegativeline 1746Source documentation
Genuine global Ricci positivity of the constructed smooth metric from the three exact scalar eigenvalue inequalities. The origin and all switching gaps are included; no differentiability of the label function is required.
theorem bergerMetric_ricciNonnegative (c q u v : ℝ → ℝ) (J : ℝ → ComplexStructure (Fin n)) (hc : ContDiff ℝ ∞ c) (hq : ContDiff ℝ ∞ q) (hcp : ∀ t, 0 < c t) (hqp : ∀ t, 0 < q t) (hJ : ∀ t, (∀ᶠ s in 𝓝 t, J s = J t) ∨ (∀ᶠ s in 𝓝 t, q s = 1)) {T : ℝ} (hc0 : ∀ t ≤ T, c t = 1) (hq0 : ∀ t ≤ T, q t = 1) (hdc : ∀ t, HasDerivAt c (2*c t*u t) t) (hdq : ∀ t, HasDerivAt q (2*q t*v t) t) (hu : Differentiable ℝ u) (hv : Differentiable ℝ v) (hR : ∀ t, 0 ≤ radialRicciNumerator n (u t) (v t) (deriv u t) (deriv v t)) (hH : ∀ t, 0 ≤ horizontalRicciNumerator n (c t) (q t) (u t) (v t) (deriv u t)) (hV : ∀ t, 0 ≤ verticalRicciNumerator n (c t) (q t) (u t) (v t) (deriv u t) (deriv v t)) : …