/- Canonical source assembly. Receipts determine verification status. -/ end Bounty /- BEGIN M000 -/ section section open scoped ENNReal lemma enorm_sq_eq_ofReal (x : ℝ) : ‖x‖ₑ ^ 2 = ENNReal.ofReal (x ^ 2) := by rw [← ofReal_norm_eq_enorm, ← ENNReal.ofReal_pow (norm_nonneg _), Real.norm_eq_abs, sq_abs] lemma enorm_sq_eq_ofReal' {E : Type*} [NormedAddCommGroup E] (x : E) : ‖x‖ₑ ^ 2 = ENNReal.ofReal (‖x‖ ^ 2) := by rw [← ofReal_norm_eq_enorm, ← ENNReal.ofReal_pow (norm_nonneg _)] end end /- END M000 -/ /- BEGIN M001 -/ section section noncomputable section open scoped ENNReal namespace PolyaBridge.CoreMinmax open Set Filter Topology open scoped InnerProductSpace variable {V H : Type*} variable [NormedAddCommGroup V] [InnerProductSpace ℝ V] variable [NormedAddCommGroup H] [InnerProductSpace ℝ H] /-- Density holds simultaneously for every entry of a finite family. -/ theorem dense_core_families (S : Submodule ℝ V) (hS : Dense (S : Set V)) (n : ℕ) : Dense (Set.pi (Set.univ : Set (Fin n)) (fun _ => (S : Set V))) := dense_pi Set.univ (fun _ _ => hS) /-- Linear synthesis from finite coefficient vectors. -/ def synthesis {n : ℕ} (u : Fin n → V) : (Fin n → ℝ) →ₗ[ℝ] V := Fintype.linearCombination ℝ u theorem synthesis_apply {n : ℕ} (u : Fin n → V) (c : Fin n → ℝ) : synthesis u c = ∑ i, c i • u i := rfl theorem synthesis_injective {n : ℕ} {u : Fin n → V} (hu : LinearIndependent ℝ u) : Function.Injective (synthesis u) := hu.fintypeLinearCombination_injective /-! The following interface keeps the energy form separate from the ambient Hilbert norm. In particular, the `H¹` norm is not substituted for Dirichlet energy. -/ def formRayleigh (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (v : V) : ENNReal := ENNReal.ofReal (B v v) / ENNReal.ofReal (‖J v‖ ^ 2) def formMinmaxOn (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (S : Submodule ℝ V) (j : ℕ) : ENNReal := ⨅ (W : Submodule ℝ V) (_ : W ≤ S) (_ : Module.finrank ℝ W = j), ⨆ (v : V) (_ : v ∈ W) (_ : v ≠ 0), formRayleigh B J v theorem form_diagonal_smul (B : V →L[ℝ] V →L[ℝ] ℝ) (r : ℝ) (v : V) : B (r • v) (r • v) = r ^ 2 * B v v := by simp only [map_smul, ContinuousLinearMap.smul_apply, smul_eq_mul] ring /-- Gram approximation for the actual energy form, independently of the norm on `V`. -/ theorem exists_core_form_gram_approx (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (S : Submodule ℝ V) (hS : Dense (S : Set V)) {n : ℕ} (u : Fin n → V) (hu : LinearIndependent ℝ u) {ε : ℝ} (hε : 0 < ε) : ∃ v : Fin n → V, (∀ i, v i ∈ S) ∧ LinearIndependent ℝ v ∧ (∀ i l, |B (v i) (v l) - B (u i) (u l)| < ε) ∧ (∀ i l, |⟪J (v i), J (v l)⟫_ℝ - ⟪J (u i), J (u l)⟫_ℝ| < ε) := by classical have hEnergy : ∀ᶠ v : Fin n → V in 𝓝 u, ∀ i l, |B (v i) (v l) - B (u i) (u l)| < ε := by apply eventually_all.mpr intro i apply eventually_all.mpr intro l have hc : Continuous (fun v : Fin n → V => |B (v i) (v l) - B (u i) (u l)|) := by fun_prop exact hc.continuousAt.eventually (gt_mem_nhds (by simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hε)) have hMass : ∀ᶠ v : Fin n → V in 𝓝 u, ∀ i l, |⟪J (v i), J (v l)⟫_ℝ - ⟪J (u i), J (u l)⟫_ℝ| < ε := by apply eventually_all.mpr intro i apply eventually_all.mpr intro l have hc : Continuous (fun v : Fin n → V => |⟪J (v i), J (v l)⟫_ℝ - ⟪J (u i), J (u l)⟫_ℝ|) := by fun_prop exact hc.continuousAt.eventually (gt_mem_nhds (by simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hε)) obtain ⟨v, hvS, hv⟩ := (dense_core_families S hS n).inter_nhds_nonempty (hu.eventually.and (hEnergy.and hMass)) exact ⟨v, (fun i => hvS i (Set.mem_univ i)), hv.1, hv.2.1, hv.2.2⟩ theorem eventually_trial_form_bound (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (hJ : Function.Injective J) {n : ℕ} (u : Fin n → V) (hu : LinearIndependent ℝ u) {A C : ℝ} (hAC : A < C) (hA : ∀ c : Fin n → ℝ, B (synthesis u c) (synthesis u c) ≤ A * ‖J (synthesis u c)‖ ^ 2) : ∀ᶠ v : Fin n → V in 𝓝 u, ∀ c : Fin n → ℝ, B (synthesis v c) (synthesis v c) ≤ C * ‖J (synthesis v c)‖ ^ 2 := by classical have hSphere : ∀ᶠ v : Fin n → V in 𝓝 u, ∀ c ∈ Metric.sphere (0 : Fin n → ℝ) 1, B (synthesis v c) (synthesis v c) < C * ‖J (synthesis v c)‖ ^ 2 := by apply (isCompact_sphere (0 : Fin n → ℝ) 1).eventually_forall_of_forall_eventually intro c hc have hcNorm : ‖c‖ = 1 := by simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hc have hc0 : c ≠ 0 := by intro hc0 simp [_root_.PolyaBridge.CoreMinmax.synthesis_apply, hc0] at hcNorm have huc0 : synthesis u c ≠ 0 := by intro hz exact hc0 ((synthesis_injective hu) (by simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hz)) have hJuc0 : J (synthesis u c) ≠ 0 := by intro hz exact huc0 (hJ (by simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hz)) have hMassPos : 0 < ‖J (synthesis u c)‖ ^ 2 := by positivity have hStrict : B (synthesis u c) (synthesis u c) < C * ‖J (synthesis u c)‖ ^ 2 := (hA c).trans_lt (mul_lt_mul_of_pos_right hAC hMassPos) have hEnergyCont : Continuous (fun p : (Fin n → V) × (Fin n → ℝ) => B (synthesis p.1 p.2) (synthesis p.1 p.2)) := by simp only [synthesis_apply] fun_prop have hMassCont : Continuous (fun p : (Fin n → V) × (Fin n → ℝ) => C * ‖J (synthesis p.1 p.2)‖ ^ 2) := by simp only [synthesis_apply] fun_prop exact (isOpen_lt hEnergyCont hMassCont).mem_nhds hStrict filter_upwards [hSphere] with v hv c by_cases hc0 : c = 0 · simp [_root_.PolyaBridge.CoreMinmax.synthesis_apply, hc0] have hcPos : 0 < ‖c‖ := norm_pos_iff.mpr hc0 let d : Fin n → ℝ := ‖c‖⁻¹ • c have hdSphere : d ∈ Metric.sphere (0 : Fin n → ℝ) 1 := by rw [Metric.mem_sphere, dist_zero_right] simp only [d, norm_smul, Real.norm_eq_abs, abs_inv, abs_norm, inv_mul_cancel₀ hcPos.ne'] have hd := hv d hdSphere have hSynth : synthesis v d = ‖c‖⁻¹ • synthesis v c := by exact (synthesis v).map_smul ‖c‖⁻¹ c rw [hSynth, form_diagonal_smul, J.map_smul] at hd simp only [norm_smul, Real.norm_eq_abs, abs_inv, abs_norm, mul_pow] at hd have hd' : (‖c‖⁻¹) ^ 2 * B (synthesis v c) (synthesis v c) < (‖c‖⁻¹) ^ 2 * (C * ‖J (synthesis v c)‖ ^ 2) := by simpa only [mul_assoc, mul_left_comm] using hd exact ((mul_lt_mul_iff_right₀ (by positivity : 0 < (‖c‖⁻¹) ^ 2)).mp hd').le theorem formRayleigh_le_of_energy_bound (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) {v : V} {C : ℝ} (hC : 0 ≤ C) (hBound : B v v ≤ C * ‖J v‖ ^ 2) : formRayleigh B J v ≤ ENNReal.ofReal C := by apply ENNReal.div_le_of_le_mul rw [← ENNReal.ofReal_mul hC] exact ENNReal.ofReal_le_ofReal hBound theorem exists_core_trial_form_rayleigh_bound (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (hJ : Function.Injective J) (S : Submodule ℝ V) (hS : Dense (S : Set V)) {n : ℕ} (u : Fin n → V) (hu : LinearIndependent ℝ u) {A C : ℝ} (hAC : A < C) (hC : 0 ≤ C) (hA : ∀ c : Fin n → ℝ, B (synthesis u c) (synthesis u c) ≤ A * ‖J (synthesis u c)‖ ^ 2) : ∃ W : Submodule ℝ V, W ≤ S ∧ Module.finrank ℝ W = n ∧ ∀ x ∈ W, formRayleigh B J x ≤ ENNReal.ofReal C := by have hBound := eventually_trial_form_bound B J hJ u hu hAC hA obtain ⟨v, hvS, hv⟩ := (dense_core_families S hS n).inter_nhds_nonempty (hu.eventually.and hBound) refine ⟨Submodule.span ℝ (Set.range v), ?_, ?_, ?_⟩ · apply Submodule.span_le.mpr rintro _ ⟨i, rfl⟩ exact hvS i (Set.mem_univ i) · rw [finrank_span_eq_card hv.1, Fintype.card_fin] · intro x hx obtain ⟨c, hc⟩ := (Submodule.mem_span_range_iff_exists_fun ℝ).mp hx apply formRayleigh_le_of_energy_bound B J hC have hxc : synthesis v c = x := by simpa only [synthesis_apply] using hc simpa only [hxc] using hv.2 c theorem core_formMinmax_le_of_trial_energy_bound (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (hJ : Function.Injective J) (S : Submodule ℝ V) (hS : Dense (S : Set V)) {n : ℕ} (u : Fin n → V) (hu : LinearIndependent ℝ u) {A C : ℝ} (hAC : A < C) (hC : 0 ≤ C) (hA : ∀ c : Fin n → ℝ, B (synthesis u c) (synthesis u c) ≤ A * ‖J (synthesis u c)‖ ^ 2) : formMinmaxOn B J S n ≤ ENNReal.ofReal C := by obtain ⟨W, hWS, hWdim, hWBound⟩ := exists_core_trial_form_rayleigh_bound B J hJ S hS u hu hAC hC hA calc formMinmaxOn B J S n ≤ ⨆ (x : V) (_ : x ∈ W) (_ : x ≠ 0), formRayleigh B J x := iInf_le_of_le W (iInf_le_of_le hWS (iInf_le_of_le hWdim le_rfl)) _ ≤ ENNReal.ofReal C := iSup_le fun x => iSup_le fun hx => iSup_le fun _ => hWBound x hx /-- Supremum of the Rayleigh quotient on a fixed trial space. -/ def formTrialSup (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (W : Submodule ℝ V) : ENNReal := ⨆ (v : V) (_ : v ∈ W) (_ : v ≠ 0), formRayleigh B J v theorem form_energy_bound_of_rayleigh_le (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (hJ : Function.Injective J) {v : V} {A : ℝ} (hA : 0 ≤ A) (hRayleigh : formRayleigh B J v ≤ ENNReal.ofReal A) : B v v ≤ A * ‖J v‖ ^ 2 := by by_cases hv0 : v = 0 · simp [_root_.PolyaBridge.CoreMinmax.synthesis_apply, hv0] have hJv0 : J v ≠ 0 := by intro hz exact hv0 (hJ (by simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hz)) have hMassPos : 0 < ‖J v‖ ^ 2 := by positivity have hMass0 : ENNReal.ofReal (‖J v‖ ^ 2) ≠ 0 := ne_of_gt (ENNReal.ofReal_pos.mpr hMassPos) have hMassTop : ENNReal.ofReal (‖J v‖ ^ 2) ≠ ⊤ := ENNReal.ofReal_ne_top have hEnergy : ENNReal.ofReal (B v v) ≤ ENNReal.ofReal A * ENNReal.ofReal (‖J v‖ ^ 2) := (ENNReal.div_le_iff hMass0 hMassTop).mp hRayleigh rw [← ENNReal.ofReal_mul hA] at hEnergy exact (ENNReal.ofReal_le_ofReal_iff (mul_nonneg hA (sq_nonneg _))).mp hEnergy /-- The core min-max is bounded by the Rayleigh supremum of any finite-dimensional trial space. The finite bound case is obtained by approximation and order density; an infinite trial supremum needs no approximation. -/ theorem core_formMinmax_le_trialSup (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (hJ : Function.Injective J) (S : Submodule ℝ V) (hS : Dense (S : Set V)) {j : ℕ} (hj : 0 < j) (W : Submodule ℝ V) (hWdim : Module.finrank ℝ W = j) : formMinmaxOn B J S j ≤ formTrialSup B J W := by classical by_cases hTop : formTrialSup B J W = ⊤ · rw [hTop] exact le_top letI : Module.IsTorsionFree ℝ W := DivisionSemiring.to_moduleIsTorsionFree letI : Module.Finite ℝ W := Module.finite_of_finrank_pos (by rw [hWdim] exact hj) let b := Module.finBasisOfFinrankEq ℝ W hWdim let u : Fin j → V := fun i => (b i : V) have hu : LinearIndependent ℝ u := by exact b.linearIndependent.map' W.subtype (Submodule.ker_subtype W) have hMem : ∀ c : Fin j → ℝ, synthesis u c ∈ W := by intro c rw [synthesis_apply] exact W.sum_mem fun i _ => W.smul_mem (c i) (b i).property have hRayleigh : ∀ c : Fin j → ℝ, formRayleigh B J (synthesis u c) ≤ formTrialSup B J W := by intro c by_cases hc0 : synthesis u c = 0 · simp [_root_.PolyaBridge.CoreMinmax.synthesis_apply, hc0, formRayleigh] · exact le_iSup_of_le (synthesis u c) (le_iSup_of_le (hMem c) (le_iSup_of_le hc0 le_rfl)) have hA : ∀ c : Fin j → ℝ, B (synthesis u c) (synthesis u c) ≤ (formTrialSup B J W).toReal * ‖J (synthesis u c)‖ ^ 2 := by intro c apply form_energy_bound_of_rayleigh_le B J hJ ENNReal.toReal_nonneg simpa only [ENNReal.ofReal_toReal hTop] using hRayleigh c apply le_of_forall_gt_imp_ge_of_dense intro C hC by_cases hCTop : C = ⊤ · rw [hCTop] exact le_top have hAC : (formTrialSup B J W).toReal < C.toReal := (ENNReal.toReal_lt_toReal hTop hCTop).mpr hC have hBound := core_formMinmax_le_of_trial_energy_bound B J hJ S hS u hu hAC ENNReal.toReal_nonneg hA simpa only [ENNReal.ofReal_toReal hCTop] using hBound /-- A dense form core has exactly the same positive-index min-max values as the whole form domain. The energy remains the supplied continuous bilinear form. -/ theorem formMinmaxOn_eq_top_of_dense (B : V →L[ℝ] V →L[ℝ] ℝ) (J : V →L[ℝ] H) (hJ : Function.Injective J) (S : Submodule ℝ V) (hS : Dense (S : Set V)) {j : ℕ} (hj : 0 < j) : formMinmaxOn B J S j = formMinmaxOn B J ⊤ j := by apply le_antisymm · unfold formMinmaxOn refine le_iInf fun W => le_iInf fun _ => le_iInf fun hWdim => ?_ exact core_formMinmax_le_trialSup B J hJ S hS hj W hWdim · unfold formMinmaxOn refine le_iInf fun W => le_iInf fun _ => le_iInf fun hWdim => ?_ exact iInf_le_of_le W (iInf_le_of_le (le_top : W ≤ ⊤) (iInf_le_of_le hWdim le_rfl)) end PolyaBridge.CoreMinmax namespace DirichletBridge.MinmaxTransport variable {U W : Type*} [AddCommGroup U] [Module ℝ U] [AddCommGroup W] [Module ℝ W] def minmax (S : Submodule ℝ U) (R : U → ENNReal) (j : ℕ) : ENNReal := ⨅ (V : Submodule ℝ U) (_ : V ≤ S) (_ : Module.finrank ℝ V = j), ⨆ (u : U) (_ : u ∈ V) (_ : u ≠ 0), R u theorem le_of_map {S : Submodule ℝ U} {T : Submodule ℝ W} {R : U → ENNReal} {Q : W → ENNReal} (P : U →ₗ[ℝ] W) (hPT : ∀ u ∈ S, P u ∈ T) (hinj : ∀ u ∈ S, P u = 0 → u = 0) (hR : ∀ u ∈ S, u ≠ 0 → Q (P u) ≤ R u) (j : ℕ) : minmax T Q j ≤ minmax S R j := by classical unfold minmax refine le_iInf fun V => le_iInf fun hV => le_iInf fun hj => ?_ have hinjV : Function.Injective (P.domRestrict V) := by rw [← LinearMap.ker_eq_bot, LinearMap.ker_eq_bot'] intro x hx exact Subtype.ext (hinj x (hV x.property) (by simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hx)) let Z := LinearMap.range (P.domRestrict V) have hZdim : Module.finrank ℝ Z = j := by rw [LinearMap.finrank_range_of_inj hinjV, hj] have hZT : Z ≤ T := by rintro _ ⟨x, rfl⟩ exact hPT x (hV x.property) apply (iInf_le_of_le Z (iInf_le_of_le hZT (iInf_le_of_le hZdim le_rfl))).trans refine iSup_le fun v => iSup_le fun hv => iSup_le fun hv0 => ?_ obtain ⟨x, rfl⟩ := hv have hx0 : (x : U) ≠ 0 := by rintro h apply hv0 simp [_root_.PolyaBridge.CoreMinmax.synthesis_apply, h] exact (hR x (hV x.property) hx0).trans (le_iSup_of_le (x : U) (le_iSup_of_le x.property (le_iSup_of_le hx0 le_rfl))) theorem eq_range_of_injective (P : U →ₗ[ℝ] W) (hP : Function.Injective P) (R : U → ENNReal) (Q : W → ENNReal) (hR : ∀ u, Q (P u) = R u) (j : ℕ) : minmax P.range Q j = minmax ⊤ R j := by obtain ⟨L, hL⟩ := P.exists_leftInverse_of_injective (LinearMap.ker_eq_bot.mpr hP) have hLP : ∀ u, L (P u) = u := by intro u exact congrArg (fun f : U →ₗ[ℝ] U => f u) hL apply le_antisymm · exact le_of_map (S := ⊤) (T := P.range) P (fun u _ => ⟨u, rfl⟩) (fun u _ hu => hP (by simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hu)) (fun u _ _ => (hR u).le) j · apply le_of_map (S := P.range) (T := ⊤) L (fun _ _ => Submodule.mem_top) · rintro v ⟨u, rfl⟩ hu rw [hLP] at hu rw [hu, map_zero] · rintro v ⟨u, rfl⟩ _ rw [hLP, hR] end DirichletBridge.MinmaxTransport end end end /- END M001 -/ /- BEGIN M002 -/ section section noncomputable section open Set MeasureTheory open scoped ENNReal NNReal Topology ContDiff namespace Math30.Polya.TangWangBridge def planeTestFunctions (Ω : Set Plane) : Submodule ℝ (Plane → ℝ) where carrier := {u | IsTestFunction Ω u} zero_mem' := ⟨contDiff_const, HasCompactSupport.zero, by simp⟩ add_mem' := by rintro u v ⟨hu, hu', hu''⟩ ⟨hv, hv', hv''⟩ exact ⟨hu.add hv, hu'.add hv', (tsupport_add u v).trans (Set.union_subset hu'' hv'')⟩ smul_mem' := by rintro c u ⟨hu, hu', hu''⟩ exact ⟨hu.const_smul c, HasCompactSupport.smul_left (f := fun _ => c) hu', (tsupport_smul_subset_right (fun _ => c) u).trans hu''⟩ def planeRayleigh (u : Plane → ℝ) : ℝ≥0∞ := (∫⁻ x, ‖fderiv ℝ u x‖ₑ ^ 2) / (∫⁻ x, ‖u x‖ₑ ^ 2) def planeSmoothEigenvalue (Ω : Set Plane) (k : ℕ) : ℝ≥0∞ := DirichletBridge.MinmaxTransport.minmax (planeTestFunctions Ω) planeRayleigh k theorem norm_gradient_eq_fderiv (u : Plane → ℝ) (x : Plane) : ‖gradient u x‖ = ‖fderiv ℝ u x‖ := (InnerProductSpace.toDual ℝ Plane).symm.norm_map _ theorem enorm_gradient_eq_fderiv (u : Plane → ℝ) (x : Plane) : ‖gradient u x‖ₑ = ‖fderiv ℝ u x‖ₑ := by apply ENNReal.coe_inj.mpr exact NNReal.eq (norm_gradient_eq_fderiv u x) end Math30.Polya.TangWangBridge end end end /- END M002 -/ /- BEGIN M003 -/ section section noncomputable section open Set MeasureTheory Topology open scoped ENNReal InnerProductSpace namespace Math30.Polya.GraphMinmaxBridge open DirichletBridge.MinmaxTransport theorem trialSup_eq_flat {Ω : Set Plane} {k : ℕ} (V : TrialSpace Ω k) : trialSup V = ⨆ (w : SobolevAmbient) (_ : w ∈ V.space) (_ : w ≠ 0), rayleigh w := by apply le_antisymm · refine iSup_le fun w => ?_ exact le_iSup_of_le w.val (le_iSup_of_le w.property.1 (le_iSup_of_le w.property.2 le_rfl)) · refine iSup_le fun w => iSup_le fun hw => iSup_le fun hw0 => ?_ exact le_iSup (fun w : {w : SobolevAmbient // w ∈ V.space ∧ w ≠ 0} => rayleigh w.val) ⟨w, hw, hw0⟩ theorem dirichletMinmax_eq_submoduleMinmax (Ω : Set Plane) {k : ℕ} (hk : 0 < k) : dirichletMinmax Ω k = minmax (h01Submodule Ω) rayleigh k := by apply le_antisymm · unfold DirichletBridge.MinmaxTransport.minmax refine le_iInf fun W => le_iInf fun hW => le_iInf fun hdim => ?_ letI : FiniteDimensional ℝ W := Module.finite_of_finrank_pos (hdim.symm ▸ hk) let V : TrialSpace Ω k := ⟨W, inferInstance, hdim, hW⟩ exact (dirichletMinmax_le_trialSup V).trans_eq (trialSup_eq_flat V) · unfold dirichletMinmax refine le_iInf fun V => ?_ unfold DirichletBridge.MinmaxTransport.minmax exact (iInf_le_of_le V.space (iInf_le_of_le V.contained (iInf_le_of_le V.dimension le_rfl))).trans_eq (trialSup_eq_flat V).symm theorem minmax_map_of_injective {U W : Type*} [AddCommGroup U] [Module ℝ U] [AddCommGroup W] [Module ℝ W] (P : U →ₗ[ℝ] W) (hP : Function.Injective P) (S : Submodule ℝ U) (R : U → ENNReal) (Q : W → ENNReal) (hR : ∀ u, Q (P u) = R u) (k : ℕ) : minmax (S.map P) Q k = minmax S R k := by have hSubtype := eq_range_of_injective S.subtype Subtype.val_injective (fun u : S => R u) R (fun _ => rfl) k have hMap := eq_range_of_injective (P.comp S.subtype) (hP.comp Subtype.val_injective) (fun u : S => R u) Q (fun u => hR u) k rw [Submodule.range_subtype] at hSubtype rw [LinearMap.range_comp, Submodule.range_subtype] at hMap exact hMap.trans hSubtype.symm abbrev HilbertAmbient := WithLp 2 SobolevAmbient def ambientEquiv : HilbertAmbient ≃L[ℝ] SobolevAmbient := WithLp.prodContinuousLinearEquiv 2 ℝ (Lp ℝ 2 (volume : Measure Plane)) (Lp Plane 2 (volume : Measure Plane)) def hilbertGraph (Ω : Set Plane) : Submodule ℝ HilbertAmbient := (h01Submodule Ω).comap ambientEquiv.toLinearMap abbrev HilbertGraph (Ω : Set Plane) := hilbertGraph Ω def graphProjection (Ω : Set Plane) : HilbertGraph Ω →L[ℝ] SobolevAmbient := ambientEquiv.toContinuousLinearMap.comp (hilbertGraph Ω).subtypeL def graphValue (Ω : Set Plane) : HilbertGraph Ω →L[ℝ] Lp ℝ 2 (volume : Measure Plane) := (ContinuousLinearMap.fst ℝ _ _).comp (graphProjection Ω) def graphGradient (Ω : Set Plane) : HilbertGraph Ω →L[ℝ] Lp Plane 2 (volume : Measure Plane) := (ContinuousLinearMap.snd ℝ _ _).comp (graphProjection Ω) def graphEnergyForm (Ω : Set Plane) : HilbertGraph Ω →L[ℝ] HilbertGraph Ω →L[ℝ] ℝ := (innerSL ℝ).bilinearComp (graphGradient Ω) (graphGradient Ω) theorem graphProjection_injective (Ω : Set Plane) : Function.Injective (graphProjection Ω) := by intro u v h apply Subtype.ext exact ambientEquiv.injective h theorem graphValue_injective (Ω : Set Plane) : Function.Injective (graphValue Ω) := by intro u v h apply graphProjection_injective Ω exact h01Graph_fst_injective Ω u.property v.property h theorem formRayleigh_eq (Ω : Set Plane) (u : HilbertGraph Ω) : PolyaBridge.CoreMinmax.formRayleigh (graphEnergyForm Ω) (graphValue Ω) u = rayleigh (graphProjection Ω u) := by simp only [PolyaBridge.CoreMinmax.formRayleigh, graphEnergyForm, ContinuousLinearMap.bilinearComp_apply, innerSL_apply_apply, real_inner_self_eq_norm_sq] rfl def hilbertCore (Ω : Set Plane) : Submodule ℝ (HilbertGraph Ω) := (smoothGraphSubmodule Ω).comap (graphProjection Ω).toLinearMap theorem hilbertCore_dense (Ω : Set Plane) : Dense (hilbertCore Ω : Set (HilbertGraph Ω)) := by intro u rw [Metric.mem_closure_iff] intro ε hε have hu : graphProjection Ω u ∈ closure (smoothGraph Ω) := u.property have hcont : ContinuousAt ambientEquiv.symm (graphProjection Ω u) := ambientEquiv.symm.continuous.continuousAt obtain ⟨δ, hδ, hδbound⟩ := Metric.continuousAt_iff.1 hcont ε hε obtain ⟨w, hw, hdist⟩ := Metric.mem_closure_iff.1 hu δ hδ let v : HilbertGraph Ω := ⟨ambientEquiv.symm w, by change ambientEquiv (ambientEquiv.symm w) ∈ h01Submodule Ω rw [ambientEquiv.apply_symm_apply] exact smoothGraph_subset_h01Graph Ω hw⟩ refine ⟨v, ?_, ?_⟩ · change ambientEquiv (ambientEquiv.symm w) ∈ smoothGraphSubmodule Ω rw [ambientEquiv.apply_symm_apply] exact hw · change dist (u : HilbertAmbient) (ambientEquiv.symm w) < ε have h := hδbound (show dist w (graphProjection Ω u) < δ from by simpa only [dist_comm] using hdist) simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply, graphProjection, dist_comm] using h theorem graphProjection_range (Ω : Set Plane) : (graphProjection Ω).toLinearMap.range = h01Submodule Ω := by ext w constructor · rintro ⟨u, rfl⟩ exact u.property · intro hw refine ⟨⟨ambientEquiv.symm w, ?_⟩, ?_⟩ · change ambientEquiv (ambientEquiv.symm w) ∈ h01Submodule Ω simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hw · exact ambientEquiv.apply_symm_apply w theorem hilbertCore_map (Ω : Set Plane) : (hilbertCore Ω).map (graphProjection Ω).toLinearMap = smoothGraphSubmodule Ω := by ext w constructor · rintro ⟨u, hu, rfl⟩ exact hu · intro hw let u : HilbertGraph Ω := ⟨ambientEquiv.symm w, by change ambientEquiv (ambientEquiv.symm w) ∈ h01Submodule Ω rw [ambientEquiv.apply_symm_apply] exact smoothGraph_subset_h01Graph Ω hw⟩ refine ⟨u, ?_, ?_⟩ · change ambientEquiv (ambientEquiv.symm w) ∈ smoothGraphSubmodule Ω simpa [_root_.PolyaBridge.CoreMinmax.synthesis_apply] using hw · exact ambientEquiv.apply_symm_apply w theorem dirichletMinmax_eq_smoothGraphMinmax (Ω : Set Plane) {k : ℕ} (hk : 0 < k) : dirichletMinmax Ω k = minmax (smoothGraphSubmodule Ω) rayleigh k := by rw [dirichletMinmax_eq_submoduleMinmax Ω hk] have hCore := minmax_map_of_injective (graphProjection Ω).toLinearMap (graphProjection_injective Ω) (hilbertCore Ω) (PolyaBridge.CoreMinmax.formRayleigh (graphEnergyForm Ω) (graphValue Ω)) rayleigh (fun u => (formRayleigh_eq Ω u).symm) k have hWhole := eq_range_of_injective (graphProjection Ω).toLinearMap (graphProjection_injective Ω) (PolyaBridge.CoreMinmax.formRayleigh (graphEnergyForm Ω) (graphValue Ω)) rayleigh (fun u => (formRayleigh_eq Ω u).symm) k rw [hilbertCore_map] at hCore rw [graphProjection_range] at hWhole rw [hWhole, hCore] exact (PolyaBridge.CoreMinmax.formMinmaxOn_eq_top_of_dense (graphEnergyForm Ω) (graphValue Ω) (graphValue_injective Ω) (hilbertCore Ω) (hilbertCore_dense Ω) hk).symm open TangWangBridge abbrev PlaneCore (Ω : Set Plane) := planeTestFunctions Ω theorem planeCore_memLp (Ω : Set Plane) (u : PlaneCore Ω) : MemLp (u : Plane → ℝ) 2 volume := u.property.1.continuous.memLp_of_hasCompactSupport u.property.2.1 theorem planeCore_gradient_memLp (Ω : Set Plane) (u : PlaneCore Ω) : MemLp (gradient (u : Plane → ℝ)) 2 volume := by have hc : Continuous (gradient (u : Plane → ℝ)) := (InnerProductSpace.toDual ℝ Plane).symm.continuous.comp (u.property.1.continuous_fderiv (by simp [_root_.PolyaBridge.CoreMinmax.synthesis_apply])) have hs : HasCompactSupport (gradient (u : Plane → ℝ)) := by apply u.property.2.1.mono' intro x hx by_contra hnot exact hx (by simp [_root_.PolyaBridge.CoreMinmax.synthesis_apply, gradient, fderiv_of_notMem_tsupport ℝ hnot]) exact hc.memLp_of_hasCompactSupport hs def planeCoreValue (Ω : Set Plane) : PlaneCore Ω →ₗ[ℝ] Lp ℝ 2 (volume : Measure Plane) where toFun u := (planeCore_memLp Ω u).toLp (u : Plane → ℝ) map_add' u v := MemLp.toLp_add (planeCore_memLp Ω u) (planeCore_memLp Ω v) map_smul' c u := MemLp.toLp_const_smul c (planeCore_memLp Ω u) def planeCoreGradient (Ω : Set Plane) : PlaneCore Ω →ₗ[ℝ] Lp Plane 2 (volume : Measure Plane) where toFun u := (planeCore_gradient_memLp Ω u).toLp (gradient (u : Plane → ℝ)) map_add' u v := by apply Lp.ext filter_upwards [(planeCore_gradient_memLp Ω (u + v)).coeFn_toLp, Lp.coeFn_add ((planeCore_gradient_memLp Ω u).toLp _) ((planeCore_gradient_memLp Ω v).toLp _), (planeCore_gradient_memLp Ω u).coeFn_toLp, (planeCore_gradient_memLp Ω v).coeFn_toLp] with x huv hadd hu hv rw [huv, hadd] simp only [Pi.add_apply] rw [hu, hv] exact gradient_add_of_smooth u.property.1 v.property.1 x map_smul' c u := by apply Lp.ext filter_upwards [(planeCore_gradient_memLp Ω (c • u)).coeFn_toLp, Lp.coeFn_smul c ((planeCore_gradient_memLp Ω u).toLp _), (planeCore_gradient_memLp Ω u).coeFn_toLp] with x hcu hsmul hu simp only [RingHom.id_apply] rw [hcu, hsmul] simp only [Pi.smul_apply] rw [hu] exact gradient_smul_of_smooth u.property.1 c x def planeCoreGraph (Ω : Set Plane) : PlaneCore Ω →ₗ[ℝ] SobolevAmbient := (planeCoreValue Ω).prod (planeCoreGradient Ω) theorem planeCoreGraph_mem (Ω : Set Plane) (u : PlaneCore Ω) : planeCoreGraph Ω u ∈ smoothGraph Ω := ⟨u, u.property, (planeCore_memLp Ω u).coeFn_toLp, (planeCore_gradient_memLp Ω u).coeFn_toLp⟩ theorem planeCoreGraph_range (Ω : Set Plane) : (planeCoreGraph Ω).range = smoothGraphSubmodule Ω := by ext w constructor · rintro ⟨u, rfl⟩ exact planeCoreGraph_mem Ω u · rintro ⟨φ, hφ, hv, hg⟩ refine ⟨⟨φ, hφ⟩, ?_⟩ apply Prod.ext · apply Lp.ext filter_upwards [(planeCore_memLp Ω ⟨φ, hφ⟩).coeFn_toLp, hv] with x hx hwx exact hx.trans hwx.symm · apply Lp.ext filter_upwards [(planeCore_gradient_memLp Ω ⟨φ, hφ⟩).coeFn_toLp, hg] with x hx hwx exact hx.trans hwx.symm theorem planeCoreGraph_injective (Ω : Set Plane) : Function.Injective (planeCoreGraph Ω) := by intro u v huv apply Subtype.ext have hval : planeCoreValue Ω u = planeCoreValue Ω v := congrArg Prod.fst huv have hae : (u : Plane → ℝ) =ᵐ[volume] (v : Plane → ℝ) := by filter_upwards [(planeCore_memLp Ω u).coeFn_toLp, (planeCore_memLp Ω v).coeFn_toLp] with x hu hv rw [← hu, ← hv] exact congrArg (fun w : Lp ℝ 2 (volume : Measure Plane) => w x) hval exact MeasureTheory.Measure.eq_of_ae_eq hae u.property.1.continuous v.property.1.continuous theorem norm_planeCoreValue_sq (Ω : Set Plane) (u : PlaneCore Ω) : ENNReal.ofReal (‖planeCoreValue Ω u‖ ^ 2) = ∫⁻ x, ‖(u : Plane → ℝ) x‖ₑ ^ 2 := by have hsq : ‖planeCoreValue Ω u‖ ^ 2 = ∫ x, (u : Plane → ℝ) x ^ 2 := by rw [← real_inner_self_eq_norm_sq, L2.inner_def] apply integral_congr_ae filter_upwards [(planeCore_memLp Ω u).coeFn_toLp] with x hx change (planeCore_memLp Ω u).toLp _ x * (planeCore_memLp Ω u).toLp _ x = (u : Plane → ℝ) x ^ 2 rw [hx, pow_two] simp_rw [enorm_sq_eq_ofReal] rw [← ofReal_integral_eq_lintegral_ofReal (planeCore_memLp Ω u).integrable_sq (Filter.Eventually.of_forall fun x => sq_nonneg ((u : Plane → ℝ) x)), hsq] theorem norm_planeCoreGradient_sq (Ω : Set Plane) (u : PlaneCore Ω) : ENNReal.ofReal (‖planeCoreGradient Ω u‖ ^ 2) = ∫⁻ x, ‖gradient (u : Plane → ℝ) x‖ₑ ^ 2 := by have hsq : ‖planeCoreGradient Ω u‖ ^ 2 = ∫ x, ‖gradient (u : Plane → ℝ) x‖ ^ 2 := by rw [← real_inner_self_eq_norm_sq, L2.inner_def] apply integral_congr_ae filter_upwards [(planeCore_gradient_memLp Ω u).coeFn_toLp] with x hx change ⟪(planeCore_gradient_memLp Ω u).toLp _ x, (planeCore_gradient_memLp Ω u).toLp _ x⟫_ℝ = _ rw [hx, real_inner_self_eq_norm_sq] have hi : Integrable (fun x => ‖gradient (u : Plane → ℝ) x‖ ^ 2) volume := (memLp_two_iff_integrable_sq_norm (planeCore_gradient_memLp Ω u).aestronglyMeasurable).1 (planeCore_gradient_memLp Ω u) simp_rw [enorm_sq_eq_ofReal'] rw [← ofReal_integral_eq_lintegral_ofReal hi (Filter.Eventually.of_forall fun x => sq_nonneg ‖gradient (u : Plane → ℝ) x‖), hsq] theorem rayleigh_planeCoreGraph (Ω : Set Plane) (u : PlaneCore Ω) : rayleigh (planeCoreGraph Ω u) = planeRayleigh (u : Plane → ℝ) := by unfold rayleigh energy mass planeRayleigh change ENNReal.ofReal (‖planeCoreGradient Ω u‖ ^ 2) / ENNReal.ofReal (‖planeCoreValue Ω u‖ ^ 2) = _ rw [norm_planeCoreValue_sq, norm_planeCoreGradient_sq] simp_rw [enorm_gradient_eq_fderiv] theorem dirichletMinmax_eq_planeSmoothEigenvalue (Ω : Set Plane) {k : ℕ} (hk : 0 < k) : dirichletMinmax Ω k = planeSmoothEigenvalue Ω k := by rw [dirichletMinmax_eq_smoothGraphMinmax Ω hk] have hGraph := eq_range_of_injective (planeCoreGraph Ω) (planeCoreGraph_injective Ω) (fun u : PlaneCore Ω => planeRayleigh (u : Plane → ℝ)) rayleigh (rayleigh_planeCoreGraph Ω) k have hSubtype := eq_range_of_injective (planeTestFunctions Ω).subtype Subtype.val_injective (fun u : PlaneCore Ω => planeRayleigh (u : Plane → ℝ)) planeRayleigh (fun _ => rfl) k rw [planeCoreGraph_range] at hGraph rw [Submodule.range_subtype] at hSubtype exact hGraph.trans hSubtype.symm end Math30.Polya.GraphMinmaxBridge end end end /- END M003 -/ /- BEGIN M004 -/ section /-! Actual two-dimensional polar Jacobian; source adaptation from Mathlib Analysis/SpecialFunctions/PolarCoord.lean (Apache-2.0, Sébastien Gouëzel). No Gaussian, Gamma or sphere-measure construction is used. -/ noncomputable section namespace Polya26.Strike.S04.Header.PlanarBallVolume open Real Set MeasureTheory open scoped ENNReal Real Topology def polarCoord : OpenPartialHomeomorph (ℝ × ℝ) (ℝ × ℝ) where toFun q := (√(q.1 ^ 2 + q.2 ^ 2), Complex.arg (Complex.equivRealProd.symm q)) invFun p := (p.1 * cos p.2, p.1 * sin p.2) source := {q | 0 < q.1} ∪ {q | q.2 ≠ 0} target := Ioi (0 : ℝ) ×ˢ Ioo (-π) π map_target' := by rintro ⟨r, θ⟩ ⟨hr, hθ⟩ dsimp at hr hθ rcases eq_or_ne θ 0 with (rfl | h'θ) · simpa using! hr · right simp at hr simpa only [ne_of_gt hr, Ne, mem_ofPred_eq, mul_eq_zero, false_or, sin_eq_zero_iff_of_lt_of_lt hθ.1 hθ.2] using! h'θ map_source' := by rintro ⟨x, y⟩ hxy simp only [prodMk_mem_set_prod_eq, mem_Ioi, sqrt_pos, mem_Ioo, Complex.neg_pi_lt_arg, true_and, Complex.arg_lt_pi_iff] constructor · rcases hxy with hxy | hxy · dsimp at hxy; linarith [sq_pos_of_ne_zero hxy.ne', sq_nonneg y] · linarith [sq_nonneg x, sq_pos_of_ne_zero hxy] · rcases hxy with hxy | hxy · exact Or.inl (le_of_lt hxy) · exact Or.inr hxy right_inv' := by rintro ⟨r, θ⟩ ⟨hr, hθ⟩ ext <;> dsimp at hr hθ ⊢ · conv_rhs => rw [← sqrt_sq (le_of_lt hr), ← one_mul (r ^ 2), ← sin_sq_add_cos_sq θ] congr 1 ring · convert! Complex.arg_mul_cos_add_sin_mul_I hr ⟨hθ.1, hθ.2.le⟩ simp only [Complex.equivRealProd_symm_apply, Complex.ofReal_mul, Complex.ofReal_cos, Complex.ofReal_sin] ring left_inv' := by rintro ⟨x, y⟩ _ have A : √(x ^ 2 + y ^ 2) = ‖x + y * Complex.I‖ := by rw [Complex.norm_def, Complex.normSq_add_mul_I] simp [A] open_target := isOpen_Ioi.prod isOpen_Ioo open_source := (isOpen_lt continuous_const continuous_fst).union (isOpen_ne_fun continuous_snd continuous_const) continuousOn_invFun := by fun_prop continuousOn_toFun := by refine .prodMk (by fun_prop) ?_ have A : MapsTo Complex.equivRealProd.symm ({q : ℝ × ℝ | 0 < q.1} ∪ {q : ℝ × ℝ | q.2 ≠ 0}) Complex.slitPlane := by rintro ⟨x, y⟩ hxy; simpa only using! hxy refine ContinuousOn.comp (f := Complex.equivRealProd.symm) (g := Complex.arg) (fun z hz => ?_) ?_ A · exact (Complex.continuousAt_arg hz).continuousWithinAt · exact Complex.equivRealProdCLM.symm.continuous.continuousOn theorem polarCoord_source : polarCoord.source = {q : ℝ × ℝ | 0 < q.1} ∪ {q : ℝ × ℝ | q.2 ≠ 0} := rfl theorem polarCoord_target : polarCoord.target = Ioi (0 : ℝ) ×ˢ Ioo (-Real.pi) Real.pi := rfl theorem continuous_polarCoord_symm : Continuous polarCoord.symm := .prodMk (by fun_prop) (by fun_prop) /-- The derivative of `polarCoord.symm`, see `hasFDerivAt_polarCoord_symm`. -/ def fderivPolarCoordSymm (p : ℝ × ℝ) : ℝ × ℝ →L[ℝ] ℝ × ℝ := (Matrix.toLin (.finTwoProd ℝ) (.finTwoProd ℝ) !![cos p.2, -p.1 * sin p.2; sin p.2, p.1 * cos p.2]).toContinuousLinearMap theorem hasFDerivAt_polarCoord_symm (p : ℝ × ℝ) : HasFDerivAt polarCoord.symm (fderivPolarCoordSymm p) p := by unfold fderivPolarCoordSymm rw [Matrix.toLin_finTwoProd_toContinuousLinearMap] convert! HasFDerivAt.prodMk (𝕜 := ℝ) (hasFDerivAt_fst.mul ((hasDerivAt_cos p.2).comp_hasFDerivAt p hasFDerivAt_snd)) (hasFDerivAt_fst.mul ((hasDerivAt_sin p.2).comp_hasFDerivAt p hasFDerivAt_snd)) using 2 <;> simp [smul_smul, add_comm, neg_mul, smul_neg, neg_smul _ (ContinuousLinearMap.snd ℝ ℝ ℝ)] theorem det_fderivPolarCoordSymm (p : ℝ × ℝ) : (fderivPolarCoordSymm p).det = p.1 := by conv_rhs => rw [← one_mul p.1, ← cos_sq_add_sin_sq p.2] unfold fderivPolarCoordSymm simp only [neg_mul, LinearMap.det_toContinuousLinearMap, LinearMap.det_toLin, Matrix.det_fin_two_of, sub_neg_eq_add] ring /-- This instance is required to see through the defeq `volume = volume.prod volume`. -/ def prodHaar : Measure.IsAddHaarMeasure volume (G := ℝ × ℝ) := Measure.prod.instIsAddHaarMeasure _ _ theorem polarCoord_source_ae_eq_univ : polarCoord.source =ᵐ[volume] univ := by letI := prodHaar have A : polarCoord.sourceᶜ ⊆ LinearMap.ker (LinearMap.snd ℝ ℝ ℝ) := by intro x hx simp only [polarCoord_source, compl_union, mem_inter_iff, mem_compl_iff, mem_ofPred_eq, not_lt, Classical.not_not] at hx exact hx.2 have B : volume (LinearMap.ker (LinearMap.snd ℝ ℝ ℝ) : Set (ℝ × ℝ)) = 0 := by apply Measure.addHaar_submodule rw [Ne, LinearMap.ker_eq_top] intro h have : (LinearMap.snd ℝ ℝ ℝ) (0, 1) = (0 : ℝ × ℝ →ₗ[ℝ] ℝ) (0, 1) := by rw [h] simp at this simp only [ae_eq_univ] exact le_antisymm ((measure_mono A).trans (le_of_eq B)) bot_le theorem lintegral_comp_polarCoord_symm (f : ℝ × ℝ → ℝ≥0∞) : ∫⁻ (p : ℝ × ℝ) in polarCoord.target, ENNReal.ofReal p.1 • f (polarCoord.symm p) = ∫⁻ (p : ℝ × ℝ), f p := by letI := prodHaar symm calc _ = ∫⁻ p in polarCoord.symm '' polarCoord.target, f p := by rw [← setLIntegral_univ, setLIntegral_congr polarCoord_source_ae_eq_univ.symm, polarCoord.symm_image_target_eq_source] _ = ∫⁻ (p : ℝ × ℝ) in polarCoord.target, ENNReal.ofReal |p.1| • f (polarCoord.symm p) := by rw [lintegral_image_eq_lintegral_abs_det_fderiv_mul volume _ (fun p _ ↦ (hasFDerivAt_polarCoord_symm p).hasFDerivWithinAt)] · simp_rw [det_fderivPolarCoordSymm]; rfl exacts [polarCoord.symm.injOn, measurableSet_Ioi.prod measurableSet_Ioo] _ = ∫⁻ (p : ℝ × ℝ) in polarCoord.target, ENNReal.ofReal p.1 • f (polarCoord.symm p) := by refine setLIntegral_congr_fun polarCoord.open_target.measurableSet (fun x hx ↦ ?_) rw [abs_of_pos hx.1] def unitDisk : Set (ℝ × ℝ) := {q | q.1 ^ 2 + q.2 ^ 2 < 1} theorem unitDisk_measurable : MeasurableSet unitDisk := by exact (isOpen_lt (by fun_prop) continuous_const).measurableSet theorem polarCoord_symm_sq (p : ℝ × ℝ) : (polarCoord.symm p).1 ^ 2 + (polarCoord.symm p).2 ^ 2 = p.1 ^ 2 := by change (p.1 * cos p.2) ^ 2 + (p.1 * sin p.2) ^ 2 = _ calc _ = p.1 ^ 2 * (cos p.2 ^ 2 + sin p.2 ^ 2) := by ring _ = p.1 ^ 2 := by rw [cos_sq_add_sin_sq, mul_one] theorem lintegral_radius_unit : ∫⁻ r : ℝ in Ioo 0 1, ENNReal.ofReal r = ENNReal.ofReal (1 / 2 : ℝ) := by have hint : IntegrableOn (fun r : ℝ => r) (Ioo 0 1) := (intervalIntegrable_iff_integrableOn_Ioo_of_le (by norm_num : (0:ℝ) ≤ 1)).mp (continuous_id.intervalIntegrable 0 1) have hv : (∫ r : ℝ in (0:ℝ)..1, r) = 1 / 2 := by calc _ = (1:ℝ) ^ 2 / 2 - 0 ^ 2 / 2 := by apply intervalIntegral.integral_eq_sub_of_hasDerivAt (f := fun x : ℝ => x ^ 2 / 2) (f' := fun x : ℝ => x) · intro x hx convert ((hasDerivAt_id x).pow 2).div_const 2 using 1 <;> norm_num [Pi.pow_apply, id_eq] · exact continuous_id.intervalIntegrable 0 1 _ = _ := by norm_num have hset : (∫ r : ℝ in Ioo 0 1, r) = 1 / 2 := by rw [← integral_Ioc_eq_integral_Ioo, ← intervalIntegral.integral_of_le (by norm_num : (0:ℝ) ≤ 1)] exact hv rw [← ofReal_integral_eq_lintegral_ofReal hint] · rw [hset] · filter_upwards [ae_restrict_mem measurableSet_Ioo] with r hr exact hr.1.le theorem volume_unitDisk : volume unitDisk = ENNReal.ofReal Real.pi := by let P : Set (ℝ × ℝ) := Ioo (0:ℝ) 1 ×ˢ Ioo (-Real.pi) Real.pi have hP : MeasurableSet P := measurableSet_Ioo.prod measurableSet_Ioo have hsub : P ⊆ polarCoord.target := by rintro p hp exact ⟨hp.1.1, hp.2⟩ have hchange : (∫⁻ p in polarCoord.target, ENNReal.ofReal p.1 • unitDisk.indicator (fun _ => (1:ℝ≥0∞)) (polarCoord.symm p)) = ∫⁻ p in P, ENNReal.ofReal p.1 := by calc _ = ∫⁻ p in polarCoord.target, P.indicator (fun q => ENNReal.ofReal q.1) p := by apply setLIntegral_congr_fun polarCoord.open_target.measurableSet intro p hp have hiff : polarCoord.symm p ∈ unitDisk ↔ p ∈ P := by change (polarCoord.symm p).1 ^ 2 + (polarCoord.symm p).2 ^ 2 < 1 ↔ _ rw [polarCoord_symm_sq] constructor · intro h exact ⟨⟨hp.1, by nlinarith [sq_nonneg (p.1 - 1)]⟩, hp.2⟩ · intro h have hp0 := hp.1 have hp1 := h.1.2 nlinarith [mul_pos hp0 (sub_pos.mpr hp1)] by_cases h : p ∈ P · simp only [Set.indicator_of_mem h, Set.indicator_of_mem (hiff.mpr h), smul_eq_mul, mul_one] · simp only [Set.indicator_of_notMem h, Set.indicator_of_notMem (mt hiff.mp h), smul_eq_mul, mul_zero] _ = _ := by rw [setLIntegral_indicator hP] exact setLIntegral_congr (Filter.Eventually.of_forall (fun p => by exact propext ⟨fun hp => hp.1, fun hp => ⟨hp, hsub hp⟩⟩)) calc volume unitDisk = ∫⁻ q : ℝ × ℝ, unitDisk.indicator (fun _ => (1:ℝ≥0∞)) q := by rw [lintegral_indicator unitDisk_measurable, setLIntegral_one] _ = ∫⁻ p in P, ENNReal.ofReal p.1 := by rw [← lintegral_comp_polarCoord_symm, hchange] _ = ∫⁻ r : ℝ in Ioo 0 1, ∫⁻ θ : ℝ in Ioo (-Real.pi) Real.pi, ENNReal.ofReal r := by exact setLIntegral_prod _ (by fun_prop) _ = (∫⁻ r : ℝ in Ioo 0 1, ENNReal.ofReal r) * ENNReal.ofReal (2 * Real.pi) := by simp_rw [setLIntegral_const, Real.volume_Ioo] have h : Real.pi - -Real.pi = 2 * Real.pi := by ring rw [h, lintegral_mul_const _ ENNReal.measurable_ofReal] _ = ENNReal.ofReal Real.pi := by rw [lintegral_radius_unit, ← ENNReal.ofReal_mul (by norm_num : (0:ℝ) ≤ 1/2)] congr 1 ring theorem volume_unit_ball : volume (Metric.ball (0 : Math30.Polya.Plane) 1) = ENNReal.ofReal Real.pi := by have hp := (volume_preserving_finTwoArrow ℝ).comp (PiLp.volume_preserving_ofLp (Fin 2)) have heq : (MeasurableEquiv.finTwoArrow ∘ (@WithLp.ofLp 2 (Fin 2 → ℝ))) ⁻¹' unitDisk = Metric.ball (0 : Math30.Polya.Plane) 1 := by rw [EuclideanSpace.ball_zero_eq 1 (by norm_num)] ext x change x 0 ^ 2 + x 1 ^ 2 < 1 ↔ ∑ i : Fin 2, x i ^ 2 < (1:ℝ) ^ 2 simp only [Fin.sum_univ_two, one_pow] calc _ = volume ((MeasurableEquiv.finTwoArrow ∘ (@WithLp.ofLp 2 (Fin 2 → ℝ))) ⁻¹' unitDisk) := by rw [heq] _ = volume unitDisk := hp.measure_preimage unitDisk_measurable.nullMeasurableSet _ = _ := volume_unitDisk theorem volume_ball (x : Math30.Polya.Plane) (r : ℝ) : volume (Metric.ball x r) = (ENNReal.ofReal r) ^ 2 * ENNReal.ofReal Real.pi := by rcases le_or_gt 0 r with hr | hr · rw [Measure.addHaar_ball volume x hr, finrank_euclideanSpace, Fintype.card_fin, ENNReal.ofReal_pow hr, volume_unit_ball] · rw [Metric.ball_eq_empty.mpr hr.le, measure_empty, ENNReal.ofReal_of_nonpos hr.le, zero_pow (by norm_num : (2:ℕ) ≠ 0), zero_mul] theorem volume_ball_relation (r : ℝ) : volume (Metric.ball (0 : Math30.Polya.Plane) r) ^ (2 : ℝ)⁻¹ = volume (Metric.ball (0 : Math30.Polya.Plane) 1) ^ (2 : ℝ)⁻¹ * ENNReal.ofReal r := by rw [volume_ball, volume_unit_ball] rw [ENNReal.mul_rpow_of_nonneg _ _ (by norm_num : (0:ℝ) ≤ (2:ℝ)⁻¹), mul_comm] congr 1 exact ENNReal.pow_rpow_inv_natCast (by norm_num : (2:ℕ) ≠ 0) (ENNReal.ofReal r) theorem volume_ball_sqrt (r : ℝ) : volume (Metric.ball (0 : Math30.Polya.Plane) r) ^ (1 / 2 : ℝ) = (ENNReal.ofReal Real.pi) ^ (1 / 2 : ℝ) * ENNReal.ofReal r := by simpa only [one_div, volume_unit_ball] using volume_ball_relation r end Polya26.Strike.S04.Header.PlanarBallVolume end end /- END M004 -/ /- BEGIN M005 -/ section noncomputable section /-! Ported from hojonathanho/isoperimetric commit29768f8beeaf17295cdf3853d37da35d7e2b0a5f. Apache-2.0; upstream definitions and statements preserved in this namespace. -/ namespace Polya26.Strike.S04.Header.PlanarBrunnMinkowski lemma biSup_add_biSup {ι κ : Sort*} {p : ι → Prop} {q : κ → Prop} (hp : ∃ i, p i) (hq : ∃ j, q j) {f : ι → ENNReal} {g : κ → ENNReal} : (⨆ i, ⨆ _ : p i, f i) + (⨆ j, ⨆ _ : q j, g j) = (⨆ i, ⨆ j, ⨆ _ : p i, ⨆ _ : q j, f i + g j) := by apply le_antisymm · calc (⨆ x, ⨆ _ : p x, f x) + (⨆ y, ⨆ _ : q y, g y) = ⨆ x, ⨆ _ : p x, (f x + (⨆ y, ⨆ _ : q y, g y)) := by apply ENNReal.biSup_add' hp _ ≤ (⨆ x, ⨆ y, ⨆ _ : p x, ⨆ _ : q y, f x + g y) := by apply iSup₂_le intro x hx calc f x + (⨆ y, ⨆ _ : q y, g y) = ⨆ y, ⨆ _ : q y, (f x + g y) := by apply ENNReal.add_biSup' hq _ ≤ ⨆ x, ⨆ _ : p x, (⨆ y, ⨆ _ : q y, (f x + g y)) := by apply le_iSup₂ x hx _ = ⨆ x, ⨆ y, ⨆ _ : p x, ⨆ _ : q y, (f x + g y) := by apply iSup_congr; intro; exact iSup_comm simp only [iSup_le_iff] intro i j hi hj calc f i + g j ≤ (⨆ i, ⨆ (_ : p i), f i) + g j := by gcongr; apply le_iSup₂ i hi _ ≤ (⨆ i, ⨆ (_ : p i), f i) + ⨆ j, ⨆ (_ : q j), g j := by gcongr; apply le_iSup₂ j hj lemma iSup_nonzero_of_nonzero {f : ℝ → ENNReal} (hf_nonzero : f ≠ 0) : iSup f ≠ 0 := by intro h apply hf_nonzero ext x simpa using le_iSup f x |>.trans_eq h lemma iSup_min_nat (a : ENNReal) : ⨆ (n : ℕ), min a n = a := by apply iSup_eq_of_forall_le_of_forall_lt_exists_gt (by simp) intro w hw obtain ⟨n, hn⟩ := ENNReal.exists_nat_gt (hw.trans_le le_top).ne exact ⟨n, by simp_all⟩ lemma iSup_min_nat_ne_top {ι : Sort*} (n : ℕ) (f : ι → ENNReal) : iSup (fun x ↦ min (f x) n) ≠ ⊤ := by apply ne_of_lt rw [iSup_lt_iff] use n exact ⟨ENNReal.natCast_lt_top n, fun x ↦ min_le_right (f x) ↑n⟩ lemma iSup_rpow_of_pos {ι : Sort*} {r : ℝ} (hr : r > 0) (f : ι → ENNReal) : (⨆ (i : ι), f i) ^ r = ⨆ (i : ι), f i ^ r := (ENNReal.orderIsoRpow r hr).map_iSup f end Polya26.Strike.S04.Header.PlanarBrunnMinkowski /-! Ported from hojonathanho/isoperimetric commit29768f8beeaf17295cdf3853d37da35d7e2b0a5f. Apache-2.0; upstream definitions and statements preserved in this namespace. -/ namespace Polya26.Strike.S04.Header.PlanarBrunnMinkowski open MeasureTheory Set open scoped Pointwise lemma brunn_minkowski_1d_compact {A B C : Set ℝ} (h : A + B ⊆ C) (hA_nonempty : A.Nonempty) (hA_compact : IsCompact A) (hB_nonempty : B.Nonempty) (hB_compact : IsCompact B) : volume A + volume B ≤ volume C := by -- Translate A, B to A', B' so that their intersection is {0} let A' := A + {-sSup A} let B' := B + {-sInf B} have h_inter_zero : A' ∩ B' = {0} := by ext x simp only [add_singleton, image_add_right, neg_neg, mem_inter_iff, mem_preimage, mem_singleton_iff, A', B'] constructor · intro ⟨ha, hb⟩ exact le_antisymm (nonpos_of_add_le_left (le_csSup hA_compact.bddAbove ha)) (nonneg_of_le_add_left (csInf_le hB_compact.bddBelow hb)) · intro hx simp only [hx, zero_add] exact ⟨hA_compact.sSup_mem hA_nonempty, hB_compact.sInf_mem hB_nonempty⟩ calc volume C ≥ volume (A + B) := measure_mono h -- Replacing A+B with A'+B' preserves volume _ = volume (A + B + {-sSup A} + {-sInf B}) := by simp _ = volume (A' + B') := by congr 1; nth_rw 2 [add_assoc]; nth_rw 3 [add_comm]; rw [← add_assoc]; rw [add_assoc] -- The volume of A'+B' is at least that of A'∪B', since both A' and B' contain 0. _ ≥ volume (A' ∪ B') := by apply measure_mono rw [union_subset_iff] have h_zero_in_inter : 0 ∈ A' ∩ B' := by simp [h_inter_zero] exact ⟨subset_add_left A' h_zero_in_inter.2, subset_add_right B' h_zero_in_inter.1⟩ -- Finish the proof using the fact that A' and B' have intersection {0} -- and using translation invariance of volume. _ = volume (A' ∪ B') + volume (A' ∩ B') := by simp [h_inter_zero] _ = volume A' + volume B' := by rw [measure_union_add_inter] exact (hB_compact.add isCompact_singleton).measurableSet _ = volume A + volume B := by simp [A', B'] lemma brunn_minkowski_1d_infinite {A B C : Set ℝ} (ha : volume A = ⊤) (hb : B.Nonempty) (hc : A + B ⊆ C) : volume A + volume B ≤ volume C := calc volume A + volume B = volume (A + {hb.some}) := by simp [ha] -- since both sides = ⊤ _ ≤ volume (A + B) := measure_mono (add_subset_add_left (singleton_subset_iff.mpr hb.some_mem)) _ ≤ volume C := measure_mono hc lemma brunn_minkowski_1d {A B C : Set ℝ} (h : A + B ⊆ C) (hA_nonempty : A.Nonempty) (hA_measurable : MeasurableSet A) (hB_nonempty : B.Nonempty) (hB_measurable : MeasurableSet B) : volume A + volume B ≤ volume C := by -- Deal with the cases when A or B have infinite volume. by_cases hvolAfinite : volume A = ⊤ · exact brunn_minkowski_1d_infinite hvolAfinite hB_nonempty h by_cases hvolBfinite : volume B = ⊤ · rw [add_comm] at ⊢ h exact brunn_minkowski_1d_infinite hvolBfinite hA_nonempty h -- Use inner regularity of Lebesgue measure to reduce to the case of compact A, B rw [hA_measurable.measure_eq_iSup_isCompact_of_ne_top hvolAfinite, hB_measurable.measure_eq_iSup_isCompact_of_ne_top hvolBfinite] -- Want to prove: -- (⨆ K, ⨆ (_ : K ⊆ A), ⨆ (_ : IsCompact K), volume K) -- + (⨆ K, ⨆ (_ : K ⊆ B), ⨆ (_ : IsCompact K), volume K) -- ≤ volume C -- We'll proceed by rewriting the LHS. have combine_sup_conditions {A : Set ℝ} : (⨆ K, ⨆ (_ : K ⊆ A), ⨆ (_ : IsCompact K), volume K) = (⨆ K, ⨆ (_ : K ⊆ A ∧ IsCompact K), volume K) := by simp only [iSup_and] simp only [combine_sup_conditions] -- First, add in a nonempty condition: -- e.g. sup_{K ⊆ A} vol(K) = sup_{K ⊆ A, K nonempty} vol(K). have sup_vol_eq_sup_nonempty_vol {A : Set ℝ} : ⨆ K, ⨆ (_ : K ⊆ A ∧ IsCompact K), volume K = ⨆ K, ⨆ (_ : K ⊆ A ∧ IsCompact K ∧ K.Nonempty), volume K := by apply le_antisymm · apply iSup_le; intro K apply iSup_le; intro hK by_cases h : K.Nonempty · apply le_iSup₂_of_le K (by simp [hK, h]) exact le_refl (volume K) rw [not_nonempty_iff_eq_empty] at h simp [h] apply iSup_le; intro K apply iSup_le; intro hK apply le_iSup₂_of_le K · exact le_refl (volume K) simp [hK] simp only [sup_vol_eq_sup_nonempty_vol] -- Next, write the sum of sups as a sup of sums. -- sup_{K ⊆ A, K nonempty} vol(K) + sup_{L ⊆ B, L nonempty} vol(L) -- == sup_{K, L ⊆ A, K and L nonempty} vol(K) + vol(L). have combine_sups : (⨆ K, ⨆ (_ : K ⊆ A ∧ IsCompact K ∧ K.Nonempty), volume K) + (⨆ L, ⨆ (_ : L ⊆ B ∧ IsCompact L ∧ L.Nonempty), volume L) = ⨆ K, ⨆ L, ⨆ (_ : K ⊆ A ∧ IsCompact K ∧ K.Nonempty), ⨆ (_ : L ⊆ B ∧ IsCompact L ∧ L.Nonempty), volume K + volume L := biSup_add_biSup (by use {hA_nonempty.some}; simp [hA_nonempty.some_mem]) (by use {hB_nonempty.some}; simp [hB_nonempty.some_mem]) rw [combine_sups] -- Finish using brunn_minkowski_1d_compact. apply iSup_le; intro K; apply iSup_le; intro L apply iSup_le; intro ⟨hKsubA, hKcompact, hKnonempty⟩ apply iSup_le; intro ⟨hLsubA, hLcompact, hLnonempty⟩ have hKplusLsubC : K + L ⊆ C := calc K + L ⊆ A + L := add_subset_add_right hKsubA _ ⊆ A + B := add_subset_add_left hLsubA _ ⊆ C := h exact brunn_minkowski_1d_compact hKplusLsubC hKnonempty hKcompact hLnonempty hLcompact -- Utilities lemma vol_superlevelset_measurable (f : ℝ → ENNReal) : Measurable (fun t : ℝ ↦ volume {x | ENNReal.ofReal t ≤ f x}) := by apply Antitone.measurable intro a b hab apply measure_mono simp only [setOf_subset_setOf] intro z hz calc ENNReal.ofReal a ≤ ENNReal.ofReal b := ENNReal.ofReal_le_ofReal hab _ ≤ f z := hz -- This is the layer cake formula. -- The version of this theorem in mathlib (MeasureTheory.lintegral_eq_lintegral_meas_lt) -- is for a ℝ-valued function instead of ENNReal-valued function. lemma layercake {f : ℝ → ENNReal} (hf_measurable : Measurable f) : ∫⁻ (x : ℝ), f x = ∫⁻ (t : ℝ) in Ioi 0, volume {x : ℝ | ENNReal.ofReal t ≤ f x} := by let ind (x t : ℝ) : ENNReal := if ENNReal.ofReal t ≤ f x then 1 else 0 calc ∫⁻ (x : ℝ), f x = ∫⁻ (x : ℝ), ∫⁻ (t : ℝ) in Ioi 0, ind x t := by congr; ext x; symm calc ∫⁻ (t : ℝ) in Ioi 0, ind x t = ∫⁻ (t : ℝ) in Ioi 0, {t : ℝ | ENNReal.ofReal t ≤ f x}.indicator 1 t := by simp [ind, indicator] _ = ∫⁻ (t : ℝ) in {t : ℝ | ENNReal.ofReal t ≤ f x} ∩ (Ioi 0), 1 := by apply setLIntegral_indicator exact measurableSet_le ENNReal.measurable_ofReal measurable_const _ = volume {t : ℝ | ENNReal.ofReal t ≤ f x ∧ 0 < t} := by apply setLIntegral_one _ = f x := by by_cases hinf : f x = ⊤ · simp only [hinf, le_top, true_and]; exact Real.volume_Ioi calc volume {t | ENNReal.ofReal t ≤ f x ∧ 0 < t} = volume {t | t ≤ (f x).toReal ∧ 0 < t} := by congr; ext t; simp only [and_congr_left_iff]; intro exact ENNReal.ofReal_le_iff_le_toReal hinf _ = volume (Ioc 0 (f x).toReal) := by congr; aesop _ = ENNReal.ofReal (f x).toReal := by simp _ = f x := ENNReal.ofReal_toReal_eq_iff.mpr hinf _ = ∫⁻ (t : ℝ) in Ioi 0, ∫⁻ (x : ℝ), ind x t := by apply lintegral_lintegral_swap exact Measurable.aemeasurable <| Measurable.ite (measurableSet_le (by fun_prop) (by fun_prop)) (by fun_prop) (by fun_prop) _ = ∫⁻ (t : ℝ) in Ioi 0, volume {x : ℝ | ENNReal.ofReal t ≤ f x} := by congr; ext t calc ∫⁻ (x : ℝ), ind x t = ∫⁻ (x : ℝ), {x : ℝ | ENNReal.ofReal t ≤ f x}.indicator 1 x := by simp [ind, indicator] _ = ∫⁻ (x : ℝ) in {x : ℝ | ENNReal.ofReal t ≤ f x}, 1 := by apply lintegral_indicator exact measurableSet_le measurable_const hf_measurable _ = volume {x | ENNReal.ofReal t ≤ f x} := by apply setLIntegral_one lemma lintegral_eq_vol_superlevelset_lintegral_01 {f : ℝ → ENNReal} (hf_bound : f ≤ 1) (hf_measurable : Measurable f) : ∫⁻ x, f x = ∫⁻ t in Ioo 0 1, (fun t ↦ volume {x | ENNReal.ofReal t ≤ f x}) t := by let vf := fun t : ℝ ↦ volume {x | ENNReal.ofReal t ≤ f x} calc ∫⁻ x, f x = ∫⁻ t in Ioi 0, vf t := layercake hf_measurable _ = ∫⁻ t in (Ioo 0 1 ∪ Ici 1), vf t := by simp _ = (∫⁻ t in Ioo 0 1, vf t) + (∫⁻ t in Ici 1, vf t) := lintegral_union measurableSet_Ici (by simp [disjoint_left]) _ = ∫⁻ t in Ioo 0 1, vf t := by suffices ∫⁻ t in Ici 1, vf t = 0 by simp [this] rw [setLIntegral_eq_zero_iff measurableSet_Ici (vol_superlevelset_measurable f)] suffices ∀ x : ℝ, x ∈ Ioi 1 → volume {x_1 | ENNReal.ofReal x ≤ f x_1} = 0 by apply ae_of_mem_of_ae_of_mem_inter_Ioo; intros; filter_upwards; intro c _ simp_all only [mem_Ioi, mem_Ici, mem_inter_iff, mem_Ioo] exact this c (by linarith) intro a ha suffices {x | ENNReal.ofReal a ≤ f x} = ∅ by rw [this]; exact measure_empty apply eq_empty_of_forall_notMem intro x hx have : 1 < f x := calc 1 < ENNReal.ofReal a := ENNReal.one_lt_ofReal.mpr ha _ ≤ f x := hx exact absurd this (not_lt.mpr (hf_bound x)) -- A form of the weighted AM-GM inequality lemma weighted_amgm {θ a b : ℝ} (hθ : 0 < θ ∧ θ < 1) (ha : 0 ≤ a) (hb : 0 ≤ b) : ((1-θ)^(1-θ) * θ^θ)⁻¹ * a^(1-θ) * b^θ ≤ a + b := calc ((1-θ)^(1-θ) * θ^θ)⁻¹ * a^(1-θ) * b^θ = ((1-θ)^(1-θ))⁻¹ * a^(1-θ) * (θ^θ)⁻¹ * b^θ := by grind _ = ((1-θ)⁻¹)^(1-θ) * a^(1-θ) * (θ⁻¹)^θ * b^θ := by rw [Real.inv_rpow (by linarith), Real.inv_rpow (by linarith)] _ = ((1-θ)⁻¹*a)^(1-θ) * (θ⁻¹*b)^θ := by rw [Real.mul_rpow (by simp only [inv_nonneg, sub_nonneg]; linarith) ha, Real.mul_rpow (by simp only [inv_nonneg]; linarith) hb] ring _ ≤ (1-θ)*((1-θ)⁻¹*a) + θ*(θ⁻¹*b) := Real.geom_mean_le_arith_mean2_weighted (by linarith) (by linarith) (by simp [hθ.2, ha]) (by simp [hθ.1, hb]) (by ring) _ = a + b := by grind -- Prekopa-Leindler in 1 dimension assuming sup norm 1. lemma prekopa_leindler_1d_normalized {θ : ℝ} {f g h : ℝ → ENNReal} (hθ : 0 < θ ∧ θ < 1) (hf_measurable : Measurable f) (hf_sup1 : iSup f = 1) (hg_measurable : Measurable g) (hg_sup1 : iSup g = 1) (hh_measurable : Measurable h) (hfgh : ∀ x y, (f x) ^ (1 - θ) * (g y) ^ θ ≤ h (x + y)) : ENNReal.ofReal (((1-θ)^(1-θ) * θ^θ)⁻¹) * (∫⁻ x, f x)^(1-θ) * (∫⁻ x, g x)^θ ≤ (∫⁻ x, h x) := by -- {f>t} + {g>t} ⊆ {h>t} have h_superlevelset_incl : ∀ t : ℝ, 0 < t → {x | ENNReal.ofReal t ≤ f x} + {x | ENNReal.ofReal t ≤ g x} ⊆ {x | ENNReal.ofReal t ≤ h x} := by intro t ht rw [add_subset_iff] intro x hx y hy simp only [mem_setOf_eq] at hx hy ⊢ calc ENNReal.ofReal t = (ENNReal.ofReal t) ^ (1 - θ) * (ENNReal.ofReal t) ^ θ := by rw [← ENNReal.rpow_add (1-θ) θ (ne_of_gt (ENNReal.ofReal_pos.mpr ht)) ENNReal.ofReal_ne_top] simp _ ≤ f x ^ (1 - θ) * g y ^ θ := by gcongr · linarith linarith _ ≤ h (x + y) := hfgh x y -- vol({f>t}) + vol({g>t}) ≤ vol({h>t}) let vf : ℝ → ENNReal := fun t : ℝ ↦ volume {x | ENNReal.ofReal t ≤ f x} let vg : ℝ → ENNReal := fun t : ℝ ↦ volume {x | ENNReal.ofReal t ≤ g x} let vh : ℝ → ENNReal := fun t : ℝ ↦ volume {x | ENNReal.ofReal t ≤ h x} have h_vol_ineq : ∀ t : ℝ, 0 < t ∧ t < 1 → vf t + vg t ≤ vh t := by intro t ht have superlevelset_nonempty {f : ℝ → ENNReal} (hf_sup1 : iSup f = 1) : {x | ENNReal.ofReal t ≤ f x}.Nonempty := by apply nonempty_def.mpr suffices ∃ x, x ∈ {x | ENNReal.ofReal t < f x} by simp only [mem_setOf_eq] at this ⊢ rcases this with ⟨x, hx⟩ use x exact le_of_lt hx simp only [mem_setOf_eq] apply exists_lt_of_lt_ciSup simp only [hf_sup1, ENNReal.ofReal_lt_one, ht.2] exact brunn_minkowski_1d (h_superlevelset_incl t ht.1) (superlevelset_nonempty hf_sup1) (measurableSet_le measurable_const hf_measurable) (superlevelset_nonempty hg_sup1) (measurableSet_le measurable_const hg_measurable) -- integrate the volume inequality -- ∫_0^1 vol({f>t}) + vol({g>t}) dt ≤ ∫_0^1 vol({h>t}) dt ≤ ∫_0^∞ vol({h>t}) dt have h_vol_ineq_integral : (∫⁻ t in Ioo 0 1, vf t) + (∫⁻ t in Ioo 0 1, vg t) ≤ ∫⁻ t in Ioi 0, vh t := calc (∫⁻ t in Ioo 0 1, vf t) + (∫⁻ t in Ioo 0 1, vg t) = ∫⁻ t in Ioo 0 1, (vf t + vg t) := by rw [lintegral_add_left (vol_superlevelset_measurable f)] _ ≤ ∫⁻ t in Ioo 0 1, vh t := by apply lintegral_mono_ae exact ae_restrict_of_forall_mem measurableSet_Ioo (fun t ht ↦ h_vol_ineq t ht) _ ≤ ∫⁻ t in Ioi 0, vh t := by apply lintegral_mono_set; grind -- "layer cake" formulas -- ∫ h = ∫_0^∞ vol({h>t}) dt, ∫ f = ∫_0^1 vol({f>t}) dt, ∫ g = ∫_0^1 vol({g>t}) dt let fint : ENNReal := ∫⁻ x, f x let gint : ENNReal := ∫⁻ x, g x let hint : ENNReal := ∫⁻ x, h x have hfint : fint = ∫⁻ t in Ioo 0 1, vf t := have hf_bound : f ≤ 1 := by intro x; simp only [Pi.one_apply]; rw [← hf_sup1]; exact le_iSup_iff.mpr fun _ a ↦ a x lintegral_eq_vol_superlevelset_lintegral_01 hf_bound hf_measurable have hgint : gint = ∫⁻ t in Ioo 0 1, vg t := have hg_bound : g ≤ 1 := by intro x; simp only [Pi.one_apply]; rw [← hg_sup1]; exact le_iSup_iff.mpr fun _ a ↦ a x lintegral_eq_vol_superlevelset_lintegral_01 hg_bound hg_measurable have hhint : hint = ∫⁻ t in Ioi 0, vh t := layercake hh_measurable -- implies ∫ f + ∫ g ≤ ∫ h have h_ineq_integral : fint + gint ≤ hint := by rw [← hhint, ← hfint, ← hgint] at h_vol_ineq_integral exact h_vol_ineq_integral -- quickly prove the result in the case of fint = ⊤ or gint = ⊤ by_cases h_fint_eq_top : fint = ⊤ · simp only [h_fint_eq_top, top_add, top_le_iff] at h_ineq_integral unfold fint at h_fint_eq_top; unfold hint at h_ineq_integral simp [h_fint_eq_top, h_ineq_integral] by_cases h_gint_eq_top : gint = ⊤ · simp only [h_gint_eq_top, add_top, top_le_iff] at h_ineq_integral unfold gint at h_gint_eq_top; unfold hint at h_ineq_integral simp [h_gint_eq_top, h_ineq_integral] -- now fint and gint are both finite have weighted_amgm_factor_nonneg : 0 ≤ ((1-θ)^(1-θ) * θ^θ)⁻¹ := by rw [inv_nonneg] exact mul_nonneg (Real.rpow_nonneg (by linarith) (1 - θ)) (Real.rpow_nonneg (by linarith) θ) calc ENNReal.ofReal (((1-θ)^(1-θ) * θ^θ)⁻¹) * fint^(1-θ) * gint^θ = ENNReal.ofReal (((1-θ)^(1-θ) * θ^θ)⁻¹) * ENNReal.ofReal ((fint^(1-θ)).toReal) * gint^θ := by congr; rw [ENNReal.ofReal_toReal] exact ENNReal.rpow_ne_top_of_nonneg (by linarith) h_fint_eq_top _ = ENNReal.ofReal (((1-θ)^(1-θ) * θ^θ)⁻¹) * ENNReal.ofReal (fint.toReal^(1-θ)) * gint^θ := by rw [← ENNReal.toReal_rpow] _ = ENNReal.ofReal (((1-θ)^(1-θ) * θ^θ)⁻¹ * fint.toReal^(1-θ)) * gint^θ := by rw [← ENNReal.ofReal_mul]; exact weighted_amgm_factor_nonneg _ = ENNReal.ofReal (((1-θ)^(1-θ) * θ^θ)⁻¹ * fint.toReal^(1-θ)) * ENNReal.ofReal ((gint^θ).toReal) := by congr; rw [ENNReal.ofReal_toReal] exact ENNReal.rpow_ne_top_of_nonneg (by linarith) h_gint_eq_top _ = ENNReal.ofReal (((1-θ)^(1-θ) * θ^θ)⁻¹ * fint.toReal^(1-θ)) * ENNReal.ofReal (gint.toReal^θ) := by rw [← ENNReal.toReal_rpow] _ = ENNReal.ofReal (((1-θ)^(1-θ) * θ^θ)⁻¹ * fint.toReal^(1-θ) * gint.toReal^θ) := by rw [← ENNReal.ofReal_mul] exact mul_nonneg weighted_amgm_factor_nonneg (Real.rpow_nonneg ENNReal.toReal_nonneg (1-θ)) _ ≤ ENNReal.ofReal (fint.toReal + gint.toReal) := ENNReal.ofReal_le_ofReal (weighted_amgm hθ ENNReal.toReal_nonneg ENNReal.toReal_nonneg) _ = ENNReal.ofReal (fint.toReal) + ENNReal.ofReal (gint.toReal) := ENNReal.ofReal_add ENNReal.toReal_nonneg ENNReal.toReal_nonneg _ = fint + gint := by simp [h_fint_eq_top, h_gint_eq_top] _ ≤ hint := by exact h_ineq_integral -- Prekopa-Leindler in 1 dimension assuming boundedness. -- This removes the sup norm 1 assumption of prekopa_leindler_1d_normalized by scaling. lemma prekopa_leindler_1d_bounded {θ : ℝ} {f g h : ℝ → ENNReal} (hθ : 0 < θ ∧ θ < 1) (hf_measurable : Measurable f) (hf_bounded : iSup f ≠ ⊤) (hg_measurable : Measurable g) (hg_bounded : iSup g ≠ ⊤) (hh_measurable : Measurable h) (hfgh : ∀ x y, (f x) ^ (1 - θ) * (g y) ^ θ ≤ h (x + y)) : ENNReal.ofReal (((1-θ)^(1-θ) * θ^θ)⁻¹) * (∫⁻ x, f x)^(1-θ) * (∫⁻ x, g x)^θ ≤ ∫⁻ x, h x := by -- If f = 0 or g = 0, the conclusion follows easily. by_cases hf_zero : f = 0 · aesop by_cases hg_zero : g = 0 · aesop -- From here on, we have f ≠ 0 and g ≠ 0. let f' := fun x ↦ (f x) * (iSup f)⁻¹ let g' := fun x ↦ (g x) * (iSup g)⁻¹ let h' := fun x ↦ (h x) * ((iSup f)⁻¹)^(1-θ) * ((iSup g)⁻¹)^θ let fint := ∫⁻ x, f x let gint := ∫⁻ x, g x let hint := ∫⁻ x, h x let f'int := ∫⁻ x, f' x let g'int := ∫⁻ x, g' x let h'int := ∫⁻ x, h' x let factor : ENNReal := ENNReal.ofReal ((1-θ)^(1-θ) * θ^θ)⁻¹ have iSupf_ne_zero : iSup f ≠ 0 := iSup_nonzero_of_nonzero hf_zero have iSupg_ne_zero : iSup g ≠ 0 := iSup_nonzero_of_nonzero hg_zero have iSupf_pos : 0 < iSup f := pos_of_ne_zero iSupf_ne_zero have iSupg_pos : 0 < iSup g := pos_of_ne_zero iSupg_ne_zero have iSupf_pow_ne_zero : (iSup f)^(1-θ) ≠ 0 := (ne_of_lt (ENNReal.rpow_pos_of_nonneg iSupf_pos (by linarith))).symm have iSupg_pow_ne_zero : (iSup g)^θ ≠ 0 := (ne_of_lt (ENNReal.rpow_pos_of_nonneg iSupg_pos (by linarith))).symm have iSupf_pow_ne_top : (iSup f)^(1-θ) ≠ ⊤ := ENNReal.rpow_ne_top_of_nonneg' iSupf_pos hf_bounded have iSupg_pow_ne_top : (iSup g)^θ ≠ ⊤ := ENNReal.rpow_ne_top_of_nonneg' iSupg_pos hg_bounded -- This is the result for the normalized functions f', g', h'. have normalized_result : factor * f'int^(1-θ) * g'int^θ ≤ h'int := have f'_isup1 : iSup f' = 1 := by rw [← ENNReal.iSup_mul, ENNReal.mul_inv_cancel iSupf_ne_zero hf_bounded] have g'_isup1 : iSup g' = 1 := by rw [← ENNReal.iSup_mul, ENNReal.mul_inv_cancel iSupg_ne_zero hg_bounded] have hf'g'h' : ∀ x y, (f' x)^(1-θ) * (g' y)^θ ≤ h' (x + y) := by unfold f' g' h' intro x y calc (f x * (iSup f)⁻¹) ^ (1 - θ) * (g y * (iSup g)⁻¹) ^ θ = (f x)^(1 - θ) * ((iSup f)⁻¹) ^ (1 - θ) * (g y) ^ θ * ((iSup g)⁻¹)^θ := by rw [ENNReal.mul_rpow_of_nonneg, ENNReal.mul_rpow_of_nonneg] · ring · linarith linarith _ = (f x)^(1 - θ) * (g y) ^ θ * ((iSup f)⁻¹) ^ (1 - θ) * ((iSup g)⁻¹)^θ := by ring _ ≤ h' (x + y) := mul_le_mul_of_nonneg_right (mul_le_mul_of_nonneg_right (hfgh x y) (by apply zero_le)) (by apply zero_le) prekopa_leindler_1d_normalized hθ (by fun_prop) f'_isup1 (by fun_prop) g'_isup1 (by fun_prop) hf'g'h' -- Manipulate the constant factors in normalized_result to obtain the final result for f, g, h. have f'int_to_fint : f'int = fint * (iSup f)⁻¹ := lintegral_mul_const (iSup f)⁻¹ hf_measurable have g'int_to_gint : g'int = gint * (iSup g)⁻¹ := lintegral_mul_const (iSup g)⁻¹ hg_measurable have h'int_to_hint : h'int = hint * (iSup f)⁻¹^(1-θ) * (iSup g)⁻¹^θ := calc h'int = ∫⁻ x, ((h x) * (iSup f)⁻¹^(1-θ) * (iSup g)⁻¹^θ) := by rfl _ = ∫⁻ x, ((h x) * ((iSup f)⁻¹^(1-θ) * (iSup g)⁻¹^θ)) := by congr; ext x; ring _ = hint * ((iSup f)⁻¹^(1-θ) * (iSup g)⁻¹^θ) := by rw [lintegral_mul_const]; exact hh_measurable _ = hint * (iSup f)⁻¹^(1-θ) * (iSup g)⁻¹^θ := by ring change factor * fint^(1-θ) * gint^θ ≤ hint calc factor * fint^(1-θ) * gint^θ = factor * (f'int * iSup f)^(1-θ) * (g'int * iSup g)^θ := by rw [f'int_to_fint, g'int_to_gint] congr · exact (ENNReal.inv_mul_cancel_right iSupf_ne_zero hf_bounded).symm exact (ENNReal.inv_mul_cancel_right iSupg_ne_zero hg_bounded).symm _ = (factor * f'int^(1-θ) * g'int^θ) * ((iSup f)^(1-θ) * (iSup g)^θ) := by rw [ENNReal.mul_rpow_of_nonneg, ENNReal.mul_rpow_of_nonneg] · ring · linarith linarith _ ≤ h'int * ((iSup f)^(1-θ) * (iSup g)^θ) := by rw [ENNReal.mul_le_mul_iff_left] · exact normalized_result · rw [← pos_iff_ne_zero]; exact ENNReal.mul_pos iSupf_pow_ne_zero iSupg_pow_ne_zero · exact ENNReal.mul_ne_top iSupf_pow_ne_top iSupg_pow_ne_top _ = (hint * (iSup f)⁻¹^(1-θ) * (iSup g)⁻¹^θ) * ((iSup f)^(1-θ) * (iSup g)^θ) := by rw [h'int_to_hint] _ = hint * ((iSup f)⁻¹^(1-θ) * (iSup f)^(1-θ)) * ((iSup g)⁻¹^θ * (iSup g)^θ) := by ring _ = hint * (((iSup f)^(1-θ))⁻¹ * (iSup f)^(1-θ)) * (((iSup g)^θ)⁻¹ * (iSup g)^θ) := by congr · rw [ENNReal.inv_rpow] rw [ENNReal.inv_rpow] _ = hint * 1 * 1 := by congr · exact ENNReal.inv_mul_cancel iSupf_pow_ne_zero iSupf_pow_ne_top exact ENNReal.inv_mul_cancel iSupg_pow_ne_zero iSupg_pow_ne_top _ = hint := by ring -- Prekopa-Leindler in 1 dimension. This removes the boundedness assumption of -- prekopa_leindler_1d_bounded using an approximation argument. lemma prekopa_leindler_1d {θ : ℝ} {f g h : ℝ → ENNReal} (hθ : 0 < θ ∧ θ < 1) (hf_measurable : Measurable f) (hg_measurable : Measurable g) (hh_measurable : Measurable h) (hfgh : ∀ x y, (f x) ^ (1 - θ) * (g y) ^ θ ≤ h (x + y)) : ENNReal.ofReal ((1-θ)^(1-θ) * θ^θ)⁻¹ * (∫⁻ x, f x)^(1-θ) * (∫⁻ x, g x)^θ ≤ ∫⁻ x, h x := by let c : ENNReal := ENNReal.ofReal ((1-θ)^(1-θ) * θ^θ)⁻¹ let f_bounded (n : ℕ) : ℝ → ENNReal := fun x ↦ min (f x) n let g_bounded (n : ℕ) : ℝ → ENNReal := fun x ↦ min (g x) n have f_bounded_mono : Monotone f_bounded := by intro _ _ hab; rw [Pi.le_def]; intro x; exact min_le_min_left (f x) (by simp [hab]) have g_bounded_mono : Monotone g_bounded := by intro _ _ hab; rw [Pi.le_def]; intro x; exact min_le_min_left (g x) (by simp [hab]) have f_as_sup : ∫⁻ x, f x = ⨆ n, ∫⁻ x, f_bounded n x := calc _ = ∫⁻ x, ⨆ n, f_bounded n x := by congr; ext; symm; apply iSup_min_nat _ = _ := lintegral_iSup (by fun_prop) f_bounded_mono have g_as_sup : ∫⁻ x, g x = ⨆ n, ∫⁻ x, g_bounded n x := calc _ = ∫⁻ x, ⨆ n, g_bounded n x := by congr; ext; symm; apply iSup_min_nat _ = _ := lintegral_iSup (by fun_prop) g_bounded_mono have result_for_bounded : ∀ n m, c * (∫⁻ x, f_bounded n x)^(1-θ) * (∫⁻ x, g_bounded m x)^θ ≤ ∫⁻ x, h x := by intro n m apply prekopa_leindler_1d_bounded hθ (by fun_prop) (iSup_min_nat_ne_top n _) (by fun_prop) (iSup_min_nat_ne_top m _) hh_measurable intro x y calc (f_bounded n x)^(1-θ) * (g_bounded m y)^θ ≤ (f x)^(1-θ) * (g y)^θ := by gcongr · linarith · aesop · linarith aesop _ ≤ h (x + y) := hfgh x y calc c * (∫⁻ x, f x)^(1-θ) * (∫⁻ x, g x)^θ = c * (⨆ n, ∫⁻ x, f_bounded n x)^(1-θ) * (⨆ m, ∫⁻ x, g_bounded m x)^θ := by rw [f_as_sup, g_as_sup] _ = ⨆ n, c * (∫⁻ x, f_bounded n x)^(1-θ) * (⨆ m, ∫⁻ x, g_bounded m x)^θ := by rw [← ENNReal.iSup_mul, ← ENNReal.mul_iSup, iSup_rpow_of_pos (by linarith)] _ = ⨆ n, ⨆ m, c * (∫⁻ x, f_bounded n x)^(1-θ) * (∫⁻ x, g_bounded m x)^θ := by congr; ext; rw [← ENNReal.mul_iSup, iSup_rpow_of_pos hθ.1] _ ≤ ∫⁻ x, h x := by apply iSup₂_le; exact result_for_bounded lemma lintegral_fin1 (F : (Fin 1 → ℝ) → ENNReal) : ∫⁻ v : (Fin 1 → ℝ), F v = ∫⁻ x : ℝ, F (fun _ ↦ x) := by have hfun (x : ℝ) : (MeasurableEquiv.funUnique (Fin 1) ℝ).symm x = (fun _ : Fin 1 ↦ x) := by funext i exact @uniqueElim_const (Fin 1) ℝ inferInstance x i have h := MeasurePreserving.lintegral_map_equiv F (MeasurableEquiv.funUnique (Fin 1) ℝ).symm (volume_preserving_funUnique (Fin 1) ℝ).symm simp only [hfun] at h exact h -- Append to the end of a vector def append {d : ℕ} (x : Fin d → ℝ) (t : Fin 1 → ℝ) : Fin (d + 1) → ℝ := fun i ↦ if h : i.val < d then x ⟨i.val, h⟩ else t default lemma append_measurable {d : ℕ} (x : Fin d → ℝ) : Measurable (append x) := by unfold append apply measurable_pi_lambda intro split · fun_prop fun_prop lemma append_measurable' {d : ℕ} (t : Fin 1 → ℝ) : Measurable (fun x : Fin d → ℝ ↦ append x t) := by unfold append apply measurable_pi_lambda intro split · fun_prop fun_prop lemma append_linear {d : ℕ} (x1 y1 : Fin (d + 1) → ℝ) (x y : Fin 1 → ℝ) : append x1 x + append y1 y = append (x1 + y1) (x + y) := by unfold append aesop -- Turn a function F : R^(d+1) → R into a function R^1 → R by fixing the first d components to x. def fix {d : ℕ} (F : (Fin (d + 1) → ℝ) → ENNReal) (x : Fin d → ℝ) : (Fin 1 → ℝ) → ENNReal := F ∘ (append x) lemma fix_measurable {d : ℕ} {F : (Fin (d + 1) → ℝ) → ENNReal} (hF : Measurable F) (x : Fin d → ℝ) : Measurable (fix F x) := by exact hF.comp (append_measurable x) lemma fix_apply {d : ℕ} (F : (Fin (d + 1) → ℝ) → ENNReal) (x : Fin d → ℝ) (y : Fin 1 → ℝ) : fix F x y = F (append x y) := by rfl lemma lintegral_fix_eq_lmarginal {d : ℕ} (F : (Fin (d + 2) → ℝ) → ENNReal) (x1 : Fin (d + 1) → ℝ) : ∫⁻ y : Fin 1 → ℝ, (fix F x1) y = (∫⋯∫⁻_{⟨d+1, by simp⟩}, F) (append x1 default) := by have h_lmarginal_singleton := lmarginal_singleton F ⟨d+1, by simp⟩ (μ := fun _ ↦ volume) suffices ∫⁻ (y : ℝ), F (Function.update (append x1 default) ⟨d + 1, by simp⟩ y) = ∫⁻ (y : Fin 1 → ℝ), fix F x1 y by rw [congrFun h_lmarginal_singleton (append x1 default), this] rw [lintegral_fin1] unfold fix append Function.update simp_all only [Pi.default_def, eq_rec_constant, Fin.default_eq_zero, Fin.isValue, dite_eq_ite, Function.comp_apply] congr; ext; congr; ext i; split case e_f.isTrue => simp_all case e_f.isFalse h => simp [Fin.val_lt_last h] lemma lintegral_fix_lintegral_eq_lintegral {d : ℕ} {f : (Fin (d + 2) → ℝ) → ENNReal} (hf_measurable : Measurable f) : ∫⁻ (x : Fin (d + 1) → ℝ), ∫⁻ (t : Fin 1 → ℝ), (fix f x) t = ∫⁻ (x : Fin (d + 2) → ℝ), f x := by -- This proof works by rewriting the LHS until we can use the volume preserving -- measurable equivalence for piFinSuccAbove in mathlib. -- Rewrite the integral over Fin 1 → ℝ as an integral over ℝ have : ∫⁻ (x : Fin (d + 1) → ℝ), ∫⁻ (t : Fin 1 → ℝ), (fix f x) t = ∫⁻ (x : Fin (d + 1) → ℝ), ∫⁻ (t : ℝ), f (append x (fun _ ↦ t)) := by congr; ext; rw [lintegral_fin1]; rfl rw [this] -- Rewrite the iterated integral ∫⁻ (x : Fin (d + 1) → ℝ), ∫⁻ (t : ℝ) ... -- as a single integral over ℝ × (Fin (d + 1) → ℝ). The order is swapped for compatibility with -- MeasurableEquiv.piFinSuccAbove. let equiv : (Fin (d + 2) → ℝ) ≃ᵐ ℝ × (Fin (d + 1) → ℝ) := MeasurableEquiv.piFinSuccAbove (fun _ : Fin (d + 2) ↦ ℝ) (Fin.last (d + 1)) let g : ℝ × (Fin (d + 1) → ℝ) → (Fin (d + 2) → ℝ) := fun tx ↦ (append tx.2 fun _ ↦ tx.1) have hg_eq_equiv_invFun : g = equiv.invFun := by aesop have hg_measurable : Measurable g := by rw [hg_eq_equiv_invFun]; exact equiv.measurable_invFun let f' : (ℝ × (Fin (d + 1) → ℝ)) → ENNReal := fun tx ↦ f (append tx.2 fun x ↦ tx.1) have hf'_measurable : Measurable f' := by apply Measurable.comp hf_measurable; unfold g at hg_measurable; exact hg_measurable rw [← MeasureTheory.lintegral_prod_symm' f' hf'_measurable] -- Clean up ∂volume.prod volume from lintegral_prod_symm' have : ∫⁻ (z : ℝ × (Fin (d + 1) → ℝ)), f' z ∂volume.prod volume = ∫⁻ (z : ℝ × (Fin (d + 1) → ℝ)), f' z := by rfl rw [this] -- Rewrite the integral over ℝ × (Fin (d + 1) → ℝ as an integral over Fin (d + 2) → ℝ rw [← MeasureTheory.lintegral_map hf_measurable hg_measurable] -- Use the fact that the equivalence is volume preserving congr rw [hg_eq_equiv_invFun] exact (MeasureTheory.volume_preserving_piFinSuccAbove (fun _ : Fin (d + 2) ↦ ℝ) (Fin.last (d + 1))).symm.map_eq def PLConditions (n : ℕ) (θ : ℝ) (f g h : (Fin n → ℝ) → ENNReal) : Prop := 0 < θ ∧ θ < 1 ∧ Measurable f ∧ Measurable g ∧ Measurable h ∧ (∀ x y, (f x)^(1-θ) * (g y)^θ ≤ h (x + y)) -- This is a small wrapper around prekopa_leindler_1d. lemma prekopa_leindler_1d_fin1 {θ : ℝ} {f g h : (Fin 1 → ℝ) → ENNReal} (hθfgh : PLConditions 1 θ f g h) : ENNReal.ofReal ((1-θ)^(1-θ) * θ^θ)⁻¹ * (∫⁻ x, f x)^(1-θ) * (∫⁻ x, g x)^θ ≤ ∫⁻ x, h x := by let ⟨hθ0, hθ1, hf_measurable, hg_measurable, hh_measurable, hfgh⟩ := hθfgh rw [lintegral_fin1 f, lintegral_fin1 g, lintegral_fin1 h] exact prekopa_leindler_1d ⟨hθ0, hθ1⟩ (by fun_prop) (by fun_prop) (by fun_prop) (fun x y ↦ hfgh (fun _ ↦ x) (fun _ ↦ y)) -- The Prekopa-Leindler inequality in arbitrary dimension, proved using induction over dimension. theorem prekopa_leindler {d : ℕ} {θ : ℝ} {f g h : (Fin (d + 1) → ℝ) → ENNReal} (hθfgh : PLConditions (d + 1) θ f g h) : ENNReal.ofReal ((1 - θ) ^ ((d + 1) * (1 - θ)) * θ ^ ((d + 1) * θ))⁻¹ * (∫⁻ x, f x) ^ (1 - θ) * (∫⁻ x, g x) ^ θ ≤ ∫⁻ x, h x := by induction d using Nat.case_strong_induction_on with | hz => simpa using (prekopa_leindler_1d_fin1 hθfgh) | hi d hd => -- The goal is to prove the result for Fin (d + 2) → ℝ. let ⟨hθ0, hθ1, hf_measurable, hg_measurable, hh_measurable, hfgh⟩ := hθfgh -- The inductive hypotheses for Fin 1 → ℝ and Fin (d + 1) → ℝ have hyp_0 : ∀ {f g h : (Fin 1 → ℝ) → ENNReal}, PLConditions 1 θ f g h → ENNReal.ofReal ((1-θ)^(1-θ) * θ^θ)⁻¹ * (∫⁻ (x : Fin 1 → ℝ), f x)^(1-θ) * (∫⁻ (x : Fin 1 → ℝ), g x)^θ ≤ ∫⁻ (x : Fin 1 → ℝ), h x := by have := hd 0 simp_all have hyp_d : ∀ {f g h : (Fin (d + 1) → ℝ) → ENNReal}, PLConditions (d + 1) θ f g h → ENNReal.ofReal ((1-θ)^((d+1)*(1-θ)) * θ^((d+1)*θ))⁻¹ * (∫⁻ (x : Fin (d + 1) → ℝ), f x)^(1-θ) * (∫⁻ (x : Fin (d + 1) → ℝ), g x)^θ ≤ ∫⁻ (x : Fin (d + 1) → ℝ), h x := by have := hd d simp_all -- F, G, H are f, g, h with the last coordinate marginalized out let F : (Fin (d + 1) → ℝ) → ENNReal := fun x1 ↦ ∫⁻ x, (fix f x1) x let G : (Fin (d + 1) → ℝ) → ENNReal := fun x1 ↦ ∫⁻ x, (fix g x1) x let H : (Fin (d + 1) → ℝ) → ENNReal := fun x1 ↦ ENNReal.ofReal ((1-θ)^(1-θ) * θ^θ) * ∫⁻ x, (fix h x1) x -- F', G', H' are F, G, H written using lmarginal, to use theorems written for lmarginal let F' : (Fin (d + 1) → ℝ) → ENNReal := fun x1 ↦ (∫⋯∫⁻_{⟨d + 1, by simp⟩}, f ∂fun _ ↦ volume) (append x1 default) let G' : (Fin (d + 1) → ℝ) → ENNReal := fun x1 ↦ (∫⋯∫⁻_{⟨d + 1, by simp⟩}, g ∂fun _ ↦ volume) (append x1 default) let H' : (Fin (d + 1) → ℝ) → ENNReal := fun x1 ↦ ENNReal.ofReal ((1-θ)^(1-θ) * θ^θ) * (∫⋯∫⁻_{⟨d + 1, by simp⟩}, h ∂fun _ ↦ volume) (append x1 default) have h_F_eq_F' : F = F' := by unfold F F'; ext; rw [lintegral_fix_eq_lmarginal] have h_G_eq_G' : G = G' := by unfold G G'; ext; rw [lintegral_fix_eq_lmarginal] have h_H_eq_H' : H = H' := by unfold H H'; ext; rw [lintegral_fix_eq_lmarginal] -- Apply the inductive hypothesis to F, G, H have hF_measurable : Measurable F := by rw [h_F_eq_F']; unfold F' exact (Measurable.lmarginal (fun _ ↦ volume) hf_measurable).comp (append_measurable' default) have hG_measurable : Measurable G := by rw [h_G_eq_G']; unfold G' exact (Measurable.lmarginal (fun _ ↦ volume) hg_measurable).comp (append_measurable' default) have hH_measurable : Measurable H := by rw [h_H_eq_H']; unfold H' exact measurable_const.mul ((Measurable.lmarginal (fun _ ↦ volume) hh_measurable).comp (append_measurable' default)) have factor_pos : 0 < (1-θ)^(1-θ)*θ^θ := mul_pos (Real.rpow_pos_of_pos (by linarith) (1-θ)) (Real.rpow_pos_of_pos (by linarith) θ) have fix_plconditions : ∀ x1 y1 : Fin (d + 1) → ℝ, PLConditions 1 θ (fix f x1) (fix g y1) (fix h (x1 + y1)) := by intro x1 y1 exact ⟨ hθ0, hθ1, fix_measurable hf_measurable x1, fix_measurable hg_measurable y1, fix_measurable hh_measurable (x1 + y1), by intro x y rw [fix_apply, fix_apply, fix_apply] have h_result : f (append x1 x)^(1-θ) * g (append y1 y)^θ ≤ h (append x1 x + append y1 y) := hfgh (append x1 x) (append y1 y) rw [append_linear x1 y1 x y] at h_result exact h_result ⟩ have marginal_pl_condition : ∀ x1 y1 : Fin (d + 1) → ℝ, (F x1)^(1-θ) * (G y1)^θ ≤ H (x1 + y1) := by intro x1 y1 calc (F x1)^(1-θ) * (G y1)^θ = 1 * (F x1)^(1-θ) * (G y1)^θ := by ring _ = (ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ) * (ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ))⁻¹) * (F x1)^(1-θ) * (G y1)^θ := by congr symm exact ENNReal.mul_inv_cancel (ENNReal.ofReal_ne_zero_iff.mpr factor_pos) (Ne.symm ENNReal.top_ne_ofReal) _ = (ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ) * ENNReal.ofReal ((1 - θ)^(1-θ)*θ^θ)⁻¹) * (F x1)^(1-θ) * (G y1)^θ := by congr rw [ENNReal.ofReal_inv_of_pos (by linarith)] _ = ENNReal.ofReal ((1-θ)^(1-θ) * θ^θ) * (ENNReal.ofReal ((1 - θ)^(1-θ)*θ^θ)⁻¹ * (F x1)^(1-θ) * (G y1)^θ) := by ring _ ≤ H (x1 + y1) := by rw [ENNReal.mul_le_mul_iff_right (by simp only [ne_eq, ENNReal.ofReal_eq_zero, not_le]; linarith) (by simp only [ne_eq, ENNReal.ofReal_ne_top, not_false_eq_true])] exact hyp_0 (fix_plconditions x1 y1) have result_d : ENNReal.ofReal ((1-θ)^((d+1)*(1-θ))*θ^((d+1)*θ))⁻¹ * (∫⁻ (x : Fin (d + 1) → ℝ), F x)^(1-θ) * (∫⁻ (x : Fin (d + 1) → ℝ), G x)^θ ≤ ∫⁻ (x : Fin (d + 1) → ℝ), H x := hyp_d ⟨hθ0, hθ1, hF_measurable, hG_measurable, hH_measurable, marginal_pl_condition⟩ -- Now perform manipulations and use Fubini-Tonelli to conclude the theorem for f, g, h. have result_d_2 : (ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ))⁻¹ * (ENNReal.ofReal ((1-θ)^((d+1)*(1-θ))*θ^((d+1)*θ))⁻¹ * (∫⁻ (x : Fin (d + 2) → ℝ), f x)^(1-θ) * (∫⁻ (x : Fin (d + 2) → ℝ), g x)^θ) ≤ ∫⁻ (x : Fin (d + 2) → ℝ), h x := by unfold F G H at result_d have extract_constant : ∫⁻ (x : Fin (d + 1) → ℝ), ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ) * ∫⁻ t, (fix h x) t = ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ) * ∫⁻ (x : Fin (d + 1) → ℝ), ∫⁻ t, (fix h x) t := by rw [lintegral_const_mul'] exact Ne.symm ENNReal.top_ne_ofReal rw [lintegral_fix_lintegral_eq_lintegral hf_measurable, lintegral_fix_lintegral_eq_lintegral hg_measurable, extract_constant, lintegral_fix_lintegral_eq_lintegral hh_measurable, ← ENNReal.inv_mul_le_iff (ENNReal.ofReal_ne_zero_iff.mpr factor_pos) (Ne.symm ENNReal.top_ne_ofReal)] at result_d exact result_d have rewrite_lhs_of_result_d_2 : (ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ))⁻¹ * (ENNReal.ofReal ((1-θ)^((d+1)*(1-θ))*θ^((d+1)*θ))⁻¹ * (∫⁻ (x : Fin (d + 2) → ℝ), f x)^(1-θ) * (∫⁻ (x : Fin (d + 2) → ℝ), g x)^θ) = (ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ))⁻¹ * ENNReal.ofReal ((1-θ)^((d+1)*(1-θ))*θ^((d+1)*θ))⁻¹ * (∫⁻ (x : Fin (d + 2) → ℝ), f x)^(1-θ) * (∫⁻ (x : Fin (d + 2) → ℝ), g x)^θ := by ring have combine_consts_of_result_d_2 : (ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ))⁻¹ * ENNReal.ofReal ((1-θ)^((d+1)*(1-θ))*θ^((d+1)*θ))⁻¹ = ENNReal.ofReal ((1-θ)^((d+2)*(1-θ))*θ^((d+2)*θ))⁻¹ := calc _ = ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ)⁻¹ * ENNReal.ofReal ((1-θ)^((d+1)*(1-θ))*θ^((d+1)*θ))⁻¹ := by congr; exact Eq.symm (ENNReal.ofReal_inv_of_pos factor_pos) _ = ENNReal.ofReal (((1-θ)^(1-θ)*θ^θ)⁻¹ * ((1-θ)^((d+1)*(1-θ))*θ^((d+1)*θ))⁻¹) := Eq.symm (ENNReal.ofReal_mul (inv_nonneg.mpr (le_of_lt factor_pos))) _ = ENNReal.ofReal (((1-θ)^(1-θ)*(1-θ)^((d+1)*(1-θ))) * (θ^θ * θ^((d+1)*θ)))⁻¹ := by grind _ = ENNReal.ofReal ((1-θ)^((d+2)*(1-θ))*θ^((d+2)*θ))⁻¹ := by congr · exact Eq.symm <| Real.rpow_of_add_eq (by linarith) (ne_of_gt <| mul_pos (by linarith) (by linarith)) (by grind) exact Eq.symm <| Real.rpow_of_add_eq (by linarith) (ne_of_gt <| mul_pos (by linarith) (by linarith)) (by grind) have result_d_3 : ENNReal.ofReal ((1-θ)^((d+2)*(1-θ))*θ^((d+2)*θ))⁻¹ * (∫⁻ (x : Fin (d + 2) → ℝ), f x) ^ (1 - θ) * (∫⁻ (x : Fin (d + 2) → ℝ), g x) ^ θ ≤ ∫⁻ (x : Fin (d + 2) → ℝ), h x := by rw [rewrite_lhs_of_result_d_2, combine_consts_of_result_d_2] at result_d_2 exact result_d_2 have rewrite_const_of_result_d_3 : ENNReal.ofReal ((1-θ)^((d+2)*(1-θ))*θ^((d+2)*θ))⁻¹ = ENNReal.ofReal ((1-θ)^((↑(d+1)+1)*(1-θ))*θ^((↑(d+1)+1)*θ))⁻¹ := by congr 5 · simp only [Nat.cast_add, Nat.cast_one] ring simp only [Nat.cast_add, Nat.cast_one] ring change ENNReal.ofReal ((1-θ)^((↑(d+1)+1)*(1-θ))*θ^((↑(d+1)+1)*θ))⁻¹ * (∫⁻ (x : Fin (d + 2) → ℝ), f x)^(1-θ) * (∫⁻ (x : Fin (d + 2) → ℝ), g x)^θ ≤ ∫⁻ (x : Fin (d + 2) → ℝ), h x rw [rewrite_const_of_result_d_3] at result_d_3 exact result_d_3 end Polya26.Strike.S04.Header.PlanarBrunnMinkowski /-! Ported from hojonathanho/isoperimetric commit29768f8beeaf17295cdf3853d37da35d7e2b0a5f. Apache-2.0; upstream definitions and statements preserved in this namespace. -/ namespace Polya26.Strike.S04.Header.PlanarBrunnMinkowski open MeasureTheory Set open scoped Pointwise lemma brunn_minkowski_infinite {d : ℕ} {A B C : Set (Fin (d + 1) → ℝ)} (hA : volume A = ⊤) (hB : B.Nonempty) (hABC : A + B ⊆ C) : (volume A)^((d:ℝ)+1)⁻¹ + (volume B)^((d:ℝ)+1)⁻¹ ≤ (volume C)^((d:ℝ)+1)⁻¹ := by have h_top_pow : (⊤ : ENNReal) ^ ((d : ℝ) + 1)⁻¹ = ⊤ := ENNReal.top_rpow_of_pos Nat.inv_pos_of_nat calc (volume A)^((d:ℝ)+1)⁻¹ + (volume B)^((d:ℝ)+1)⁻¹ = (volume (A + {hB.some}))^((d:ℝ)+1)⁻¹ := by simp [hA, h_top_pow] _ ≤ (volume (A + B))^((d:ℝ)+1)⁻¹ := by gcongr; exact singleton_subset_iff.mpr hB.some_mem _ ≤ (volume C)^((d:ℝ)+1)⁻¹ := by gcongr lemma brunn_minkowski_zero {d : ℕ} {A B C : Set (Fin (d + 1) → ℝ)} (hA_zero : volume A = 0) (hA_nonempty : A.Nonempty) (hABC : A + B ⊆ C) : (volume A)^((d:ℝ)+1)⁻¹ + (volume B)^((d:ℝ)+1)⁻¹ ≤ (volume C)^((d:ℝ)+1)⁻¹ := by have h_zero_pow : (0 : ENNReal) ^ ((d : ℝ) + 1)⁻¹ = 0 := ENNReal.zero_rpow_of_pos Nat.inv_pos_of_nat simp [hA_zero, h_zero_pow] gcongr 1 calc volume B = volume ({hA_nonempty.some} + B) := by simp _ ≤ volume (A + B) := by gcongr; exact singleton_subset_iff.mpr hA_nonempty.some_mem _ ≤ volume C := by gcongr -- Prekopa-Leindler for indicator functions lemma prekopa_leindler_indicator {d : ℕ} {θ : ℝ} {A B : Set (Fin (d + 1) → ℝ)} (hθ0 : 0 < θ) (hθ1 : θ < 1) (hA_measurable : MeasurableSet A) (hB_measurable : MeasurableSet B) (hAB_measurable : MeasurableSet (A + B)) : ENNReal.ofReal ((1-θ)^((d+1)*(1-θ))*θ^((d+1)*θ))⁻¹ * volume A^(1-θ) * volume B^θ ≤ volume (A + B) := by have : ENNReal.ofReal ((1-θ)^((d+1)*(1-θ))*θ^((d+1)*θ))⁻¹ * (∫⁻ x, (A.indicator fun _ ↦ (1 : ENNReal)) x)^(1-θ) * (∫⁻ x, (B.indicator fun _ ↦ (1 : ENNReal)) x)^θ ≤ ∫⁻ x, ((A + B).indicator fun _ ↦ (1 : ENNReal)) x := prekopa_leindler ⟨ hθ0, hθ1, by measurability, by measurability, by measurability, by show ∀ (x y : Fin (d + 1) → ℝ), ((A.indicator fun _ ↦ (1 : ENNReal)) x) ^ (1 - θ) * ((B.indicator fun _ ↦ (1 : ENNReal)) y) ^ θ ≤ ((A + B).indicator fun _ ↦ (1 : ENNReal)) (x + y) intro x y unfold indicator simp_all only [ite_pow, ENNReal.one_rpow, sub_pos, ENNReal.zero_rpow_of_pos, mul_ite, mul_one, mul_zero] split · split · split · rfl · expose_names; exact False.elim (h_2 (add_mem_add h_1 h)) · simp only [zero_le] simp only [zero_le]⟩ simp_all -- Rewrite the integrals of indicators as volumes -- The Brunn-Minkowski inequality in arbitrary dimension. theorem brunn_minkowski {d : ℕ} {A B : Set (Fin (d + 1) → ℝ)} (hA_nonempty : A.Nonempty) (hA_measurable : MeasurableSet A) (hB_nonempty : B.Nonempty) (hB_measurable : MeasurableSet B) (hAB_measurable : MeasurableSet (A + B)) : volume A ^ ((d:ℝ)+1)⁻¹ + volume B ^ ((d:ℝ)+1)⁻¹ ≤ volume (A + B) ^ ((d:ℝ)+1)⁻¹ := by -- Handle the cases of 0 volume or infinite volume have hAB : A + B ⊆ A + B := by rfl by_cases hvolAinf : volume A = ⊤ · exact brunn_minkowski_infinite hvolAinf hB_nonempty hAB by_cases hvolAzero : volume A = 0 · exact brunn_minkowski_zero hvolAzero hA_nonempty hAB by_cases hvolBinf : volume B = ⊤ · rw [add_comm]; nth_rw 1 [add_comm A B] at hAB exact brunn_minkowski_infinite hvolBinf hA_nonempty hAB by_cases hvolBzero : volume B = 0 · rw [add_comm]; nth_rw 1 [add_comm A B] at hAB exact brunn_minkowski_zero hvolBzero hB_nonempty hAB -- Apply Prekopa-Leindler to the indicator functions for A, B, and A + B let f : (Fin (d + 1) → ℝ) → ENNReal := A.indicator fun _ ↦ 1 let g : (Fin (d + 1) → ℝ) → ENNReal := B.indicator fun _ ↦ 1 let h : (Fin (d + 1) → ℝ) → ENNReal := (A + B).indicator fun _ ↦ 1 let D : ℝ := d + 1 let va : ℝ := (volume A).toReal^D⁻¹ let vb : ℝ := (volume B).toReal^D⁻¹ let θ : ℝ := vb * (va + vb)⁻¹ have h_va_pos : 0 < va := by apply Real.rpow_pos_of_pos; exact ENNReal.toReal_pos hvolAzero hvolAinf have h_vb_pos : 0 < vb := by apply Real.rpow_pos_of_pos; exact ENNReal.toReal_pos hvolBzero hvolBinf have h_va_plus_vb_pos : 0 < va + vb := by linarith -- We have θ ∈ (0, 1) since A and B both have nonzero and non-infinite volume. have hθ0 : 0 < θ := div_pos h_vb_pos (add_pos' h_va_pos h_vb_pos) have hθ1 : θ < 1 := (mul_inv_lt_iff₀ h_va_plus_vb_pos).mpr (by linarith) have h_result : ENNReal.ofReal ((1-θ)^(D*(1-θ))*θ^(D*θ))⁻¹ * volume A^(1-θ) * volume B^θ ≤ volume (A + B) := prekopa_leindler_indicator hθ0 hθ1 hA_measurable hB_measurable hAB_measurable -- Raise both sides to the 1/D power have h_result_simp : ENNReal.ofReal ((1-θ)^(1-θ)*θ^θ)⁻¹ * (volume A^(1-θ))^D⁻¹ * (volume B^θ)^D⁻¹ ≤ volume (A + B)^D⁻¹ := by have h_D_θ_expr_pos : 0 < (1-θ)^(D*(1-θ))*θ^(D*θ) := by apply mul_pos · apply Real.rpow_pos_of_pos; linarith apply Real.rpow_pos_of_pos hθ0 have h_Dinv_pos : 0 < D⁻¹ := Nat.inv_pos_of_nat have h_Dinv_nonneg : 0 ≤ D⁻¹ := le_of_lt h_Dinv_pos rw [← ENNReal.rpow_le_rpow_iff h_Dinv_pos, ENNReal.mul_rpow_of_nonneg _ _ h_Dinv_nonneg, ENNReal.mul_rpow_of_nonneg _ _ h_Dinv_nonneg, ENNReal.ofReal_rpow_of_pos (by rw [inv_pos]; exact h_D_θ_expr_pos)] at h_result have : ((1-θ)^(D*(1-θ))*θ^(D*θ))⁻¹^D⁻¹ = ((1-θ)^(1-θ)*θ^θ)⁻¹ := by rw [Real.inv_rpow (le_of_lt h_D_θ_expr_pos), Real.mul_rpow (Real.rpow_nonneg (by linarith) (D * (1 - θ))) (Real.rpow_nonneg (le_of_lt hθ0) (D * θ)), ← Real.rpow_mul (by linarith), ← Real.rpow_mul (le_of_lt hθ0)] congr 3 · grind grind rw [this] at h_result exact h_result -- Simplify to get the desired result have h_result_simp_2 : ENNReal.ofReal (va + vb) ≤ volume (A + B) ^ D⁻¹ := by have h_cancel_D : D⁻¹ * D = 1 := by unfold D; field_simp have hva : volume A = (ENNReal.ofReal va)^D := by rw [ENNReal.ofReal_rpow_of_pos h_va_pos, ← Real.rpow_mul ENNReal.toReal_nonneg] simp [h_cancel_D, hvolAinf] have hvb : volume B = (ENNReal.ofReal vb)^D := by rw [ENNReal.ofReal_rpow_of_pos h_vb_pos, ← Real.rpow_mul ENNReal.toReal_nonneg] simp [h_cancel_D, hvolBinf] have h_va_vb : 1 - vb * (va + vb)⁻¹ = va * (va + vb)⁻¹ := by grind have h_vapvb_inv_pos: 0 < (va + vb)⁻¹ := inv_pos.mpr h_va_plus_vb_pos have h_expr_nonneg : 0 ≤ ((va*(va + vb)⁻¹)^(va*(va + vb)⁻¹) * (vb*(va + vb)⁻¹)^(vb*(va + vb)⁻¹))⁻¹ := by rw [inv_nonneg] exact mul_nonneg (Real.rpow_nonneg (mul_nonneg (le_of_lt h_va_pos) (le_of_lt h_vapvb_inv_pos)) (va * (va + vb)⁻¹)) (Real.rpow_nonneg (mul_nonneg (le_of_lt h_vb_pos) (le_of_lt h_vapvb_inv_pos)) (vb * (va + vb)⁻¹)) have h_expr_2_nonneg : 0 ≤ ((va*(va + vb)⁻¹)^(va*(va + vb)⁻¹) * (vb*(va + vb)⁻¹)^(vb*(va + vb)⁻¹))⁻¹ * ((va^D)^(va*(va + vb)⁻¹))^D⁻¹ := by apply mul_nonneg h_expr_nonneg apply Real.rpow_nonneg; apply Real.rpow_nonneg; apply Real.rpow_nonneg (le_of_lt h_va_pos) rw [hva, hvb, h_va_vb, ENNReal.ofReal_rpow_of_pos h_va_pos, ENNReal.ofReal_rpow_of_pos (Real.rpow_pos_of_pos h_va_pos D), ENNReal.ofReal_rpow_of_pos (Real.rpow_pos_of_pos (Real.rpow_pos_of_pos h_va_pos D) (va * (va + vb)⁻¹)), ENNReal.ofReal_rpow_of_pos h_vb_pos, ENNReal.ofReal_rpow_of_pos (Real.rpow_pos_of_pos h_vb_pos D), ENNReal.ofReal_rpow_of_pos (Real.rpow_pos_of_pos (Real.rpow_pos_of_pos h_vb_pos D) (vb * (va + vb)⁻¹)), ← ENNReal.ofReal_mul h_expr_nonneg, ← ENNReal.ofReal_mul h_expr_2_nonneg, mul_inv] at h_result_simp have : ((va^D)^(va*(va + vb)⁻¹))^D⁻¹ = va^(va*(va + vb)⁻¹) := by rw [← Real.rpow_mul (Real.rpow_nonneg (le_of_lt h_va_pos) D), ← Real.rpow_mul (le_of_lt h_va_pos)] grind rw [this] at h_result_simp have : ((vb^D)^(vb*(va + vb)⁻¹))^D⁻¹ = vb^(vb*(va + vb)⁻¹) := by rw [← Real.rpow_mul (Real.rpow_nonneg (le_of_lt h_vb_pos) D), ← Real.rpow_mul (le_of_lt h_vb_pos)] congr 1; unfold D; field_simp rw [this] at h_result_simp have : ((va*(va+vb)⁻¹) ^ (va*(va+vb)⁻¹))⁻¹ = (va^(va*(va+vb)⁻¹))⁻¹ * (va+vb)^(va*(va+vb)⁻¹) := by rw [← Real.inv_rpow ((le_mul_inv_iff₀ h_va_plus_vb_pos).mpr (by linarith)), mul_inv, inv_inv, Real.mul_rpow (inv_nonneg.mpr (le_of_lt h_va_pos)) (le_of_lt h_va_plus_vb_pos)] congr rw [Real.inv_rpow (le_of_lt h_va_pos)] rw [this] at h_result_simp have : ((vb*(va+vb)⁻¹) ^ (vb*(va+vb)⁻¹))⁻¹ = (vb^(vb*(va+vb)⁻¹))⁻¹ * (va+vb)^(vb*(va+vb)⁻¹) := by rw [← Real.inv_rpow ((le_mul_inv_iff₀ h_va_plus_vb_pos).mpr (by linarith)), mul_inv, inv_inv, Real.mul_rpow (inv_nonneg.mpr (le_of_lt h_vb_pos)) (le_of_lt h_va_plus_vb_pos)] congr rw [Real.inv_rpow (le_of_lt h_vb_pos)] rw [this] at h_result_simp have : (va^(va*(va + vb)⁻¹))⁻¹ * (va + vb)^(va*(va + vb)⁻¹) * ((vb^(vb*(va + vb)⁻¹))⁻¹ * (va + vb)^(vb*(va + vb)⁻¹)) * va^(va*(va + vb)⁻¹) * vb^(vb*(va + vb)⁻¹) = va + vb := calc _ = ((va^(va*(va + vb)⁻¹))⁻¹ * va^(va*(va + vb)⁻¹)) * ((vb^(vb*(va + vb)⁻¹))⁻¹ * vb^(vb*(va + vb)⁻¹)) * ((va + vb)^(va*(va + vb)⁻¹) * (va + vb)^(vb*(va + vb)⁻¹)) := by ring _ = ((va + vb)^(va*(va + vb)⁻¹) * (va + vb)^(vb*(va + vb)⁻¹)) := by field_simp _ = (va + vb)^(va*(va + vb)⁻¹ + vb*(va + vb)⁻¹) := by rw [Real.rpow_add h_va_plus_vb_pos] _ = va + vb := by field_simp; apply Real.rpow_one rw [this] at h_result_simp exact h_result_simp -- Final manipulation to remove ENNReal.ofReal and .toReal have h_result_simp_3 : volume A^D⁻¹ + volume B^D⁻¹ ≤ volume (A + B)^D⁻¹ := by rw [ENNReal.ofReal_add (le_of_lt h_va_pos) (le_of_lt h_vb_pos), ← ENNReal.ofReal_rpow_of_pos (ENNReal.toReal_pos hvolAzero hvolAinf), ← ENNReal.ofReal_rpow_of_pos (ENNReal.toReal_pos hvolBzero hvolBinf), ENNReal.ofReal_toReal hvolAinf, ENNReal.ofReal_toReal hvolBinf] at h_result_simp_2 exact h_result_simp_2 exact h_result_simp_3 -- This is a wrapper around brunn_minkowski for EuclideanSpace ℝ (Fin (d + 1)). theorem brunn_minkowski_euclideanSpace {d : ℕ} {A B : Set (EuclideanSpace ℝ (Fin (d + 1)))} (hA_nonempty : A.Nonempty) (hA_measurable : MeasurableSet A) (hB_nonempty : B.Nonempty) (hB_measurable : MeasurableSet B) (hAB_measurable : MeasurableSet (A + B)) : volume A ^ ((d:ℝ)+1)⁻¹ + volume B ^ ((d:ℝ)+1)⁻¹ ≤ volume (A + B) ^ ((d:ℝ)+1)⁻¹ := by let e : EuclideanSpace ℝ (Fin (d + 1)) ≃ᵐ (Fin (d + 1) → ℝ) := (MeasurableEquiv.toLp 2 (Fin (d + 1) → ℝ)).symm have h_add : e '' A + e '' B = e '' (A + B) := by ext simp only [mem_image, mem_add, exists_exists_and_eq_and] constructor · rintro ⟨a, ha, b, hb, rfl⟩ exact ⟨a + b, add_mem_add ha hb, rfl⟩ · rintro ⟨_, ⟨a, ha, b, hb, rfl⟩, rfl⟩ exact ⟨a, ha, b, hb, rfl⟩ have h_vol : ∀ S, MeasurableSet S → volume (e '' S) = volume S := by intro S hS rw [← (EuclideanSpace.volume_preserving_symm_measurableEquiv_toLp (Fin (d + 1))).symm.map_eq, Measure.map_apply (by fun_prop) hS] congr aesop let h_bm : volume (e '' A) ^ ((d:ℝ)+1)⁻¹ + volume (e '' B) ^ ((d:ℝ)+1)⁻¹ ≤ volume (e '' A + e '' B) ^ ((d:ℝ)+1)⁻¹ := brunn_minkowski (hA_nonempty.image ⇑e) (e.measurableSet_image.mpr hA_measurable) (hB_nonempty.image ⇑e) (e.measurableSet_image.mpr hB_measurable) (by rw [h_add]; exact e.measurableSet_image.mpr hAB_measurable) rw [h_vol _ hA_measurable, h_vol _ hB_measurable, h_add, h_vol _ hAB_measurable] at h_bm exact h_bm end Polya26.Strike.S04.Header.PlanarBrunnMinkowski end end /- END M005 -/ /- BEGIN M006 -/ section /-! Actual complement components, their boundary, and filled-hole erosion. No planar Jordan or simple-connectivity hypothesis is used in this file. -/ noncomputable section open Set Filter Topology Metric namespace Polya26.Strike.S04.Header.ComplementGeometry section Topological variable {X : Type*} [TopologicalSpace X] theorem isClosed_componentIn {F : Set X} (hF : IsClosed F) (x : X) : IsClosed (connectedComponentIn F x) := by by_cases hx : x ∈ F · apply closure_subset_iff_isClosed.mp exact isPreconnected_connectedComponentIn.closure.subset_connectedComponentIn (subset_closure (mem_connectedComponentIn hx)) (closure_minimal (connectedComponentIn_subset F x) hF) · rw [connectedComponentIn_eq_empty hx] exact isClosed_empty theorem preconnected_meets_frontier {B H : Set X} (hB : IsPreconnected B) (hH : IsClosed H) (hin : (B ∩ H).Nonempty) (hout : (B ∩ Hᶜ).Nonempty) : (B ∩ frontier H).Nonempty := by by_contra hnone have hno (z : X) (hz : z ∈ B) : z ∉ frontier H := fun hf => hnone ⟨z,hz,hf⟩ have hcover : B ⊆ interior H ∪ Hᶜ := by intro z hz by_cases hzh : z ∈ H · exact Or.inl ((mem_interior_iff_notMem_frontier hzh).mpr (hno z hz)) · exact Or.inr hzh have hdis : Disjoint (interior H) Hᶜ := Set.disjoint_left.mpr (fun z hz hn => hn (interior_subset hz)) rcases IsPreconnected.subset_or_subset isOpen_interior hH.isOpen_compl hdis hcover hB with hleft | hright · obtain ⟨z,hzB,hzH⟩ := hout exact hzH (interior_subset (hleft hzB)) · obtain ⟨z,hzB,hzH⟩ := hin exact hright hzB hzH /-- Adding more positive points only shrinks an actual complementary component. An inner connected core remains in the same bounded component. -/ theorem bounded_enclosure_mono {D D' E E' : Set X} [Bornology X] (hDD : D ⊆ D') (hEE : E ⊆ E') (hE' : IsPreconnected E') (hdis : Disjoint D' E') {p : X} (hp : p ∈ E) (hb : Bornology.IsBounded (connectedComponentIn Dᶜ p)) : E' ⊆ connectedComponentIn D'ᶜ p ∧ Bornology.IsBounded (connectedComponentIn D'ᶜ p) := by have hsub : E' ⊆ D'ᶜ := fun z hz hd => Set.disjoint_left.mp hdis hd hz exact ⟨hE'.subset_connectedComponentIn (hEE hp) hsub, hb.subset (connectedComponentIn_mono p (compl_subset_compl.mpr hDD))⟩ end Topological section Normed variable {X : Type*} [NormedAddCommGroup X] [NormedSpace ℝ X] theorem frontier_complement_component_subset_closure {E : Set X} (hE : IsOpen E) (p : X) : frontier (connectedComponentIn Eᶜ p) ⊆ closure E := by let H := connectedComponentIn Eᶜ p have hH : IsClosed H := isClosed_componentIn hE.isClosed_compl p intro y hy have hyH : y ∈ H := hH.frontier_subset hy by_contra hye obtain ⟨ε,hε,hball⟩ := Metric.isOpen_iff.mp isClosed_closure.isOpen_compl y hye have hballE : ball y ε ⊆ Eᶜ := by intro z hz he exact hball hz (subset_closure he) have hballH : ball y ε ⊆ H := by have hs := (convex_ball y ε).isPreconnected.subset_connectedComponentIn (mem_ball_self hε) hballE rw [← connectedComponentIn_eq hyH] at hs exact hs exact hy.2 (interior_maximal hballH isOpen_ball (mem_ball_self hε)) /-- The inner erosion uses a strict outer thickening of the complement, so its points have distance at least epsilon from the complement. -/ def erosion (ε : ℝ) (H : Set X) : Set X := H \ thickening ε Hᶜ theorem thickening_filled_sdiff_erosion {E H : Set X} (hH : IsClosed H) (hHE : H ⊆ Eᶜ) (hboundary : frontier H ⊆ closure E) {ε : ℝ} (hε : 0 < ε) : thickening ε (E ∪ H) \ erosion ε H = thickening ε E := by have hEH : E ⊆ Hᶜ := fun z hz hh => hHE hh hz apply Set.Subset.antisymm · intro x hx have hxu : x ∈ thickening ε E ∪ thickening ε H := by simpa only [thickening_union] using hx.1 rcases hxu with hxe | hxh · exact hxe · have hcross : (ball x ε ∩ frontier H).Nonempty := by obtain ⟨y,hy,hxy⟩ := mem_thickening_iff.mp hxh have hyball : y ∈ ball x ε := by simpa only [mem_ball,dist_comm] using hxy have hin : (ball x ε ∩ H).Nonempty := ⟨y,hyball,hy⟩ have hout : (ball x ε ∩ Hᶜ).Nonempty := by by_cases hxH : x ∈ H · have hxcomp : x ∈ thickening ε Hᶜ := by by_contra hn exact hx.2 ⟨hxH,hn⟩ obtain ⟨z,hz,hxz⟩ := mem_thickening_iff.mp hxcomp exact ⟨z,by simpa only [mem_ball,dist_comm] using hxz,hz⟩ · exact ⟨x,mem_ball_self hε,hxH⟩ exact preconnected_meets_frontier (convex_ball x ε).isPreconnected hH hin hout obtain ⟨z,hzball,hzfrontier⟩ := hcross have hxc : x ∈ thickening ε (closure E) := mem_thickening_iff.mpr ⟨z,hboundary hzfrontier, by simpa only [mem_ball,dist_comm] using hzball⟩ simpa only [thickening_closure] using hxc · intro x hx refine ⟨thickening_subset_of_subset ε subset_union_left hx,?_⟩ intro he exact he.2 (thickening_subset_of_subset ε hEH hx) theorem complement_component_thickening_identity {E : Set X} (hE : IsOpen E) (p : X) {ε : ℝ} (hε : 0 < ε) : thickening ε (E ∪ connectedComponentIn Eᶜ p) \ erosion ε (connectedComponentIn Eᶜ p) = thickening ε E := thickening_filled_sdiff_erosion (isClosed_componentIn hE.isClosed_compl p) (connectedComponentIn_subset Eᶜ p) (frontier_complement_component_subset_closure hE p) hε end Normed end Polya26.Strike.S04.Header.ComplementGeometry end end /- END M006 -/ /- BEGIN M007 -/ section /-! Planar outer-volume expansion with the actual Euclidean norm and Lebesgue measure. The quadratic term is retained for the filled-hole/erosion route. No perimeter-limit or coarea assertion is a premise. -/ noncomputable section open Set MeasureTheory open scoped Pointwise namespace Polya26.Strike.S04.Header.PlanarMinkowski abbrev Plane := Math30.Polya.Plane theorem planar_outer_volume_expansion {A : Set Plane} (hA : A.Nonempty) (hAm : MeasurableSet A) {ε : ℝ} (hε : 0 < ε) : volume A + 2 * volume A ^ (1 / 2 : ℝ) * (ENNReal.ofReal Real.pi) ^ (1 / 2 : ℝ) * ENNReal.ofReal ε + ENNReal.ofReal Real.pi * (ENNReal.ofReal ε) ^ 2 ≤ volume (A + Metric.ball 0 ε) := by have hm : MeasurableSet (A + Metric.ball (0 : Plane) ε) := by rw [add_ball_zero] exact Metric.isOpen_thickening.measurableSet have hbm := Polya26.Strike.S04.Header.PlanarBrunnMinkowski.brunn_minkowski_euclideanSpace (d := 1) hA hAm (Metric.nonempty_ball.mpr hε) measurableSet_ball hm have hball : volume (Metric.ball (0 : Plane) ε) ^ (1 / 2 : ℝ) = (ENNReal.ofReal Real.pi) ^ (1 / 2 : ℝ) * ENNReal.ofReal ε := by exact Polya26.Strike.S04.Header.PlanarBallVolume.volume_ball_sqrt ε have hbm' : volume A ^ (1 / 2 : ℝ) + (ENNReal.ofReal Real.pi) ^ (1 / 2 : ℝ) * ENNReal.ofReal ε ≤ volume (A + Metric.ball (0 : Plane) ε) ^ (1 / 2 : ℝ) := by norm_num only [Nat.cast_one, one_add_one_eq_two] at hbm rwa [hball] at hbm have hroot (v : ENNReal) : (v ^ (1 / 2 : ℝ)) ^ 2 = v := by rw [← ENNReal.rpow_mul_natCast] norm_num have hsquare : (volume A ^ (1 / 2 : ℝ) + (ENNReal.ofReal Real.pi) ^ (1 / 2 : ℝ) * ENNReal.ofReal ε) ^ 2 ≤ volume (A + Metric.ball (0 : Plane) ε) := by calc _ ≤ (volume (A + Metric.ball (0 : Plane) ε) ^ (1 / 2 : ℝ)) ^ 2 := by gcongr _ = _ := hroot _ have hexpand : (volume A ^ (1 / 2 : ℝ) + (ENNReal.ofReal Real.pi) ^ (1 / 2 : ℝ) * ENNReal.ofReal ε) ^ 2 = volume A + 2 * volume A ^ (1 / 2 : ℝ) * (ENNReal.ofReal Real.pi) ^ (1 / 2 : ℝ) * ENNReal.ofReal ε + ENNReal.ofReal Real.pi * (ENNReal.ofReal ε) ^ 2 := by calc _ = (volume A ^ (1 / 2 : ℝ)) ^ 2 + 2 * volume A ^ (1 / 2 : ℝ) * (ENNReal.ofReal Real.pi) ^ (1 / 2 : ℝ) * ENNReal.ofReal ε + ((ENNReal.ofReal Real.pi) ^ (1 / 2 : ℝ)) ^ 2 * (ENNReal.ofReal ε) ^ 2 := by ring _ = _ := by rw [hroot, hroot] rwa [hexpand] at hsquare theorem planar_outer_area_expansion {A : Set Plane} (hA : A.Nonempty) (hAm : MeasurableSet A) (hAb : Bornology.IsBounded A) {ε : ℝ} (hε : 0 < ε) : Math30.Polya.area A + 2 * Real.sqrt (Math30.Polya.area A) * Real.sqrt Real.pi * ε + Real.pi * ε ^ 2 ≤ Math30.Polya.area (A + Metric.ball 0 ε) := by have hAfin : volume A ≠ ⊤ := hAb.measure_lt_top.ne have hsumfin : volume (A + Metric.ball (0 : Plane) ε) ≠ ⊤ := (hAb.add Metric.isBounded_ball).measure_lt_top.ne have h := ENNReal.toReal_mono hsumfin (planar_outer_volume_expansion hA hAm hε) rw [ENNReal.toReal_add (by finiteness) (by finiteness), ENNReal.toReal_add (by finiteness) (by finiteness)] at h simp only [ENNReal.toReal_mul, ENNReal.toReal_pow, ← ENNReal.toReal_rpow, ENNReal.toReal_ofNat, ENNReal.toReal_ofReal Real.pi_pos.le, ENNReal.toReal_ofReal hε.le] at h simpa only [Math30.Polya.area, Real.sqrt_eq_rpow] using h theorem planar_outer_area_growth {A : Set Plane} (hAm : MeasurableSet A) (hAb : Bornology.IsBounded A) {ε : ℝ} (hε : 0 < ε) : 2 * Real.sqrt Real.pi * Real.sqrt (Math30.Polya.area A) * ε ≤ Math30.Polya.area (A + Metric.ball 0 ε) - Math30.Polya.area A := by classical by_cases hA : A.Nonempty · have h := planar_outer_area_expansion hA hAm hAb hε have hquad : 0 ≤ Real.pi * ε ^ 2 := mul_nonneg Real.pi_pos.le (sq_nonneg ε) nlinarith · have hempty : A = ∅ := Set.not_nonempty_iff_eq_empty.mp hA simp [hempty, Math30.Polya.area] theorem planar_area_erosion_estimate {H Q : Set Plane} (hHb : Bornology.IsBounded H) (hQm : MeasurableSet Q) {ε : ℝ} (hε : 0 < ε) (hcontain : Q + Metric.ball 0 ε ⊆ H) : 2 * Real.sqrt Real.pi * Real.sqrt (Math30.Polya.area H) * ε - Real.pi * ε ^ 2 ≤ Math30.Polya.area H - Math30.Polya.area Q := by classical have hh : 0 ≤ Math30.Polya.area H := ENNReal.toReal_nonneg have hq : 0 ≤ Math30.Polya.area Q := ENNReal.toReal_nonneg have hhsq := Real.sq_sqrt hh have hqsq := Real.sq_sqrt hq have hpisq := Real.sq_sqrt Real.pi_pos.le by_cases hQ : Q.Nonempty · have hQH : Q ⊆ H := by intro x hx apply hcontain exact mem_add.mpr ⟨x, hx, 0, by simpa using hε, by simp⟩ have hQb : Bornology.IsBounded Q := hHb.subset hQH have hQE := planar_outer_area_expansion hQ hQm hQb hε have hmono : Math30.Polya.area (Q + Metric.ball 0 ε) ≤ Math30.Polya.area H := ENNReal.toReal_mono hHb.measure_lt_top.ne (measure_mono hcontain) let p : ℝ := Real.sqrt Real.pi * ε have hp : 0 ≤ p := mul_nonneg (Real.sqrt_nonneg _) hε.le have hpsq : p ^ 2 = Real.pi * ε ^ 2 := by dsimp [p] rw [mul_pow, hpisq] have hroots : Real.sqrt (Math30.Polya.area Q) + p ≤ Real.sqrt (Math30.Polya.area H) := by have hsum : 0 ≤ Real.sqrt (Math30.Polya.area Q) + p := add_nonneg (Real.sqrt_nonneg _) hp have hHroot := Real.sqrt_nonneg (Math30.Polya.area H) dsimp [p] at * nlinarith have hsub : Real.sqrt (Math30.Polya.area Q) ≤ Real.sqrt (Math30.Polya.area H) - p := by linarith have hQroot := Real.sqrt_nonneg (Math30.Polya.area Q) have hHsubnonneg : 0 ≤ Real.sqrt (Math30.Polya.area H) - p := hQroot.trans hsub have hsq : Real.sqrt (Math30.Polya.area Q) ^ 2 ≤ (Real.sqrt (Math30.Polya.area H) - p) ^ 2 := (sq_le_sq₀ hQroot hHsubnonneg).mpr hsub dsimp [p] at hsq nlinarith · have hempty : Q = ∅ := Set.not_nonempty_iff_eq_empty.mp hQ have hzero : Math30.Polya.area Q = 0 := by simp [hempty, Math30.Polya.area] have hsquare := sq_nonneg (Real.sqrt (Math30.Polya.area H) - Real.sqrt Real.pi * ε) nlinarith /-- The exact parallel-set subtraction and erosion containment are set-level facts, supplied by `ComplementComponentGeometry` for an actual bounded complement component. No perimeter, Jordan curve or coarea bound is a premise. -/ theorem planar_filled_outer_area_growth {E H Q : Set Plane} (hE : E.Nonempty) (hEm : MeasurableSet E) (hHm : MeasurableSet H) (hEb : Bornology.IsBounded E) (hHb : Bornology.IsBounded H) (hdisj : Disjoint E H) (hQm : MeasurableSet Q) {ε : ℝ} (hε : 0 < ε) (hcontain : Q + Metric.ball 0 ε ⊆ H) (hidentity : ((E ∪ H) + Metric.ball 0 ε) \ Q = E + Metric.ball 0 ε) : 2 * Real.sqrt Real.pi * (Real.sqrt (Math30.Polya.area E + Math30.Polya.area H) + Real.sqrt (Math30.Polya.area H)) * ε ≤ Math30.Polya.area (E + Metric.ball 0 ε) - Math30.Polya.area E := by have hD : (E ∪ H).Nonempty := hE.mono subset_union_left have hDb : Bornology.IsBounded (E ∪ H) := hEb.union hHb have hDexp := planar_outer_area_expansion hD (hEm.union hHm) hDb hε have herosion := planar_area_erosion_estimate hHb hQm hε hcontain have hQH : Q ⊆ H := by intro x hx apply hcontain exact mem_add.mpr ⟨x, hx, 0, by simpa using hε, by simp⟩ have hQfin : volume Q ≠ ⊤ := (hHb.subset hQH).measure_lt_top.ne have hQDe : Q ⊆ (E ∪ H) + Metric.ball 0 ε := by intro x hx exact mem_add.mpr ⟨x, Or.inr (hQH hx), 0, by simpa using hε, by simp⟩ have hDefin : volume ((E ∪ H) + Metric.ball (0 : Plane) ε) ≠ ⊤ := (hDb.add Metric.isBounded_ball).measure_lt_top.ne have hunion : Math30.Polya.area (E ∪ H) = Math30.Polya.area E + Math30.Polya.area H := by unfold Math30.Polya.area rw [measure_union hdisj hHm, ENNReal.toReal_add hEb.measure_lt_top.ne hHb.measure_lt_top.ne] have hdiff : Math30.Polya.area (E + Metric.ball 0 ε) = Math30.Polya.area ((E ∪ H) + Metric.ball 0 ε) - Math30.Polya.area Q := by rw [← hidentity] unfold Math30.Polya.area rw [measure_sdiff hQDe hQm.nullMeasurableSet hQfin, ENNReal.toReal_sub_of_le (measure_mono hQDe) hDefin] rw [hunion] at hDexp nlinarith theorem isClosed_erosion {H : Set Plane} (hH : IsClosed H) (ε : ℝ) : IsClosed (Polya26.Strike.S04.Header.ComplementGeometry.erosion ε H) := by change IsClosed (H ∩ (Metric.thickening ε Hᶜ)ᶜ) exact hH.inter Metric.isOpen_thickening.isClosed_compl theorem erosion_add_ball_subset (H : Set Plane) (ε : ℝ) : Polya26.Strike.S04.Header.ComplementGeometry.erosion ε H + Metric.ball 0 ε ⊆ H := by rintro x ⟨y, hy, z, hz, rfl⟩ by_contra hout apply hy.2 apply Metric.mem_thickening_iff.mpr refine ⟨y + z, hout, ?_⟩ simpa [Metric.mem_ball, dist_eq_norm] using hz /-- A genuine bounded component of the complement supplies the stronger outer-volume coefficient for every positive radius. -/ theorem planar_complement_component_outer_area_growth {E : Set Plane} (hE : IsOpen E) (hEn : E.Nonempty) (hEb : Bornology.IsBounded E) (p : Plane) (hHb : Bornology.IsBounded (connectedComponentIn Eᶜ p)) {ε : ℝ} (hε : 0 < ε) : 2 * Real.sqrt Real.pi * (Real.sqrt (Math30.Polya.area E + Math30.Polya.area (connectedComponentIn Eᶜ p)) + Real.sqrt (Math30.Polya.area (connectedComponentIn Eᶜ p))) * ε ≤ Math30.Polya.area (E + Metric.ball 0 ε) - Math30.Polya.area E := by let H := connectedComponentIn Eᶜ p have hH : IsClosed H := Polya26.Strike.S04.Header.ComplementGeometry.isClosed_componentIn hE.isClosed_compl p have hdisj : Disjoint E H := by apply Set.disjoint_left.mpr intro x hxE hxH exact connectedComponentIn_subset Eᶜ p hxH hxE apply planar_filled_outer_area_growth hEn hE.measurableSet hH.measurableSet hEb hHb hdisj (isClosed_erosion hH ε).measurableSet hε (erosion_add_ball_subset H ε) simpa only [add_ball_zero] using Polya26.Strike.S04.Header.ComplementGeometry.complement_component_thickening_identity hE p hε theorem planar_complement_component_outer_area_growth_of_area_lower {E : Set Plane} (hE : IsOpen E) (hEn : E.Nonempty) (hEb : Bornology.IsBounded E) (p : Plane) (hHb : Bornology.IsBounded (connectedComponentIn Eᶜ p)) {B : ℝ} (hB : B ≤ Math30.Polya.area (connectedComponentIn Eᶜ p)) {ε : ℝ} (hε : 0 < ε) : 2 * Real.sqrt Real.pi * (Real.sqrt (Math30.Polya.area E + B) + Real.sqrt B) * ε ≤ Math30.Polya.area (E + Metric.ball 0 ε) - Math30.Polya.area E := by have hadd : Math30.Polya.area E + B ≤ Math30.Polya.area E + Math30.Polya.area (connectedComponentIn Eᶜ p) := by linarith have hroots : Real.sqrt (Math30.Polya.area E + B) + Real.sqrt B ≤ Real.sqrt (Math30.Polya.area E + Math30.Polya.area (connectedComponentIn Eᶜ p)) + Real.sqrt (Math30.Polya.area (connectedComponentIn Eᶜ p)) := add_le_add (Real.sqrt_le_sqrt hadd) (Real.sqrt_le_sqrt hB) calc _ = (2 * Real.sqrt Real.pi * ε) * (Real.sqrt (Math30.Polya.area E + B) + Real.sqrt B) := by ring _ ≤ (2 * Real.sqrt Real.pi * ε) * (Real.sqrt (Math30.Polya.area E + Math30.Polya.area (connectedComponentIn Eᶜ p)) + Real.sqrt (Math30.Polya.area (connectedComponentIn Eᶜ p))) := mul_le_mul_of_nonneg_left hroots (by positivity) _ = _ := by ring _ ≤ _ := planar_complement_component_outer_area_growth hE hEn hEb p hHb hε end Polya26.Strike.S04.Header.PlanarMinkowski end end /- END M007 -/ /- BEGIN M008 -/ section /- S02 selected scalar component LebesguePrimitive -/ noncomputable section open Set Filter MeasureTheory Function Metric open scoped Topology namespace Polya26.Strike.S02.Header theorem locallyIntegrable_ae_hasDerivAt_integral {f : ℝ → ℝ} (hf : LocallyIntegrable f volume) : ∀ᵐ x, ∀ c, HasDerivAt (fun y => ∫ t in c..y, f t) (f x) x := by have hg (c d : ℝ) : IntervalIntegrable f volume c d := intervalIntegrable_iff.mpr ((hf.integrableOn_isCompact isCompact_uIcc).mono_set uIoc_subset_uIcc) have hLeb := (Besicovitch.vitaliFamily (volume : Measure ℝ)).ae_tendsto_average_norm_sub hf filter_upwards [hLeb] with x hx intro c let radius : ℝ → ℝ := fun y => |y - x| let kernel : ℝ → ℝ → ℝ := fun y => (uIoc x y).indicator (fun _ => (radius y)⁻¹) have hr : Tendsto radius (𝓝[≠] x) (𝓝[>] (0 : ℝ)) := by apply tendsto_nhdsWithin_iff.mpr constructor · have hcont : Continuous (fun y : ℝ => |y - x|) := (continuous_id.sub continuous_const).abs simpa [radius] using (hcont.continuousAt (x := x)).tendsto.mono_left nhdsWithin_le_nhds · filter_upwards [self_mem_nhdsWithin] with y hy exact abs_pos.mpr (sub_ne_zero.mpr (by simpa using hy)) have hball : Tendsto (fun y => closedBall x (radius y)) (𝓝[≠] x) ((Besicovitch.vitaliFamily (volume : Measure ℝ)).filterAt x) := (Besicovitch.tendsto_filterAt volume x).comp hr have havg : Tendsto (fun y => ⨍ t in closedBall x (radius y), ‖f t - f x‖) (𝓝[≠] x) (𝓝 0) := hx.comp hball have hkint (y : ℝ) (hy : y ≠ x) : (∫ t, kernel y t) = 1 := by rw [show kernel y = (uIoc x y).indicator (fun _ : ℝ => (radius y)⁻¹) from rfl, integral_indicator measurableSet_uIoc] simp only [integral_const, Measure.real_def, Measure.restrict_apply_univ, Real.volume_uIoc, smul_eq_mul] rw [ENNReal.toReal_ofReal (abs_nonneg _)] exact mul_inv_cancel₀ (abs_ne_zero.mpr (sub_ne_zero.mpr hy)) have hkernel : Tendsto (fun y => ∫ t, kernel y t) (𝓝[≠] x) (𝓝 1) := by apply tendsto_const_nhds.congr' filter_upwards [self_mem_nhdsWithin] with y hy exact (hkint y (by simpa using hy)).symm have hsupp : ∀ y, support (kernel y) ⊆ closedBall x (radius y) := by intro y t ht have htm : t ∈ uIoc x y := by by_contra htm exact ht (by simp [kernel, htm]) rw [Real.closedBall_eq_Icc] simp only [uIoc, mem_Ioc] at htm dsimp [radius] constructor · have hx := neg_abs_le (y - x) have hy := le_abs_self (y - x) rcases le_total x y with h | h · rw [min_eq_left h] at htm linarith [abs_nonneg (y - x)] · rw [min_eq_right h] at htm linarith · have hx := neg_abs_le (y - x) have hy := le_abs_self (y - x) rcases le_total x y with h | h · rw [max_eq_right h] at htm linarith · rw [max_eq_left h] at htm linarith [abs_nonneg (y - x)] have hbound : ∀ᶠ y in 𝓝[≠] x, ∀ t, |kernel y t| ≤ 2 / volume.real (closedBall x (radius y)) := by filter_upwards [self_mem_nhdsWithin] with y hy t have hpos : 0 < radius y := abs_pos.mpr (sub_ne_zero.mpr (by simpa using hy)) rw [Measure.real_def, Real.volume_closedBall, ENNReal.toReal_ofReal (mul_nonneg (by norm_num) hpos.le)] have heq : 2 / (2 * radius y) = (radius y)⁻¹ := by field_simp rw [heq] by_cases ht : t ∈ uIoc x y · simp [kernel, ht, abs_of_nonneg (inv_nonneg.mpr hpos.le)] · simp [kernel, ht, inv_nonneg.mpr hpos.le] have hlim := tendsto_integral_smul_of_tendsto_average_norm_sub 2 havg (Eventually.of_forall fun y => hf.integrableOn_isCompact (isCompact_closedBall x (radius y))) hkernel (Eventually.of_forall hsupp) hbound apply hasDerivAt_iff_tendsto_slope.mpr apply hlim.congr' filter_upwards [self_mem_nhdsWithin] with y hy rw [show kernel y = (uIoc x y).indicator (fun _ : ℝ => (radius y)⁻¹) from rfl] simp only [smul_eq_mul, ← indicator_mul_left] rw [integral_indicator measurableSet_uIoc, integral_const_mul] rw [slope, vsub_eq_sub, intervalIntegral.integral_interval_sub_left (hg c y) (hg c x)] by_cases hxy : x ≤ y · rw [uIoc_of_le hxy, intervalIntegral.integral_of_le hxy] simp [radius, abs_of_nonneg (sub_nonneg.mpr hxy), smul_eq_mul] · have hyx := le_of_not_ge hxy rw [uIoc_of_ge hyx, intervalIntegral.integral_of_ge hyx] simp only [radius, abs_of_nonpos (sub_nonpos.mpr hyx), smul_eq_mul, inv_neg, neg_mul, mul_neg] theorem intervalIntegrable_ae_hasDerivAt_integral {f : ℝ → ℝ} {a b : ℝ} (hf : IntervalIntegrable f volume a b) : ∀ᵐ x, x ∈ uIcc a b → ∀ c ∈ uIcc a b, HasDerivAt (fun y => ∫ t in c..y, f t) (f x) x := by wlog hab : a ≤ b · exact uIcc_comm b a ▸ this hf.symm (by linarith) rw [uIcc_of_le hab] have h₁ : ∀ᵐ x, x ≠ a := by simp [ae_iff, measure_singleton] have h₂ : ∀ᵐ x, x ≠ b := by simp [ae_iff, measure_singleton] let g (x : ℝ) := if x ∈ Ioc a b then f x else 0 have hg : LocallyIntegrable g volume := integrableOn_congr_fun (by grind [EqOn]) (by simp) |>.mpr hf.left |>.integrable_of_forall_notMem_eq_zero (by grind) |>.locallyIntegrable filter_upwards [locallyIntegrable_ae_hasDerivAt_integral hg, h₁, h₂] with x hx _ _ _ intro c hc refine HasDerivWithinAt.hasDerivAt (s := Ioo a b) ?_ (Ioo_mem_nhds (by grind) (by grind)) rw [show f x = g x by grind] refine (hx c).hasDerivWithinAt.congr (fun y hy => ?_) ?_ all_goals apply intervalIntegral.integral_congr_ae' <;> filter_upwards <;> grind end Polya26.Strike.S02.Header end /- S02 selected scalar component PrimitiveCalculus -/ noncomputable section open Set MeasureTheory Filter open scoped Topology namespace Polya26.Strike.S02.Header def IntegralPrimitiveOn (F h : ℝ → ℝ) (a b : ℝ) : Prop := IntervalIntegrable h volume a b ∧ ∀ x ∈ uIcc a b, F x = F a + ∫ t in a..x, h t def PrimitiveOn (F : ℝ → ℝ) (a b : ℝ) : Prop := ∃ h : ℝ → ℝ, IntegralPrimitiveOn F h a b namespace IntegralPrimitiveOn theorem continuousOn {F h : ℝ → ℝ} {a b : ℝ} (hF : IntegralPrimitiveOn F h a b) : ContinuousOn F (uIcc a b) := by have hc := (intervalIntegral.continuousOn_primitive_interval' hF.1 left_mem_uIcc).const_add (F a) apply hc.congr intro x hx exact hF.2 x hx theorem ae_hasDerivAt {F h : ℝ → ℝ} {a b : ℝ} (hF : IntegralPrimitiveOn F h a b) : ∀ᵐ x, x ∈ Ioo (min a b) (max a b) → HasDerivAt F (h x) x := by filter_upwards [intervalIntegrable_ae_hasDerivAt_integral hF.1] with x hx hxI have hxC : x ∈ uIcc a b := Ioo_subset_Icc_self hxI have hd := (hx hxC a left_mem_uIcc).const_add (F a) apply hd.congr_of_eventuallyEq filter_upwards [isOpen_Ioo.mem_nhds hxI] with y hy exact hF.2 y (Ioo_subset_Icc_self hy) theorem deriv_ae_restrict {F h : ℝ → ℝ} {a b : ℝ} (hF : IntegralPrimitiveOn F h a b) : deriv F =ᵐ[volume.restrict (uIoc a b)] h := by filter_upwards [ae_restrict_of_ae hF.ae_hasDerivAt, ae_restrict_of_ae (volume.ae_ne (max a b)), ae_restrict_mem measurableSet_uIoc] with x hx hne hxI exact (hx ⟨hxI.1, lt_of_le_of_ne hxI.2 hne⟩).deriv theorem intervalIntegrable_deriv {F h : ℝ → ℝ} {a b : ℝ} (hF : IntegralPrimitiveOn F h a b) : IntervalIntegrable (deriv F) volume a b := hF.1.congr_ae hF.deriv_ae_restrict.symm theorem integral_deriv_eq_sub {F h : ℝ → ℝ} {a b : ℝ} (hF : IntegralPrimitiveOn F h a b) : ∫ x in a..b, deriv F x = F b - F a := by rw [intervalIntegral.integral_congr_ae_restrict hF.deriv_ae_restrict] have hb := hF.2 b right_mem_uIcc linarith theorem mono {F h : ℝ → ℝ} {a b c d : ℝ} (hF : IntegralPrimitiveOn F h a b) (hsub : uIcc c d ⊆ uIcc a b) : IntegralPrimitiveOn F h c d := by refine ⟨hF.1.mono_set hsub, ?_⟩ intro x hx have hc : c ∈ uIcc a b := hsub left_mem_uIcc have hxc : x ∈ uIcc a b := hsub hx have hic : IntervalIntegrable h volume a c := hF.1.mono_set (uIcc_subset_uIcc left_mem_uIcc hc) have hix : IntervalIntegrable h volume a x := hF.1.mono_set (uIcc_subset_uIcc left_mem_uIcc hxc) rw [hF.2 x hxc, hF.2 c hc, ← intervalIntegral.integral_interval_sub_left hix hic] ring end IntegralPrimitiveOn namespace PrimitiveOn theorem continuousOn {F : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) : ContinuousOn F (uIcc a b) := hF.choose_spec.continuousOn theorem ae_differentiableAt {F : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) : ∀ᵐ x, x ∈ uIcc a b → DifferentiableAt ℝ F x := by filter_upwards [hF.choose_spec.ae_hasDerivAt, volume.ae_ne (min a b), volume.ae_ne (max a b)] with x hx hmin hmax hxI exact (hx ⟨lt_of_le_of_ne hxI.1 hmin.symm, lt_of_le_of_ne hxI.2 hmax⟩).differentiableAt theorem intervalIntegrable_deriv {F : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) : IntervalIntegrable (deriv F) volume a b := hF.choose_spec.intervalIntegrable_deriv theorem integral_deriv_eq_sub {F : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) : ∫ x in a..b, deriv F x = F b - F a := hF.choose_spec.integral_deriv_eq_sub theorem mono {F : ℝ → ℝ} {a b c d : ℝ} (hF : PrimitiveOn F a b) (hsub : uIcc c d ⊆ uIcc a b) : PrimitiveOn F c d := ⟨hF.choose, hF.choose_spec.mono hsub⟩ end PrimitiveOn end Polya26.Strike.S02.Header end /- S02 selected scalar component PrimitivePairing -/ noncomputable section open Set MeasureTheory Filter Function namespace Polya26.Strike.S02.Header theorem integrable_mul_prefix {μ : Measure ℝ} [SFinite μ] {f g : ℝ → ℝ} (hf : Integrable f μ) (hg : Integrable g μ) : Integrable (fun x => f x * ∫ y in Iic x, g y ∂μ) μ := by have hset : MeasurableSet {p : ℝ × ℝ | p.2 ≤ p.1} := measurableSet_le measurable_snd measurable_fst have hi : Integrable (fun p : ℝ × ℝ => if p.2 ≤ p.1 then f p.1 * g p.2 else 0) (μ.prod μ) := by convert! (hf.mul_prod hg).indicator hset using 1 apply hi.integral_prod_left.congr filter_upwards with x change (∫ y, (Iic x).indicator (fun y => f x * g y) y ∂μ) = f x * ∫ y in Iic x, g y ∂μ rw [integral_indicator measurableSet_Iic, integral_const_mul] theorem integrable_mul_strict_prefix {μ : Measure ℝ} [SFinite μ] {f g : ℝ → ℝ} (hf : Integrable f μ) (hg : Integrable g μ) : Integrable (fun x => f x * ∫ y in Iio x, g y ∂μ) μ := by have hset : MeasurableSet {p : ℝ × ℝ | p.2 < p.1} := measurableSet_lt measurable_snd measurable_fst have hi : Integrable (fun p : ℝ × ℝ => if p.2 < p.1 then f p.1 * g p.2 else 0) (μ.prod μ) := by convert! (hf.mul_prod hg).indicator hset using 1 apply hi.integral_prod_left.congr filter_upwards with x change (∫ y, (Iio x).indicator (fun y => f x * g y) y ∂μ) = f x * ∫ y in Iio x, g y ∂μ rw [integral_indicator measurableSet_Iio, integral_const_mul] theorem integral_prefix_product_mixed {μ : Measure ℝ} [SFinite μ] {f g : ℝ → ℝ} (hf : Integrable f μ) (hg : Integrable g μ) : (∫ x, f x * (∫ y in Iic x, g y ∂μ) ∂μ) + (∫ x, g x * (∫ y in Iio x, f y ∂μ) ∂μ) = (∫ x, f x ∂μ) * (∫ x, g x ∂μ) := by have hset : MeasurableSet {p : ℝ × ℝ | p.2 < p.1} := measurableSet_lt measurable_snd measurable_fst have hi : Integrable (fun p : ℝ × ℝ => if p.2 < p.1 then g p.1 * f p.2 else 0) (μ.prod μ) := by convert! (hg.mul_prod hf).indicator hset using 1 have hswap : (∫ x, g x * (∫ y in Iio x, f y ∂μ) ∂μ) = ∫ y, f y * (∫ x in Ioi y, g x ∂μ) ∂μ := by calc _ = ∫ x, ∫ y, (if y < x then g x * f y else 0) ∂μ ∂μ := by congr 1 funext x rw [← integral_const_mul, ← integral_indicator measurableSet_Iio] rfl _ = ∫ y, ∫ x, (if y < x then g x * f y else 0) ∂μ ∂μ := integral_integral_swap hi _ = _ := by congr 1 funext y rw [← integral_const_mul, ← integral_indicator measurableSet_Ioi] apply integral_congr_ae filter_upwards with x by_cases h : y < x <;> simp [h, mul_comm] have hitail : Integrable (fun x => f x * ∫ y in Ioi x, g y ∂μ) μ := by have heq : (fun x => f x * ∫ y in Ioi x, g y ∂μ) = (fun x => f x * (∫ y, g y ∂μ) - f x * ∫ y in Iic x, g y ∂μ) := by funext x have hs := integral_add_compl (s := Iic x) measurableSet_Iic hg rw [compl_Iic] at hs rw [← hs] ring rw [heq] exact (hf.mul_const _).sub (integrable_mul_prefix hf hg) rw [hswap, ← integral_add (integrable_mul_prefix hf hg) hitail] calc _ = ∫ x, f x * (∫ y, g y ∂μ) ∂μ := by apply integral_congr_ae filter_upwards with x rw [← mul_add] congr 1 simpa only [compl_Iic] using integral_add_compl measurableSet_Iic hg _ = _ := integral_mul_const _ _ theorem integral_prefix_product {μ : Measure ℝ} [SFinite μ] [NullSingletonClass μ] {f g : ℝ → ℝ} (hf : Integrable f μ) (hg : Integrable g μ) : (∫ x, f x * (∫ y in Iic x, g y ∂μ) ∂μ) + (∫ x, g x * (∫ y in Iic x, f y ∂μ) ∂μ) = (∫ x, f x ∂μ) * (∫ x, g x ∂μ) := by simpa only [← integral_Iic_eq_integral_Iio] using integral_prefix_product_mixed hf hg end Polya26.Strike.S02.Header end /- S02 selected scalar component PrimitiveAlgebra -/ noncomputable section open Set MeasureTheory Filter open scoped Topology namespace Polya26.Strike.S02.Header theorem intervalIntegral_prefix_product {f g : ℝ → ℝ} {a b : ℝ} (hab : a ≤ b) (hf : IntervalIntegrable f volume a b) (hg : IntervalIntegrable g volume a b) : (∫ x in a..b, f x * (∫ y in a..x, g y)) + (∫ x in a..b, g x * (∫ y in a..x, f y)) = (∫ x in a..b, f x) * (∫ x in a..b, g x) := by let μ : Measure ℝ := volume.restrict (Ioc a b) have hfμ : Integrable f μ := by change IntegrableOn f (Ioc a b) volume exact hf.left have hgμ : Integrable g μ := by change IntegrableOn g (Ioc a b) volume exact hg.left have hpref (k : ℝ → ℝ) (x : ℝ) (hx : x ∈ Ioc a b) : (∫ y in Iic x, k y ∂μ) = ∫ y in a..x, k y := by have hinter : Iic x ∩ Ioc a b = Ioc a x := by ext y simp only [mem_inter_iff, mem_Iic, mem_Ioc] constructor · rintro ⟨hyx, hya, _⟩ exact ⟨hya, hyx⟩ · rintro ⟨hya, hyx⟩ exact ⟨hyx, hya, hyx.trans hx.2⟩ change (∫ y in Iic x, k y ∂volume.restrict (Ioc a b)) = ∫ y in a..x, k y rw [Measure.restrict_restrict measurableSet_Iic, hinter, intervalIntegral.integral_of_le hx.1.le] have heq (k l : ℝ → ℝ) : (∫ x, k x * (∫ y in Iic x, l y ∂μ) ∂μ) = ∫ x in a..b, k x * (∫ y in a..x, l y) := by rw [intervalIntegral.integral_of_le hab] apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioc] with x hx rw [hpref l x hx] have hh := integral_prefix_product hfμ hgμ rw [heq f g, heq g f] at hh simpa only [μ, intervalIntegral.integral_of_le hab] using hh namespace IntegralPrimitiveOn theorem symm {F h : ℝ → ℝ} {a b : ℝ} (hF : IntegralPrimitiveOn F h a b) : IntegralPrimitiveOn F h b a := hF.mono (by rw [uIcc_comm]) theorem mul {F G h k : ℝ → ℝ} {a b : ℝ} (hF : IntegralPrimitiveOn F h a b) (hG : IntegralPrimitiveOn G k a b) : IntegralPrimitiveOn (fun x => F x * G x) (fun x => h x * G x + F x * k x) a b := by wlog hab : a ≤ b generalizing a b · exact (this hF.symm hG.symm (le_of_not_ge hab)).symm have hiFG := hF.1.mul_continuousOn hG.continuousOn have hiGF := hG.1.continuousOn_mul hF.continuousOn refine ⟨hiFG.add hiGF, ?_⟩ intro x hx have hax : a ≤ x := (uIcc_of_le hab ▸ hx).1 have hsub : uIcc a x ⊆ uIcc a b := uIcc_subset_uIcc left_mem_uIcc hx have hfx := hF.1.mono_set hsub have hgx := hG.1.mono_set hsub have hp := intervalIntegral_prefix_product hax hfx hgx have hfp : IntervalIntegrable (fun y => h y * ∫ t in a..y, k t) volume a x := hfx.mul_continuousOn (intervalIntegral.continuousOn_primitive_interval' hgx left_mem_uIcc) have hgp : IntervalIntegrable (fun y => k y * ∫ t in a..y, h t) volume a x := hgx.mul_continuousOn (intervalIntegral.continuousOn_primitive_interval' hfx left_mem_uIcc) have hleft : (∫ y in a..x, h y * G y) = (∫ y in a..x, h y) * G a + ∫ y in a..x, h y * (∫ t in a..y, k t) := by calc _ = ∫ y in a..x, h y * G a + h y * (∫ t in a..y, k t) := by apply intervalIntegral.integral_congr intro y hy dsimp only rw [hG.2 y (hsub hy)] ring _ = _ := by rw [intervalIntegral.integral_add (hfx.mul_const _) hfp, intervalIntegral.integral_mul_const] have hright : (∫ y in a..x, F y * k y) = F a * (∫ y in a..x, k y) + ∫ y in a..x, k y * (∫ t in a..y, h t) := by calc _ = ∫ y in a..x, F a * k y + k y * (∫ t in a..y, h t) := by apply intervalIntegral.integral_congr intro y hy dsimp only rw [hF.2 y (hsub hy)] ring _ = _ := by rw [intervalIntegral.integral_add (hgx.const_mul _) hgp, intervalIntegral.integral_const_mul] rw [intervalIntegral.integral_add (hiFG.mono_set hsub) (hiGF.mono_set hsub), hleft, hright] have hfend := hF.2 x hx have hgend := hG.2 x hx dsimp only rw [hfend, hgend] nlinarith only [hp] end IntegralPrimitiveOn namespace PrimitiveOn theorem mul {F G : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) (hG : PrimitiveOn G a b) : PrimitiveOn (fun x => F x * G x) a b := ⟨_, hF.choose_spec.mul hG.choose_spec⟩ theorem integral_deriv_mul_eq_sub {F G : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) (hG : PrimitiveOn G a b) : ∫ x in a..b, deriv F x * G x + F x * deriv G x = F b * G b - F a * G a := by rw [← (hF.mul hG).integral_deriv_eq_sub] apply intervalIntegral.integral_congr_ae filter_upwards [hF.ae_differentiableAt, hG.ae_differentiableAt] with x hx hy hxI exact ((hx (uIoc_subset_uIcc hxI)).hasDerivAt.mul (hy (uIoc_subset_uIcc hxI)).hasDerivAt).deriv.symm theorem integral_mul_deriv_eq_deriv_mul {F G : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) (hG : PrimitiveOn G a b) : ∫ x in a..b, F x * deriv G x = F b * G b - F a * G a - ∫ x in a..b, deriv F x * G x := by rw [← integral_deriv_mul_eq_sub hF hG, ← intervalIntegral.integral_sub] · simp_rw [add_sub_cancel_left] · exact (hF.intervalIntegrable_deriv.mul_continuousOn hG.continuousOn).add (hG.intervalIntegrable_deriv.continuousOn_mul hF.continuousOn) · exact hF.intervalIntegrable_deriv.mul_continuousOn hG.continuousOn end PrimitiveOn end Polya26.Strike.S02.Header end /- S02 selected scalar component PrimitiveConstructors -/ noncomputable section open Set MeasureTheory Filter open scoped Topology namespace Polya26.Strike.S02.Header namespace PrimitiveOn theorem const (z a b : ℝ) : PrimitiveOn (fun _ : ℝ => z) a b := by refine ⟨fun _ => 0, intervalIntegrable_const, ?_⟩ intro x hx simp protected theorem refl (F : ℝ → ℝ) (a : ℝ) : PrimitiveOn F a a := by refine ⟨fun _ => 0, intervalIntegrable_const, ?_⟩ intro x hx have hx' : x = a := by simpa only [uIcc_self, mem_singleton_iff] using hx simp [hx'] protected theorem rfl {F : ℝ → ℝ} {a : ℝ} : PrimitiveOn F a a := .refl F a theorem congr {F G : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) (heq : EqOn F G (uIcc a b)) : PrimitiveOn G a b := by obtain ⟨h, hi, hrep⟩ := hF refine ⟨h, hi, ?_⟩ intro x hx rw [← heq hx, hrep x hx, heq left_mem_uIcc] theorem symm {F : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) : PrimitiveOn F b a := hF.mono (by rw [uIcc_comm]) theorem add {F G : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) (hG : PrimitiveOn G a b) : PrimitiveOn (fun x => F x + G x) a b := by obtain ⟨h, hi, hrep⟩ := hF obtain ⟨k, ki, krep⟩ := hG refine ⟨fun x => h x + k x, hi.add ki, ?_⟩ intro x hx have hs : uIcc a x ⊆ uIcc a b := uIcc_subset_uIcc left_mem_uIcc hx dsimp only rw [intervalIntegral.integral_add (hi.mono_set hs) (ki.mono_set hs), hrep x hx, krep x hx] ring theorem neg {F : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) : PrimitiveOn (fun x => -F x) a b := by obtain ⟨h, hi, hrep⟩ := hF refine ⟨fun x => -h x, hi.neg, ?_⟩ intro x hx dsimp only rw [intervalIntegral.integral_neg, hrep x hx] ring theorem sub {F G : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) (hG : PrimitiveOn G a b) : PrimitiveOn (fun x => F x - G x) a b := by simpa only [sub_eq_add_neg] using hF.add hG.neg theorem const_mul (z : ℝ) {F : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) : PrimitiveOn (fun x => z * F x) a b := by obtain ⟨h, hi, hrep⟩ := hF refine ⟨fun x => z * h x, hi.const_mul z, ?_⟩ intro x hx dsimp only rw [intervalIntegral.integral_const_mul, hrep x hx] ring theorem fun_add {F G : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) (hG : PrimitiveOn G a b) : PrimitiveOn (fun x => F x + G x) a b := hF.add hG theorem fun_mul {F G : ℝ → ℝ} {a b : ℝ} (hF : PrimitiveOn F a b) (hG : PrimitiveOn G a b) : PrimitiveOn (fun x => F x * G x) a b := hF.mul hG theorem intervalIntegral {h : ℝ → ℝ} {a b c : ℝ} (hi : IntervalIntegrable h volume a b) (hc : c ∈ uIcc a b) : PrimitiveOn (fun x => ∫ t in c..x, h t) a b := by refine ⟨h, hi, ?_⟩ intro x hx have hca := hi.mono_set (uIcc_subset_uIcc hc left_mem_uIcc) have hcx := hi.mono_set (uIcc_subset_uIcc hc hx) have hh := intervalIntegral.integral_interval_sub_left hcx hca dsimp only linarith theorem of_contDiffOn {F : ℝ → ℝ} {a b : ℝ} (hF : ContDiffOn ℝ 1 F (uIcc a b)) : PrimitiveOn F a b := by by_cases heq : a = b · subst b exact .refl F a have hu : UniqueDiffOn ℝ (uIcc a b) := uniqueDiffOn_uIcc heq have hdc : ContinuousOn (derivWithin F (uIcc a b)) (uIcc a b) := hF.continuousOn_derivWithin hu (by decide) have hi : IntervalIntegrable (derivWithin F (uIcc a b)) volume a b := hdc.intervalIntegrable refine ⟨derivWithin F (uIcc a b), hi, ?_⟩ intro x hx have hs : uIcc a x ⊆ uIcc a b := uIcc_subset_uIcc left_mem_uIcc hx have hder : ∀ y ∈ Ioo (min a x) (max a x), HasDerivWithinAt F (derivWithin F (uIcc a b) y) (Ioi y) y := by intro y hy have hyI : y ∈ Ioo (min a b) (max a b) := by rcases le_total a b with hab | hab · have hxI : x ∈ Icc a b := uIcc_of_le hab ▸ hx rw [min_eq_left hxI.1, max_eq_right hxI.1] at hy rw [min_eq_left hab, max_eq_right hab] exact ⟨hy.1, hy.2.trans_le hxI.2⟩ · have hxI : x ∈ Icc b a := uIcc_of_ge hab ▸ hx rw [min_eq_right hxI.2, max_eq_left hxI.2] at hy rw [min_eq_right hab, max_eq_left hab] exact ⟨hxI.1.trans_lt hy.1, hy.2⟩ have hd := (hF.differentiableOn (by decide) y (Ioo_subset_Icc_self hyI)).hasDerivWithinAt exact (hd.hasDerivAt (Icc_mem_nhds hyI.1 hyI.2)).hasDerivWithinAt have hh := intervalIntegral.integral_eq_sub_of_hasDeriv_right (hF.continuousOn.mono hs) hder (hi.mono_set hs) linarith end PrimitiveOn end Polya26.Strike.S02.Header end /- S02 selected scalar component Layercake -/ /- Copyright (c) 2022 Kalle Kytölä. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Kalle Kytölä Adapted from the pinned Mathlib Layercake source by Target26 S02. -/ noncomputable section open scoped ENNReal MeasureTheory Topology open Set MeasureTheory Filter Measure namespace Polya26.Strike.S02.Header.Layercake section variable {α R : Type*} [MeasurableSpace α] (μ : Measure α) [LinearOrder R] theorem countable_meas_le_ne_meas_lt (g : α → R) : {t : R | μ {a : α | t ≤ g a} ≠ μ {a : α | t < g a}}.Countable := by -- the target set is contained in the set of points where the function `t ↦ μ {a : α | t ≤ g a}` -- jumps down on the right of `t`. This jump set is countable for any function. let F : R → ℝ≥0∞ := fun t ↦ μ {a : α | t ≤ g a} apply (countable_image_gt_image_Ioi F).mono intro t ht have : μ {a | t < g a} < μ {a | t ≤ g a} := lt_of_le_of_ne (measure_mono (fun a ha ↦ le_of_lt ha)) (Ne.symm ht) exact ⟨μ {a | t < g a}, this, fun s hs ↦ measure_mono (fun a ha ↦ hs.trans_le ha)⟩ theorem meas_le_ae_eq_meas_lt {R : Type*} [LinearOrder R] [MeasurableSpace R] (ν : Measure R) [NullSingletonClass ν] (g : α → R) : (fun t => μ {a : α | t ≤ g a}) =ᵐ[ν] fun t => μ {a : α | t < g a} := Set.Countable.measure_zero (countable_meas_le_ne_meas_lt μ g) _ end /-! ### Layercake formula -/ section Layercake variable {α : Type*} [MeasurableSpace α] {f : α → ℝ} {g : ℝ → ℝ} /-- An auxiliary version of the layer cake formula (Cavalieri's principle, tail probability formula), with a measurability assumption that would also essentially follow from the integrability assumptions, and a sigma-finiteness assumption. See `MeasureTheory.lintegral_comp_eq_lintegral_meas_le_mul` and `MeasureTheory.lintegral_comp_eq_lintegral_meas_lt_mul` for the main formulations of the layer cake formula. -/ theorem lintegral_comp_eq_lintegral_meas_le_mul_of_measurable_of_sigmaFinite (μ : Measure α) [SFinite μ] (f_nn : 0 ≤ f) (f_mble : Measurable f) (g_intble : ∀ t > 0, IntervalIntegrable g volume 0 t) (g_mble : Measurable g) (g_nn : ∀ t > 0, 0 ≤ g t) : ∫⁻ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ = ∫⁻ t in Ioi 0, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) := by have g_intble' : ∀ t : ℝ, 0 ≤ t → IntervalIntegrable g volume 0 t := by intro t ht rcases eq_or_lt_of_le ht with h | h · simp [← h] · exact g_intble t h have integrand_eq : ∀ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) = ∫⁻ t in Ioc 0 (f ω), ENNReal.ofReal (g t) := by intro ω have g_ae_nn : 0 ≤ᵐ[volume.restrict (Ioc 0 (f ω))] g := by filter_upwards [self_mem_ae_restrict (measurableSet_Ioc : MeasurableSet (Ioc 0 (f ω)))] with x hx using g_nn x hx.1 rw [← ofReal_integral_eq_lintegral_ofReal (g_intble' (f ω) (f_nn ω)).1 g_ae_nn] congr exact intervalIntegral.integral_of_le (f_nn ω) rw [lintegral_congr integrand_eq] simp_rw [← lintegral_indicator measurableSet_Ioc] rw [← lintegral_indicator measurableSet_Ioi, lintegral_lintegral_swap] · apply congr_arg funext s have aux₁ : (fun x => (Ioc 0 (f x)).indicator (fun t : ℝ => ENNReal.ofReal (g t)) s) = fun x => ENNReal.ofReal (g s) * (Ioi (0 : ℝ)).indicator (fun _ => 1) s * (Ici s).indicator (fun _ : ℝ => (1 : ℝ≥0∞)) (f x) := by funext a by_cases h : s ∈ Ioc (0 : ℝ) (f a) · simp only [h, show s ∈ Ioi (0 : ℝ) from h.1, show f a ∈ Ici s from h.2, indicator_of_mem, mul_one] · have h_copy := h simp only [mem_Ioc, not_and, not_le] at h by_cases h' : 0 < s · simp only [h_copy, h h', indicator_of_notMem, not_false_iff, mem_Ici, not_le, mul_zero] · have : s ∉ Ioi (0 : ℝ) := h' simp only [this, h', indicator_of_notMem, not_false_iff, mul_zero, zero_mul, mem_Ioc, false_and] simp_rw [aux₁] rw [lintegral_const_mul'] swap · apply ENNReal.mul_ne_top ENNReal.ofReal_ne_top by_cases h : (0 : ℝ) < s <;> · simp [h] simp_rw [show (fun a => (Ici s).indicator (fun _ : ℝ => (1 : ℝ≥0∞)) (f a)) = fun a => {a : α | s ≤ f a}.indicator (fun _ => 1) a by funext a; by_cases h : s ≤ f a <;> simp [h]] rw [lintegral_indicator₀] swap; · exact f_mble.nullMeasurable measurableSet_Ici rw [lintegral_one, Measure.restrict_apply MeasurableSet.univ, univ_inter, indicator_mul_left, mul_assoc, show (Ioi 0).indicator (fun _x : ℝ => (1 : ℝ≥0∞)) s * μ {a : α | s ≤ f a} = (Ioi 0).indicator (fun _x : ℝ => 1 * μ {a : α | s ≤ f a}) s by by_cases h : 0 < s <;> simp [h]] simp_rw [mul_comm _ (ENNReal.ofReal _), one_mul] rfl have aux₂ : (Function.uncurry fun (x : α) (y : ℝ) => (Ioc 0 (f x)).indicator (fun t : ℝ => ENNReal.ofReal (g t)) y) = {p : α × ℝ | p.2 ∈ Ioc 0 (f p.1)}.indicator fun p => ENNReal.ofReal (g p.2) := by funext p cases p with | mk p_fst p_snd => ?_ rw [Function.uncurry_apply_pair] by_cases h : p_snd ∈ Ioc 0 (f p_fst) · have h' : (p_fst, p_snd) ∈ {p : α × ℝ | p.snd ∈ Ioc 0 (f p.fst)} := h rw [Set.indicator_of_mem h', Set.indicator_of_mem h] · have h' : (p_fst, p_snd) ∉ {p : α × ℝ | p.snd ∈ Ioc 0 (f p.fst)} := h rw [Set.indicator_of_notMem h', Set.indicator_of_notMem h] rw [aux₂] have mble₀ : MeasurableSet {p : α × ℝ | p.snd ∈ Ioc 0 (f p.fst)} := by simpa only [mem_univ, Pi.zero_apply, true_and] using measurableSet_region_between_oc measurable_zero f_mble MeasurableSet.univ exact (ENNReal.measurable_ofReal.comp (g_mble.comp measurable_snd)).aemeasurable.indicator₀ mble₀.nullMeasurableSet /-- An auxiliary version of the layer cake formula (Cavalieri's principle, tail probability formula), with a measurability assumption that would also essentially follow from the integrability assumptions. Compared to `lintegral_comp_eq_lintegral_meas_le_mul_of_measurable_of_sigmaFinite`, we remove the sigma-finite assumption. See `MeasureTheory.lintegral_comp_eq_lintegral_meas_le_mul` and `MeasureTheory.lintegral_comp_eq_lintegral_meas_lt_mul` for the main formulations of the layer cake formula. -/ theorem lintegral_comp_eq_lintegral_meas_le_mul_of_measurable (μ : Measure α) (f_nn : 0 ≤ f) (f_mble : Measurable f) (g_intble : ∀ t > 0, IntervalIntegrable g volume 0 t) (g_mble : Measurable g) (g_nn : ∀ t > 0, 0 ≤ g t) : ∫⁻ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ = ∫⁻ t in Ioi 0, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) := by /- We will reduce to the sigma-finite case, after excluding two easy cases where the result is more or less obvious. -/ have f_nonneg : ∀ ω, 0 ≤ f ω := fun ω ↦ f_nn ω -- trivial case where `g` is ae zero. Then both integrals vanish. by_cases H1 : g =ᵐ[volume.restrict (Ioi (0 : ℝ))] 0 · have A : ∫⁻ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ = 0 := by have : ∀ ω, ∫ t in 0..f ω, g t = ∫ t in 0..f ω, 0 := by intro ω simp_rw [intervalIntegral.integral_of_le (f_nonneg ω)] apply integral_congr_ae exact ae_restrict_of_ae_restrict_of_subset Ioc_subset_Ioi_self H1 simp [this] have B : ∫⁻ t in Ioi 0, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) = 0 := by have : (fun t ↦ μ {a : α | t ≤ f a} * ENNReal.ofReal (g t)) =ᵐ[volume.restrict (Ioi (0 : ℝ))] 0 := by filter_upwards [H1] with t ht using by simp [ht] simp [lintegral_congr_ae this] rw [A, B] -- easy case where both sides are obviously infinite: for some `s`, one has -- `μ {a : α | s < f a} = ∞` and moreover `g` is not ae zero on `[0, s]`. by_cases! H2 : ∃ s > 0, 0 < ∫ t in 0..s, g t ∧ μ {a : α | s < f a} = ∞ · rcases H2 with ⟨s, s_pos, hs, h's⟩ rw [intervalIntegral.integral_of_le s_pos.le] at hs /- The first integral is infinite, as for `t ∈ [0, s]` one has `μ {a : α | t ≤ f a} = ∞`, and moreover the additional integral `g` is not uniformly zero. -/ have A : ∫⁻ t in Ioi 0, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) = ∞ := by rw [eq_top_iff] calc ∞ = ∫⁻ t in Ioc 0 s, ∞ * ENNReal.ofReal (g t) := by have I_pos : ∫⁻ (a : ℝ) in Ioc 0 s, ENNReal.ofReal (g a) ≠ 0 := by rw [← ofReal_integral_eq_lintegral_ofReal (g_intble s s_pos).1] · simpa only [not_lt, ne_eq, ENNReal.ofReal_eq_zero, not_le] using hs · filter_upwards [ae_restrict_mem measurableSet_Ioc] with t ht using g_nn _ ht.1 rw [lintegral_const_mul, ENNReal.top_mul I_pos] exact ENNReal.measurable_ofReal.comp g_mble _ ≤ ∫⁻ t in Ioc 0 s, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) := by apply setLIntegral_mono' measurableSet_Ioc (fun x hx ↦ ?_) rw [← h's] gcongr exact fun ha ↦ hx.2.trans (le_of_lt ha) _ ≤ ∫⁻ t in Ioi 0, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) := lintegral_mono_set Ioc_subset_Ioi_self /- The second integral is infinite, as one integrates among other things on those `ω` where `f ω > s`: this is an infinite measure set, and on it the integrand is bounded below by `∫ t in 0..s, g t` which is positive. -/ have B : ∫⁻ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ = ∞ := by rw [eq_top_iff] calc ∞ = ∫⁻ _ in {a | s < f a}, ENNReal.ofReal (∫ t in 0..s, g t) ∂μ := by simp only [lintegral_const, MeasurableSet.univ, Measure.restrict_apply, univ_inter, h's] rw [ENNReal.mul_top] simpa [intervalIntegral.integral_of_le s_pos.le] using hs _ ≤ ∫⁻ ω in {a | s < f a}, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ := by apply setLIntegral_mono' (measurableSet_lt measurable_const f_mble) (fun a ha ↦ ?_) apply ENNReal.ofReal_le_ofReal apply intervalIntegral.integral_mono_interval le_rfl s_pos.le (le_of_lt ha) · filter_upwards [ae_restrict_mem measurableSet_Ioc] with t ht using g_nn _ ht.1 · exact g_intble _ (s_pos.trans ha) _ ≤ ∫⁻ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ := setLIntegral_le_lintegral _ _ rw [A, B] /- It remains to handle the interesting case, where `g` is not zero, but both integrals are not obviously infinite. Let `M` be the largest number such that `g = 0` on `[0, M]`. Then we may restrict `μ` to the points where `f ω > M` (as the other ones do not contribute to the integral). The restricted measure `ν` is sigma-finite, as `μ` gives finite measure to `{ω | f ω > a}` for any `a > M` (otherwise, we would be in the easy case above), so that one can write (a full measure subset of) the space as the countable union of the finite measure sets `{ω | f ω > uₙ}` for `uₙ` a sequence decreasing to `M`. Therefore, this case follows from the case where the measure is sigma-finite, applied to `ν`. -/ have M_bdd : BddAbove {s : ℝ | g =ᵐ[volume.restrict (Ioc (0 : ℝ) s)] 0} := by contrapose H1 have : ∀ (n : ℕ), g =ᵐ[volume.restrict (Ioc (0 : ℝ) n)] 0 := by intro n rcases not_bddAbove_iff.1 H1 n with ⟨s, hs, ns⟩ exact ae_restrict_of_ae_restrict_of_subset (Ioc_subset_Ioc_right ns.le) hs have Hg : g =ᵐ[volume.restrict (⋃ (n : ℕ), (Ioc (0 : ℝ) n))] 0 := (ae_restrict_iUnion_iff _ _).2 this have : (⋃ (n : ℕ), (Ioc (0 : ℝ) n)) = Ioi 0 := iUnion_Ioc_eq_Ioi_self_iff.2 (fun x _ ↦ exists_nat_ge x) rwa [this] at Hg -- let `M` be the largest number such that `g` vanishes ae on `(0, M]`. let M : ℝ := sSup {s : ℝ | g =ᵐ[volume.restrict (Ioc (0 : ℝ) s)] 0} have zero_mem : 0 ∈ {s : ℝ | g =ᵐ[volume.restrict (Ioc (0 : ℝ) s)] 0} := by simpa using! trivial have M_nonneg : 0 ≤ M := le_csSup M_bdd zero_mem -- Then the function `g` indeed vanishes ae on `(0, M]`. have hgM : g =ᵐ[volume.restrict (Ioc (0 : ℝ) M)] 0 := by rw [← restrict_Ioo_eq_restrict_Ioc] obtain ⟨u, -, uM, ulim⟩ : ∃ u, StrictMono u ∧ (∀ (n : ℕ), u n < M) ∧ Tendsto u atTop (𝓝 M) := exists_seq_strictMono_tendsto M have I : ∀ n, g =ᵐ[volume.restrict (Ioc (0 : ℝ) (u n))] 0 := by intro n obtain ⟨s, hs, uns⟩ : ∃ s, g =ᵐ[Measure.restrict volume (Ioc 0 s)] 0 ∧ u n < s := exists_lt_of_lt_csSup (Set.nonempty_of_mem zero_mem) (uM n) exact ae_restrict_of_ae_restrict_of_subset (Ioc_subset_Ioc_right uns.le) hs have : g =ᵐ[volume.restrict (⋃ n, Ioc (0 : ℝ) (u n))] 0 := (ae_restrict_iUnion_iff _ _).2 I apply ae_restrict_of_ae_restrict_of_subset _ this rintro x ⟨x_pos, xM⟩ obtain ⟨n, hn⟩ : ∃ n, x < u n := ((tendsto_order.1 ulim).1 _ xM).exists exact mem_iUnion.2 ⟨n, ⟨x_pos, hn.le⟩⟩ -- Let `ν` be the restriction of `μ` to those points where `f a > M`. let ν := μ.restrict {a : α | M < f a} -- This measure is sigma-finite (this is the whole point of the argument). have : SigmaFinite ν := by obtain ⟨u, -, uM, ulim⟩ : ∃ u, StrictAnti u ∧ (∀ (n : ℕ), M < u n) ∧ Tendsto u atTop (𝓝 M) := exists_seq_strictAnti_tendsto M let s : ν.FiniteSpanningSetsIn univ := { set := fun n ↦ {a | f a ≤ M} ∪ {a | u n < f a} set_mem := fun _ ↦ trivial finite := by intro n have I : ν {a | f a ≤ M} = 0 := by rw [Measure.restrict_apply (measurableSet_le f_mble measurable_const)] convert! measure_empty (μ := μ) rw [← disjoint_iff_inter_eq_empty] exact disjoint_left.mpr (fun a ha ↦ by simpa using ha) have J : μ {a | u n < f a} < ∞ := by rw [lt_top_iff_ne_top] apply H2 _ (M_nonneg.trans_lt (uM n)) by_contra H3 rw [not_lt, intervalIntegral.integral_of_le (M_nonneg.trans (uM n).le)] at H3 have g_nn_ae : ∀ᵐ t ∂(volume.restrict (Ioc 0 (u n))), 0 ≤ g t := by filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs using g_nn _ hs.1 have Ig : ∫ (t : ℝ) in Ioc 0 (u n), g t = 0 := le_antisymm H3 (integral_nonneg_of_ae g_nn_ae) have J : ∀ᵐ t ∂(volume.restrict (Ioc 0 (u n))), g t = 0 := (integral_eq_zero_iff_of_nonneg_ae g_nn_ae (g_intble (u n) (M_nonneg.trans_lt (uM n))).1).1 Ig have : u n ≤ M := le_csSup M_bdd J exact lt_irrefl _ (this.trans_lt (uM n)) refine lt_of_le_of_lt (measure_union_le _ _) ?_ rw [I, zero_add] apply lt_of_le_of_lt _ J exact restrict_le_self _ spanning := by apply eq_univ_iff_forall.2 (fun a ↦ ?_) rcases le_or_gt (f a) M with ha | ha · exact mem_iUnion.2 ⟨0, Or.inl ha⟩ · obtain ⟨n, hn⟩ : ∃ n, u n < f a := ((tendsto_order.1 ulim).2 _ ha).exists exact mem_iUnion.2 ⟨n, Or.inr hn⟩ } exact ⟨⟨s⟩⟩ -- the first integrals with respect to `μ` and to `ν` coincide, as points with `f a ≤ M` are -- weighted by zero as `g` vanishes there. have A : ∫⁻ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ = ∫⁻ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂ν := by have meas : MeasurableSet {a | M < f a} := measurableSet_lt measurable_const f_mble have I : ∫⁻ ω in {a | M < f a}ᶜ, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ = ∫⁻ _ in {a | M < f a}ᶜ, 0 ∂μ := by apply setLIntegral_congr_fun meas.compl (fun s hs ↦ ?_) have : ∫ (t : ℝ) in 0..f s, g t = ∫ (t : ℝ) in 0..f s, 0 := by simp_rw [intervalIntegral.integral_of_le (f_nonneg s)] apply integral_congr_ae apply ae_mono (restrict_mono ?_ le_rfl) hgM apply Ioc_subset_Ioc_right simpa using hs simp [this] simp only [lintegral_const, zero_mul] at I rw [← lintegral_add_compl _ meas, I, add_zero] -- the second integrals with respect to `μ` and to `ν` coincide, as points with `f a ≤ M` do not -- contribute to either integral since the weight `g` vanishes. have B : ∫⁻ t in Ioi 0, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) = ∫⁻ t in Ioi 0, ν {a : α | t ≤ f a} * ENNReal.ofReal (g t) := by have B1 : ∫⁻ t in Ioc 0 M, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) = ∫⁻ t in Ioc 0 M, ν {a : α | t ≤ f a} * ENNReal.ofReal (g t) := by apply lintegral_congr_ae filter_upwards [hgM] with t ht simp [ht] have B2 : ∫⁻ t in Ioi M, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) = ∫⁻ t in Ioi M, ν {a : α | t ≤ f a} * ENNReal.ofReal (g t) := by apply setLIntegral_congr_fun measurableSet_Ioi (fun t ht ↦ ?_) rw [Measure.restrict_apply (measurableSet_le measurable_const f_mble)] congr 3 exact (inter_eq_left.2 (fun a ha ↦ (mem_Ioi.1 ht).trans_le ha)).symm have I : Ioi (0 : ℝ) = Ioc (0 : ℝ) M ∪ Ioi M := (Ioc_union_Ioi_eq_Ioi M_nonneg).symm have J : Disjoint (Ioc 0 M) (Ioi M) := Ioc_disjoint_Ioi le_rfl rw [I, lintegral_union measurableSet_Ioi J, lintegral_union measurableSet_Ioi J, B1, B2] -- therefore, we may replace the integrals w.r.t. `μ` with integrals w.r.t. `ν`, and apply the -- result for sigma-finite measures. rw [A, B] exact lintegral_comp_eq_lintegral_meas_le_mul_of_measurable_of_sigmaFinite ν f_nn f_mble g_intble g_mble g_nn /-- The layer cake formula / **Cavalieri's principle** / tail probability formula: Let `f` be a non-negative measurable function on a measure space. Let `G` be an increasing absolutely continuous function on the positive real line, vanishing at the origin, with derivative `G' = g`. Then the integral of the composition `G ∘ f` can be written as the integral over the positive real line of the "tail measures" `μ {ω | f(ω) ≥ t}` of `f` weighted by `g`. Roughly speaking, the statement is: `∫⁻ (G ∘ f) ∂μ = ∫⁻ t in 0..∞, g(t) * μ {ω | f(ω) ≥ t}`. See `MeasureTheory.lintegral_comp_eq_lintegral_meas_lt_mul` for a version with sets of the form `{ω | f(ω) > t}` instead. -/ theorem lintegral_comp_eq_lintegral_meas_le_mul (μ : Measure α) (f_nn : 0 ≤ᵐ[μ] f) (f_mble : AEMeasurable f μ) (g_intble : ∀ t > 0, IntervalIntegrable g volume 0 t) (g_nn : ∀ᵐ t ∂volume.restrict (Ioi 0), 0 ≤ g t) : ∫⁻ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ = ∫⁻ t in Ioi 0, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) := by obtain ⟨G, G_mble, G_nn, g_eq_G⟩ : ∃ G : ℝ → ℝ, Measurable G ∧ 0 ≤ G ∧ g =ᵐ[volume.restrict (Ioi 0)] G := by refine AEMeasurable.exists_measurable_nonneg ?_ g_nn exact aemeasurable_Ioi_of_forall_Ioc fun t ht => (g_intble t ht).1.1.aemeasurable have g_eq_G_on : ∀ t, g =ᵐ[volume.restrict (Ioc 0 t)] G := fun t => ae_mono (Measure.restrict_mono Ioc_subset_Ioi_self le_rfl) g_eq_G have G_intble : ∀ t > 0, IntervalIntegrable G volume 0 t := by refine fun t t_pos => ⟨(g_intble t t_pos).1.congr_fun_ae (g_eq_G_on t), ?_⟩ rw [Ioc_eq_empty_of_le t_pos.lt.le] exact integrableOn_empty obtain ⟨F, F_mble, F_nn, f_eq_F⟩ : ∃ F : α → ℝ, Measurable F ∧ 0 ≤ F ∧ f =ᵐ[μ] F := by refine ⟨fun ω ↦ max (f_mble.mk f ω) 0, f_mble.measurable_mk.max measurable_const, fun ω ↦ le_max_right _ _, ?_⟩ filter_upwards [f_mble.ae_eq_mk, f_nn] with ω hω h'ω rw [← hω] exact (max_eq_left h'ω).symm have eq₁ : ∫⁻ t in Ioi 0, μ {a : α | t ≤ f a} * ENNReal.ofReal (g t) = ∫⁻ t in Ioi 0, μ {a : α | t ≤ F a} * ENNReal.ofReal (G t) := by apply lintegral_congr_ae filter_upwards [g_eq_G] with t ht rw [ht] congr 1 apply measure_congr filter_upwards [f_eq_F] with a ha using by simp [ha] have eq₂ : ∀ᵐ ω ∂μ, ENNReal.ofReal (∫ t in 0..f ω, g t) = ENNReal.ofReal (∫ t in 0..F ω, G t) := by filter_upwards [f_eq_F] with ω fω_nn rw [fω_nn] congr 1 refine intervalIntegral.integral_congr_ae ?_ have fω_nn : 0 ≤ F ω := F_nn ω rw [uIoc_of_le fω_nn, ← ae_restrict_iff' (measurableSet_Ioc : MeasurableSet (Ioc (0 : ℝ) (F ω)))] exact g_eq_G_on (F ω) simp_rw [lintegral_congr_ae eq₂, eq₁] exact lintegral_comp_eq_lintegral_meas_le_mul_of_measurable μ F_nn F_mble G_intble G_mble (fun t _ => G_nn t) theorem lintegral_comp_eq_lintegral_meas_lt_mul (μ : Measure α) (f_nn : 0 ≤ᵐ[μ] f) (f_mble : AEMeasurable f μ) (g_intble : ∀ t > 0, IntervalIntegrable g volume 0 t) (g_nn : ∀ᵐ t ∂volume.restrict (Ioi 0), 0 ≤ g t) : ∫⁻ ω, ENNReal.ofReal (∫ t in 0..f ω, g t) ∂μ = ∫⁻ t in Ioi 0, μ {a : α | t < f a} * ENNReal.ofReal (g t) := by rw [lintegral_comp_eq_lintegral_meas_le_mul μ f_nn f_mble g_intble g_nn] apply lintegral_congr_ae filter_upwards [meas_le_ae_eq_meas_lt μ (volume.restrict (Ioi 0)) f] with t ht rw [ht] end Layercake end Polya26.Strike.S02.Header.Layercake end /- Rebase an actual local integral representation onto every compact interior window. The represented derivative and all original energy integrals stay fixed. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology ContDiff namespace Polya26.Strike.S03.Header.LocalPrimitiveProducer open Polya26.Strike.S02.Header theorem intervalIntegrable_of_locallyIntegrableOn {h : ℝ → ℝ} {a b u v : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hu : u ∈ Ioo a b) (hv : v ∈ Ioo a b) : IntervalIntegrable h volume u v := (hh.integrableOn_compact_subset (ordConnected_Ioo.uIcc_subset hu hv) isCompact_uIcc).intervalIntegrable theorem integralPrimitiveOn_of_local_representation {F h : ℝ → ℝ} {a b m k c d : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hm : m ∈ Ioo a b) (hF : ∀ x ∈ Ioo a b, F x = k + ∫ t in m..x, h t) (hwindow : uIcc c d ⊆ Ioo a b) : IntegralPrimitiveOn F h c d := by have hc : c ∈ Ioo a b := hwindow left_mem_uIcc have hd : d ∈ Ioo a b := hwindow right_mem_uIcc refine ⟨intervalIntegrable_of_locallyIntegrableOn hh hc hd, ?_⟩ intro x hx have hxU := hwindow hx rw [hF x hxU, hF c hc, ← intervalIntegral.integral_interval_sub_left (intervalIntegrable_of_locallyIntegrableOn hh hm hxU) (intervalIntegrable_of_locallyIntegrableOn hh hm hc)] ring theorem primitiveOn_of_local_representation {F h : ℝ → ℝ} {a b m k c d : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hm : m ∈ Ioo a b) (hF : ∀ x ∈ Ioo a b, F x = k + ∫ t in m..x, h t) (hwindow : uIcc c d ⊆ Ioo a b) : PrimitiveOn F c d := ⟨h, integralPrimitiveOn_of_local_representation hh hm hF hwindow⟩ theorem integralPrimitiveOn_of_interior_window {F h : ℝ → ℝ} {a b m k c d : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hm : m ∈ Ioo a b) (hF : ∀ x ∈ Ioo a b, F x = k + ∫ t in m..x, h t) (hac : a < c) (hcd : c ≤ d) (hdb : d < b) : IntegralPrimitiveOn F h c d := by apply integralPrimitiveOn_of_local_representation hh hm hF rw [uIcc_of_le hcd] intro x hx exact ⟨hac.trans_le hx.1, hx.2.trans_lt hdb⟩ /-- Exactly the complete output proposition of the actual algebraic radial functional producer. In particular, the density h, weak test identity, weighted energy and pointwise FTC representation are all original objects. -/ def RadialProducerOutput (F W : ℝ → ℝ) (a b C : ℝ) : Prop := ∃ h : ℝ → ℝ, LocallyIntegrableOn h (Ioo a b) volume ∧ IntegrableOn (fun x => W x * (h x) ^ 2) (Ioo a b) volume ∧ (∫ x in Ioo a b, W x * (h x) ^ 2) ≤ C ^ 2 ∧ (∀ φ : ℝ → ℝ, ContDiff ℝ ∞ φ → HasCompactSupport φ → tsupport φ ⊆ Ioo a b → (∫ x, F x * deriv φ x) = -(∫ x, h x * φ x)) ∧ ∃ k : ℝ, ∀ x ∈ Ioo a b, F x = k + ∫ t in ((a + b) / 2)..x, h t theorem radial_producer_output_primitives {F W : ℝ → ℝ} {a b C : ℝ} (hab : a < b) (hout : RadialProducerOutput F W a b C) : ∃ h : ℝ → ℝ, LocallyIntegrableOn h (Ioo a b) volume ∧ IntegrableOn (fun x => W x * (h x) ^ 2) (Ioo a b) volume ∧ (∫ x in Ioo a b, W x * (h x) ^ 2) ≤ C ^ 2 ∧ (∀ φ : ℝ → ℝ, ContDiff ℝ ∞ φ → HasCompactSupport φ → tsupport φ ⊆ Ioo a b → (∫ x, F x * deriv φ x) = -(∫ x, h x * φ x)) ∧ (∃ k : ℝ, ∀ x ∈ Ioo a b, F x = k + ∫ t in ((a + b) / 2)..x, h t) ∧ ∀ c d : ℝ, a < c → c ≤ d → d < b → IntegralPrimitiveOn F h c d ∧ PrimitiveOn F c d := by obtain ⟨h, hloc, henergyInt, henergy, hweak, k, hrepr⟩ := hout refine ⟨h, hloc, henergyInt, henergy, hweak, ⟨k, hrepr⟩, ?_⟩ intro c d hac hcd hdb have hm : (a + b) / 2 ∈ Ioo a b := by constructor <;> linarith have hp := integralPrimitiveOn_of_interior_window hloc hm hrepr hac hcd hdb exact ⟨hp, h, hp⟩ end Polya26.Strike.S03.Header.LocalPrimitiveProducer end end /- END M008 -/ /- BEGIN M009 -/ section /-! Narrow actual Lp height approximation, adapted from pinned Mathlib ContinuousMapDense (Heather Macbeth, Apache 2.0). No factory instances or extra hypotheses are introduced. -/ noncomputable section open scoped ENNReal NNReal Topology BoundedContinuousFunction open MeasureTheory TopologicalSpace ContinuousMap Set Bornology namespace Polya26.Strike.S04.Header.HeightApproximation variable {α : Type*} [TopologicalSpace α] [NormalSpace α] [MeasurableSpace α] [BorelSpace α] variable {E : Type*} [NormedAddCommGroup E] {μ : Measure α} {p : ℝ≥0∞} variable [NormedSpace ℝ E] theorem exists_continuous_eLpNorm_sub_le_of_closed [μ.OuterRegular] (hp : p ≠ ∞) {s u : Set α} (s_closed : IsClosed s) (u_open : IsOpen u) (hsu : s ⊆ u) (hs : μ s ≠ ∞) (c : E) {ε : ℝ≥0∞} (hε : ε ≠ 0) : ∃ f : α → E, Continuous f ∧ eLpNorm (fun x => f x - s.indicator (fun _y => c) x) p μ ≤ ε ∧ (∀ x, ‖f x‖ ≤ ‖c‖) ∧ Function.support f ⊆ u ∧ MemLp f p μ := by obtain ⟨η, η_pos, hη⟩ : ∃ η : ℝ≥0, 0 < η ∧ ∀ s : Set α, μ s ≤ η → NullMeasurableSet s μ → eLpNorm (s.indicator fun _x => c) p μ ≤ ε := exists_eLpNorm_indicator_le hp c hε have ηpos : (0 : ℝ≥0∞) < η := ENNReal.coe_lt_coe.2 η_pos obtain ⟨V, sV, V_open, h'V, hV⟩ : ∃ (V : Set α), V ⊇ s ∧ IsOpen V ∧ μ V < ∞ ∧ μ (V \ s) < η := s_closed.measurableSet.exists_isOpen_sdiff_lt hs ηpos.ne' let v := u ∩ V have hsv : s ⊆ v := subset_inter hsu sV have hμv : μ v < ∞ := (measure_mono inter_subset_right).trans_lt h'V obtain ⟨g, hgv, hgs, hg_range⟩ := exists_continuous_zero_one_of_isClosed (u_open.inter V_open).isClosed_compl s_closed (disjoint_compl_left_iff.2 hsv) -- Multiply this by `c` to get a continuous approximation to the function `f`; the key point is -- that this is pointwise bounded by the indicator of the set `v \ s`, which has small measure. have g_norm : ∀ x, ‖g x‖ = g x := fun x => by rw [Real.norm_eq_abs, abs_of_nonneg (hg_range x).1] have gc_bd0 : ∀ x, ‖g x • c‖ ≤ ‖c‖ := by intro x simp only [norm_smul, g_norm x] apply mul_le_of_le_one_left (norm_nonneg _) exact (hg_range x).2 have gc_bd : ∀ x, ‖g x • c - s.indicator (fun _x => c) x‖ ≤ ‖(v \ s).indicator (fun _x => c) x‖ := by intro x by_cases hv : x ∈ v · rw [← Set.sdiff_union_of_subset hsv] at hv rcases hv with hsv | hs · simpa only [hsv.2, Set.indicator_of_notMem, not_false_iff, sub_zero, hsv, Set.indicator_of_mem] using gc_bd0 x · simp [hgs hs, hs] · simp [hgv hv, show x ∉ s from fun h => hv (hsv h)] have gc_support : (Function.support fun x : α => g x • c) ⊆ v := by refine Function.support_subset_iff'.2 fun x hx => ?_ simp only [hgv hx, Pi.zero_apply, zero_smul] have gc_mem : MemLp (fun x => g x • c) p μ := by refine MemLp.smul ?_ (memLp_top_const _) (p := p) (q := ∞) have hv : MeasurableSet v := u_open.measurableSet.inter V_open.measurableSet have : eLpNorm (v.indicator fun _x => (1 : ℝ)) p μ < ∞ := (eLpNorm_indicator_const_le _ _ hv.nullMeasurableSet).trans_lt <| by simp [lt_top_iff_ne_top, hμv.ne] refine (eLpNorm_mono g.continuous.aestronglyMeasurable fun x => ?_).trans_lt this by_cases hx : x ∈ v · simp only [hx, abs_of_nonneg (hg_range x).1, (hg_range x).2, Real.norm_eq_abs, indicator_of_mem, CStarRing.norm_one] · simp only [hgv hx, Pi.zero_apply, Real.norm_eq_abs, abs_zero, abs_nonneg] refine ⟨fun x ↦ g x • c, by fun_prop, (eLpNorm_mono (gc_mem.aestronglyMeasurable.sub (aestronglyMeasurable_const.indicator s_closed.measurableSet)) gc_bd).trans ?_, gc_bd0, gc_support.trans inter_subset_left, gc_mem⟩ exact hη _ ((measure_mono (sdiff_subset_sdiff inter_subset_right Subset.rfl)).trans hV.le) ((u_open.measurableSet.inter V_open.measurableSet).diff s_closed.measurableSet).nullMeasurableSet /-- In a locally compact space, any function in `ℒp` can be approximated by compactly supported continuous functions when `p < ∞`, version in terms of `eLpNorm`. -/ theorem exists_hasCompactSupport_eLpNorm_sub_le [R1Space α] [WeaklyLocallyCompactSpace α] [μ.Regular] (hp : p ≠ ∞) {f : α → E} (hf : MemLp f p μ) {ε : ℝ≥0∞} (hε : ε ≠ 0) : ∃ g : α → E, HasCompactSupport g ∧ eLpNorm (f - g) p μ ≤ ε ∧ Continuous g ∧ MemLp g p μ := by suffices H : ∃ g : α → E, eLpNorm (f - g) p μ ≤ ε ∧ Continuous g ∧ MemLp g p μ ∧ HasCompactSupport g by rcases H with ⟨g, hg, g_cont, g_mem, g_support⟩ exact ⟨g, g_support, hg, g_cont, g_mem⟩ -- It suffices to check that the set of functions we consider approximates characteristic -- functions, is stable under addition and consists of ae strongly measurable functions. -- First check the latter easy facts. apply hf.induction_dense hp _ _ _ hε rotate_left -- stability under addition · rintro f g ⟨f_cont, f_mem, hf⟩ ⟨g_cont, g_mem, hg⟩ exact ⟨f_cont.add g_cont, f_mem.add g_mem, hf.add hg⟩ -- We are left with approximating characteristic functions. -- This follows from `exists_continuous_eLpNorm_sub_le_of_closed`. intro c t ht htμ ε hε rcases exists_Lp_half E μ p hε with ⟨δ, δpos, hδ⟩ obtain ⟨η, ηpos, hη⟩ : ∃ η : ℝ≥0, 0 < η ∧ ∀ s : Set α, μ s ≤ η → NullMeasurableSet s μ → eLpNorm (s.indicator fun _x => c) p μ ≤ δ := exists_eLpNorm_indicator_le hp c δpos.ne' have hη_pos' : (0 : ℝ≥0∞) < η := ENNReal.coe_pos.2 ηpos obtain ⟨s, st, s_compact, s_closed, μs⟩ : ∃ s, s ⊆ t ∧ IsCompact s ∧ IsClosed s ∧ μ (t \ s) < η := ht.exists_isCompact_isClosed_sdiff_lt htμ.ne hη_pos'.ne' have hsμ : μ s < ∞ := (measure_mono st).trans_lt htμ have I1 : eLpNorm ((s.indicator fun _y => c) - t.indicator fun _y => c) p μ ≤ δ := by rw [← eLpNorm_neg, neg_sub, ← indicator_sdiff st] exact hη _ μs.le (ht.diff s_closed.measurableSet).nullMeasurableSet obtain ⟨k, k_compact, sk⟩ : ∃ k : Set α, IsCompact k ∧ s ⊆ interior k := exists_compact_superset s_compact rcases exists_continuous_eLpNorm_sub_le_of_closed hp s_closed isOpen_interior sk hsμ.ne c δpos.ne' with ⟨f, f_cont, I2, _f_bound, f_support, f_mem⟩ have I3 : eLpNorm (f - t.indicator fun _y => c) p μ ≤ ε := by convert! (hδ _ _ I2 I1).le using 2 ext x simp refine ⟨f, I3, f_cont, f_mem, HasCompactSupport.intro k_compact fun x hx => ?_⟩ rw [← Function.notMem_support] contrapose hx exact interior_subset (f_support hx) section Indicator variable {X β : Type*} [MeasurableSpace X] [NormedAddCommGroup β] {ν : Measure X} {q : ℝ≥0∞} {f : X → β} /-- Absolute continuity of the actual Lp norm on measurable sets. The measure and function are arbitrary, with exactly the original API. -/ theorem eLpNorm_indicator_le (hq_one : 1 ≤ q) (hq_top : q ≠ ∞) (hf : MemLp f q ν) {ε : ℝ≥0∞} (hε : 0 < ε) : ∃ δ > 0, ∀ s, MeasurableSet s → ν s ≤ δ → eLpNorm (s.indicator f) q ν ≤ ε := by have hq0 : q ≠ 0 := (lt_of_lt_of_le zero_lt_one hq_one).ne' have hqr : 0 < q.toReal := ENNReal.toReal_pos hq0 hq_top have hfinite : (∫⁻ x, ‖f x‖ₑ ^ q.toReal ∂ν) ≠ ∞ := (lintegral_rpow_enorm_lt_top_of_eLpNorm_lt_top hq0 hq_top hf).ne have hεq : ε ^ q.toReal ≠ 0 := (ENNReal.rpow_pos_of_nonneg hε hqr.le).ne' obtain ⟨δ, hδ, hsmall⟩ := exists_pos_setLIntegral_lt_of_measure_lt hfinite hεq obtain ⟨δ', hδ', hδ'δ⟩ := exists_between hδ refine ⟨δ', hδ', fun s hs hνs => ?_⟩ rw [eLpNorm_indicator_eq_eLpNorm_restrict hs, eLpNorm_eq_lintegral_rpow_enorm_toReal hq0 hq_top (hf.aestronglyMeasurable.mono_measure Measure.restrict_le_self), one_div] exact (ENNReal.rpow_inv_le_iff hqr).mpr (hsmall s (hνs.trans_lt hδ'δ)).le end Indicator end Polya26.Strike.S04.Header.HeightApproximation end end /- END M009 -/ /- BEGIN M010 -/ section /-! Literal original binder order for the arbitrary-measure indicator API. The analytic proof is the single checked HeightApproximation provider. -/ noncomputable section open MeasureTheory Set open scoped ENNReal namespace Polya26.Strike.S04.Header.HeightIndicator variable {α β : Type*} {m : MeasurableSpace α} {μ : Measure α} [NormedAddCommGroup β] {p : ℝ≥0∞} {f : α → β} theorem eLpNorm_indicator_le (hp_one : 1 ≤ p) (hp_top : p ≠ ∞) (hf : MemLp f p μ) {ε : ℝ≥0∞} (hε : 0 < ε) : ∃ δ > 0, ∀ s, MeasurableSet s → μ s ≤ δ → eLpNorm (s.indicator f) p μ ≤ ε := HeightApproximation.eLpNorm_indicator_le hp_one hp_top hf hε end Polya26.Strike.S04.Header.HeightIndicator end end /- END M010 -/ /- BEGIN M011 -/ section /-! Actual outer supremum on Euclidean balls. These geometric lemmas are the first part of the functional Minkowski/layercake bridge; no perimeter or coarea inequality is a premise. -/ noncomputable section open Set Metric open scoped Pointwise NNReal namespace Polya26.PlanarIsoperimetric variable {E : Type*} [NormedAddCommGroup E] def outerSup (u : E → ℝ) (ε : ℝ) (x : E) : ℝ := sSup (u '' ball x ε) theorem outerSup_image_bddAbove {u : E → ℝ} (hu : BddAbove (range u)) (ε : ℝ) (x : E) : BddAbove (u '' ball x ε) := hu.mono (image_subset_range _ _) theorem le_outerSup {u : E → ℝ} (hu : BddAbove (range u)) {ε : ℝ} (hε : 0 < ε) (x : E) : u x ≤ outerSup u ε x := by exact le_csSup (outerSup_image_bddAbove hu ε x) ⟨x, by simpa using hε, rfl⟩ theorem outerSup_superlevel {u : E → ℝ} (hu : BddAbove (range u)) {ε : ℝ} (hε : 0 < ε) (t : ℝ) : {x | t < outerSup u ε x} = {x | t < u x} + ball 0 ε := by ext x rw [mem_setOf_eq, outerSup, lt_csSup_iff (outerSup_image_bddAbove hu ε x) ((nonempty_ball.mpr hε).image u)] constructor · rintro ⟨a, ⟨y, hy, rfl⟩, hty⟩ apply Set.mem_add.mpr refine ⟨y, hty, x - y, ?_, ?_⟩ · simpa [mem_ball, dist_eq_norm, norm_sub_rev] using hy · abel · rintro hx rcases Set.mem_add.mp hx with ⟨y, hy, z, hz, hsum⟩ refine ⟨u y, ⟨y, ?_, rfl⟩, hy⟩ rw [← hsum] simpa [mem_ball, dist_eq_norm] using hz theorem outerSup_le_add_dist {u : E → ℝ} {K : ℝ≥0} (hLip : LipschitzWith K u) (hu : BddAbove (range u)) {ε : ℝ} (hε : 0 < ε) (x y : E) : outerSup u ε x ≤ outerSup u ε y + K * dist x y := by apply csSup_le ((nonempty_ball.mpr hε).image u) rintro a ⟨z, hz, rfl⟩ let z' := z - x + y have hz' : z' ∈ ball y ε := by simpa [z', mem_ball, dist_eq_norm] using hz have hvalue : u z' ≤ outerSup u ε y := le_csSup (outerSup_image_bddAbove hu ε y) ⟨z', hz', rfl⟩ have hdist : dist z z' = dist x y := by rw [dist_eq_norm, dist_eq_norm] congr 1 dsimp [z'] abel have hbound := hLip.dist_le_mul z z' rw [hdist, Real.dist_eq] at hbound have hdiff : u z - u z' ≤ K * dist x y := (le_abs_self _).trans hbound linarith theorem outerSup_lipschitz {u : E → ℝ} {K : ℝ≥0} (hLip : LipschitzWith K u) (hu : BddAbove (range u)) {ε : ℝ} (hε : 0 < ε) : LipschitzWith K (outerSup u ε) := by apply LipschitzWith.of_dist_le_mul intro x y rw [Real.dist_eq, abs_le] constructor · have h := outerSup_le_add_dist hLip hu hε y x rw [dist_comm y x] at h linarith · have h := outerSup_le_add_dist hLip hu hε x y linarith theorem outerSup_growth_bound {u : E → ℝ} {K : ℝ≥0} (hLip : LipschitzWith K u) (hu : BddAbove (range u)) {ε : ℝ} (hε : 0 < ε) (x : E) : 0 ≤ outerSup u ε x - u x ∧ outerSup u ε x - u x ≤ K * ε := by constructor · exact sub_nonneg.mpr (le_outerSup hu hε x) · suffices outerSup u ε x ≤ u x + K * ε by linarith apply csSup_le ((nonempty_ball.mpr hε).image u) rintro a ⟨y, hy, rfl⟩ have hbound := hLip.dist_le_mul y x rw [Real.dist_eq] at hbound have hdiff : u y - u x ≤ K * dist y x := (le_abs_self _).trans hbound have hdist : dist y x ≤ ε := le_of_lt hy have hprod : K * dist y x ≤ (K : ℝ) * ε := mul_le_mul_of_nonneg_left hdist K.coe_nonneg linarith theorem outerSup_eq_zero_of_forall {u : E → ℝ} {ε : ℝ} (hε : 0 < ε) {x : E} (hzero : ∀ y ∈ ball x ε, u y = 0) : outerSup u ε x = 0 := by have himage : u '' ball x ε = {0} := by ext a constructor · rintro ⟨y, hy, rfl⟩ simp only [hzero y hy, mem_singleton_iff] · intro ha have ha0 : a = 0 := mem_singleton_iff.mp ha subst a refine ⟨x, by simpa using hε, ?_⟩ exact hzero x (by simpa using hε) simp only [outerSup, himage, csSup_singleton] theorem outerSup_support_subset {u : E → ℝ} {ε : ℝ} (hε : 0 < ε) : Function.support (outerSup u ε) ⊆ Function.support u + ball 0 ε := by intro x hx by_contra hout have hzero : ∀ y ∈ ball x ε, u y = 0 := by intro y hy by_contra hvalue apply hout refine Set.mem_add.mpr ⟨y, hvalue, x - y, ?_, ?_⟩ · simpa [mem_ball, dist_eq_norm, norm_sub_rev] using hy · abel exact hx (outerSup_eq_zero_of_forall hε hzero) theorem outerSup_comp_sub_support_subset {u : E → ℝ} {K : Set E} (hsupport : Function.support u ⊆ K) {H : ℝ → ℝ} {ε : ℝ} (hε : 0 < ε) (hε1 : ε ≤ 1) : Function.support (fun x => H (outerSup u ε x) - H (u x)) ⊆ K + closedBall 0 1 := by intro x hx by_contra hout have hu0 : u x = 0 := by by_contra hvalue apply hout exact Set.mem_add.mpr ⟨x, hsupport hvalue, 0, by simp, by simp⟩ have hU0 : outerSup u ε x = 0 := by by_contra hvalue rcases Set.mem_add.mp (outerSup_support_subset hε hvalue) with ⟨y, hy, z, hz, hsum⟩ apply hout exact Set.mem_add.mpr ⟨y, hsupport hy, z, (mem_closedBall.mpr ((mem_ball.mp hz).le.trans hε1)), hsum⟩ exact hx (by simp [hu0, hU0]) section InnerProduct variable [InnerProductSpace ℝ E] [CompleteSpace E] theorem le_outerSup_of_mem_closedBall {u : E → ℝ} (hu : BddAbove (range u)) (hcont : Continuous u) {ε : ℝ} (hε : 0 < ε) {x y : E} (hy : y ∈ closedBall x ε) : u y ≤ outerSup u ε x := by have hsub : closure (ball x ε) ⊆ {z | u z ≤ outerSup u ε x} := by apply closure_minimal · intro z hz exact le_csSup (outerSup_image_bddAbove hu ε x) ⟨z, hz, rfl⟩ · exact isClosed_le hcont continuous_const apply hsub rwa [closure_ball x hε.ne'] theorem outerSup_first_order_bounds {u : E → ℝ} (hu : BddAbove (range u)) (hcont : Continuous u) {x g : E} (hg : HasGradientAt u g x) {δ : ℝ} (hδ : 0 < δ) : ∃ r > 0, ∀ ε, 0 < ε → ε < r → (‖g‖ - δ) * ε ≤ outerSup u ε x - u x ∧ outerSup u ε x - u x ≤ (‖g‖ + δ) * ε := by have ho := hasFDerivAt_iff_isLittleO_nhds_zero.mp hg.hasFDerivAt have hrem := Asymptotics.isLittleO_iff.mp ho hδ rcases Metric.eventually_nhds_iff.mp hrem with ⟨r, hr, hrem⟩ refine ⟨r, hr, ?_⟩ intro ε hε hεr have hrem' (v : E) (hv : ‖v‖ < r) : |u (x + v) - u x - inner ℝ g v| ≤ δ * ‖v‖ := by have h := hrem (by simpa [dist_eq_norm] using hv) simpa only [InnerProductSpace.toDual_apply_apply, Real.norm_eq_abs] using h constructor · by_cases hg0 : g = 0 · have hnonneg := sub_nonneg.mpr (le_outerSup hu hε x) simp only [hg0, norm_zero, zero_sub] nlinarith · have hgn : 0 < ‖g‖ := norm_pos_iff.mpr hg0 let v : E := (ε / ‖g‖) • g have hnv : ‖v‖ = ε := by dsimp [v] rw [norm_smul, Real.norm_eq_abs, abs_of_pos (div_pos hε hgn)] field_simp have hiv : inner ℝ g v = ε * ‖g‖ := by dsimp [v] rw [real_inner_smul_right, real_inner_self_eq_norm_sq] field_simp have hvball : x + v ∈ closedBall x ε := by simp only [mem_closedBall, dist_eq_norm, add_sub_cancel_left, hnv, le_refl] have hvalue := le_outerSup_of_mem_closedBall hu hcont hε hvball have herror := hrem' v (by rwa [hnv]) rw [hiv, hnv, abs_le] at herror nlinarith · suffices outerSup u ε x ≤ u x + (‖g‖ + δ) * ε by linarith apply csSup_le ((nonempty_ball.mpr hε).image u) rintro a ⟨y, hy, rfl⟩ let v : E := y - x have hnv : ‖v‖ < ε := by simpa [v, mem_ball, dist_eq_norm] using hy have herror := hrem' v (hnv.trans hεr) have hinner : inner ℝ g v ≤ ‖g‖ * ‖v‖ := real_inner_le_norm g v have hprod : (‖g‖ + δ) * ‖v‖ ≤ (‖g‖ + δ) * ε := mul_le_mul_of_nonneg_left hnv.le (by positivity) rw [abs_le] at herror have hxv : x + v = y := by dsimp [v]; abel rw [hxv] at herror nlinarith theorem outerSup_gradient_limit {u : E → ℝ} (hu : BddAbove (range u)) (hcont : Continuous u) {x g : E} (hg : HasGradientAt u g x) : Filter.Tendsto (fun ε : ℝ => (outerSup u ε x - u x) / ε) (nhdsWithin 0 (Ioi 0)) (nhds ‖g‖) := by rw [Metric.tendsto_nhds] intro δ hδ obtain ⟨r, hr, hbound⟩ := outerSup_first_order_bounds hu hcont hg (half_pos hδ) have hpos : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), 0 < ε := self_mem_nhdsWithin have hr' : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), ε < r := (eventually_lt_nhds hr).filter_mono nhdsWithin_le_nhds filter_upwards [hpos, hr'] with ε hε hεr have hb := hbound ε hε hεr have hl : ‖g‖ - δ / 2 ≤ (outerSup u ε x - u x) / ε := (le_div_iff₀ hε).mpr hb.1 have hu' : (outerSup u ε x - u x) / ε ≤ ‖g‖ + δ / 2 := (div_le_iff₀ hε).mpr hb.2 rw [Real.dist_eq, abs_lt] constructor <;> linarith theorem outerSup_value_limit {u : E → ℝ} (hu : BddAbove (range u)) (hcont : Continuous u) {x g : E} (hg : HasGradientAt u g x) : Filter.Tendsto (fun ε : ℝ => outerSup u ε x) (nhdsWithin 0 (Ioi 0)) (nhds (u x)) := by have hq := outerSup_gradient_limit hu hcont hg have he : Filter.Tendsto (fun ε : ℝ => ε) (nhdsWithin 0 (Ioi 0)) (nhds 0) := Filter.tendsto_id.mono_left nhdsWithin_le_nhds have hp := hq.mul he have hpos : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), 0 < ε := self_mem_nhdsWithin have hd : Filter.Tendsto (fun ε : ℝ => outerSup u ε x - u x) (nhdsWithin 0 (Ioi 0)) (nhds 0) := by simpa only [mul_zero] using hp.congr' (hpos.mono fun ε hε => div_mul_cancel₀ (outerSup u ε x - u x) hε.ne') simpa only [sub_add_cancel, zero_add] using hd.add_const (u x) theorem outerSup_comp_derivative_limit {u : E → ℝ} (hu : BddAbove (range u)) (hcont : Continuous u) {x g : E} (hg : HasGradientAt u g x) {H : ℝ → ℝ} {w : ℝ} (hH : HasDerivAt H w (u x)) : Filter.Tendsto (fun ε : ℝ => (H (outerSup u ε x) - H (u x)) / ε) (nhdsWithin 0 (Ioi 0)) (nhds (w * ‖g‖)) := by classical have hvalue := outerSup_value_limit hu hcont hg have hslope := hH.continuousAt_div.tendsto.comp hvalue have hprod := hslope.mul (outerSup_gradient_limit hu hcont hg) simp only [Function.update_self] at hprod apply hprod.congr' have hpos : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), 0 < ε := self_mem_nhdsWithin filter_upwards [hpos] with ε hε by_cases hsame : outerSup u ε x = u x · simp [hsame] · simp only [Function.comp_def, Function.update_of_ne hsame] field_simp [sub_ne_zero.mpr hsame, hε.ne'] end InnerProduct end Polya26.PlanarIsoperimetric end end /- END M011 -/ /- BEGIN M012 -/ section noncomputable section open Set MeasureTheory open scoped Pointwise Topology NNReal namespace Polya26.Strike.S04 open Polya26.PlanarIsoperimetric abbrev Plane := EuclideanSpace ℝ (Fin 2) theorem outerSup_integral_first_variation {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {H w : ℝ → ℝ} {W : ℝ≥0} (hHlip : LipschitzWith W H) (hHderiv : ∀ s, HasDerivAt H (w s) s) : Filter.Tendsto (fun ε : ℝ => ∫ x : Plane, (H (outerSup u ε x) - H (u x)) / ε) (nhdsWithin 0 (Ioi 0)) (nhds (∫ x : Plane, w (u x) * ‖gradient u x‖)) := by obtain ⟨K, hLip⟩ := ContDiff.lipschitzWith_of_hasCompactSupport hu hf one_ne_zero have hb : BddAbove (range u) := hf.continuous.bddAbove_range_of_hasCompactSupport hu let tube : Set Plane := tsupport u + Metric.closedBall 0 1 have htube : IsCompact tube := hu.isCompact.add (isCompact_closedBall 0 1) have htm : MeasurableSet tube := htube.isClosed.measurableSet let bound : Plane → ℝ := tube.indicator (fun _ => (W : ℝ) * K) have hboundint : Integrable bound volume := by dsimp [bound] rw [integrable_indicator_iff htm] exact integrableOn_const htube.isBounded.measure_lt_top.ne have hpos : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), 0 < ε := self_mem_nhdsWithin have hsmall : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), ε < 1 := (eventually_lt_nhds zero_lt_one).filter_mono nhdsWithin_le_nhds have hmeas : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), AEStronglyMeasurable (fun x : Plane => (H (outerSup u ε x) - H (u x)) / ε) volume := by filter_upwards [hpos] with ε hε have hU : Continuous (outerSup u ε) := (outerSup_lipschitz hLip hb hε).continuous exact (((hHlip.continuous.comp hU).sub (hHlip.continuous.comp hf.continuous)).div_const ε).aestronglyMeasurable have hbound : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), ∀ᵐ x : Plane, ‖(H (outerSup u ε x) - H (u x)) / ε‖ ≤ bound x := by filter_upwards [hpos, hsmall] with ε hε hε1 exact Filter.Eventually.of_forall fun x => by by_cases hx : x ∈ tube · simp only [bound, indicator_of_mem hx] have hgrowth := outerSup_growth_bound hLip hb hε x have hHbound := hHlip.dist_le_mul (outerSup u ε x) (u x) rw [Real.dist_eq, Real.dist_eq, abs_of_nonneg hgrowth.1] at hHbound rw [norm_div, Real.norm_eq_abs, Real.norm_eq_abs, abs_of_pos hε] apply (div_le_iff₀ hε).mpr calc |H (outerSup u ε x) - H (u x)| ≤ W * (outerSup u ε x - u x) := hHbound _ ≤ W * ((K : ℝ) * ε) := mul_le_mul_of_nonneg_left hgrowth.2 W.coe_nonneg _ = _ := by ring · have hsupport := outerSup_comp_sub_support_subset (subset_tsupport u) (H := H) hε hε1.le have hzero : H (outerSup u ε x) - H (u x) = 0 := by by_contra hne exact hx (hsupport hne) simp only [hzero, zero_div, norm_zero, bound, indicator_of_notMem hx, le_refl] have hlim : ∀ᵐ x : Plane, Filter.Tendsto (fun ε : ℝ => (H (outerSup u ε x) - H (u x)) / ε) (nhdsWithin 0 (Ioi 0)) (nhds (w (u x) * ‖gradient u x‖)) := Filter.Eventually.of_forall fun x => outerSup_comp_derivative_limit hb hf.continuous ((hf.differentiable one_ne_zero) x).hasGradientAt (hHderiv (u x)) exact tendsto_integral_filter_of_dominated_convergence bound hmeas hbound hboundint hlim end Polya26.Strike.S04 end end /- END M012 -/ /- BEGIN M013 -/ section /-! Weighted layercake for an actual signed function. The measurable positive part is used only inside the layercake theorem; no smoothness assertion about the positive part is made. -/ noncomputable section open Set MeasureTheory open scoped Interval NNReal namespace Polya26.Strike.S04 def weightPrimitive (w : ℝ → ℝ) (s : ℝ) : ℝ := ∫ t in 0..s, w t theorem weightPrimitive_zero (w : ℝ → ℝ) : weightPrimitive w 0 = 0 := by simp [weightPrimitive] theorem weightPrimitive_hasDerivAt {w : ℝ → ℝ} (hw : Continuous w) (s : ℝ) : HasDerivAt (weightPrimitive w) (w s) s := intervalIntegral.integral_hasDerivAt_right (hw.intervalIntegrable _ _) hw.aestronglyMeasurable.stronglyMeasurableAtFilter hw.continuousAt theorem weightPrimitive_continuous {w : ℝ → ℝ} (hw : Continuous w) : Continuous (weightPrimitive w) := (show Differentiable ℝ (weightPrimitive w) from fun s => (weightPrimitive_hasDerivAt hw s).differentiableAt).continuous theorem weightPrimitive_lipschitz {w : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) : ∃ W : ℝ≥0, LipschitzWith W (weightPrimitive w) := by obtain ⟨C, hC⟩ := hwc.exists_bound_of_continuous hw refine ⟨⟨max C 0, le_max_right _ _⟩, ?_⟩ apply lipschitzWith_of_nnnorm_deriv_le (fun s => (weightPrimitive_hasDerivAt hw s).differentiableAt) intro s rw [(weightPrimitive_hasDerivAt hw s).deriv] change ‖w s‖ ≤ max C 0 exact (hC s).trans (le_max_left _ _) theorem weightPrimitive_max {w : ℝ → ℝ} (hzero : ∀ t ≤ 0, w t = 0) (s : ℝ) : weightPrimitive w (max s 0) = weightPrimitive w s := by by_cases hs : 0 ≤ s · rw [max_eq_left hs] · have hs' : s ≤ 0 := (lt_of_not_ge hs).le have hint : ∫ t in 0..s, w t = 0 := by apply intervalIntegral.integral_zero_ae exact Filter.Eventually.of_forall fun t ht => hzero t (by rw [uIoc_of_ge hs'] at ht exact ht.2) simp only [weightPrimitive, max_eq_right hs', intervalIntegral.integral_same, hint] theorem weightPrimitive_nonneg {w : ℝ → ℝ} (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) (s : ℝ) : 0 ≤ weightPrimitive w s := by rw [← weightPrimitive_max hwzero s] exact intervalIntegral.integral_nonneg_of_forall (le_max_right _ _) hwnn theorem signed_weighted_layercake {α : Type*} [MeasurableSpace α] (μ : Measure α) {u : α → ℝ} (hu : Measurable u) {w : ℝ → ℝ} (hwint : ∀ t > 0, IntervalIntegrable w volume 0 t) (hwnn : ∀ t > 0, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) : ∫⁻ x, ENNReal.ofReal (weightPrimitive w (u x)) ∂μ = ∫⁻ t in Ioi 0, μ {x | t < u x} * ENNReal.ofReal (w t) := by have hnonneg : 0 ≤ᵐ[μ] (fun x => max (u x) 0) := Filter.Eventually.of_forall fun x => le_max_right (u x) 0 have hmeas : AEMeasurable (fun x => max (u x) 0) μ := (hu.max measurable_const).aemeasurable have hweight : ∀ᵐ t ∂volume.restrict (Ioi 0), 0 ≤ w t := ae_restrict_of_forall_mem measurableSet_Ioi fun t ht => hwnn t ht calc _ = ∫⁻ x, ENNReal.ofReal (weightPrimitive w (max (u x) 0)) ∂μ := by apply lintegral_congr_ae exact Filter.Eventually.of_forall fun x => congrArg ENNReal.ofReal (weightPrimitive_max hwzero (u x)).symm _ = ∫⁻ t in Ioi 0, μ {x | t < max (u x) 0} * ENNReal.ofReal (w t) := Polya26.Strike.S02.Header.Layercake.lintegral_comp_eq_lintegral_meas_lt_mul μ hnonneg hmeas hwint hweight _ = _ := by apply setLIntegral_congr_fun measurableSet_Ioi intro t ht have ht0 : 0 < t := ht have hset : {x | t < max (u x) 0} = {x | t < u x} := by ext x simp only [mem_setOf_eq, lt_max_iff, not_lt.mpr ht0.le, or_false] dsimp only rw [hset] theorem signed_weighted_layercake_real {α : Type*} [MeasurableSpace α] (μ : Measure α) {u : α → ℝ} (hu : Measurable u) {w : ℝ → ℝ} (hw : Continuous w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) (hfinite : ∀ t > 0, μ {x | t < u x} ≠ ⊤) : ∫ x, weightPrimitive w (u x) ∂μ = ∫ t in Ioi 0, (μ {x | t < u x}).toReal * w t := by have hHnn : 0 ≤ᵐ[μ] (fun x => weightPrimitive w (u x)) := Filter.Eventually.of_forall fun x => weightPrimitive_nonneg hwnn hwzero (u x) have hHmeas : AEStronglyMeasurable (fun x => weightPrimitive w (u x)) μ := ((weightPrimitive_continuous hw).measurable.comp hu).aestronglyMeasurable have hantitone : Antitone (fun t : ℝ => μ {x | t < u x}) := by intro a b hab apply measure_mono intro x hx exact hab.trans_lt hx have hmeas : Measurable (fun t : ℝ => (μ {x | t < u x}).toReal * w t) := hantitone.measurable.ennreal_toReal.mul hw.measurable have hnn : 0 ≤ᵐ[volume.restrict (Ioi (0 : ℝ))] (fun t : ℝ => (μ {x | t < u x}).toReal * w t) := Filter.Eventually.of_forall fun t => mul_nonneg ENNReal.toReal_nonneg (hwnn t) rw [integral_eq_lintegral_of_nonneg_ae hHnn hHmeas, integral_eq_lintegral_of_nonneg_ae hnn hmeas.aestronglyMeasurable] congr 1 rw [signed_weighted_layercake μ hu (fun t _ => hw.intervalIntegrable 0 t) (fun t _ => hwnn t) hwzero] apply setLIntegral_congr_fun measurableSet_Ioi intro t ht dsimp only rw [ENNReal.ofReal_mul ENNReal.toReal_nonneg, ENNReal.ofReal_toReal (hfinite t ht)] end Polya26.Strike.S04 end end /- END M013 -/ /- BEGIN M014 -/ section /-! The actual first variation of an integral under signed outer supremum. The domination comes from actual Lipschitz bounds and one fixed compact support enlargement; the limit is the genuine Euclidean gradient. -/ noncomputable section open Set MeasureTheory Metric open scoped Pointwise Topology NNReal namespace Polya26.Strike.S04 open Polya26.PlanarIsoperimetric theorem isBounded_positive_superlevel {u : Plane → ℝ} (hu : HasCompactSupport u) {t : ℝ} (ht : 0 ≤ t) : Bornology.IsBounded {x | t < u x} := by apply hu.isCompact.isBounded.subset intro x hx exact subset_tsupport u (ne_of_gt (ht.trans_lt hx)) theorem positive_superlevel_volume_ne_top {u : Plane → ℝ} (hu : HasCompactSupport u) {t : ℝ} (ht : 0 ≤ t) : volume {x | t < u x} ≠ ⊤ := (isBounded_positive_superlevel hu ht).measure_lt_top.ne theorem positive_superlevel_outer_area_growth {u : Plane → ℝ} (hu : HasCompactSupport u) (hc : Continuous u) {t ε : ℝ} (ht : 0 ≤ t) (hε : 0 < ε) : 2 * Real.sqrt Real.pi * Real.sqrt (Math30.Polya.area {x | t < u x}) * ε ≤ Math30.Polya.area ({x | t < u x} + Metric.ball 0 ε) - Math30.Polya.area {x | t < u x} := Polya26.Strike.S04.Header.PlanarMinkowski.planar_outer_area_growth (isOpen_lt continuous_const hc).measurableSet (isBounded_positive_superlevel hu ht) hε theorem outerSup_hasCompactSupport {u : Plane → ℝ} (hu : HasCompactSupport u) {ε : ℝ} (hε : 0 < ε) : HasCompactSupport (outerSup u ε) := by apply HasCompactSupport.of_support_subset_isCompact (hu.isCompact.add (isCompact_closedBall (0 : Plane) ε)) intro x hx rcases mem_add.mp (outerSup_support_subset hε hx) with ⟨y, hy, z, hz, hsum⟩ exact mem_add.mpr ⟨y, subset_tsupport u hy, z, (mem_ball.mp hz).le, hsum⟩ theorem measurable_superlevel_area (u : Plane → ℝ) : Measurable (fun t : ℝ => Math30.Polya.area {x | t < u x}) := by have hantitone : Antitone (fun t : ℝ => volume {x | t < u x}) := by intro a b hab apply measure_mono intro x hx exact hab.trans_lt hx exact hantitone.measurable.ennreal_toReal theorem weighted_superlevel_area_integrable {u : Plane → ℝ} (hu : HasCompactSupport u) {w : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) : Integrable (fun t : ℝ => Math30.Polya.area {x | t < u x} * w t) (volume.restrict (Ioi 0)) := by have hwi : Integrable w (volume.restrict (Ioi 0)) := (hw.integrable_of_hasCompactSupport hwc).integrableOn have hmajor := hwi.norm.const_mul (Math30.Polya.area (tsupport u)) apply hmajor.mono' ((measurable_superlevel_area u).mul hw.measurable).aestronglyMeasurable filter_upwards [ae_restrict_mem measurableSet_Ioi] with t ht have hsub : {x | t < u x} ⊆ tsupport u := by intro x hx exact subset_tsupport u (ne_of_gt (ht.trans hx)) have hbound : Math30.Polya.area {x | t < u x} ≤ Math30.Polya.area (tsupport u) := ENNReal.toReal_mono hu.isCompact.measure_lt_top.ne (measure_mono hsub) simp only [Pi.mul_apply] rw [norm_mul, Real.norm_eq_abs, abs_of_nonneg (show 0 ≤ Math30.Polya.area {x | t < u x} from ENNReal.toReal_nonneg)] exact mul_le_mul_of_nonneg_right hbound (norm_nonneg (w t)) theorem weighted_bounded_coefficient_integrable {w c : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hc : Measurable c) {C : ℝ} (hbound : ∀ t > 0, |c t| ≤ C) : Integrable (fun t : ℝ => w t * c t) (volume.restrict (Ioi 0)) := by have hwi : Integrable w (volume.restrict (Ioi 0)) := (hw.integrable_of_hasCompactSupport hwc).integrableOn apply (hwi.norm.const_mul C).mono' (hw.measurable.mul hc).aestronglyMeasurable filter_upwards [ae_restrict_mem measurableSet_Ioi] with t ht simp only [Pi.mul_apply] rw [norm_mul] have hc' : ‖c t‖ ≤ C := by simpa only [Real.norm_eq_abs] using hbound t ht calc _ ≤ ‖w t‖ * C := mul_le_mul_of_nonneg_left hc' (norm_nonneg (w t)) _ = _ := by ring theorem signed_weighted_outerSup_integral_identity {u : Plane → ℝ} (hu : HasCompactSupport u) (hc : Continuous u) {K : ℝ≥0} (hLip : LipschitzWith K u) {w : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) {ε : ℝ} (hε : 0 < ε) : ∫ x : Plane, weightPrimitive w (outerSup u ε x) - weightPrimitive w (u x) = ∫ t in Ioi 0, (Math30.Polya.area ({x | t < u x} + Metric.ball 0 ε) - Math30.Polya.area {x | t < u x}) * w t := by have hb := hc.bddAbove_range_of_hasCompactSupport hu have hUcont : Continuous (outerSup u ε) := (outerSup_lipschitz hLip hb hε).continuous have hUc := outerSup_hasCompactSupport hu hε have hHcont := weightPrimitive_continuous hw have hHu : Integrable (fun x => weightPrimitive w (u x)) volume := (hHcont.comp hc).integrable_of_hasCompactSupport (hu.comp_left (weightPrimitive_zero w)) have hHU : Integrable (fun x => weightPrimitive w (outerSup u ε x)) volume := (hHcont.comp hUcont).integrable_of_hasCompactSupport (hUc.comp_left (weightPrimitive_zero w)) have htailu := weighted_superlevel_area_integrable hu hw hwc have htailU := weighted_superlevel_area_integrable hUc hw hwc calc _ = (∫ t in Ioi 0, Math30.Polya.area {x | t < outerSup u ε x} * w t) - (∫ t in Ioi 0, Math30.Polya.area {x | t < u x} * w t) := by rw [integral_sub hHU hHu] rw [signed_weighted_layercake_real volume hUcont.measurable hw hwnn hwzero (fun t ht => positive_superlevel_volume_ne_top hUc ht.le)] rw [signed_weighted_layercake_real volume hc.measurable hw hwnn hwzero (fun t ht => positive_superlevel_volume_ne_top hu ht.le)] rfl _ = ∫ t in Ioi 0, (Math30.Polya.area {x | t < outerSup u ε x} - Math30.Polya.area {x | t < u x}) * w t := by rw [← integral_sub htailU htailu] apply integral_congr_ae exact Filter.Eventually.of_forall fun t => by ring _ = _ := by apply integral_congr_ae exact Filter.Eventually.of_forall fun t => by dsimp only rw [outerSup_superlevel hb hε t] /-- The volume-growth input is stated for actual strict superlevel sets and their actual parallel sets. Its ordinary and filled-component instances are the genuine Brunn-Minkowski theorems in `Minkowski.lean`. -/ theorem parallel_growth_weighted_gradient {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {w c : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) (hcint : Integrable (fun t => w t * c t) (volume.restrict (Ioi 0))) (hgrowth : ∀ ε > 0, ε ≤ 1 → ∀ t > 0, w t ≠ 0 → ε * c t ≤ Math30.Polya.area ({x | t < u x} + Metric.ball 0 ε) - Math30.Polya.area {x | t < u x}) : (∫ t in Ioi 0, w t * c t) ≤ ∫ x : Plane, w (u x) * ‖gradient u x‖ := by obtain ⟨K, hLip⟩ := ContDiff.lipschitzWith_of_hasCompactSupport hu hf one_ne_zero obtain ⟨W, hHlip⟩ := weightPrimitive_lipschitz hw hwc have hlimit := outerSup_integral_first_variation hu hf hHlip (weightPrimitive_hasDerivAt hw) have hb := hf.continuous.bddAbove_range_of_hasCompactSupport hu have hpos : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), 0 < ε := self_mem_nhdsWithin have hsmall : ∀ᶠ ε : ℝ in nhdsWithin 0 (Ioi 0), ε < 1 := (eventually_lt_nhds zero_lt_one).filter_mono nhdsWithin_le_nhds apply ge_of_tendsto hlimit filter_upwards [hpos, hsmall] with ε hε hε1 have hUc := outerSup_hasCompactSupport hu hε have htailu := weighted_superlevel_area_integrable hu hw hwc have htailU := weighted_superlevel_area_integrable hUc hw hwc have hdint : Integrable (fun t => (Math30.Polya.area ({x | t < u x} + Metric.ball 0 ε) - Math30.Polya.area {x | t < u x}) * w t) (volume.restrict (Ioi 0)) := by convert htailU.sub htailu using 1 funext t simp only [Pi.sub_apply] rw [outerSup_superlevel hb hε t] ring have hineq : (∫ t in Ioi 0, ε * (w t * c t)) ≤ ∫ t in Ioi 0, (Math30.Polya.area ({x | t < u x} + Metric.ball 0 ε) - Math30.Polya.area {x | t < u x}) * w t := by apply integral_mono_ae (hcint.const_mul ε) hdint filter_upwards [ae_restrict_mem measurableSet_Ioi] with t ht by_cases hw0 : w t = 0 · simp [hw0] · calc _ = (ε * c t) * w t := by ring _ ≤ _ := mul_le_mul_of_nonneg_right (hgrowth ε hε hε1.le t ht hw0) (hwnn t) rw [integral_const_mul] at hineq rw [← signed_weighted_outerSup_integral_identity hu hf.continuous hLip hw hwc hwnn hwzero hε] at hineq rw [integral_div] apply (le_div_iff₀ hε).mpr simpa only [mul_comm] using hineq theorem ordinary_isoperimetric_weighted_gradient {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {w : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) : 2 * Real.sqrt Real.pi * (∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < u x})) ≤ ∫ x : Plane, w (u x) * ‖gradient u x‖ := by let c : ℝ → ℝ := fun t => 2 * Real.sqrt Real.pi * Real.sqrt (Math30.Polya.area {x | t < u x}) have hc : Measurable c := measurable_const.mul (Real.continuous_sqrt.measurable.comp (measurable_superlevel_area u)) have hcbound (t : ℝ) (ht : 0 < t) : |c t| ≤ 2 * Real.sqrt Real.pi * Real.sqrt (Math30.Polya.area (tsupport u)) := by have hsub : {x | t < u x} ⊆ tsupport u := by intro x hx exact subset_tsupport u (ne_of_gt (ht.trans hx)) have harea : Math30.Polya.area {x | t < u x} ≤ Math30.Polya.area (tsupport u) := ENNReal.toReal_mono hu.isCompact.measure_lt_top.ne (measure_mono hsub) dsimp [c] rw [abs_of_nonneg (by positivity)] exact mul_le_mul_of_nonneg_left (Real.sqrt_le_sqrt harea) (by positivity) have hcint := weighted_bounded_coefficient_integrable hw hwc hc hcbound have hgrowth : ∀ ε > 0, ε ≤ 1 → ∀ t > 0, w t ≠ 0 → ε * c t ≤ Math30.Polya.area ({x | t < u x} + Metric.ball 0 ε) - Math30.Polya.area {x | t < u x} := by intro ε hε _ t ht _ have h := positive_superlevel_outer_area_growth hu hf.continuous ht.le hε convert h using 1 dsimp [c] ring have hmain := parallel_growth_weighted_gradient hu hf hw hwc hwnn hwzero hcint hgrowth have hid : (∫ t in Ioi 0, w t * c t) = 2 * Real.sqrt Real.pi * (∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < u x})) := by rw [← integral_const_mul] apply integral_congr_ae exact Filter.Eventually.of_forall fun t => by dsimp [c]; ring rwa [hid] at hmain theorem continuous_gradient {u : Plane → ℝ} (hf : ContDiff ℝ 1 u) : Continuous (gradient u) := by exact (InnerProductSpace.toDual ℝ Plane).symm.continuous.comp (hf.continuous_fderiv one_ne_zero) theorem hasCompactSupport_gradient {u : Plane → ℝ} (hu : HasCompactSupport u) : HasCompactSupport (gradient u) := by exact (hu.fderiv ℝ).comp_left (map_zero (InnerProductSpace.toDual ℝ Plane).symm) theorem height_band_weighted_cauchy {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {w : ℝ → ℝ} (hw : Continuous w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) {J : Set ℝ} (hwoutside : ∀ t, t ∉ J → w t = 0) : (∫ x : Plane, w (u x) * ‖gradient u x‖) ^ 2 ≤ (∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2) * (∫ x : Plane, w (u x) ^ 2) := by have hgcont := (continuous_gradient hf).norm have hgcompact := (hasCompactSupport_gradient hu).norm have hwcont : Continuous (fun x => w (u x)) := hw.comp hf.continuous have hwcompact : HasCompactSupport (fun x => w (u x)) := hu.comp_left (hwzero 0 le_rfl) have hgLp : MemLp (fun x : Plane => ‖gradient u x‖) (ENNReal.ofReal (2 : ℝ)) volume := hgcont.memLp_of_hasCompactSupport hgcompact have hwLp : MemLp (fun x : Plane => w (u x)) (ENNReal.ofReal (2 : ℝ)) volume := hwcont.memLp_of_hasCompactSupport hwcompact have hpq : (2 : ℝ).HolderConjugate 2 := by norm_num [Real.holderConjugate_iff] have hwphase := MemLp.mono_measure (Measure.restrict_le_self (s := {x : Plane | u x ∈ J}) (μ := volume)) hwLp have hgphase := MemLp.mono_measure (Measure.restrict_le_self (s := {x : Plane | u x ∈ J}) (μ := volume)) hgLp have hholder := integral_mul_le_Lp_mul_Lq_of_nonneg hpq (Filter.Eventually.of_forall fun x => hwnn (u x)) (Filter.Eventually.of_forall fun x => norm_nonneg (gradient u x)) hwphase hgphase simp only [Real.rpow_two, ← Real.sqrt_eq_rpow] at hholder have hleft : (∫ x in {x : Plane | u x ∈ J}, w (u x) * ‖gradient u x‖) = ∫ x : Plane, w (u x) * ‖gradient u x‖ := by apply setIntegral_eq_integral_of_forall_compl_eq_zero intro x hx rw [hwoutside (u x) hx, zero_mul] have hweight : (∫ x in {x : Plane | u x ∈ J}, w (u x) ^ 2) = ∫ x : Plane, w (u x) ^ 2 := by apply setIntegral_eq_integral_of_forall_compl_eq_zero intro x hx rw [hwoutside (u x) hx, zero_pow (by decide)] rw [hleft, hweight] at hholder have hleftnn : 0 ≤ ∫ x : Plane, w (u x) * ‖gradient u x‖ := integral_nonneg fun x => mul_nonneg (hwnn (u x)) (norm_nonneg _) have hEnn : 0 ≤ ∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2 := integral_nonneg fun x => sq_nonneg _ have hMnn : 0 ≤ ∫ x : Plane, w (u x) ^ 2 := integral_nonneg fun x => sq_nonneg _ have hsquare := (sq_le_sq₀ hleftnn (mul_nonneg (Real.sqrt_nonneg _) (Real.sqrt_nonneg _))).mpr hholder rw [mul_pow, Real.sq_sqrt hMnn, Real.sq_sqrt hEnn] at hsquare simpa only [mul_comm] using hsquare theorem positive_phase_weighted_cauchy {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {w : ℝ → ℝ} (hw : Continuous w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) : (∫ x : Plane, w (u x) * ‖gradient u x‖) ^ 2 ≤ (∫ x in {x : Plane | 0 < u x}, ‖gradient u x‖ ^ 2) * (∫ x : Plane, w (u x) ^ 2) := height_band_weighted_cauchy hu hf hw hwnn hwzero (J := Ioi 0) (fun t ht => hwzero t (le_of_not_gt ht)) theorem parallel_growth_weighted_energy {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {w c : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) (hcint : Integrable (fun t => w t * c t) (volume.restrict (Ioi 0))) (hcnn : ∀ t > 0, 0 ≤ c t) (hgrowth : ∀ ε > 0, ε ≤ 1 → ∀ t > 0, w t ≠ 0 → ε * c t ≤ Math30.Polya.area ({x | t < u x} + Metric.ball 0 ε) - Math30.Polya.area {x | t < u x}) : (∫ t in Ioi 0, w t * c t) ^ 2 ≤ (∫ x in {x : Plane | 0 < u x}, ‖gradient u x‖ ^ 2) * (∫ x : Plane, w (u x) ^ 2) := by have hlinear := parallel_growth_weighted_gradient hu hf hw hwc hwnn hwzero hcint hgrowth have hleftnn : 0 ≤ ∫ t in Ioi 0, w t * c t := by apply integral_nonneg_of_ae filter_upwards [ae_restrict_mem measurableSet_Ioi] with t ht exact mul_nonneg (hwnn t) (hcnn t ht) have hrightnn : 0 ≤ ∫ x : Plane, w (u x) * ‖gradient u x‖ := integral_nonneg fun x => mul_nonneg (hwnn (u x)) (norm_nonneg _) exact ((sq_le_sq₀ hleftnn hrightnn).mpr hlinear).trans (positive_phase_weighted_cauchy hu hf hw hwnn hwzero) theorem parallel_growth_weighted_energy_on {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {w c : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) {J : Set ℝ} (hwoutside : ∀ t, t ∉ J → w t = 0) (hcint : Integrable (fun t => w t * c t) (volume.restrict (Ioi 0))) (hcnn : ∀ t > 0, 0 ≤ c t) (hgrowth : ∀ ε > 0, ε ≤ 1 → ∀ t > 0, w t ≠ 0 → ε * c t ≤ Math30.Polya.area ({x | t < u x} + Metric.ball 0 ε) - Math30.Polya.area {x | t < u x}) : (∫ t in Ioi 0, w t * c t) ^ 2 ≤ (∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2) * (∫ x : Plane, w (u x) ^ 2) := by have hlinear := parallel_growth_weighted_gradient hu hf hw hwc hwnn hwzero hcint hgrowth have hleftnn : 0 ≤ ∫ t in Ioi 0, w t * c t := by apply integral_nonneg_of_ae filter_upwards [ae_restrict_mem measurableSet_Ioi] with t ht exact mul_nonneg (hwnn t) (hcnn t ht) have hrightnn : 0 ≤ ∫ x : Plane, w (u x) * ‖gradient u x‖ := integral_nonneg fun x => mul_nonneg (hwnn (u x)) (norm_nonneg _) exact ((sq_le_sq₀ hleftnn hrightnn).mpr hlinear).trans (height_band_weighted_cauchy hu hf hw hwnn hwzero hwoutside) theorem ordinary_isoperimetric_weighted_energy {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {w : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) : 4 * Real.pi * (∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < u x})) ^ 2 ≤ (∫ x in {x : Plane | 0 < u x}, ‖gradient u x‖ ^ 2) * (∫ x : Plane, w (u x) ^ 2) := by have hlinear := ordinary_isoperimetric_weighted_gradient hu hf hw hwc hwnn hwzero have hleftnn : 0 ≤ 2 * Real.sqrt Real.pi * (∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < u x})) := by apply mul_nonneg (by positivity) exact integral_nonneg fun t => mul_nonneg (hwnn t) (Real.sqrt_nonneg _) have hrightnn : 0 ≤ ∫ x : Plane, w (u x) * ‖gradient u x‖ := integral_nonneg fun x => mul_nonneg (hwnn (u x)) (norm_nonneg _) have hsquare := ((sq_le_sq₀ hleftnn hrightnn).mpr hlinear).trans (positive_phase_weighted_cauchy hu hf hw hwnn hwzero) have hcoef : (2 * Real.sqrt Real.pi) ^ 2 = 4 * Real.pi := by rw [mul_pow, Real.sq_sqrt Real.pi_pos.le] norm_num rwa [mul_pow, hcoef] at hsquare theorem ordinary_height_band_weighted_energy {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {J : Set ℝ} {w : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) (hwoutside : ∀ t, t ∉ J → w t = 0) : 4 * Real.pi * (∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < u x})) ^ 2 ≤ (∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2) * (∫ x : Plane, w (u x) ^ 2) := by have hlinear := ordinary_isoperimetric_weighted_gradient hu hf hw hwc hwnn hwzero have hleftnn : 0 ≤ 2 * Real.sqrt Real.pi * (∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < u x})) := by apply mul_nonneg (by positivity) exact integral_nonneg fun t => mul_nonneg (hwnn t) (Real.sqrt_nonneg _) have hrightnn : 0 ≤ ∫ x : Plane, w (u x) * ‖gradient u x‖ := integral_nonneg fun x => mul_nonneg (hwnn (u x)) (norm_nonneg _) have hsquare := ((sq_le_sq₀ hleftnn hrightnn).mpr hlinear).trans (height_band_weighted_cauchy hu hf hw hwnn hwzero hwoutside) have hcoef : (2 * Real.sqrt Real.pi) ^ 2 = 4 * Real.pi := by rw [mul_pow, Real.sq_sqrt Real.pi_pos.le] norm_num rwa [mul_pow, hcoef] at hsquare /-- Actual enclosure on the height band supplies the full-wrap coefficient. The component may vary with the height; no measurable choice of components is required because the outer-volume estimate is applied pointwise. -/ theorem enclosed_height_band_weighted_energy {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {J : Set ℝ} {B : ℝ} (hwrap : ∀ t ∈ J, {x | t < u x}.Nonempty ∧ ∃ p : Plane, Bornology.IsBounded (connectedComponentIn {x | t < u x}ᶜ p) ∧ B ≤ Math30.Polya.area (connectedComponentIn {x | t < u x}ᶜ p)) {w : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ≤ 0, w t = 0) (hwoutside : ∀ t, t ∉ J → w t = 0) : 4 * Real.pi * (∫ t in Ioi 0, w t * (Real.sqrt (Math30.Polya.area {x | t < u x} + B) + Real.sqrt B)) ^ 2 ≤ (∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2) * (∫ x : Plane, w (u x) ^ 2) := by let c : ℝ → ℝ := fun t => 2 * Real.sqrt Real.pi * (Real.sqrt (Math30.Polya.area {x | t < u x} + B) + Real.sqrt B) have hc : Measurable c := measurable_const.mul ((Real.continuous_sqrt.measurable.comp ((measurable_superlevel_area u).add measurable_const)).add measurable_const) have hcbound (t : ℝ) (ht : 0 < t) : |c t| ≤ 2 * Real.sqrt Real.pi * (Real.sqrt (Math30.Polya.area (tsupport u) + B) + Real.sqrt B) := by have hsub : {x | t < u x} ⊆ tsupport u := by intro x hx exact subset_tsupport u (ne_of_gt (ht.trans hx)) have harea : Math30.Polya.area {x | t < u x} ≤ Math30.Polya.area (tsupport u) := ENNReal.toReal_mono hu.isCompact.measure_lt_top.ne (measure_mono hsub) have hadd : Math30.Polya.area {x | t < u x} + B ≤ Math30.Polya.area (tsupport u) + B := by linarith dsimp [c] rw [abs_of_nonneg (by positivity)] apply mul_le_mul_of_nonneg_left _ (by positivity) linarith [Real.sqrt_le_sqrt hadd] have hcint := weighted_bounded_coefficient_integrable hw hwc hc hcbound have hcnn (t : ℝ) (_ : 0 < t) : 0 ≤ c t := by dsimp [c]; positivity have hgrowth : ∀ ε > 0, ε ≤ 1 → ∀ t > 0, w t ≠ 0 → ε * c t ≤ Math30.Polya.area ({x | t < u x} + Metric.ball 0 ε) - Math30.Polya.area {x | t < u x} := by intro ε hε _ t ht hwt have htJ : t ∈ J := by by_contra hnot exact hwt (hwoutside t hnot) rcases hwrap t htJ with ⟨hEn, p, hHb, hB⟩ have hEopen : IsOpen {x | t < u x} := isOpen_lt continuous_const hf.continuous have h := Polya26.Strike.S04.Header.PlanarMinkowski.planar_complement_component_outer_area_growth_of_area_lower hEopen hEn (isBounded_positive_superlevel hu ht.le) p hHb hB hε convert h using 1 dsimp [c] ring have hmain := parallel_growth_weighted_energy_on hu hf hw hwc hwnn hwzero hwoutside hcint hcnn hgrowth have hid : (∫ t in Ioi 0, w t * c t) = 2 * Real.sqrt Real.pi * (∫ t in Ioi 0, w t * (Real.sqrt (Math30.Polya.area {x | t < u x} + B) + Real.sqrt B)) := by rw [← integral_const_mul] apply integral_congr_ae exact Filter.Eventually.of_forall fun t => by dsimp [c]; ring rw [hid, mul_pow] at hmain have hcoef : (2 * Real.sqrt Real.pi) ^ 2 = 4 * Real.pi := by rw [mul_pow, Real.sq_sqrt Real.pi_pos.le] norm_num rwa [hcoef] at hmain end Polya26.Strike.S04 end end /- END M014 -/ /- BEGIN M015 -/ section /-! The passage from continuous height weights to measurable height weights uses one joint measure. Its two summands are the actual value distribution and height Lebesgue measure. In particular all value atoms remain in the norm. Compact-in-open approximation is followed by genuine inner-regular truncation inside the height band. The resulting root covers every joint-L² weight zero outside that open band, including bounded Borel weights with an atom mask. Neither a nonatomic value distribution nor a smooth inverse is assumed. -/ noncomputable section open Set MeasureTheory open scoped ENNReal Topology namespace Polya26.Strike.S04 def heightLpRestrict {μ η : Measure ℝ} (h : μ ≤ η) : Lp ℝ 2 η →L[ℝ] Lp ℝ 2 μ := Lp.LpToLpOfMeasureLeSMul (c := 1) (by simp) (by simpa using h) theorem heightLpRestrict_toLp_ae {μ η : Measure ℝ} (h : μ ≤ η) {w : ℝ → ℝ} (hw : MemLp w 2 η) : heightLpRestrict h (hw.toLp w) =ᵐ[μ] w := by apply (Lp.coeFn_LpToLpOfMeasureLeSMul (c := 1) (by simp) (by simpa using h) (hw.toLp w)).trans exact (MemLp.coeFn_toLp hw).filter_mono (ae_mono h) theorem heightLpRestrict_toLp_inner {μ η : Measure ℝ} (h : μ ≤ η) {w c : ℝ → ℝ} (hw : MemLp w 2 η) (hc : MemLp c 2 μ) : inner ℝ (heightLpRestrict h (hw.toLp w)) (hc.toLp c) = ∫ t, w t * c t ∂μ := by rw [L2.inner_def] apply integral_congr_ae filter_upwards [heightLpRestrict_toLp_ae h hw, MemLp.coeFn_toLp hc] with t hwt hct simp only [hwt, hct, Real.inner_apply] theorem heightLpRestrict_toLp_norm_sq {μ η : Measure ℝ} (h : μ ≤ η) {w : ℝ → ℝ} (hw : MemLp w 2 η) : ‖heightLpRestrict h (hw.toLp w)‖ ^ 2 = ∫ t, (w t) ^ 2 ∂μ := by rw [← real_inner_self_eq_norm_sq, L2.inner_def] apply integral_congr_ae filter_upwards [heightLpRestrict_toLp_ae h hw] with t hwt simp only [hwt, Real.inner_apply, pow_two] theorem exists_nonnegative_height_weight_approx (η : Measure ℝ) [IsFiniteMeasure η] {J K : Set ℝ} (hJ : IsOpen J) (hK : IsCompact K) (hKJ : K ⊆ J) {w : ℝ → ℝ} (hw : MemLp w 2 η) (hwnn : ∀ t, 0 ≤ w t) (hwsupp : Function.support w ⊆ K) {ε : ℝ≥0∞} (hε : ε ≠ 0) : ∃ v : ℝ → ℝ, Continuous v ∧ HasCompactSupport v ∧ tsupport v ⊆ J ∧ (∀ t, 0 ≤ v t) ∧ (∀ t ∉ J, v t = 0) ∧ MemLp v 2 η ∧ eLpNorm (w - v) 2 η ≤ ε := by obtain ⟨χ, hχK, hχc, hχJ, hχrange⟩ := exists_continuousMap_one_of_isCompact_subset_isOpen hK hJ hKJ obtain ⟨g, hgc, happrox, hgcont, hg⟩ := Polya26.Strike.S04.Header.HeightApproximation.exists_hasCompactSupport_eLpNorm_sub_le (by norm_num) hw hε let v : ℝ → ℝ := fun t => χ t * |g t| have hvcont : Continuous v := χ.continuous.mul hgcont.abs have hχcompact : HasCompactSupport (χ : ℝ → ℝ) := hχc have hvc : HasCompactSupport v := hχcompact.mul_right have hvJ : tsupport v ⊆ J := tsupport_mul_subset_left.trans hχJ have hvnn : ∀ t, 0 ≤ v t := fun t => mul_nonneg (hχrange t).1 (abs_nonneg _) have hvzero : ∀ t ∉ J, v t = 0 := by intro t ht have hχzero : χ t = 0 := by by_contra hne exact ht (hχJ (subset_tsupport χ hne)) simp only [v, hχzero, zero_mul] have hv : MemLp v 2 η := hvcont.memLp_of_hasCompactSupport hvc refine ⟨v, hvcont, hvc, hvJ, hvnn, hvzero, hv, le_trans ?_ happrox⟩ apply eLpNorm_mono (hw.sub hv).aestronglyMeasurable intro t have hχw : χ t * w t = w t := by by_cases hwt : w t = 0 · simp [hwt] · rw [hχK (hwsupp hwt)] simp have hreverse : abs (w t - abs (g t)) ≤ |w t - g t| := by simpa only [Real.norm_eq_abs, abs_of_nonneg (hwnn t)] using abs_norm_sub_norm_le (w t) (g t) change abs (w t - χ t * abs (g t)) ≤ |w t - g t| calc _ = |χ t| * abs (w t - abs (g t)) := by have hid : w t - χ t * |g t| = χ t * (w t - |g t|) := by rw [mul_sub, hχw] rw [hid, abs_mul] _ ≤ abs (w t - abs (g t)) := by rw [abs_of_nonneg (hχrange t).1] exact mul_le_of_le_one_left (abs_nonneg _) (hχrange t).2 _ ≤ _ := hreverse theorem exists_nonnegative_height_weight_approx_open (η : Measure ℝ) [IsFiniteMeasure η] {J : Set ℝ} (hJ : IsOpen J) {w : ℝ → ℝ} (hw : MemLp w 2 η) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) {ε : ℝ≥0∞} (hε : ε ≠ 0) : ∃ v : ℝ → ℝ, Continuous v ∧ HasCompactSupport v ∧ tsupport v ⊆ J ∧ (∀ t, 0 ≤ v t) ∧ (∀ t ∉ J, v t = 0) ∧ MemLp v 2 η ∧ eLpNorm (w - v) 2 η ≤ ε := by have hεpos : 0 < ε := pos_iff_ne_zero.mpr hε have hhalf : 0 < ε / 2 := by exact ENNReal.half_pos hε obtain ⟨δ, hδ, hsmall⟩ := Polya26.Strike.S04.Header.HeightIndicator.eLpNorm_indicator_le (by norm_num : 1 ≤ (2 : ℝ≥0∞)) (by norm_num) hw hhalf obtain ⟨K, hKJ, hK, htail⟩ := hJ.measurableSet.exists_isCompact_sdiff_lt (measure_ne_top η J) hδ.ne' let wK : ℝ → ℝ := K.indicator w have hwK : MemLp wK 2 η := hw.indicator hK.measurableSet have hwKnn : ∀ t, 0 ≤ wK t := by intro t by_cases ht : t ∈ K · simpa only [wK, indicator_of_mem ht] using hwnn t · simp only [wK, indicator_of_notMem ht, le_refl] have hwKsupp : Function.support wK ⊆ K := by intro t ht by_contra hnot exact ht (indicator_of_notMem hnot w) have htail_eq : w - wK = (J \ K).indicator w := by ext t by_cases htJ : t ∈ J · by_cases htK : t ∈ K <;> simp [wK, htJ, htK] · have hwt := hwzero t htJ simp [wK, hwt, htJ] have htailnorm : eLpNorm (w - wK) 2 η ≤ ε / 2 := by rw [htail_eq] exact hsmall (J \ K) (hJ.measurableSet.diff hK.measurableSet) htail.le obtain ⟨v, hvcont, hvc, hvJ, hvnn, hvzero, hv, hvapprox⟩ := exists_nonnegative_height_weight_approx η hJ hK hKJ hwK hwKnn hwKsupp hhalf.ne' refine ⟨v, hvcont, hvc, hvJ, hvnn, hvzero, hv, ?_⟩ have hsplit : w - v = (w - wK) + (wK - v) := by ext t simp only [Pi.sub_apply, Pi.add_apply] ring rw [hsplit] calc _ ≤ eLpNorm (w - wK) 2 η + eLpNorm (wK - v) 2 η := eLpNorm_add_le (by norm_num) _ ≤ ε / 2 + ε / 2 := add_le_add htailnorm hvapprox _ = ε := by simp theorem continuous_height_dual_strict_support_extends_measurable (ν κ : Measure ℝ) [IsFiniteMeasure ν] [IsFiniteMeasure κ] {J : Set ℝ} (hJ : IsOpen J) {c : ℝ → ℝ} (hc : MemLp c 2 κ) {E : ℝ} (hcontinuous : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → tsupport v ⊆ J → (∀ t, 0 ≤ v t) → (∫ t, v t * c t ∂κ) ^ 2 ≤ E * (∫ t, (v t) ^ 2 ∂ν)) {w : ℝ → ℝ} (hw : MemLp w 2 (ν + κ)) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) : (∫ t, w t * c t ∂κ) ^ 2 ≤ E * (∫ t, (w t) ^ 2 ∂ν) := by have hν : ν ≤ ν + κ := le_add_of_nonneg_right (bot_le : (0 : Measure ℝ) ≤ κ) have hκ : κ ≤ ν + κ := le_add_of_nonneg_left (bot_le : (0 : Measure ℝ) ≤ ν) let Rν : Lp ℝ 2 (ν + κ) →L[ℝ] Lp ℝ 2 ν := heightLpRestrict hν let Rκ : Lp ℝ 2 (ν + κ) →L[ℝ] Lp ℝ 2 κ := heightLpRestrict hκ let F : Lp ℝ 2 (ν + κ) → ℝ := fun f => inner ℝ (Rκ f) (hc.toLp c) let G : Lp ℝ 2 (ν + κ) → ℝ := fun f => E * ‖Rν f‖ ^ 2 let S : Set (Lp ℝ 2 (ν + κ)) := {f | (F f) ^ 2 ≤ G f} have hF : Continuous F := Rκ.continuous.inner continuous_const have hG : Continuous G := continuous_const.mul (Rν.continuous.norm.pow 2) have hS : IsClosed S := isClosed_le (hF.pow 2) hG have hFw : F (hw.toLp w) = ∫ t, w t * c t ∂κ := heightLpRestrict_toLp_inner hκ hw hc have hGw : G (hw.toLp w) = E * (∫ t, (w t) ^ 2 ∂ν) := by exact congrArg (E * ·) (heightLpRestrict_toLp_norm_sq hν hw) have hclosure : hw.toLp w ∈ closure S := by rw [Metric.mem_closure_iff] intro ε hε obtain ⟨v, hvcont, hvc, hvJ, hvnn, hvzero, hv, happrox⟩ := exists_nonnegative_height_weight_approx_open (ν + κ) hJ hw hwnn hwzero (ε := ENNReal.ofReal (ε / 2)) (by positivity) refine ⟨hv.toLp v, ?_, ?_⟩ · change (F (hv.toLp v)) ^ 2 ≤ G (hv.toLp v) dsimp only [F, G, Rκ, Rν] rw [heightLpRestrict_toLp_inner hκ hv hc] change (∫ t, v t * c t ∂κ) ^ 2 ≤ E * ‖heightLpRestrict hν (hv.toLp v)‖ ^ 2 rw [heightLpRestrict_toLp_norm_sq hν hv] exact hcontinuous v hvcont hvc hvJ hvnn · rw [dist_eq_norm, ← MemLp.toLp_sub hw hv, Lp.norm_toLp] apply lt_of_le_of_lt (ENNReal.toReal_mono ENNReal.ofReal_ne_top happrox) rw [ENNReal.toReal_ofReal (by positivity : 0 ≤ ε / 2)] linarith have hmem : hw.toLp w ∈ S := hS.closure_subset hclosure change (F (hw.toLp w)) ^ 2 ≤ G (hw.toLp w) at hmem rwa [hFw, hGw] at hmem theorem continuous_height_dual_extends_measurable (ν κ : Measure ℝ) [IsFiniteMeasure ν] [IsFiniteMeasure κ] {J : Set ℝ} (hJ : IsOpen J) {c : ℝ → ℝ} (hc : MemLp c 2 κ) {E : ℝ} (hcontinuous : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → (∀ t, 0 ≤ v t) → (∀ t ∉ J, v t = 0) → (∫ t, v t * c t ∂κ) ^ 2 ≤ E * (∫ t, (v t) ^ 2 ∂ν)) {w : ℝ → ℝ} (hw : MemLp w 2 (ν + κ)) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) : (∫ t, w t * c t ∂κ) ^ 2 ≤ E * (∫ t, (w t) ^ 2 ∂ν) := by have hstrict : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → tsupport v ⊆ J → (∀ t, 0 ≤ v t) → (∫ t, v t * c t ∂κ) ^ 2 ≤ E * (∫ t, (v t) ^ 2 ∂ν) := by intro v hv hvc hvJ hvnn apply hcontinuous v hv hvc hvnn intro t ht by_contra hne exact ht (hvJ (subset_tsupport v hne)) exact continuous_height_dual_strict_support_extends_measurable ν κ hJ hc hstrict hw hwnn hwzero theorem continuous_height_dual_extends_compact_measurable (ν κ : Measure ℝ) [IsFiniteMeasure ν] [IsFiniteMeasure κ] {J K : Set ℝ} (hJ : IsOpen J) (hKJ : K ⊆ J) {c : ℝ → ℝ} (hc : MemLp c 2 κ) {E : ℝ} (hcontinuous : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → (∀ t, 0 ≤ v t) → (∀ t ∉ J, v t = 0) → (∫ t, v t * c t ∂κ) ^ 2 ≤ E * (∫ t, (v t) ^ 2 ∂ν)) {w : ℝ → ℝ} (hw : MemLp w 2 (ν + κ)) (hwnn : ∀ t, 0 ≤ w t) (hwsupp : Function.support w ⊆ K) : (∫ t, w t * c t ∂κ) ^ 2 ≤ E * (∫ t, (w t) ^ 2 ∂ν) := by apply continuous_height_dual_extends_measurable ν κ hJ hc hcontinuous hw hwnn intro t ht by_contra hne exact ht (hKJ (hwsupp hne)) theorem continuous_height_dual_extends_bounded_measurable (ν κ : Measure ℝ) [IsFiniteMeasure ν] [IsFiniteMeasure κ] {J : Set ℝ} (hJ : IsOpen J) {c : ℝ → ℝ} (hc : MemLp c 2 κ) {E : ℝ} (hcontinuous : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → (∀ t, 0 ≤ v t) → (∀ t ∉ J, v t = 0) → (∫ t, v t * c t ∂κ) ^ 2 ≤ E * (∫ t, (v t) ^ 2 ∂ν)) {w : ℝ → ℝ} (hw : Measurable w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) {L : ℝ} (hbound : ∀ t, ‖w t‖ ≤ L) : (∫ t, w t * c t ∂κ) ^ 2 ≤ E * (∫ t, (w t) ^ 2 ∂ν) := by exact continuous_height_dual_extends_measurable ν κ hJ hc hcontinuous (MemLp.of_bound hw.aestronglyMeasurable L (Filter.Eventually.of_forall hbound)) hwnn hwzero theorem continuous_height_dual_strict_support_extends_bounded_measurable (ν κ : Measure ℝ) [IsFiniteMeasure ν] [IsFiniteMeasure κ] {J : Set ℝ} (hJ : IsOpen J) {c : ℝ → ℝ} (hc : MemLp c 2 κ) {E : ℝ} (hcontinuous : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → tsupport v ⊆ J → (∀ t, 0 ≤ v t) → (∫ t, v t * c t ∂κ) ^ 2 ≤ E * (∫ t, (v t) ^ 2 ∂ν)) {w : ℝ → ℝ} (hw : Measurable w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) {L : ℝ} (hbound : ∀ t, ‖w t‖ ≤ L) : (∫ t, w t * c t ∂κ) ^ 2 ≤ E * (∫ t, (w t) ^ 2 ∂ν) := by exact continuous_height_dual_strict_support_extends_measurable ν κ hJ hc hcontinuous (MemLp.of_bound hw.aestronglyMeasurable L (Filter.Eventually.of_forall hbound)) hwnn hwzero end Polya26.Strike.S04 end end /- END M015 -/ /- BEGIN M016 -/ section /-! The measurable-weight root below uses the actual finite value pushforward of the positive phase and the actual gradient energy in the height band. All plateau atoms remain in the value measure. Component enclosure is used only at heights in that band; no measurable component selection is needed. -/ noncomputable section open Set MeasureTheory open scoped ENNReal Topology namespace Polya26.Strike.S04 open Polya26.PlanarIsoperimetric def positiveValueMeasure (u : Plane → ℝ) : Measure ℝ := Measure.map u (volume.restrict {x : Plane | 0 < u x}) theorem positiveValueMeasure_finite {u : Plane → ℝ} (hu : HasCompactSupport u) : IsFiniteMeasure (positiveValueMeasure u) := by letI : IsFiniteMeasure (volume.restrict {x : Plane | 0 < u x}) := isFiniteMeasure_restrict.mpr (positive_superlevel_volume_ne_top hu le_rfl) exact Measure.isFiniteMeasure_map _ u theorem positiveValueMeasure_weight_sq {u : Plane → ℝ} (hu : Measurable u) {w : ℝ → ℝ} (hw : Measurable w) (hwzero : ∀ t ≤ 0, w t = 0) : (∫ t, (w t) ^ 2 ∂positiveValueMeasure u) = ∫ x : Plane, (w (u x)) ^ 2 := by rw [positiveValueMeasure, integral_map hu.aemeasurable (hw.pow_const 2).aestronglyMeasurable] apply setIntegral_eq_integral_of_forall_compl_eq_zero intro x hx have hux : u x ≤ 0 := le_of_not_gt hx rw [hwzero (u x) hux] norm_num /-- Strict superlevels are the actual value-measure tails, even at plateau heights. -/ theorem positiveValueMeasure_tail {u : Plane → ℝ} (hu : Measurable u) {t : ℝ} (ht : 0 ≤ t) : positiveValueMeasure u (Ioi t) = volume {x : Plane | t < u x} := by rw [positiveValueMeasure, Measure.map_apply hu measurableSet_Ioi, Measure.restrict_apply (measurableSet_Ioi.preimage hu)] congr 1 ext x simp only [mem_inter_iff, mem_preimage, mem_Ioi, mem_setOf_eq] constructor · exact fun hx => hx.1 · exact fun hx => ⟨hx, ht.trans_lt hx⟩ /-- A positive-height plateau contributes its full geometric mass to ν. -/ theorem positiveValueMeasure_atom {u : Plane → ℝ} (hu : Measurable u) {t : ℝ} (ht : 0 < t) : positiveValueMeasure u {t} = volume {x : Plane | u x = t} := by rw [positiveValueMeasure, Measure.map_apply hu (measurableSet_singleton t), Measure.restrict_apply ((measurableSet_singleton t).preimage hu)] congr 1 ext x simp only [mem_inter_iff, mem_preimage, mem_singleton_iff, mem_setOf_eq] constructor · exact fun hx => hx.1 · exact fun hx => ⟨hx, hx.symm ▸ ht⟩ theorem height_band_bounded_measurable_dual_of_continuous {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {J : Set ℝ} (hJ : IsOpen J) (hJb : Bornology.IsBounded J) (hJpos : J ⊆ Ioi 0) {c : ℝ → ℝ} (hcmeas : Measurable c) {C : ℝ} (hcbound : ∀ t ∈ J, ‖c t‖ ≤ C) (hphysical : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → (∀ t, 0 ≤ v t) → (∀ t ≤ 0, v t = 0) → (∀ t ∉ J, v t = 0) → 4 * Real.pi * (∫ t in Ioi 0, v t * c t) ^ 2 ≤ (∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2) * (∫ x : Plane, (v (u x)) ^ 2)) {w : ℝ → ℝ} (hw : Measurable w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) {L : ℝ} (hbound : ∀ t, ‖w t‖ ≤ L) : (∫ t in J, w t * c t) ^ 2 ≤ ((∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂positiveValueMeasure u) := by let ν : Measure ℝ := positiveValueMeasure u let κ : Measure ℝ := volume.restrict J letI : IsFiniteMeasure ν := positiveValueMeasure_finite hu letI : IsFiniteMeasure κ := isFiniteMeasure_restrict.mpr hJb.measure_lt_top.ne let q : ℝ := ∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2 have hc : MemLp c 2 κ := by apply MemLp.of_bound hcmeas.aestronglyMeasurable C exact ae_restrict_of_forall_mem hJ.measurableSet hcbound have hcontinuous : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → (∀ t, 0 ≤ v t) → (∀ t ∉ J, v t = 0) → (∫ t, v t * c t ∂κ) ^ 2 ≤ (q / (4 * Real.pi)) * (∫ t, (v t) ^ 2 ∂ν) := by intro v hv hvc hvnn hvoutside have hvzero : ∀ t ≤ 0, v t = 0 := by intro t ht apply hvoutside t intro htJ exact (not_lt.mpr ht) (hJpos htJ) have hestimate := hphysical v hv hvc hvnn hvzero hvoutside have hJint : (∫ t in J, v t * c t) = ∫ t, v t * c t := setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hvoutside t ht, zero_mul] have hposint : (∫ t in Ioi 0, v t * c t) = ∫ t, v t * c t := setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hvzero t (le_of_not_gt ht), zero_mul] have hvalue : (∫ t, (v t) ^ 2 ∂ν) = ∫ x : Plane, (v (u x)) ^ 2 := positiveValueMeasure_weight_sq hf.continuous.measurable hv.measurable hvzero change 4 * Real.pi * (∫ t in Ioi 0, v t * c t) ^ 2 ≤ q * (∫ x : Plane, (v (u x)) ^ 2) at hestimate rw [hposint, ← hJint, ← hvalue] at hestimate apply (mul_le_mul_iff_right₀ (by positivity : 0 < 4 * Real.pi)).mp calc _ ≤ q * (∫ t, (v t) ^ 2 ∂ν) := hestimate _ = 4 * Real.pi * ((q / (4 * Real.pi)) * (∫ t, (v t) ^ 2 ∂ν)) := by field_simp exact continuous_height_dual_extends_bounded_measurable ν κ hJ hc hcontinuous hw hwnn hwzero hbound theorem enclosed_height_band_bounded_measurable_dual {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {J : Set ℝ} (hJ : IsOpen J) (hJb : Bornology.IsBounded J) (hJpos : J ⊆ Ioi 0) {B : ℝ} (hwrap : ∀ t ∈ J, {x | t < u x}.Nonempty ∧ ∃ p : Plane, Bornology.IsBounded (connectedComponentIn {x | t < u x}ᶜ p) ∧ B ≤ Math30.Polya.area (connectedComponentIn {x | t < u x}ᶜ p)) {w : ℝ → ℝ} (hw : Measurable w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) {L : ℝ} (hbound : ∀ t, ‖w t‖ ≤ L) : (∫ t in J, w t * (Real.sqrt (Math30.Polya.area {x | t < u x} + B) + Real.sqrt B)) ^ 2 ≤ ((∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂positiveValueMeasure u) := by let c : ℝ → ℝ := fun t => Real.sqrt (Math30.Polya.area {x | t < u x} + B) + Real.sqrt B have hcmeas : Measurable c := (Real.continuous_sqrt.measurable.comp ((measurable_superlevel_area u).add measurable_const)).add measurable_const have hcbound (t : ℝ) (ht : t ∈ J) : ‖c t‖ ≤ Real.sqrt (Math30.Polya.area (tsupport u) + B) + Real.sqrt B := by have hsub : {x | t < u x} ⊆ tsupport u := by intro x hx exact subset_tsupport u (ne_of_gt ((hJpos ht).trans hx)) have harea : Math30.Polya.area {x | t < u x} ≤ Math30.Polya.area (tsupport u) := ENNReal.toReal_mono hu.isCompact.measure_lt_top.ne (measure_mono hsub) have hadd : Math30.Polya.area {x | t < u x} + B ≤ Math30.Polya.area (tsupport u) + B := by linarith dsimp [c] rw [abs_of_nonneg (by positivity)] linarith [Real.sqrt_le_sqrt hadd] exact height_band_bounded_measurable_dual_of_continuous hu hf hJ hJb hJpos hcmeas hcbound (fun v hv hvc hvnn hvzero hvoutside => enclosed_height_band_weighted_energy hu hf hwrap hv hvc hvnn hvzero hvoutside) hw hwnn hwzero hbound theorem ordinary_height_band_bounded_measurable_dual {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {J : Set ℝ} (hJ : IsOpen J) (hJb : Bornology.IsBounded J) (hJpos : J ⊆ Ioi 0) {w : ℝ → ℝ} (hw : Measurable w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) {L : ℝ} (hbound : ∀ t, ‖w t‖ ≤ L) : (∫ t in J, w t * Real.sqrt (Math30.Polya.area {x | t < u x})) ^ 2 ≤ ((∫ x in {x : Plane | u x ∈ J}, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂positiveValueMeasure u) := by let c : ℝ → ℝ := fun t => Real.sqrt (Math30.Polya.area {x | t < u x}) have hcmeas : Measurable c := Real.continuous_sqrt.measurable.comp (measurable_superlevel_area u) have hcbound (t : ℝ) (ht : t ∈ J) : ‖c t‖ ≤ Real.sqrt (Math30.Polya.area (tsupport u)) := by have hsub : {x | t < u x} ⊆ tsupport u := by intro x hx exact subset_tsupport u (ne_of_gt ((hJpos ht).trans hx)) have harea : Math30.Polya.area {x | t < u x} ≤ Math30.Polya.area (tsupport u) := ENNReal.toReal_mono hu.isCompact.measure_lt_top.ne (measure_mono hsub) dsimp [c] rw [abs_of_nonneg (Real.sqrt_nonneg _)] exact Real.sqrt_le_sqrt harea exact height_band_bounded_measurable_dual_of_continuous hu hf hJ hJb hJpos hcmeas hcbound (fun v hv hvc hvnn hvzero hvoutside => ordinary_height_band_weighted_energy hu hf hv hvc hvnn hvzero hvoutside) hw hwnn hwzero hbound /-- The strict-support wrapper needed for raw gated branches. Its physical energy E may be the actual energy of the original smooth function on a component. No differentiability of the raw zero-extended branch is required. -/ theorem physical_height_dual_strict_support_extends_bounded {u : Plane → ℝ} (hu : HasCompactSupport u) (humeas : Measurable u) {J : Set ℝ} (hJ : IsOpen J) (hJb : Bornology.IsBounded J) (hJpos : J ⊆ Ioi 0) {c : ℝ → ℝ} (hcmeas : Measurable c) {C E : ℝ} (hcbound : ∀ t ∈ J, ‖c t‖ ≤ C) (hphysical : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → tsupport v ⊆ J → (∀ t, 0 ≤ v t) → 4 * Real.pi * (∫ t in Ioi 0, v t * c t) ^ 2 ≤ E * (∫ x : Plane, (v (u x)) ^ 2)) {w : ℝ → ℝ} (hw : Measurable w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) {L : ℝ} (hbound : ∀ t, ‖w t‖ ≤ L) : (∫ t in J, w t * c t) ^ 2 ≤ (E / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂positiveValueMeasure u) := by let ν : Measure ℝ := positiveValueMeasure u let κ : Measure ℝ := volume.restrict J letI : IsFiniteMeasure ν := positiveValueMeasure_finite hu letI : IsFiniteMeasure κ := isFiniteMeasure_restrict.mpr hJb.measure_lt_top.ne have hc : MemLp c 2 κ := by apply MemLp.of_bound hcmeas.aestronglyMeasurable C exact ae_restrict_of_forall_mem hJ.measurableSet hcbound have hcontinuous : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → tsupport v ⊆ J → (∀ t, 0 ≤ v t) → (∫ t, v t * c t ∂κ) ^ 2 ≤ (E / (4 * Real.pi)) * (∫ t, (v t) ^ 2 ∂ν) := by intro v hv hvc hvJ hvnn have hvoutside : ∀ t ∉ J, v t = 0 := by intro t ht by_contra hne exact ht (hvJ (subset_tsupport v hne)) have hvzero : ∀ t ≤ 0, v t = 0 := by intro t ht apply hvoutside t intro htJ exact (not_lt.mpr ht) (hJpos htJ) have hestimate := hphysical v hv hvc hvJ hvnn have hJint : (∫ t in J, v t * c t) = ∫ t, v t * c t := setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hvoutside t ht, zero_mul] have hposint : (∫ t in Ioi 0, v t * c t) = ∫ t, v t * c t := setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hvzero t (le_of_not_gt ht), zero_mul] have hvalue : (∫ t, (v t) ^ 2 ∂ν) = ∫ x : Plane, (v (u x)) ^ 2 := positiveValueMeasure_weight_sq humeas hv.measurable hvzero rw [hposint, ← hJint, ← hvalue] at hestimate apply (mul_le_mul_iff_right₀ (by positivity : 0 < 4 * Real.pi)).mp calc _ ≤ E * (∫ t, (v t) ^ 2 ∂ν) := hestimate _ = 4 * Real.pi * ((E / (4 * Real.pi)) * (∫ t, (v t) ^ 2 ∂ν)) := by field_simp exact continuous_height_dual_strict_support_extends_bounded_measurable ν κ hJ hc hcontinuous hw hwnn hwzero hbound theorem physical_height_dual_strict_support_extends_memLp {u : Plane → ℝ} (hu : HasCompactSupport u) (humeas : Measurable u) {J : Set ℝ} (hJ : IsOpen J) (hJb : Bornology.IsBounded J) (hJpos : J ⊆ Ioi 0) {c : ℝ → ℝ} (hcmeas : Measurable c) {C E : ℝ} (hcbound : ∀ t ∈ J, ‖c t‖ ≤ C) (hphysical : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → tsupport v ⊆ J → (∀ t, 0 ≤ v t) → 4 * Real.pi * (∫ t in Ioi 0, v t * c t) ^ 2 ≤ E * (∫ x : Plane, (v (u x)) ^ 2)) {w : ℝ → ℝ} (hw : MemLp w 2 (positiveValueMeasure u + volume.restrict J)) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) : (∫ t in J, w t * c t) ^ 2 ≤ (E / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂positiveValueMeasure u) := by let ν : Measure ℝ := positiveValueMeasure u let κ : Measure ℝ := volume.restrict J letI : IsFiniteMeasure ν := positiveValueMeasure_finite hu letI : IsFiniteMeasure κ := isFiniteMeasure_restrict.mpr hJb.measure_lt_top.ne have hc : MemLp c 2 κ := by apply MemLp.of_bound hcmeas.aestronglyMeasurable C exact ae_restrict_of_forall_mem hJ.measurableSet hcbound have hcontinuous : ∀ v : ℝ → ℝ, Continuous v → HasCompactSupport v → tsupport v ⊆ J → (∀ t, 0 ≤ v t) → (∫ t, v t * c t ∂κ) ^ 2 ≤ (E / (4 * Real.pi)) * (∫ t, (v t) ^ 2 ∂ν) := by intro v hv hvc hvJ hvnn have hvoutside : ∀ t ∉ J, v t = 0 := by intro t ht by_contra hne exact ht (hvJ (subset_tsupport v hne)) have hvzero : ∀ t ≤ 0, v t = 0 := by intro t ht apply hvoutside t intro htJ exact (not_lt.mpr ht) (hJpos htJ) have hestimate := hphysical v hv hvc hvJ hvnn have hJint : (∫ t in J, v t * c t) = ∫ t, v t * c t := setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hvoutside t ht, zero_mul] have hposint : (∫ t in Ioi 0, v t * c t) = ∫ t, v t * c t := setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hvzero t (le_of_not_gt ht), zero_mul] have hvalue : (∫ t, (v t) ^ 2 ∂ν) = ∫ x : Plane, (v (u x)) ^ 2 := positiveValueMeasure_weight_sq humeas hv.measurable hvzero rw [hposint, ← hJint, ← hvalue] at hestimate apply (mul_le_mul_iff_right₀ (by positivity : 0 < 4 * Real.pi)).mp calc _ ≤ E * (∫ t, (v t) ^ 2 ∂ν) := hestimate _ = 4 * Real.pi * ((E / (4 * Real.pi)) * (∫ t, (v t) ^ 2 ∂ν)) := by field_simp exact continuous_height_dual_strict_support_extends_measurable ν κ hJ hc hcontinuous hw hwnn hwzero end Polya26.Strike.S04 end end /- END M016 -/ /- BEGIN M017 -/ section /-! Actual zero-gate geometry for every compact continuous planar positive phase. -/ noncomputable section open Set MeasureTheory open scoped Topology namespace Polya26.Strike.S05 open Math30.Polya theorem exists_exterior_zero {u : Plane → ℝ} (hu : HasCompactSupport u) : ∃ x : Plane, u x = 0 := by obtain ⟨x, hx⟩ : ∃ x : Plane, x ∉ tsupport u := by by_contra! h exact hu.isCompact.ne_univ (eq_univ_of_forall h) exact ⟨x, image_eq_zero_of_notMem_tsupport hx⟩ theorem positive_low_height_nonempty {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) (hpos : ∃ x : Plane, 0 < u x) {ε : ℝ} (hε : 0 < ε) : {x : Plane | 0 < u x ∧ u x < ε}.Nonempty := by obtain ⟨y, hy⟩ := hpos obtain ⟨z, hz⟩ := exists_exterior_zero hu let t : ℝ := min (ε / 2) (u y / 2) have ht : 0 < t := lt_min (by linarith) (by linarith) have htε : t < ε := (min_le_left _ _).trans_lt (by linarith) have hty : t ≤ u y := (min_le_right _ _).trans (by linarith) obtain ⟨x, hx⟩ := intermediate_value_univ z y hf (show t ∈ Icc (u z) (u y) from ⟨by rw [hz]; exact ht.le, hty⟩) refine ⟨x, ?_⟩ change 0 < u x ∧ u x < ε rw [hx] exact ⟨ht, htε⟩ theorem positive_low_height_volume_pos {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) (hpos : ∃ x : Plane, 0 < u x) {ε : ℝ} (hε : 0 < ε) : 0 < volume {x : Plane | 0 < u x ∧ u x < ε} := by have hopen : IsOpen {x : Plane | 0 < u x ∧ u x < ε} := isOpen_Ioo.preimage hf exact hopen.measure_pos volume (positive_low_height_nonempty hu hf hpos hε) end Polya26.Strike.S05 end end /- END M017 -/ /- BEGIN M018 -/ section /- Minimal normalized-bump source family, Apache-2.0. Retains every required actual normed-bump declaration and its exact source proof. -/ noncomputable section section W07NormedBumpSource open Function Filter Set Metric MeasureTheory Module Measure open scoped Topology namespace ContDiffBump variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [HasContDiffBump E] [MeasurableSpace E] {c : E} (f : ContDiffBump c) {x : E} {n : ℕ∞} {μ : Measure E} /-- A bump function normed so that `∫ x, f.normed μ x ∂μ = 1`. -/ protected def normed (μ : Measure E) : E → ℝ := fun x => f x / ∫ x, f x ∂μ theorem contDiff_normed {n : ℕ∞} : ContDiff ℝ n (f.normed μ) := f.contDiff.div_const _ variable [BorelSpace E] [FiniteDimensional ℝ E] [IsLocallyFiniteMeasure μ] protected theorem integrable : Integrable f μ := f.continuous.integrable_of_hasCompactSupport f.hasCompactSupport section variable [μ.IsOpenPosMeasure] theorem integral_pos : 0 < ∫ x, f x ∂μ := by refine (integral_pos_iff_support_of_nonneg f.nonneg' f.integrable).mpr ?_ rw [f.support_eq] exact measure_ball_pos μ c f.rOut_pos theorem integral_normed : ∫ x, f.normed μ x ∂μ = 1 := by simp_rw [ContDiffBump.normed, div_eq_mul_inv, mul_comm (f _), ← smul_eq_mul, integral_smul] exact inv_mul_cancel₀ f.integral_pos.ne' theorem support_normed_eq : Function.support (f.normed μ) = Metric.ball c f.rOut := by unfold ContDiffBump.normed rw [support_div, f.support_eq, support_const f.integral_pos.ne', inter_univ] theorem tsupport_normed_eq : tsupport (f.normed μ) = Metric.closedBall c f.rOut := by rw [tsupport, f.support_normed_eq, closure_ball _ f.rOut_pos.ne'] theorem hasCompactSupport_normed : HasCompactSupport (f.normed μ) := by simp only [HasCompactSupport, f.tsupport_normed_eq (μ := μ), isCompact_closedBall] end end ContDiffBump end W07NormedBumpSource end end /- END M018 -/ /- BEGIN M019 -/ section /-! Actual smooth compact scalar tests as a submodule of scalar functions. Only trusted Submodule algebra/coercions are used; no TestFunction class library, topology on test functions, or registered instances are added. -/ noncomputable section open Set MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S04.Header.ScalarTestSubspace /-- Exactly the smooth compact scalar tests strictly inside the interval. -/ def testSubmodule (a b : ℝ) : Submodule ℝ (ℝ → ℝ) where carrier := {f | ContDiff ℝ ∞ f ∧ HasCompactSupport f ∧ tsupport f ⊆ Ioo a b} zero_mem' := ⟨contDiff_const, HasCompactSupport.zero, by simp⟩ add_mem' := by intro f g hf hg exact ⟨hf.1.add hg.1, hf.2.1.add hg.2.1, (tsupport_add f g).trans (union_subset hf.2.2 hg.2.2)⟩ smul_mem' := by intro c f hf refine ⟨contDiff_const.mul hf.1, ?_, ?_⟩ · exact HasCompactSupport.smul_left hf.2.1 (f := fun _ : ℝ => c) · exact (tsupport_smul_subset_right (fun _ : ℝ => c) f).trans hf.2.2 abbrev Test (a b : ℝ) := ↥(testSubmodule a b) variable {a b : ℝ} theorem contDiff (φ : Test a b) : ContDiff ℝ ∞ (φ : ℝ → ℝ) := φ.property.1 theorem hasCompactSupport (φ : Test a b) : HasCompactSupport (φ : ℝ → ℝ) := φ.property.2.1 theorem tsupport_subset (φ : Test a b) : tsupport (φ : ℝ → ℝ) ⊆ Ioo a b := φ.property.2.2 theorem continuous (φ : Test a b) : Continuous (φ : ℝ → ℝ) := (contDiff φ).continuous def mk (f : ℝ → ℝ) (hf : ContDiff ℝ ∞ f) (hc : HasCompactSupport f) (hU : tsupport f ⊆ Ioo a b) : Test a b := ⟨f, hf, hc, hU⟩ theorem mk_apply (f : ℝ → ℝ) (hf : ContDiff ℝ ∞ f) (hc : HasCompactSupport f) (hU : tsupport f ⊆ Ioo a b) (x : ℝ) : (mk f hf hc hU : ℝ → ℝ) x = f x := rfl theorem ext {φ ψ : Test a b} (h : ∀ x, (φ : ℝ → ℝ) x = (ψ : ℝ → ℝ) x) : φ = ψ := Subtype.ext (funext h) /-- Quantification over this carrier is exactly quantification over the actual smooth compact interval functions; neither direction loses tests. -/ theorem forall_iff {P : (ℝ → ℝ) → Prop} : (∀ φ : Test a b, P (φ : ℝ → ℝ)) ↔ ∀ f : ℝ → ℝ, ContDiff ℝ ∞ f → HasCompactSupport f → tsupport f ⊆ Ioo a b → P f := by constructor · intro h f hf hc hU exact h (mk f hf hc hU) · intro h φ exact h (φ : ℝ → ℝ) (contDiff φ) (hasCompactSupport φ) (tsupport_subset φ) theorem zero_apply (x : ℝ) : ((0 : Test a b) : ℝ → ℝ) x = 0 := rfl theorem add_apply (φ ψ : Test a b) (x : ℝ) : ((φ + ψ : Test a b) : ℝ → ℝ) x = (φ : ℝ → ℝ) x + (ψ : ℝ → ℝ) x := rfl theorem smul_apply (c : ℝ) (φ : Test a b) (x : ℝ) : ((c • φ : Test a b) : ℝ → ℝ) x = c * (φ : ℝ → ℝ) x := rfl theorem coe_add (φ ψ : Test a b) : ((φ + ψ : Test a b) : ℝ → ℝ) = (φ : ℝ → ℝ) + (ψ : ℝ → ℝ) := rfl theorem coe_smul (c : ℝ) (φ : Test a b) : ((c • φ : Test a b) : ℝ → ℝ) = c • (φ : ℝ → ℝ) := rfl /-- The inherited submodule inclusion is an actual scalar linear map. -/ def inclusion : Test a b →ₗ[ℝ] (ℝ → ℝ) := (testSubmodule a b).subtype theorem inclusion_apply (φ : Test a b) (x : ℝ) : inclusion φ x = (φ : ℝ → ℝ) x := rfl /-- Evaluation is a sample scalar test linear functional. -/ def evaluation (x : ℝ) : Test a b →ₗ[ℝ] ℝ where toFun φ := (φ : ℝ → ℝ) x map_add' φ ψ := rfl map_smul' c φ := rfl theorem radial_test_memLp {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) (φ : Test a b) : MemLp (fun x => (φ : ℝ → ℝ) x / Real.sqrt (W x)) 2 (volume.restrict (Ioo a b)) := by have hmeas : AEStronglyMeasurable (fun x => (φ : ℝ → ℝ) x / Real.sqrt (W x)) (volume.restrict (Ioo a b)) := ((continuous φ).measurable.div (Real.continuous_sqrt.comp hW).measurable).aestronglyMeasurable by_cases hne : (tsupport (φ : ℝ → ℝ)).Nonempty · obtain ⟨xmin, hxmin, hmin⟩ := (hasCompactSupport φ).exists_isMinOn hne hW.continuousOn have hm : 0 < W xmin := hpos xmin ((tsupport_subset φ) hxmin) obtain ⟨M, hM⟩ := (continuous φ).bounded_above_of_compact_support (hasCompactSupport φ) have hM0 : 0 ≤ M := (norm_nonneg ((φ : ℝ → ℝ) 0)).trans (hM 0) apply MemLp.of_bound hmeas (M / Real.sqrt (W xmin)) filter_upwards [ae_restrict_mem measurableSet_Ioo] with x hx by_cases hxK : x ∈ tsupport (φ : ℝ → ℝ) · have hxW : 0 < W x := hpos x hx have hxS : 0 < Real.sqrt (W x) := Real.sqrt_pos.2 hxW have hmS : 0 < Real.sqrt (W xmin) := Real.sqrt_pos.2 hm calc ‖(φ : ℝ → ℝ) x / Real.sqrt (W x)‖ = ‖(φ : ℝ → ℝ) x‖ / Real.sqrt (W x) := by rw [norm_div, Real.norm_of_nonneg hxS.le] _ ≤ M / Real.sqrt (W x) := div_le_div_of_nonneg_right (hM x) hxS.le _ ≤ M / Real.sqrt (W xmin) := div_le_div_of_nonneg_left hM0 hmS (Real.sqrt_le_sqrt (hmin hxK)) · rw [image_eq_zero_of_notMem_tsupport hxK] simp only [zero_div, norm_zero] exact div_nonneg hM0 (Real.sqrt_nonneg _) · have hz : φ = (0 : Test a b) := by apply ext intro x apply image_eq_zero_of_notMem_tsupport exact fun hx => hne ⟨x, hx⟩ simpa [hz] using (memLp_zero : MemLp (fun _ : ℝ => (0 : ℝ)) 2 (volume.restrict (Ioo a b))) /-- The actual test-image map used by Hahn--Banach; it is not an abstract assumed Hilbert realization. -/ def radialTestL2Map {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) : Test a b →ₗ[ℝ] Lp ℝ 2 (volume.restrict (Ioo a b)) where toFun φ := (radial_test_memLp hW hpos φ).toLp (fun x => (φ : ℝ → ℝ) x / Real.sqrt (W x)) map_add' φ ψ := by rw [← MemLp.toLp_add] apply MemLp.toLp_congr filter_upwards with x simp only [add_apply, Pi.add_apply] ring map_smul' c φ := by rw [← MemLp.toLp_const_smul] apply MemLp.toLp_congr filter_upwards with x simp only [smul_apply, Pi.smul_apply, RingHom.id_apply, smul_eq_mul] ring theorem radialTestL2Map_ae {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) (φ : Test a b) : (radialTestL2Map hW hpos φ : ℝ → ℝ) =ᵐ[volume.restrict (Ioo a b)] fun x => (φ : ℝ → ℝ) x / Real.sqrt (W x) := (radial_test_memLp hW hpos φ).coeFn_toLp /-- Exact normalization of the actual weighted test norm. This is the norm appearing in the nonatomic-rank dual estimate. -/ theorem radialTestL2Map_norm_sq {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) (φ : Test a b) : ‖radialTestL2Map hW hpos φ‖ ^ 2 = ∫ x in Ioo a b, ((φ : ℝ → ℝ) x) ^ 2 / W x := by let z := radialTestL2Map hW hpos φ calc ‖z‖ ^ 2 = ∫ x in Ioo a b, (z x) ^ 2 := by simpa only [L2.inner_def, Real.inner_apply, pow_two] using (real_inner_self_eq_norm_sq z).symm _ = ∫ x in Ioo a b, ((φ : ℝ → ℝ) x) ^ 2 / W x := by apply integral_congr_ae filter_upwards [radialTestL2Map_ae hW hpos φ, ae_restrict_mem measurableSet_Ioo] with x hx hxU rw [hx, div_pow, Real.sq_sqrt (hpos x hxU).le] theorem radialTestL2Map_norm {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) (φ : Test a b) : ‖radialTestL2Map hW hpos φ‖ = Real.sqrt (∫ x in Ioo a b, ((φ : ℝ → ℝ) x) ^ 2 / W x) := by rw [← radialTestL2Map_norm_sq hW hpos φ, Real.sqrt_sq (norm_nonneg _)] end Polya26.Strike.S04.Header.ScalarTestSubspace end end /- END M019 -/ /- BEGIN M020 -/ section /-! The inverse-quantile radial transport: bounded test functionals are represented without assuming that their image is dense in L2. The concrete layer-cake/rank-map construction is owned by CDFRank; the all-height-weight estimate is owned by FunctionalMinkowski. -/ noncomputable section open MeasureTheory Set Filter open scoped Topology ContDiff namespace Polya26.Strike.S03.Header.ScalarCarrierRadialPilot section HilbertRepresentation variable {H : Type*} [NormedAddCommGroup H] [InnerProductSpace ℝ H] [CompleteSpace H] /-- Hahn--Banach and Riesz on the actual test-image subspace. No closedness or density of that subspace is needed. -/ theorem exists_representer_on_subspace (S : Submodule ℝ H) (L : S →L[ℝ] ℝ) {C : ℝ} (hC : 0 ≤ C) (hL : ‖L‖ ≤ C) : ∃ z : H, ‖z‖ ≤ C ∧ ∀ x : S, inner ℝ z (x : H) = L x := by obtain ⟨G, hG, hnorm⟩ := exists_extension_norm_eq S L refine ⟨(InnerProductSpace.toDual ℝ H).symm G, ?_, ?_⟩ · rw [(InnerProductSpace.toDual ℝ H).symm.norm_map, hnorm] exact hL · intro x rw [InnerProductSpace.toDual_symm_apply] exact hG x variable {T : Type*} [AddCommGroup T] [Module ℝ T] /-- A bounded functional that only sees the Hilbert image descends to that image and has a Hilbert representer. The source need not be normed, the image map need not be injective, and its image need not be dense. -/ theorem exists_representer_of_bound (A : T →ₗ[ℝ] H) (L : T →ₗ[ℝ] ℝ) {C : ℝ} (hC : 0 ≤ C) (hbound : ∀ t, |L t| ≤ C * ‖A t‖) : ∃ z : H, ‖z‖ ≤ C ∧ ∀ t, inner ℝ z (A t) = L t := by classical obtain ⟨R, hR⟩ := A.rangeRestrict.exists_rightInverse_of_surjective A.range_rangeRestrict have hAR (x : A.range) : A (R x) = (x : H) := by exact congrArg Subtype.val (LinearMap.congr_fun hR x) let l : A.range →ₗ[ℝ] ℝ := L.comp R have hl (x : A.range) : ‖l x‖ ≤ C * ‖x‖ := by simpa only [l, LinearMap.comp_apply, Real.norm_eq_abs, hAR, Submodule.norm_coe] using hbound (R x) let lc : A.range →L[ℝ] ℝ := l.mkContinuous C hl obtain ⟨z, hz, hrepr⟩ := exists_representer_on_subspace A.range lc hC (l.mkContinuous_norm_le hC hl) refine ⟨z, hz, ?_⟩ intro t have hzero : A (R (A.rangeRestrict t) - t) = 0 := by rw [map_sub, hAR] change A t - A t = 0 exact sub_self _ have hzL : L (R (A.rangeRestrict t) - t) = 0 := by have hb := hbound (R (A.rangeRestrict t) - t) rw [hzero, norm_zero, mul_zero] at hb exact abs_eq_zero.mp (le_antisymm hb (abs_nonneg _)) have hval : L (R (A.rangeRestrict t)) = L t := by rw [map_sub] at hzL exact sub_eq_zero.mp hzL have heq := hrepr (A.rangeRestrict t) change inner ℝ z (A t) = L (R (A.rangeRestrict t)) at heq exact heq.trans hval end HilbertRepresentation section L2Representation variable {X : Type*} [MeasurableSpace X] {μ : Measure X} variable {T : Type*} [AddCommGroup T] [Module ℝ T] /-- The concrete scalar L2 version: the representer's actual squared integral has the same energy bound as its Hilbert norm. -/ theorem exists_l2_representer_of_bound (A : T →ₗ[ℝ] Lp ℝ 2 μ) (L : T →ₗ[ℝ] ℝ) {C : ℝ} (hC : 0 ≤ C) (hbound : ∀ t, |L t| ≤ C * ‖A t‖) : ∃ z : Lp ℝ 2 μ, (∫ x, (z x) ^ 2 ∂μ) ≤ C ^ 2 ∧ ∀ t, (∫ x, z x * (A t) x ∂μ) = L t := by obtain ⟨z, hz, hrepr⟩ := exists_representer_of_bound A L hC hbound refine ⟨z, ?_, ?_⟩ · have hself : (∫ x, (z x) ^ 2 ∂μ) = ‖z‖ ^ 2 := by simpa only [L2.inner_def, Real.inner_apply, pow_two] using (real_inner_self_eq_norm_sq z) rw [hself] nlinarith [norm_nonneg z] · intro t simpa only [L2.inner_def, Real.inner_apply] using hrepr t /-- Undoing the square-root weight produces an actual weak derivative. The concrete test image is `phi/sqrt W`; the original area measure is retained throughout. -/ theorem exists_weighted_weak_derivative (W : X → ℝ) (hW : ∀ᵐ x ∂μ, 0 < W x) (A : T →ₗ[ℝ] Lp ℝ 2 μ) (L : T →ₗ[ℝ] ℝ) (phi : T → X → ℝ) (himage : ∀ t, (A t : X → ℝ) =ᵐ[μ] fun x => phi t x / Real.sqrt (W x)) {C : ℝ} (hC : 0 ≤ C) (hbound : ∀ t, |L t| ≤ C * ‖A t‖) : ∃ h : X → ℝ, Integrable (fun x => W x * (h x) ^ 2) μ ∧ (∫ x, W x * (h x) ^ 2 ∂μ) ≤ C ^ 2 ∧ (∀ t, (∫ x, h x * phi t x ∂μ) = -L t) ∧ ∃ z : Lp ℝ 2 μ, ∀ x, h x = -z x / Real.sqrt (W x) := by obtain ⟨z, hz, hrepr⟩ := exists_l2_representer_of_bound A L hC hbound let h : X → ℝ := fun x => -z x / Real.sqrt (W x) have henergy_ae : (fun x => W x * (h x) ^ 2) =ᵐ[μ] fun x => (z x) ^ 2 := by filter_upwards [hW] with x hx have hs : Real.sqrt (W x) ≠ 0 := ne_of_gt (Real.sqrt_pos.2 hx) dsimp [h] rw [div_pow, neg_sq, Real.sq_sqrt hx.le] field_simp refine ⟨h, (Lp.memLp z).integrable_sq.congr henergy_ae.symm, ?_, ?_, z, fun _ => rfl⟩ · calc (∫ x, W x * (h x) ^ 2 ∂μ) = ∫ x, (z x) ^ 2 ∂μ := by exact integral_congr_ae henergy_ae _ ≤ C ^ 2 := hz · intro t calc (∫ x, h x * phi t x ∂μ) = -(∫ x, z x * (A t) x ∂μ) := by rw [← integral_neg] apply integral_congr_ae filter_upwards [himage t] with x hx rw [hx] dsimp [h] ring _ = -L t := by rw [hrepr t] end L2Representation section GateTraces /-- The outer gate of a decreasing quantile is determined by its actual essential infimum. This proof uses no differentiability assumption. -/ theorem outer_gate_trace {f : ℝ → ℝ} {a b gate : ℝ} (hab : a < b) (hf : AntitoneOn f (Ioo a b)) (hlower : ∀ x ∈ Ioo a b, gate ≤ f x) (happrox : ∀ ε > 0, ∃ x ∈ Ioo a b, f x < gate + ε) : Tendsto f (𝓝[<] b) (𝓝 gate) := by apply Metric.tendsto_nhds.mpr intro ε hε obtain ⟨c, hc, hfc⟩ := happrox ε hε have hleft : ∀ᶠ x in 𝓝[<] b, c < x := (eventually_gt_nhds hc.2).filter_mono nhdsWithin_le_nhds filter_upwards [hleft, eventually_mem_nhdsWithin] with x hcx hxb have hx : x ∈ Ioo a b := ⟨lt_trans hc.1 hcx, hxb⟩ have hmono : f x ≤ f c := hf hc hx hcx.le rw [Real.dist_eq, abs_of_nonneg (sub_nonneg.mpr (hlower x hx))] linarith /-- The left gate of a decreasing quantile is its actual essential supremum on the trunk window. -/ theorem inner_gate_trace {f : ℝ → ℝ} {a b gate : ℝ} (hab : a < b) (hf : AntitoneOn f (Ioo a b)) (hupper : ∀ x ∈ Ioo a b, f x ≤ gate) (happrox : ∀ ε > 0, ∃ x ∈ Ioo a b, gate - ε < f x) : Tendsto f (𝓝[>] a) (𝓝 gate) := by apply Metric.tendsto_nhds.mpr intro ε hε obtain ⟨c, hc, hfc⟩ := happrox ε hε have hright : ∀ᶠ x in 𝓝[>] a, x < c := (eventually_lt_nhds hc.1).filter_mono nhdsWithin_le_nhds filter_upwards [hright, eventually_mem_nhdsWithin] with x hxc hax have hx : x ∈ Ioo a b := ⟨hax, lt_trans hxc hc.2⟩ have hmono : f c ≤ f x := hf hx hc hxc.le rw [Real.dist_eq, abs_of_nonpos (sub_nonpos.mpr (hupper x hx))] linarith end GateTraces section LocalWeightIntegrability /-- Actual weighted energy integrability is exactly ordinary L2 membership of the square-root-weighted derivative. -/ theorem memLp_sqrt_mul_of_integrable_weighted_sq {X : Type*} [MeasurableSpace X] {μ : Measure X} {h W : X → ℝ} (hh : AEStronglyMeasurable h μ) (hW : AEMeasurable W μ) (hpos : ∀ᵐ x ∂μ, 0 ≤ W x) (hint : Integrable (fun x => W x * (h x) ^ 2) μ) : MemLp (fun x => Real.sqrt (W x) * h x) 2 μ := by have hsqrt : AEStronglyMeasurable (fun x => Real.sqrt (W x)) μ := (Real.continuous_sqrt.measurable.comp_aemeasurable hW).aestronglyMeasurable apply (memLp_two_iff_integrable_sq (hsqrt.mul hh)).mpr apply hint.congr filter_upwards [hpos] with x hx change W x * (h x) ^ 2 = (Real.sqrt (W x) * h x) ^ 2 rw [mul_pow, Real.sq_sqrt hx] /-- Undoing a positive square-root weight is locally an ordinary L2 operation whenever the actual weight has a positive lower bound. -/ theorem memLp_div_sqrt_of_lower_bound {X : Type*} [MeasurableSpace X] {μ : Measure X} {z W : X → ℝ} {m : ℝ} (hm : 0 < m) (hz : MemLp z 2 μ) (hW : AEMeasurable W μ) (hbound : ∀ᵐ x ∂μ, m ≤ W x) : MemLp (fun x => -z x / Real.sqrt (W x)) 2 μ := by have hmeas : AEStronglyMeasurable (fun x => -z x / Real.sqrt (W x)) μ := (hz.aestronglyMeasurable.aemeasurable.neg.div (Real.continuous_sqrt.measurable.comp_aemeasurable hW)).aestronglyMeasurable apply (hz.const_smul (Real.sqrt m)⁻¹).mono hmeas filter_upwards [hbound] with x hx have hmS : 0 < Real.sqrt m := Real.sqrt_pos.2 hm have hxW : 0 < W x := hm.trans_le hx have hxS : 0 < Real.sqrt (W x) := Real.sqrt_pos.2 hxW have hS : Real.sqrt m ≤ Real.sqrt (W x) := Real.sqrt_le_sqrt hx calc ‖-z x / Real.sqrt (W x)‖ = ‖z x‖ / Real.sqrt (W x) := by rw [norm_div, norm_neg, Real.norm_of_nonneg hxS.le] _ ≤ ‖z x‖ / Real.sqrt m := div_le_div_of_nonneg_left (norm_nonneg _) hmS hS _ = ‖(Real.sqrt m)⁻¹ • z x‖ := by rw [norm_smul, Real.norm_of_nonneg (inv_nonneg.mpr hmS.le)] simp [div_eq_mul_inv, mul_comm] /-- For the actual continuous positive radial weights, the represented weighted derivative is locally integrable on its ORIGINAL area window. Only compact interior restrictions are taken. -/ theorem locallyIntegrableOn_div_sqrt {U : Set ℝ} (hU : IsOpen U) {z W : ℝ → ℝ} (hz : MemLp z 2 (volume.restrict U)) (hW : Continuous W) (hpos : ∀ x ∈ U, 0 < W x) : LocallyIntegrableOn (fun x => -z x / Real.sqrt (W x)) U volume := by intro x hx let V : Set ℝ := U ∩ W ⁻¹' Ioi (W x / 2) have hV : IsOpen V := hU.inter (isOpen_Ioi.preimage hW) have hxV : x ∈ V := by refine ⟨hx, ?_⟩ change W x / 2 < W x linarith [hpos x hx] obtain ⟨l, r, hxlr, hmem, hsub⟩ := exists_Icc_mem_subset_of_mem_nhds (hV.mem_nhds hxV) have hKU : Icc l r ⊆ U := hsub.trans inter_subset_left have hzK : MemLp z 2 (volume.restrict (Icc l r)) := hz.mono_measure (Measure.restrict_mono hKU le_rfl) have hlower : ∀ᵐ y ∂volume.restrict (Icc l r), W x / 2 ≤ W y := by filter_upwards [ae_restrict_mem measurableSet_Icc] with y hy exact (hsub hy).2.le have hhK := memLp_div_sqrt_of_lower_bound (by linarith [hpos x hx]) hzK hW.measurable.aemeasurable hlower haveI : IsFiniteMeasure (volume.restrict (Icc l r)) := inferInstance have hi : IntegrableOn (fun y => -z y / Real.sqrt (W y)) (Icc l r) volume := memLp_one_iff_integrable.mp (hhK.mono_exponent (by norm_num)) exact ⟨Icc l r, nhdsWithin_le_nhds hmem, hi⟩ /-- Weighted energy with an actual positive lower bound controls the derivative all the way to a finite gate. In particular W=s has lower bound epsilon on (epsilon,a), and the wrapping weight has a strictly positive lower bound at both trunk gates. -/ theorem intervalIntegrable_of_weighted_sq {h W : ℝ → ℝ} {l r m : ℝ} (hlr : l ≤ r) (hm : 0 < m) (hh : AEStronglyMeasurable h (volume.restrict (Ioo l r))) (hint : IntegrableOn (fun x => W x * (h x) ^ 2) (Ioo l r) volume) (hbound : ∀ x ∈ Ioo l r, m ≤ W x) : IntervalIntegrable h volume l r := by have hsquare : IntegrableOn (fun x => (h x) ^ 2) (Ioo l r) volume := by apply (hint.const_mul m⁻¹).mono' (hh.pow 2) filter_upwards [ae_restrict_mem measurableSet_Ioo] with x hx change ‖(h x) ^ 2‖ ≤ m⁻¹ * (W x * (h x) ^ 2) rw [Real.norm_of_nonneg (sq_nonneg _)] have hproduct := mul_le_mul_of_nonneg_right (hbound x hx) (sq_nonneg (h x)) calc (h x) ^ 2 ≤ (W x * (h x) ^ 2) / m := by apply (le_div_iff₀ hm).mpr simpa [mul_comm] using hproduct _ = m⁻¹ * (W x * (h x) ^ 2) := by ring have hLp : MemLp h 2 (volume.restrict (Ioo l r)) := (memLp_two_iff_integrable_sq hh).mpr hsquare have hi : IntegrableOn h (Ioo l r) volume := memLp_one_iff_integrable.mp (hLp.mono_exponent (by norm_num)) exact (intervalIntegrable_iff_integrableOn_Ioo_of_le hlr).mpr hi end LocalWeightIntegrability section WeakFTC /-- Compact subsets of an actual open interval admit strict interior bounds. This is used to keep primitive tests inside their original profile window. -/ theorem compact_interval_bounds {K : Set ℝ} {a b : ℝ} (hK : IsCompact K) (hKab : K ⊆ Ioo a b) (hab : a < b) : ∃ l r, a < l ∧ l < r ∧ r < b ∧ K ⊆ Ioo l r := by by_cases hne : K.Nonempty · obtain ⟨xmin, hmin, hxmin⟩ := hK.exists_isMinOn hne continuousOn_id obtain ⟨xmax, hmax, hxmax⟩ := hK.exists_isMaxOn hne continuousOn_id refine ⟨(a + xmin) / 2, (xmax + b) / 2, ?_, ?_, ?_, ?_⟩ · linarith [(hKab hmin).1] · have horder : xmin ≤ xmax := hxmin hmax linarith [(hKab hmin).1, (hKab hmax).2] · linarith [(hKab hmax).2] · intro x hx have hl : xmin ≤ x := hxmin hx have hr : x ≤ xmax := hxmax hx constructor <;> linarith [(hKab hmin).1, (hKab hmax).2] · refine ⟨a + (b - a) / 3, a + 2 * (b - a) / 3, ?_, ?_, ?_, ?_⟩ · linarith · linarith · linarith · exact (not_nonempty_iff_eq_empty.mp hne) ▸ empty_subset _ /-- The primitive of an actual smooth compact test with zero integral is again a smooth compact test. Its support stays between the original strict enclosing bounds. This supplies the one-dimensional fundamental lemma without a missing full test-density theorem. -/ theorem compact_primitive_of_integral_zero {g : ℝ → ℝ} {l r : ℝ} (hg : ContDiff ℝ ∞ g) (hsupp : tsupport g ⊆ Ioo l r) (hint : (∫ x, g x) = 0) : ContDiff ℝ ∞ (fun x => ∫ t in l..x, g t) ∧ HasCompactSupport (fun x => ∫ t in l..x, g t) ∧ tsupport (fun x => ∫ t in l..x, g t) ⊆ Icc l r ∧ (∀ x, deriv (fun x => ∫ t in l..x, g t) x = g x) := by let F : ℝ → ℝ := fun x => ∫ t in l..x, g t have hderiv (x : ℝ) : HasDerivAt F (g x) x := (hg.continuous.integral_hasStrictDerivAt l x).hasDerivAt have hd : deriv F = g := funext fun x => (hderiv x).deriv have hdiff : ContDiff ℝ ∞ F := by apply contDiff_infty_iff_deriv.mpr refine ⟨fun x => (hderiv x).differentiableAt, ?_⟩ rw [hd] exact hg have hzero (y : ℝ) (hy : y ∉ Ioo l r) : g y = 0 := by by_contra hgy exact hy (hsupp (subset_tsupport g hgy)) have hFzero (x : ℝ) (hx : x ∉ Icc l r) : F x = 0 := by by_cases hxl : x < l · dsimp [F] rw [intervalIntegral.integral_symm] have hz : (∫ t in x..l, g t) = 0 := by calc (∫ t in x..l, g t) = ∫ _ in x..l, (0 : ℝ) := by apply intervalIntegral.integral_congr_Ioo_of_le hxl.le intro t ht exact hzero t (fun hmem => (not_lt_of_ge ht.2.le) hmem.1) _ = 0 := by simp simp [hz] · have hrx : r < x := by simp only [mem_Icc, not_and_or, not_le] at hx rcases hx with hx | hx · exact False.elim (hxl hx) · exact hx have hsg : Function.support g ⊆ Ioc l x := by intro t ht have hlt := hsupp (subset_tsupport g ht) exact ⟨hlt.1, hlt.2.le.trans hrx.le⟩ exact (intervalIntegral.integral_eq_integral_of_support_subset hsg).trans hint have hsupport : Function.support F ⊆ Icc l r := by intro x hx by_contra hnot exact hx (hFzero x hnot) have htsupport : tsupport F ⊆ Icc l r := by exact closure_minimal hsupport isClosed_Icc refine ⟨hdiff, HasCompactSupport.of_support_subset_isCompact isCompact_Icc hsupport, htsupport, ?_⟩ intro x exact congrFun hd x /-- A locally integrable profile multiplied by a continuous compact test in its actual window is globally integrable. -/ theorem integrable_profile_mul_test {F g : ℝ → ℝ} {U : Set ℝ} (hF : LocallyIntegrableOn F U volume) (hg : Continuous g) (hgc : HasCompactSupport g) (hgU : tsupport g ⊆ U) : Integrable (fun x => F x * g x) volume := by have hi := hF.integrableOn_compact_subset hgU hgc have hm : IntegrableOn (fun x => F x * g x) (tsupport g) volume := hi.mul_continuousOn hg.continuousOn hgc apply hm.integrable_of_forall_notMem_eq_zero intro x hx simp [image_eq_zero_of_notMem_tsupport hx] /-- A normalized actual smooth bump inside any nonempty open interval. -/ theorem exists_normalized_interval_test {a b : ℝ} (hab : a < b) : ∃ ψ : ℝ → ℝ, ContDiff ℝ ∞ ψ ∧ HasCompactSupport ψ ∧ tsupport ψ ⊆ Ioo a b ∧ (∫ x, ψ x) = 1 := by let c : ℝ := (a + b) / 2 let bump : ContDiffBump c := { rIn := (b - a) / 8 rOut := (b - a) / 4 rIn_pos := by linarith rIn_lt_rOut := by linarith } refine ⟨bump.normed volume, bump.contDiff_normed, bump.hasCompactSupport_normed, ?_, bump.integral_normed⟩ intro x hx rw [bump.tsupport_normed_eq] at hx have hdist : |x - c| ≤ (b - a) / 4 := by simpa only [Metric.mem_closedBall, Real.dist_eq] using hx rw [abs_le] at hdist dsimp [c] at hdist constructor <;> linarith /-- The local one-dimensional fundamental lemma for zero weak derivative. The primitive test is constructed in the same actual open interval, rather than supplied by a density hypothesis. -/ theorem ae_constant_of_zero_weak_derivative {F : ℝ → ℝ} {a b : ℝ} (hab : a < b) (hF : LocallyIntegrableOn F (Ioo a b) volume) (hweak : ∀ φ : ℝ → ℝ, ContDiff ℝ ∞ φ → HasCompactSupport φ → tsupport φ ⊆ Ioo a b → (∫ x, F x * deriv φ x) = 0) : ∃ c : ℝ, ∀ᵐ x, x ∈ Ioo a b → F x = c := by obtain ⟨ψ, hψ, hψc, hψU, hψi⟩ := exists_normalized_interval_test hab let c : ℝ := ∫ x, F x * ψ x have hFψ := integrable_profile_mul_test hF hψ.continuous hψc hψU have hminus : LocallyIntegrableOn (fun x => F x - c) (Ioo a b) volume := hF.sub (continuous_const.locallyIntegrable.locallyIntegrableOn _) have hz : ∀ᵐ x, x ∈ Ioo a b → F x - c = 0 := by apply isOpen_Ioo.ae_eq_zero_of_integral_contDiff_smul_eq_zero hminus intro g hg hgc hgU let k : ℝ := ∫ x, g x let g0 : ℝ → ℝ := fun x => g x - k * ψ x have hg0 : ContDiff ℝ ∞ g0 := hg.sub (contDiff_const.mul hψ) have hsupport0 : tsupport g0 ⊆ tsupport g ∪ tsupport ψ := by exact (tsupport_binop_subset (fun x y : ℝ => x - y) (by simp) g (fun x => k * ψ x)).trans (union_subset_union subset_rfl tsupport_mul_subset_right) have hcompact0 : IsCompact (tsupport g0) := (hgc.union hψc).of_isClosed_subset (isClosed_tsupport g0) hsupport0 have hg0U : tsupport g0 ⊆ Ioo a b := hsupport0.trans (union_subset hgU hψU) have hg0i : (∫ x, g0 x) = 0 := by rw [show g0 = fun x => g x - k * ψ x from rfl, integral_sub (hg.continuous.integrable_of_hasCompactSupport hgc) ((hψ.continuous.integrable_of_hasCompactSupport hψc).const_mul k), integral_const_mul, hψi] simp [k] obtain ⟨l, r, hal, hlr, hrb, hbounds⟩ := compact_interval_bounds hcompact0 hg0U hab obtain ⟨hΦ, hΦc, hΦsupp, hΦderiv⟩ := compact_primitive_of_integral_zero hg0 hbounds hg0i have hΦU : tsupport (fun x => ∫ t in l..x, g0 t) ⊆ Ioo a b := by apply hΦsupp.trans intro x hx exact ⟨hal.trans_le hx.1, hx.2.trans_lt hrb⟩ have hzero := hweak (fun x => ∫ t in l..x, g0 t) hΦ hΦc hΦU simp_rw [hΦderiv] at hzero have hFg := integrable_profile_mul_test hF hg.continuous hgc hgU have hidentity : (∫ x, F x * g x) = k * c := by have heq : (∫ x, F x * g0 x) = (∫ x, F x * g x) - k * (∫ x, F x * ψ x) := by have halg : (∫ x, F x * g0 x) = ∫ x, F x * g x - k * (F x * ψ x) := by apply integral_congr_ae filter_upwards with x dsimp [g0] ring rw [halg] rw [integral_sub hFg (hFψ.const_mul k), integral_const_mul] rw [heq] at hzero exact sub_eq_zero.mp hzero have hgi : Integrable g volume := hg.continuous.integrable_of_hasCompactSupport hgc change (∫ x, g x * (F x - c)) = 0 have halg : (∫ x, g x * (F x - c)) = ∫ x, F x * g x - g x * c := by apply integral_congr_ae filter_upwards with x ring rw [halg] rw [integral_sub hFg (hgi.mul_const c), integral_mul_const, hidentity] simp [k, mul_comm] refine ⟨c, ?_⟩ filter_upwards [hz] with x hx hxu exact sub_eq_zero.mp (hx hxu) /-- An actual locally integrable derivative has a continuous primitive on its open profile window. -/ theorem continuousOn_local_primitive {h : ℝ → ℝ} {a b c : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hc : c ∈ Ioo a b) : ContinuousOn (fun x => ∫ t in c..x, h t) (Ioo a b) := by intro x hx have hK : IsCompact ({c, x} : Set ℝ) := (isCompact_singleton : IsCompact ({x} : Set ℝ)).insert c have hKU : ({c, x} : Set ℝ) ⊆ Ioo a b := by intro y hy simp only [mem_insert_iff, mem_singleton_iff] at hy rcases hy with rfl | rfl <;> assumption obtain ⟨l, r, hal, hlr, hrb, hbounds⟩ := compact_interval_bounds hK hKU (hc.1.trans hc.2) have hcl : c ∈ Ioo l r := hbounds (by simp) have hxl : x ∈ Ioo l r := hbounds (by simp) have hsub : Icc l r ⊆ Ioo a b := by intro y hy exact ⟨hal.trans_le hy.1, hy.2.trans_lt hrb⟩ have hi : IntervalIntegrable h volume l r := by apply (intervalIntegrable_iff_integrableOn_Icc_of_le hlr.le).mpr exact hh.integrableOn_compact_subset hsub isCompact_Icc have hcont : ContinuousOn (fun x => ∫ t in c..x, h t) (Icc l r) := by simpa [uIcc_of_le hlr.le] using (Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral hi (by simpa [uIcc_of_le hlr.le] using And.intro hcl.1.le hcl.2.le)).continuousOn apply ContinuousAt.continuousWithinAt apply ContinuousWithinAt.continuousAt (s := Icc l r) _ (Icc_mem_nhds hxl.1 hxl.2) exact hcont x ⟨hxl.1.le, hxl.2.le⟩ /-- Actual local absolute continuity and integration by parts give the primitive's weak derivative identity, including compact tests with arbitrary interior support. -/ theorem local_primitive_weak_identity {h : ℝ → ℝ} {a b c : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hc : c ∈ Ioo a b) (φ : ℝ → ℝ) (hφ : ContDiff ℝ ∞ φ) (hφc : HasCompactSupport φ) (hφU : tsupport φ ⊆ Ioo a b) : (∫ x, (∫ t in c..x, h t) * deriv φ x) = -(∫ x, h x * φ x) := by let G : ℝ → ℝ := fun x => ∫ t in c..x, h t have hK : IsCompact (insert c (tsupport φ)) := hφc.insert c have hKU : insert c (tsupport φ) ⊆ Ioo a b := by intro x hx rcases hx with rfl | hx · exact hc · exact hφU hx obtain ⟨l, r, hal, hlr, hrb, hbounds⟩ := compact_interval_bounds hK hKU (hc.1.trans hc.2) have hcl : c ∈ Ioo l r := hbounds (mem_insert _ _) have hφlr : tsupport φ ⊆ Ioo l r := fun x hx => hbounds (mem_insert_of_mem c hx) have hsub : Icc l r ⊆ Ioo a b := by intro x hx exact ⟨hal.trans_le hx.1, hx.2.trans_lt hrb⟩ have hi : IntervalIntegrable h volume l r := by apply (intervalIntegrable_iff_integrableOn_Icc_of_le hlr.le).mpr exact hh.integrableOn_compact_subset hsub isCompact_Icc have hGac : Polya26.Strike.S02.Header.PrimitiveOn G l r := Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral hi (by simpa [uIcc_of_le hlr.le] using And.intro hcl.1.le hcl.2.le) have hφac : Polya26.Strike.S02.Header.PrimitiveOn φ l r := Polya26.Strike.S02.Header.PrimitiveOn.of_contDiffOn (hφ.of_le (by simp : (1 : ℕ∞ω) ≤ ∞)).contDiffOn have hφl : φ l = 0 := by apply image_eq_zero_of_notMem_tsupport intro hl exact (lt_irrefl l) (hφlr hl).1 have hφr : φ r = 0 := by apply image_eq_zero_of_notMem_tsupport intro hr exact (lt_irrefl r) (hφlr hr).2 have hprod1 : Function.support (fun x => G x * deriv φ x) ⊆ Ioc l r := by intro x hx have hderiv : deriv φ x ≠ 0 := fun hz => hx (by simp [hz]) have hts : x ∈ tsupport φ := support_deriv_subset hderiv exact ⟨(hφlr hts).1, (hφlr hts).2.le⟩ have hprod2 : Function.support (fun x => h x * φ x) ⊆ Ioc l r := by intro x hx have hp : φ x ≠ 0 := fun hz => hx (by simp [hz]) have hts := subset_tsupport φ hp exact ⟨(hφlr hts).1, (hφlr hts).2.le⟩ have hGderiv : (∫ x in l..r, deriv G x * φ x) = ∫ x in l..r, h x * φ x := by apply intervalIntegral.integral_congr_ae filter_upwards [Polya26.Strike.S02.Header.intervalIntegrable_ae_hasDerivAt_integral hi] with x hx hxu have hxx : x ∈ uIcc l r := uIoc_subset_uIcc hxu have hcc : c ∈ uIcc l r := by simpa [uIcc_of_le hlr.le] using And.intro hcl.1.le hcl.2.le rw [(hx hxx c hcc).deriv] calc (∫ x, G x * deriv φ x) = ∫ x in l..r, G x * deriv φ x := (intervalIntegral.integral_eq_integral_of_support_subset hprod1).symm _ = -(∫ x in l..r, deriv G x * φ x) := by simpa [hφl, hφr] using hGac.integral_mul_deriv_eq_deriv_mul hφac _ = -(∫ x in l..r, h x * φ x) := by rw [hGderiv] _ = -(∫ x, h x * φ x) := by rw [intervalIntegral.integral_eq_integral_of_support_subset hprod2] /-- An antitone actual profile that agrees almost everywhere with a continuous function agrees everywhere in its open interval. Plateaus and the choice of values at individual quantile ranks cause no gap. -/ theorem antitone_eqOn_of_ae_eq {f g : ℝ → ℝ} {a b : ℝ} (hf : AntitoneOn f (Ioo a b)) (hg : ContinuousOn g (Ioo a b)) (hae : f =ᵐ[volume.restrict (Ioo a b)] g) : EqOn f g (Ioo a b) := by let S : Set ℝ := {x | x ∈ Ioo a b → f x = g x} have hS : Dense S := volume.dense_of_ae (ae_imp_of_ae_restrict hae) intro x hx have hgc : ContinuousAt g x := hg.continuousAt (isOpen_Ioo.mem_nhds hx) have hleft : x ∈ closure (Ioo a x ∩ S) := by have hm := closure_mono (hS.open_subset_closure_inter (t := Ioo a x) isOpen_Ioo) rw [closure_closure, closure_Ioo hx.1.ne] at hm exact hm ⟨hx.1.le, le_rfl⟩ have hright : x ∈ closure (Ioo x b ∩ S) := by have hm := closure_mono (hS.open_subset_closure_inter (t := Ioo x b) isOpen_Ioo) rw [closure_closure, closure_Ioo hx.2.ne] at hm exact hm ⟨le_rfl, hx.2.le⟩ have hfg : f x ≤ g x := by haveI : NeBot (𝓝[Ioo a x ∩ S] x) := mem_closure_iff_nhdsWithin_neBot.mp hleft have hgt : Tendsto g (𝓝[Ioo a x ∩ S] x) (𝓝 (g x)) := hgc.tendsto.mono_left nhdsWithin_le_nhds apply ge_of_tendsto hgt filter_upwards [eventually_mem_nhdsWithin] with y hy have hyU : y ∈ Ioo a b := ⟨hy.1.1, hy.1.2.trans hx.2⟩ have hyeq : f y = g y := hy.2 hyU rw [← hyeq] exact hf hyU hx hy.1.2.le have hgf : g x ≤ f x := by haveI : NeBot (𝓝[Ioo x b ∩ S] x) := mem_closure_iff_nhdsWithin_neBot.mp hright have hgt : Tendsto g (𝓝[Ioo x b ∩ S] x) (𝓝 (g x)) := hgc.tendsto.mono_left nhdsWithin_le_nhds apply le_of_tendsto hgt filter_upwards [eventually_mem_nhdsWithin] with y hy have hyU : y ∈ Ioo a b := ⟨hx.1.trans hy.1.1, hy.1.2⟩ have hyeq : f y = g y := hy.2 hyU rw [← hyeq] exact hf hx hyU hy.1.1.le exact le_antisymm hfg hgf /-- Local weak FTC first identifies the actual profile almost everywhere, without assuming it was absolutely continuous. -/ theorem ae_local_weak_FTC {f h : ℝ → ℝ} {a b c : ℝ} (hfc : LocallyIntegrableOn f (Ioo a b) volume) (hh : LocallyIntegrableOn h (Ioo a b) volume) (hc : c ∈ Ioo a b) (hweak : ∀ φ : ℝ → ℝ, ContDiff ℝ ∞ φ → HasCompactSupport φ → tsupport φ ⊆ Ioo a b → (∫ x, f x * deriv φ x) = -(∫ x, h x * φ x)) : ∃ d : ℝ, f =ᵐ[volume.restrict (Ioo a b)] fun x => d + ∫ t in c..x, h t := by let G : ℝ → ℝ := fun x => ∫ t in c..x, h t have hGc : ContinuousOn G (Ioo a b) := continuousOn_local_primitive hh hc have hGi : LocallyIntegrableOn G (Ioo a b) volume := hGc.locallyIntegrableOn measurableSet_Ioo have hzero : ∀ φ : ℝ → ℝ, ContDiff ℝ ∞ φ → HasCompactSupport φ → tsupport φ ⊆ Ioo a b → (∫ x, (f x - G x) * deriv φ x) = 0 := by intro φ hφ hφc hφU have hdt : Continuous (deriv φ) := hφ.continuous_deriv (by simp) have hds : HasCompactSupport (deriv φ) := hφc.deriv have hdU : tsupport (deriv φ) ⊆ Ioo a b := tsupport_deriv_subset.trans hφU have hfi := integrable_profile_mul_test hfc hdt hds hdU have hGφ := integrable_profile_mul_test hGi hdt hds hdU simp_rw [sub_mul] rw [integral_sub hfi hGφ, hweak φ hφ hφc hφU, local_primitive_weak_identity hh hc φ hφ hφc hφU] simp obtain ⟨d, hd⟩ := ae_constant_of_zero_weak_derivative (hc.1.trans hc.2) (hfc.sub hGi) hzero have hae : (fun x => f x - G x) =ᵐ[volume.restrict (Ioo a b)] fun _ => d := by exact (ae_restrict_iff' measurableSet_Ioo).mpr hd refine ⟨d, ?_⟩ filter_upwards [hae] with x hx dsimp [G] at hx ⊢ linarith /-- Local weak FTC for an actual antitone inverse quantile. The conclusion is pointwise, including every plateau rank, and uses the actual interval primitive of the represented derivative. -/ theorem local_weak_FTC {f h : ℝ → ℝ} {a b c : ℝ} (hf : Antitone f) (hh : LocallyIntegrableOn h (Ioo a b) volume) (hc : c ∈ Ioo a b) (hweak : ∀ φ : ℝ → ℝ, ContDiff ℝ ∞ φ → HasCompactSupport φ → tsupport φ ⊆ Ioo a b → (∫ x, f x * deriv φ x) = -(∫ x, h x * φ x)) : ∃ d : ℝ, ∀ x ∈ Ioo a b, f x = d + ∫ t in c..x, h t := by obtain ⟨d, hd⟩ := ae_local_weak_FTC (hf.locallyIntegrable.locallyIntegrableOn _) hh hc hweak refine ⟨d, ?_⟩ have hg : ContinuousOn (fun x => d + ∫ t in c..x, h t) (Ioo a b) := continuousOn_const.add (continuousOn_local_primitive hh hc) exact antitone_eqOn_of_ae_eq (hf.antitoneOn _) hg hd /-- The pointwise local weak-FTC representation gives actual absolute continuity on every closed interior interval, with no smoothness substitution for the inverse profile. -/ theorem absolutelyContinuous_of_local_primitive {f h : ℝ → ℝ} {a b c d l r : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hc : c ∈ Ioo a b) (hfeq : ∀ x ∈ Ioo a b, f x = d + ∫ t in c..x, h t) (hlr : uIcc l r ⊆ Ioo a b) : Polya26.Strike.S02.Header.PrimitiveOn f l r := by exact Polya26.Strike.S03.Header.LocalPrimitiveProducer.primitiveOn_of_local_representation hh hc hfeq hlr /-- The actual weak derivative is the ordinary derivative almost everywhere on every closed interior interval. This is the identification needed by the genuine AC prefix integration-by-parts theorem. -/ theorem ae_hasDerivAt_of_local_primitive {f h : ℝ → ℝ} {a b c d l r : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hc : c ∈ Ioo a b) (hfeq : ∀ x ∈ Ioo a b, f x = d + ∫ t in c..x, h t) (hlr : uIcc l r ⊆ Ioo a b) : ∀ᵐ x, x ∈ uIcc l r → HasDerivAt f (h x) x := by let K : Set ℝ := insert c (uIcc l r) have hK : IsCompact K := isCompact_uIcc.insert c have hKU : K ⊆ Ioo a b := by intro x hx rcases hx with rfl | hx · exact hc · exact hlr hx obtain ⟨L, R, haL, hLR, hRb, hbounds⟩ := compact_interval_bounds hK hKU (hc.1.trans hc.2) have hcLR : c ∈ uIcc L R := by have hc' : c ∈ Ioo L R := hbounds (mem_insert _ _) simpa [uIcc_of_le hLR.le] using And.intro hc'.1.le hc'.2.le have hLRU : Icc L R ⊆ Ioo a b := by intro x hx exact ⟨haL.trans_le hx.1, hx.2.trans_lt hRb⟩ have hint : IntervalIntegrable h volume L R := by apply (intervalIntegrable_iff_integrableOn_Icc_of_le hLR.le).mpr exact hh.integrableOn_compact_subset hLRU isCompact_Icc filter_upwards [Polya26.Strike.S02.Header.intervalIntegrable_ae_hasDerivAt_integral hint] with x hx hxlr have hxU : x ∈ Ioo a b := hlr hxlr have hxLR : x ∈ uIcc L R := by have hxb := hbounds (mem_insert_of_mem c hxlr) simpa [uIcc_of_le hLR.le] using And.intro hxb.1.le hxb.2.le have hder := (hx hxLR c hcLR).const_add d apply hder.congr_of_eventuallyEq filter_upwards [isOpen_Ioo.mem_nhds hxU] with y hy using hfeq y hy /-- On a closed interior window, the derivative in the AC API agrees with the represented weighted derivative almost everywhere. -/ theorem ae_deriv_eq_of_local_primitive {f h : ℝ → ℝ} {a b c d l r : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hc : c ∈ Ioo a b) (hfeq : ∀ x ∈ Ioo a b, f x = d + ∫ t in c..x, h t) (hlr : uIcc l r ⊆ Ioo a b) : ∀ᵐ x, x ∈ uIcc l r → deriv f x = h x := by filter_upwards [ae_hasDerivAt_of_local_primitive hh hc hfeq hlr] with x hx hxu exact (hx hxu).deriv /-- Countably many rational closed windows identify the represented derivative almost everywhere on the entire original open window. -/ theorem ae_hasDerivAt_on_open_of_local_primitive {f h : ℝ → ℝ} {a b c d : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hc : c ∈ Ioo a b) (hfeq : ∀ x ∈ Ioo a b, f x = d + ∫ t in c..x, h t) : ∀ᵐ x, x ∈ Ioo a b → HasDerivAt f (h x) x := by have hwindows : ∀ q r : ℚ, ∀ᵐ x, a < (q : ℝ) → (r : ℝ) < b → x ∈ Icc (q : ℝ) (r : ℝ) → HasDerivAt f (h x) x := by intro q r by_cases hqa : a < (q : ℝ) · by_cases hrb : (r : ℝ) < b · by_cases hqr : (q : ℝ) ≤ (r : ℝ) · have hsub : uIcc (q : ℝ) (r : ℝ) ⊆ Ioo a b := by rw [uIcc_of_le hqr] intro x hx exact ⟨hqa.trans_le hx.1, hx.2.trans_lt hrb⟩ filter_upwards [ae_hasDerivAt_of_local_primitive hh hc hfeq hsub] with x hx _ _ hxr exact hx (by simpa [uIcc_of_le hqr] using hxr) · filter_upwards with x _ _ hxr exact False.elim (hqr (hxr.1.trans hxr.2)) · filter_upwards with x _ hr _ exact False.elim (hrb hr) · filter_upwards with x hq _ _ exact False.elim (hqa hq) have hall : ∀ᵐ x, ∀ q r : ℚ, a < (q : ℝ) → (r : ℝ) < b → x ∈ Icc (q : ℝ) (r : ℝ) → HasDerivAt f (h x) x := ae_all_iff.mpr fun q => ae_all_iff.mpr (hwindows q) filter_upwards [hall] with x hx hxU obtain ⟨q, hq1, hq2⟩ := exists_rat_btwn hxU.1 obtain ⟨r, hr1, hr2⟩ := exists_rat_btwn hxU.2 exact hx q r hq1 hr2 ⟨hq2.le, hr1.le⟩ /-- An actual quantile plateau has zero represented derivative almost everywhere. Its original mass remains a constant junction mass, rather than a falsely renormalized high component. -/ theorem ae_derivative_zero_on_plateau {f h : ℝ → ℝ} {a b c d α β gate : ℝ} (hh : LocallyIntegrableOn h (Ioo a b) volume) (hc : c ∈ Ioo a b) (hfeq : ∀ x ∈ Ioo a b, f x = d + ∫ t in c..x, h t) (hsub : Ioo α β ⊆ Ioo a b) (hplateau : ∀ x ∈ Ioo α β, f x = gate) : ∀ᵐ x, x ∈ Ioo α β → h x = 0 := by filter_upwards [ae_hasDerivAt_on_open_of_local_primitive hh hc hfeq] with x hx hxP have hconst : HasDerivAt f 0 x := by apply (hasDerivAt_const x gate).congr_of_eventuallyEq filter_upwards [isOpen_Ioo.mem_nhds hxP] with y hy using hplateau y hy exact (hx (hsub hxP)).unique hconst /-- The actual one-sided outer gate extends the local FTC identity to the gate itself once the derivative is integrable up to that gate. The gate value is a trace; no arbitrary endpoint value of a quantile is used. -/ theorem outer_gate_FTC {f h : ℝ → ℝ} {l b gate v : ℝ} (hlb : l < b) (hint : IntervalIntegrable h volume l b) (hlocal : ∀ x ∈ Ioo l b, f x = v + ∫ t in l..x, h t) (hgate : Tendsto f (𝓝[<] b) (𝓝 gate)) : gate = v + ∫ t in l..b, h t := by let G : ℝ → ℝ := fun x => v + ∫ t in l..x, h t have hGc : ContinuousOn G (Icc l b) := by apply continuousOn_const.add simpa [uIcc_of_le hlb.le] using intervalIntegral.continuousOn_primitive_interval' hint left_mem_uIcc have hGt : Tendsto G (𝓝[<] b) (𝓝 (G b)) := by rw [← nhdsWithin_Ioo_eq_nhdsLT hlb] exact ((hGc b ⟨hlb.le, le_rfl⟩).mono Ioo_subset_Icc_self).tendsto have hfG : f =ᶠ[𝓝[<] b] G := by rw [← nhdsWithin_Ioo_eq_nhdsLT hlb] filter_upwards [eventually_mem_nhdsWithin] with x hx using hlocal x hx exact tendsto_nhds_unique hgate (hGt.congr' hfG.symm) /-- The analogous common trunk trace at the inner gate. This concerns a positive-weight trunk endpoint, not a fictitious branch center trace. -/ theorem inner_gate_FTC {f h : ℝ → ℝ} {a r gate v : ℝ} (har : a < r) (hint : IntervalIntegrable h volume a r) (hlocal : ∀ x ∈ Ioo a r, f x = v + ∫ t in r..x, h t) (hgate : Tendsto f (𝓝[>] a) (𝓝 gate)) : gate = v + ∫ t in r..a, h t := by let G : ℝ → ℝ := fun x => v + ∫ t in r..x, h t have hGc : ContinuousOn G (Icc a r) := by apply continuousOn_const.add simpa [uIcc_of_le har.le] using intervalIntegral.continuousOn_primitive_interval' hint right_mem_uIcc have hGt : Tendsto G (𝓝[>] a) (𝓝 (G a)) := by rw [← nhdsWithin_Ioo_eq_nhdsGT har] exact ((hGc a ⟨le_rfl, har.le⟩).mono Ioo_subset_Icc_self).tendsto have hfG : f =ᶠ[𝓝[>] a] G := by rw [← nhdsWithin_Ioo_eq_nhdsGT har] filter_upwards [eventually_mem_nhdsWithin] with x hx using hlocal x hx exact tendsto_nhds_unique hgate (hGt.congr' hfG.symm) /-- Endpoint representatives of a quantile are replaced only at its two gates. Original area masses and all integrals are unchanged. -/ def gateExtension (f : ℝ → ℝ) (a b leftGate rightGate : ℝ) : ℝ → ℝ := fun x => if x = a then leftGate else if x = b then rightGate else f x theorem gateExtension_ae_eq (f : ℝ → ℝ) (a b leftGate rightGate : ℝ) : gateExtension f a b leftGate rightGate =ᵐ[volume] f := by have hna : ∀ᵐ x ∂volume, x ≠ a := by rw [ae_iff] simp have hnb : ∀ᵐ x ∂volume, x ≠ b := by rw [ae_iff] simp filter_upwards [hna, hnb] with x hxa hxb simp [gateExtension, hxa, hxb] /-- Actual one-sided gate traces close an integrable local primitive into an absolutely continuous profile on the whole finite gate window. Only the endpoint representatives are patched; no inner trace at area zero is assumed for a branch. A truncated branch uses its actual value at a positive interior left endpoint. -/ theorem absolutelyContinuous_gateExtension {f h : ℝ → ℝ} {a b c d leftGate rightGate : ℝ} (hab : a < b) (hint : IntervalIntegrable h volume a b) (hc : c ∈ uIcc a b) (hlocal : ∀ x ∈ Ioo a b, f x = d + ∫ t in c..x, h t) (hleft : Tendsto f (𝓝[>] a) (𝓝 leftGate)) (hright : Tendsto f (𝓝[<] b) (𝓝 rightGate)) : Polya26.Strike.S02.Header.PrimitiveOn (gateExtension f a b leftGate rightGate) a b := by let G : ℝ → ℝ := fun x => d + ∫ t in c..x, h t have hGc : ContinuousOn G (Icc a b) := by apply continuousOn_const.add simpa [uIcc_of_le hab.le] using intervalIntegral.continuousOn_primitive_interval' hint hc have hGa : Tendsto G (𝓝[>] a) (𝓝 (G a)) := by rw [← nhdsWithin_Ioo_eq_nhdsGT hab] exact ((hGc a ⟨le_rfl, hab.le⟩).mono Ioo_subset_Icc_self).tendsto have hGb : Tendsto G (𝓝[<] b) (𝓝 (G b)) := by rw [← nhdsWithin_Ioo_eq_nhdsLT hab] exact ((hGc b ⟨hab.le, le_rfl⟩).mono Ioo_subset_Icc_self).tendsto have hfGa : f =ᶠ[𝓝[>] a] G := by rw [← nhdsWithin_Ioo_eq_nhdsGT hab] filter_upwards [eventually_mem_nhdsWithin] with x hx using hlocal x hx have hfGb : f =ᶠ[𝓝[<] b] G := by rw [← nhdsWithin_Ioo_eq_nhdsLT hab] filter_upwards [eventually_mem_nhdsWithin] with x hx using hlocal x hx have ha : leftGate = G a := tendsto_nhds_unique hleft (hGa.congr' hfGa.symm) have hb : rightGate = G b := tendsto_nhds_unique hright (hGb.congr' hfGb.symm) have hGac : Polya26.Strike.S02.Header.PrimitiveOn G a b := by have hd : Polya26.Strike.S02.Header.PrimitiveOn (fun _ : ℝ => d) a b := Polya26.Strike.S02.Header.PrimitiveOn.const d _ _ exact hd.add (Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral hint hc) apply hGac.congr intro x hx rw [uIcc_of_le hab.le] at hx by_cases hxa : x = a · subst x simpa [gateExtension] using ha.symm · by_cases hxb : x = b · subst x simpa [gateExtension, ne_of_gt hab] using hb.symm · simp only [gateExtension, if_neg hxa, if_neg hxb] exact (hlocal x ⟨lt_of_le_of_ne hx.1 (Ne.symm hxa), lt_of_le_of_ne hx.2 hxb⟩).symm end WeakFTC section ActualTestMap def radialOpenInterval (a b : ℝ) : TopologicalSpace.Opens ℝ := ⟨Ioo a b, isOpen_Ioo⟩ abbrev RadialTest (a b : ℝ) := Polya26.Strike.S04.Header.ScalarTestSubspace.Test a b theorem radial_test_memLp {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) (φ : RadialTest a b) : MemLp (fun x => (φ : ℝ → ℝ) x / Real.sqrt (W x)) 2 (volume.restrict (Ioo a b)) := Polya26.Strike.S04.Header.ScalarTestSubspace.radial_test_memLp hW hpos φ abbrev radialTestL2Map {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) : RadialTest a b →ₗ[ℝ] Lp ℝ 2 (volume.restrict (Ioo a b)) := Polya26.Strike.S04.Header.ScalarTestSubspace.radialTestL2Map hW hpos theorem radialTestL2Map_ae {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) (φ : RadialTest a b) : (radialTestL2Map hW hpos φ : ℝ → ℝ) =ᵐ[volume.restrict (Ioo a b)] fun x => (φ : ℝ → ℝ) x / Real.sqrt (W x) := Polya26.Strike.S04.Header.ScalarTestSubspace.radialTestL2Map_ae hW hpos φ theorem radialTestL2Map_norm_sq {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) (φ : RadialTest a b) : ‖radialTestL2Map hW hpos φ‖ ^ 2 = ∫ x in Ioo a b, ((φ : ℝ → ℝ) x) ^ 2 / W x := Polya26.Strike.S04.Header.ScalarTestSubspace.radialTestL2Map_norm_sq hW hpos φ theorem radialTestL2Map_norm {a b : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) (φ : RadialTest a b) : ‖radialTestL2Map hW hpos φ‖ = Real.sqrt (∫ x in Ioo a b, ((φ : ℝ → ℝ) x) ^ 2 / W x) := Polya26.Strike.S04.Header.ScalarTestSubspace.radialTestL2Map_norm hW hpos φ /-- The physical-height/CDF transport naturally gives a squared dual inequality. Its actual weighted test integral is exactly the Hilbert norm squared used by the density-free radial representation. -/ theorem radial_dual_bound_of_squared {a b : ℝ} {f W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) {D : ℝ} (hD : 0 ≤ D) (hdual : ∀ φ : RadialTest a b, (∫ x, f x * deriv (φ : ℝ → ℝ) x) ^ 2 ≤ D * (∫ x in Ioo a b, ((φ : ℝ → ℝ) x) ^ 2 / W x)) : ∀ φ : RadialTest a b, |∫ x, f x * deriv (φ : ℝ → ℝ) x| ≤ Real.sqrt D * ‖radialTestL2Map hW hpos φ‖ := by intro φ have hb := hdual φ rw [← radialTestL2Map_norm_sq hW hpos φ] at hb have hsq : |∫ x, f x * deriv (φ : ℝ → ℝ) x| ^ 2 ≤ (Real.sqrt D * ‖radialTestL2Map hW hpos φ‖) ^ 2 := by rw [sq_abs, mul_pow, Real.sq_sqrt hD] exact hb exact (sq_le_sq₀ (abs_nonneg _) (mul_nonneg (Real.sqrt_nonneg _) (norm_nonneg _))).mp hsq /- Source-only packaging override. The public theorem has the same type; the direct algebraic functional uses its existing antitonicity premise. Insert inside Polya26.Strike.S03.Header.ScalarCarrierRadialPilot / ActualTestMap. -/ theorem integrable_antitone_mul_test_deriv {a b : ℝ} {f : ℝ → ℝ} (hf : Antitone f) (φ : RadialTest a b) : Integrable (fun x => f x * deriv (φ : ℝ → ℝ) x) volume := integrable_profile_mul_test (hf.locallyIntegrable.locallyIntegrableOn (Ioo a b)) ((Polya26.Strike.S04.Header.ScalarTestSubspace.contDiff φ).continuous_deriv (by simp)) (Polya26.Strike.S04.Header.ScalarTestSubspace.hasCompactSupport φ).deriv (tsupport_deriv_subset.trans (Polya26.Strike.S04.Header.ScalarTestSubspace.tsupport_subset φ)) /-- Direct actual derivative-integral functional. Antitonicity was already an input of the radial-profile bridge and supplies actual integrability. -/ def radialTestFunctionalDirect {a b : ℝ} {f : ℝ → ℝ} (hf : Antitone f) : RadialTest a b →ₗ[ℝ] ℝ where toFun φ := ∫ x, f x * deriv (φ : ℝ → ℝ) x map_add' φ ψ := by have hd : deriv (fun x => ((φ + ψ : RadialTest a b) : ℝ → ℝ) x) = fun x => deriv (φ : ℝ → ℝ) x + deriv (ψ : ℝ → ℝ) x := by funext x change deriv (fun x => (φ : ℝ → ℝ) x + (ψ : ℝ → ℝ) x) x = deriv (φ : ℝ → ℝ) x + deriv (ψ : ℝ → ℝ) x exact deriv_add ((Polya26.Strike.S04.Header.ScalarTestSubspace.contDiff φ).differentiable (by simp)).differentiableAt ((Polya26.Strike.S04.Header.ScalarTestSubspace.contDiff ψ).differentiable (by simp)).differentiableAt simp_rw [hd, mul_add] exact integral_add (integrable_antitone_mul_test_deriv hf φ) (integrable_antitone_mul_test_deriv hf ψ) map_smul' c φ := by have hd : deriv (fun x => ((c • φ : RadialTest a b) : ℝ → ℝ) x) = fun x => c * deriv (φ : ℝ → ℝ) x := by funext x change deriv (fun x => c * (φ : ℝ → ℝ) x) x = c * deriv (φ : ℝ → ℝ) x exact deriv_const_mul c ((Polya26.Strike.S04.Header.ScalarTestSubspace.contDiff φ).differentiable (by simp)).differentiableAt simp only [hd, RingHom.id_apply, smul_eq_mul] simp_rw [mul_left_comm (f _) c] exact integral_const_mul c (fun x => f x * deriv (φ : ℝ → ℝ) x) theorem radialTestFunctionalDirect_eq {a b : ℝ} {f : ℝ → ℝ} (hf : Antitone f) (φ : RadialTest a b) : radialTestFunctionalDirect hf φ = ∫ x, f x * deriv (φ : ℝ → ℝ) x := rfl /-- Same actual inverse-profile bridge statement as the frozen theorem, proved using only the algebraic test functional. No TestFunction topology, continuous derivative operator or continuous integral functional is used. -/ theorem radial_profile_of_dual_bound {a b : ℝ} (hab : a < b) {f W : ℝ → ℝ} (hf : Antitone f) (hW : Continuous W) (hpos : ∀ x ∈ Ioo a b, 0 < W x) {C : ℝ} (hC : 0 ≤ C) (hdual : ∀ φ : RadialTest a b, |∫ x, f x * deriv (φ : ℝ → ℝ) x| ≤ C * ‖radialTestL2Map hW hpos φ‖) : ∃ h : ℝ → ℝ, LocallyIntegrableOn h (Ioo a b) volume ∧ IntegrableOn (fun x => W x * (h x) ^ 2) (Ioo a b) volume ∧ (∫ x in Ioo a b, W x * (h x) ^ 2) ≤ C ^ 2 ∧ (∀ φ : ℝ → ℝ, ContDiff ℝ ∞ φ → HasCompactSupport φ → tsupport (φ : ℝ → ℝ) ⊆ Ioo a b → (∫ x, f x * deriv (φ : ℝ → ℝ) x) = -(∫ x, h x * (φ : ℝ → ℝ) x)) ∧ ∃ d : ℝ, ∀ x ∈ Ioo a b, f x = d + ∫ t in ((a + b) / 2)..x, h t := by have hbound : ∀ φ : RadialTest a b, |radialTestFunctionalDirect hf φ| ≤ C * ‖radialTestL2Map hW hpos φ‖ := by intro φ exact hdual φ have hp : ∀ᵐ x ∂volume.restrict (Ioo a b), 0 < W x := by filter_upwards [ae_restrict_mem measurableSet_Ioo] with x hx using hpos x hx obtain ⟨h, henergy_int, henergy, hrepr, z, hz⟩ := exists_weighted_weak_derivative W hp (radialTestL2Map hW hpos) (radialTestFunctionalDirect hf) (fun φ => φ) (radialTestL2Map_ae hW hpos) hC hbound have hheq : h = fun x => -z x / Real.sqrt (W x) := funext hz have hhloc : LocallyIntegrableOn h (Ioo a b) volume := by rw [hheq] exact locallyIntegrableOn_div_sqrt isOpen_Ioo (Lp.memLp z) hW hpos have hweak : ∀ φ : ℝ → ℝ, ContDiff ℝ ∞ φ → HasCompactSupport φ → tsupport (φ : ℝ → ℝ) ⊆ Ioo a b → (∫ x, f x * deriv (φ : ℝ → ℝ) x) = -(∫ x, h x * (φ : ℝ → ℝ) x) := by intro φ hφ hφc hφU let test : RadialTest a b := Polya26.Strike.S04.Header.ScalarTestSubspace.mk φ hφ hφc hφU have ht := hrepr test rw [radialTestFunctionalDirect_eq] at ht have heq : (∫ x in Ioo a b, h x * (test : ℝ → ℝ) x) = ∫ x, h x * (φ : ℝ → ℝ) x := by apply setIntegral_eq_integral_of_forall_compl_eq_zero intro x hx have hφx : (φ : ℝ → ℝ) x = 0 := by apply image_eq_zero_of_notMem_tsupport exact fun ht => hx (hφU ht) change h x * (φ : ℝ → ℝ) x = 0 rw [hφx, mul_zero] rw [heq] at ht change (∫ x, h x * (φ : ℝ → ℝ) x) = -(∫ x, f x * deriv (φ : ℝ → ℝ) x) at ht linarith refine ⟨h, hhloc, henergy_int, henergy, hweak, ?_⟩ apply local_weak_FTC hf hhloc _ hweak constructor <;> linarith end ActualTestMap end Polya26.Strike.S03.Header.ScalarCarrierRadialPilot end end /- END M020 -/ /- BEGIN M021 -/ section /-! Actual signed smooth-test layer cake from exact inverse superlevels. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology ENNReal namespace Polya26.FaberKrahnDistribution /-- Fubini and the actual one-dimensional FTC give the inverse-profile test identity, without differentiating the distribution function. -/ theorem test_layer_cake_of_superlevels {f A φ : ℝ → ℝ} {a U : ℝ} (ha : 0 < a) (hU : 0 < U) (hf : Measurable f) (hfb : ∀ s, f s ∈ Icc (0 : ℝ) U) (hAb : ∀ t, A t ∈ Icc (0 : ℝ) a) (hlevel : ∀ t, f ⁻¹' Ioi t ∩ Ioo (0 : ℝ) a = Ioo 0 (A t)) (hφ : ContDiff ℝ 1 φ) (hφ0 : φ 0 = 0) : (∫ s in Ioo (0 : ℝ) a, f s * deriv φ s) = ∫ t in Ioo (0 : ℝ) U, φ (A t) := by let μ : Measure ℝ := volume.restrict (Ioo (0 : ℝ) a) let ν : Measure ℝ := volume.restrict (Ioo (0 : ℝ) U) letI : IsFiniteMeasure μ := ⟨by simp only [μ, Measure.restrict_apply_univ, Real.volume_Ioo, sub_zero]; finiteness⟩ letI : IsFiniteMeasure ν := ⟨by simp only [ν, Measure.restrict_apply_univ, Real.volume_Ioo, sub_zero]; finiteness⟩ let G : ℝ × ℝ → ℝ := fun p => if p.2 < f p.1 then deriv φ p.1 else 0 have hd : Continuous (deriv φ) := hφ.continuous_deriv_one have hGm : Measurable G := Measurable.ite (measurableSet_lt measurable_snd (hf.comp measurable_fst)) (hd.measurable.comp measurable_fst) measurable_const have hdi : Integrable (deriv φ) μ := hd.continuousOn.integrableOn_Icc.mono_set Ioo_subset_Icc_self have hGi : Integrable G (μ.prod ν) := by apply (hdi.comp_fst ν).mono hGm.aestronglyMeasurable filter_upwards [] with p dsimp [G] split_ifs <;> simp have hleft (s : ℝ) : (∫ t, G (s, t) ∂ν) = f s * deriv φ s := by change (∫ t in Ioo (0 : ℝ) U, (Iio (f s)).indicator (fun _ => deriv φ s) t) = f s * deriv φ s rw [setIntegral_indicator measurableSet_Iio] have hset : Ioo (0 : ℝ) U ∩ Iio (f s) = Ioo (0 : ℝ) (f s) := by ext t constructor · intro ht exact ⟨ht.1.1, ht.2⟩ · intro ht exact ⟨⟨ht.1, ht.2.trans_le (hfb s).2⟩, ht.2⟩ rw [hset, setIntegral_const, measureReal_def, Real.volume_Ioo, sub_zero, ENNReal.toReal_ofReal (hfb s).1, smul_eq_mul] have hright (t : ℝ) : (∫ s, G (s, t) ∂μ) = φ (A t) := by change (∫ s in Ioo (0 : ℝ) a, (f ⁻¹' Ioi t).indicator (deriv φ) s) = φ (A t) rw [setIntegral_indicator (measurableSet_Ioi.preimage hf), Set.inter_comm, hlevel] have hi : IntervalIntegrable (deriv φ) volume 0 (A t) := hd.intervalIntegrable _ _ calc (∫ s in Ioo (0 : ℝ) (A t), deriv φ s) = ∫ s in (0 : ℝ)..A t, deriv φ s := by rw [intervalIntegral.integral_of_le (hAb t).1, integral_Ioc_eq_integral_Ioo] _ = φ (A t) - φ 0 := intervalIntegral.integral_eq_sub_of_hasDerivAt (fun s _ => (hφ.differentiable (by norm_num) s).hasDerivAt) hi _ = φ (A t) := by rw [hφ0, sub_zero] calc (∫ s in Ioo (0 : ℝ) a, f s * deriv φ s) = ∫ s, (∫ t, G (s, t) ∂ν) ∂μ := by apply integral_congr_ae filter_upwards [] with s exact (hleft s).symm _ = ∫ t, (∫ s, G (s, t) ∂μ) ∂ν := integral_integral_swap hGi _ = ∫ t in Ioo (0 : ℝ) U, φ (A t) := by apply integral_congr_ae filter_upwards [] with t exact hright t end Polya26.FaberKrahnDistribution end end /- END M021 -/ /- BEGIN M022 -/ section /-! Exact positive-boundary radial barrier, independent of planar proof imports. -/ noncomputable section namespace Polya26.Strike.S05.Header.PrimitiveFK /-- A truncated radial Bessel-series polynomial, used only as exact arithmetic. -/ def radialShape (t : ℝ) : ℝ := 1535497836898483 / 1536000000000000 - 684022163101517 / 1536000000000000 * t + 117779436898483 / 1536000000000000 * t ^ 2 - 32862793304551 / 4608000000000000 * t ^ 3 + 2015993900449 / 4608000000000000 * t ^ 4 def radialPhi (t : ℝ) : ℝ := 1 - 289 / 200 * t + 83521 / 160000 * t ^ 2 - 24137569 / 288000000 * t ^ 3 + 6975757441 / 921600000000 * t ^ 4 - 2015993900449 / 4608000000000000 * t ^ 5 def radialPhiD (t : ℝ) : ℝ := -289 / 200 + 83521 / 80000 * t - 24137569 / 96000000 * t ^ 2 + 6975757441 / 230400000000 * t ^ 3 - 2015993900449 / 921600000000000 * t ^ 4 def radialPhiDD (t : ℝ) : ℝ := 83521 / 80000 - 24137569 / 48000000 * t + 6975757441 / 76800000000 * t ^ 2 - 2015993900449 / 230400000000000 * t ^ 3 def radialResidual (t : ℝ) : ℝ := -4 * (t * radialPhiDD t + radialPhiD t) - 289 / 50 * radialPhi t lemma radialResidual_monomial (t : ℝ) : radialResidual t = (582622237229761 / 230400000000000000 : ℝ) * t ^ 5 := by unfold radialResidual radialPhi radialPhiD radialPhiDD ring lemma radialResidual_nonneg {t : ℝ} (ht : 0 ≤ t) (_h1 : t ≤ 1) : 0 ≤ radialResidual t := by rw [radialResidual_monomial] positivity lemma radialPhi_split (t : ℝ) : radialPhi t = (502163101517 / 1536000000000000 : ℝ) + (1 - t) * radialShape t := by unfold radialPhi radialShape ring lemma radialShape_pos {t : ℝ} (ht : 0 ≤ t) (h1 : t ≤ 1) : 0 < radialShape t := by have ht3 : t ^ 3 ≤ 1 := by simpa using pow_le_pow_left₀ ht h1 3 have ht2 := sq_nonneg t have ht4 : 0 ≤ t ^ 4 := pow_nonneg ht 4 unfold radialShape nlinarith lemma radialPhi_pos_closed {t : ℝ} (ht : 0 ≤ t) (h1 : t ≤ 1) : 0 < radialPhi t := by rw [radialPhi_split] have hprod := mul_nonneg (sub_nonneg.mpr h1) (radialShape_pos ht h1).le linarith lemma radialPhi_pos {t : ℝ} (ht : 0 ≤ t) (h1 : t < 1) : 0 < radialPhi t := radialPhi_pos_closed ht h1.le lemma hasDerivAt_radialPhi (t : ℝ) : HasDerivAt radialPhi (radialPhiD t) t := by have ht := hasDerivAt_id t have hd := ((((((hasDerivAt_const (x := t) (1 : ℝ)).sub (ht.mul_const (289 / 200))).add ((ht.pow 2).mul_const (83521 / 160000))).sub ((ht.pow 3).mul_const (24137569 / 288000000))).add ((ht.pow 4).mul_const (6975757441 / 921600000000))).sub ((ht.pow 5).mul_const (2015993900449 / 4608000000000000))) convert hd using 1 <;> (try funext y) <;> norm_num [radialPhi, radialPhiD, Pi.add_apply, Pi.sub_apply, Pi.pow_apply] <;> ring lemma hasDerivAt_radialPhiD (t : ℝ) : HasDerivAt radialPhiD (radialPhiDD t) t := by have ht := hasDerivAt_id t have hd := (((((hasDerivAt_const (x := t) (-289 / 200 : ℝ)).add (ht.mul_const (83521 / 80000))).sub ((ht.pow 2).mul_const (24137569 / 96000000))).add ((ht.pow 3).mul_const (6975757441 / 230400000000))).sub ((ht.pow 4).mul_const (2015993900449 / 921600000000000))) convert hd using 1 <;> (try funext y) <;> norm_num [radialPhiD, radialPhiDD, Pi.add_apply, Pi.sub_apply, Pi.pow_apply] <;> ring end Polya26.Strike.S05.Header.PrimitiveFK end end /- END M022 -/ /- BEGIN M023 -/ section /-! Exact one-dimensional Picone data for the actual polynomial disk barrier. -/ noncomputable section namespace Polya26.Strike.S05.Header.PrimitiveFK open Set MeasureTheory open scoped ENNReal Topology def radialRate (s : ℝ) : ℝ := -(radialPhiD s / radialPhi s) def radialRateD (s : ℝ) : ℝ := (radialPhiD s ^ 2 - radialPhi s * radialPhiDD s) / radialPhi s ^ 2 def piconeF (s : ℝ) : ℝ := s * radialRate s def piconeFD (s : ℝ) : ℝ := radialRate s + s * radialRateD s def piconeG (s : ℝ) : ℝ := s * radialRate s ^ 2 def piconeGD (s : ℝ) : ℝ := radialRate s ^ 2 + 2 * s * radialRate s * radialRateD s lemma radial_log_concavity_eq (s : ℝ) : radialPhiD s ^ 2 - radialPhi s * radialPhiDD s = (83521 / 80000 : ℝ) * s ^ 0 + (-24137569 / 24000000 : ℝ) * s ^ 1 + (6975757441 / 15360000000 : ℝ) * s ^ 2 + (-14111957303143 / 115200000000000 : ℝ) * s ^ 3 + (25052756200879723 / 1105920000000000000 : ℝ) * s ^ 4 + (-1852156092153410219 / 552960000000000000000 : ℝ) * s ^ 5 + (1995108866902341607721 / 5308416000000000000000000 : ℝ) * s ^ 6 + (-14063084452067724991009 / 530841600000000000000000000 : ℝ) * s ^ 7 + (4064231406647572522401601 / 4246732800000000000000000000000 : ℝ) * s ^ 8 := by unfold radialPhiD radialPhi radialPhiDD ring lemma radial_log_concavity_pos {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : 0 < radialPhiD s ^ 2 - radialPhi s * radialPhiDD s := by have h3 : s ^ 3 ≤ s ^ 2 := by calc s ^ 3 = s ^ 2 * s := by ring _ ≤ s ^ 2 * 1 := mul_le_mul_of_nonneg_left h1 (sq_nonneg s) _ = s ^ 2 := mul_one _ have h5 : s ^ 5 ≤ s ^ 4 := by calc s ^ 5 = s ^ 4 * s := by ring _ ≤ s ^ 4 * 1 := mul_le_mul_of_nonneg_left h1 (pow_nonneg hs 4) _ = s ^ 4 := mul_one _ have h7 : s ^ 7 ≤ s ^ 6 := by calc s ^ 7 = s ^ 6 * s := by ring _ ≤ s ^ 6 * 1 := mul_le_mul_of_nonneg_left h1 (pow_nonneg hs 6) _ = s ^ 6 := mul_one _ have h0 : 0 < (83521 / 80000 : ℝ) + (-24137569 / 24000000 : ℝ) * s := by nlinarith have h2 : 0 ≤ (6975757441 / 15360000000 : ℝ) * s ^ 2 + (-14111957303143 / 115200000000000 : ℝ) * s ^ 3 := by nlinarith [sq_nonneg s] have h4 : 0 ≤ (25052756200879723 / 1105920000000000000 : ℝ) * s ^ 4 + (-1852156092153410219 / 552960000000000000000 : ℝ) * s ^ 5 := by nlinarith [pow_nonneg hs 4] have h6 : 0 ≤ (1995108866902341607721 / 5308416000000000000000000 : ℝ) * s ^ 6 + (-14063084452067724991009 / 530841600000000000000000000 : ℝ) * s ^ 7 := by nlinarith [pow_nonneg hs 6] have h8 : 0 ≤ (4064231406647572522401601 / 4246732800000000000000000000000 : ℝ) * s ^ 8 := by positivity rw [radial_log_concavity_eq] norm_num only [pow_zero, pow_one, mul_one] linarith lemma radialPhiD_neg {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : radialPhiD s < 0 := by have h3 : s ^ 3 ≤ 1 := by simpa using pow_le_pow_left₀ hs h1 3 have h2 := sq_nonneg s have h4 : 0 ≤ s ^ 4 := pow_nonneg hs 4 unfold radialPhiD nlinarith lemma radialRate_pos {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : 0 < radialRate s := by unfold radialRate exact neg_pos.mpr (div_neg_of_neg_of_pos (radialPhiD_neg hs h1) (radialPhi_pos_closed hs h1)) lemma radialRate_nonneg {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : 0 ≤ radialRate s := by unfold radialRate exact neg_nonneg.mpr (div_nonpos_of_nonpos_of_nonneg (radialPhiD_neg hs h1).le (radialPhi_pos_closed hs h1).le) lemma radialRateD_nonneg {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : 0 ≤ radialRateD s := by unfold radialRateD exact div_nonneg (radial_log_concavity_pos hs h1).le (sq_nonneg _) lemma hasDerivAt_radialRate {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : HasDerivAt radialRate (radialRateD s) s := by have hp : radialPhi s ≠ 0 := (radialPhi_pos_closed hs h1).ne' have hd := ((hasDerivAt_radialPhiD s).div (hasDerivAt_radialPhi s) hp).neg convert hd using 1 · funext x simp [radialRate] · unfold radialRateD field_simp ring lemma hasDerivAt_piconeF {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : HasDerivAt piconeF (piconeFD s) s := by have hd := (hasDerivAt_id s).mul (hasDerivAt_radialRate hs h1) convert hd using 1 <;> (try funext x) <;> simp only [piconeF, piconeFD, Pi.mul_apply, id_eq, one_mul] lemma hasDerivAt_piconeG {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : HasDerivAt piconeG (piconeGD s) s := by have hd := (hasDerivAt_id s).mul ((hasDerivAt_radialRate hs h1).pow 2) convert hd using 1 <;> (try funext x) <;> simp [piconeG, piconeGD] <;> ring lemma piconeG_nonneg {s : ℝ} (hs : 0 ≤ s) : 0 ≤ piconeG s := mul_nonneg hs (sq_nonneg _) lemma piconeGD_nonneg {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : 0 ≤ piconeGD s := by unfold piconeGD have hr := radialRate_nonneg hs h1 have hrd := radialRateD_nonneg hs h1 positivity lemma piconeGD_pos {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : 0 < piconeGD s := by have hr := radialRate_pos hs h1 have hrd := radialRateD_nonneg hs h1 have hsquare : 0 < radialRate s ^ 2 := sq_pos_of_ne_zero hr.ne' have hprod : 0 ≤ 2 * s * radialRate s * radialRateD s := by positivity unfold piconeGD linarith lemma piconeG_strictMono : StrictMonoOn piconeG (Icc (0 : ℝ) 1) := by apply strictMonoOn_of_deriv_pos (convex_Icc 0 1) · intro s hs exact (hasDerivAt_piconeG hs.1 hs.2).continuousAt.continuousWithinAt · intro s hs have h := interior_subset hs rw [(hasDerivAt_piconeG h.1 h.2).deriv] exact piconeGD_pos h.1 h.2 lemma piconeG_monotone : MonotoneOn piconeG (Icc (0 : ℝ) 1) := by apply monotoneOn_of_deriv_nonneg (convex_Icc 0 1) · intro s hs exact (hasDerivAt_piconeG hs.1 hs.2).continuousAt.continuousWithinAt · intro s hs have h := interior_subset hs exact (hasDerivAt_piconeG h.1 h.2).differentiableAt.differentiableWithinAt · intro s hs have h := interior_subset hs rw [(hasDerivAt_piconeG h.1 h.2).deriv] exact piconeGD_nonneg h.1 h.2 lemma picone_riccati {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : (289 / 200 : ℝ) + piconeG s ≤ piconeFD s := by have hp : radialPhi s ≠ 0 := (radialPhi_pos_closed hs h1).ne' have he : piconeFD s - ((289 / 200 : ℝ) + piconeG s) = radialResidual s / (4 * radialPhi s) := by unfold piconeFD piconeG radialRate radialRateD radialResidual field_simp ring have hn : 0 ≤ radialResidual s / (4 * radialPhi s) := div_nonneg (radialResidual_nonneg hs h1) (mul_nonneg (by norm_num) (radialPhi_pos_closed hs h1).le) linarith lemma piconeF_zero : piconeF 0 = 0 := by simp [piconeF] lemma piconeG_zero : piconeG 0 = 0 := by simp [piconeG] lemma continuousAt_radialRateD {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : ContinuousAt radialRateD s := by have hp : radialPhi s ≠ 0 := (radialPhi_pos_closed hs h1).ne' have hcDD : Continuous radialPhiDD := by unfold radialPhiDD fun_prop exact (((hasDerivAt_radialPhiD s).continuousAt.pow 2).sub ((hasDerivAt_radialPhi s).continuousAt.mul hcDD.continuousAt)).div ((hasDerivAt_radialPhi s).continuousAt.pow 2) (pow_ne_zero 2 hp) lemma continuousAt_piconeFD {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : ContinuousAt piconeFD s := (hasDerivAt_radialRate hs h1).continuousAt.add (continuousAt_id.mul (continuousAt_radialRateD hs h1)) /-- Actual interval integration of the proved Riccati inequality, including both endpoints. -/ lemma picone_integral_lower {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : (289 / 200 : ℝ) * s + (∫ r in 0..s, piconeG r) ≤ piconeF s := by have hsub : Icc (0 : ℝ) s ⊆ Icc (0 : ℝ) 1 := by intro r hr exact ⟨hr.1, hr.2.trans h1⟩ have hcFD : ContinuousOn piconeFD (Icc (0 : ℝ) 1) := fun r hr => (continuousAt_piconeFD hr.1 hr.2).continuousWithinAt have hcG : ContinuousOn piconeG (Icc (0 : ℝ) 1) := fun r hr => (hasDerivAt_piconeG hr.1 hr.2).continuousAt.continuousWithinAt have hiFD : IntervalIntegrable piconeFD volume 0 s := (hcFD.mono hsub).intervalIntegrable_of_Icc hs have hiG : IntervalIntegrable piconeG volume 0 s := (hcG.mono hsub).intervalIntegrable_of_Icc hs have hiC : IntervalIntegrable (fun _ : ℝ => (289 / 200 : ℝ)) volume 0 s := continuous_const.intervalIntegrable _ _ have hbound := intervalIntegral.integral_mono_on hs (hiC.add hiG) hiFD (fun r hr => picone_riccati (hsub hr).1 (hsub hr).2) have he : (∫ r in 0..s, piconeFD r) = piconeF s := by rw [intervalIntegral.integral_eq_sub_of_hasDerivAt (f := piconeF) _ hiFD, piconeF_zero, sub_zero] intro r hr have hr' : r ∈ Icc (0 : ℝ) s := by simpa [uIcc_of_le hs] using hr exact hasDerivAt_piconeF (hsub hr').1 (hsub hr').2 rw [he, intervalIntegral.integral_add hiC hiG, intervalIntegral.integral_const] at hbound simpa only [sub_zero, smul_eq_mul, mul_comm s] using hbound /-- The weighted one-dimensional disk bound for genuine C¹ test functions. -/ theorem radial_picone_smooth {g : ℝ → ℝ} (hg : ContDiff ℝ 1 g) (hg₁ : g 1 = 0) : (289 / 200 : ℝ) * (∫ s in (0 : ℝ)..1, g s ^ 2) ≤ ∫ s in (0 : ℝ)..1, s * deriv g s ^ 2 := by let j : ℝ → ℝ := fun s => piconeF s * g s ^ 2 let jd : ℝ → ℝ := fun s => piconeFD s * g s ^ 2 + 2 * piconeF s * g s * deriv g s have hgd : Continuous (deriv g) := hg.continuous_deriv_one have hdiff (s : ℝ) : HasDerivAt g (deriv g s) s := (hg.differentiable (by norm_num) s).hasDerivAt have hjder (s : ℝ) (hs : s ∈ Icc (0 : ℝ) 1) : HasDerivAt j (jd s) s := by have hd := (hasDerivAt_piconeF hs.1 hs.2).mul ((hdiff s).pow 2) convert hd using 1 <;> (try funext x) <;> simp [j, jd] <;> ring have hjd : ContinuousOn jd (Icc (0 : ℝ) 1) := by intro s hs exact ((continuousAt_piconeFD hs.1 hs.2).mul (hg.continuous.continuousAt.pow 2)).add (((continuousAt_const.mul (hasDerivAt_piconeF hs.1 hs.2).continuousAt).mul hg.continuous.continuousAt).mul hgd.continuousAt) |>.continuousWithinAt have hiM : IntervalIntegrable (fun s => g s ^ 2) volume (0 : ℝ) 1 := (hg.continuous.pow 2).intervalIntegrable _ _ have hiQ : IntervalIntegrable (fun s => s * deriv g s ^ 2) volume (0 : ℝ) 1 := (continuous_id.mul (hgd.pow 2)).intervalIntegrable _ _ have hiJ : IntervalIntegrable jd volume 0 1 := hjd.intervalIntegrable_of_Icc zero_le_one have hpoint (s : ℝ) (hs : s ∈ Icc (0 : ℝ) 1) : (289 / 200 : ℝ) * g s ^ 2 ≤ s * deriv g s ^ 2 + jd s := by have hr := picone_riccati hs.1 hs.2 have hpot : 0 ≤ (piconeFD s - ((289 / 200 : ℝ) + piconeG s)) * g s ^ 2 := mul_nonneg (sub_nonneg.mpr hr) (sq_nonneg _) have hsq : 0 ≤ s * (deriv g s + g s * radialRate s) ^ 2 := mul_nonneg hs.1 (sq_nonneg _) have he : s * deriv g s ^ 2 + jd s - (289 / 200 : ℝ) * g s ^ 2 = s * (deriv g s + g s * radialRate s) ^ 2 + (piconeFD s - ((289 / 200 : ℝ) + piconeG s)) * g s ^ 2 := by unfold jd piconeF piconeG ring linarith have hint : (∫ s in (0 : ℝ)..1, jd s) = 0 := by rw [intervalIntegral.integral_eq_sub_of_hasDerivAt (f := j) _ hiJ] · simp [j, hg₁, piconeF_zero] · intro s hs exact hjder s (by simpa only [uIcc_of_le zero_le_one] using hs) have h := intervalIntegral.integral_mono_on zero_le_one (hiM.const_mul (289 / 200)) (hiQ.add hiJ) hpoint rw [intervalIntegral.integral_const_mul, intervalIntegral.integral_add hiQ hiJ, hint, add_zero] at h exact h /-- The final weighted-dual arithmetic closes without dividing when the weight mass is zero. -/ lemma weighted_dual_energy {c m b l e : ℝ} (he : 0 ≤ e) (hb : 0 ≤ b) (hbalance : c * m + b ≤ 2 * l) (hdual : l ^ 2 ≤ e * b) : c * m ≤ e := by by_cases hb0 : b = 0 · have hl : l = 0 := by nlinarith nlinarith · have hbpos : 0 < b := lt_of_le_of_ne hb (Ne.symm hb0) apply (mul_le_mul_iff_right₀ hbpos).mp have hmul := mul_le_mul_of_nonneg_right hbalance hb nlinarith [sq_nonneg (l - b)] end Polya26.Strike.S05.Header.PrimitiveFK end end /- END M023 -/ /- BEGIN M024 -/ section /-! The genuine weak radial bound: no absolute continuity or flux limit at zero. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology namespace Polya26.Strike.S05.Header.PrimitiveFK lemma piconeF_nonneg {s : ℝ} (hs : 0 ≤ s) (h1 : s ≤ 1) : 0 ≤ piconeF s := mul_nonneg hs (radialRate_nonneg hs h1) lemma piconeF_absolutelyContinuous : Polya26.Strike.S02.Header.PrimitiveOn piconeF (0 : ℝ) 1 := by have hc : ContinuousOn piconeFD (Icc (0 : ℝ) 1) := fun s hs => (continuousAt_piconeFD hs.1 hs.2).continuousWithinAt have hi : IntervalIntegrable piconeFD volume (0 : ℝ) 1 := hc.intervalIntegrable_of_Icc zero_le_one have hprim := Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral hi (c := 0) (by simp) apply hprim.congr intro s hs have hs' : s ∈ Icc (0 : ℝ) 1 := by simpa only [uIcc_of_le zero_le_one] using hs have hsub : Icc (0 : ℝ) s ⊆ Icc (0 : ℝ) 1 := fun x hx => ⟨hx.1, hx.2.trans hs'.2⟩ have his : IntervalIntegrable piconeFD volume (0 : ℝ) s := (hc.mono hsub).intervalIntegrable_of_Icc hs'.1 change (∫ v in (0 : ℝ)..s, piconeFD v) = piconeF s rw [intervalIntegral.integral_eq_sub_of_hasDerivAt (f := piconeF) _ his, piconeF_zero, sub_zero] intro x hx have hx' : x ∈ Icc (0 : ℝ) s := by simpa only [uIcc_of_le hs'.1] using hx exact hasDerivAt_piconeF (hsub hx').1 (hsub hx').2 /-- The inner boundary term is nonnegative, so an interior cutoff only strengthens Picone. -/ theorem radial_picone_ac_interval {g : ℝ → ℝ} {ε : ℝ} (hε : 0 ≤ ε) (hε1 : ε ≤ 1) (hg : Polya26.Strike.S02.Header.PrimitiveOn g ε 1) (hg1 : g 1 = 0) (hiQ : IntervalIntegrable (fun s => s * deriv g s ^ 2) volume ε 1) : (289 / 200 : ℝ) * (∫ s in ε..1, g s ^ 2) ≤ ∫ s in ε..1, s * deriv g s ^ 2 := by have hsub : uIcc ε 1 ⊆ Icc (0 : ℝ) 1 := by rw [uIcc_of_le hε1] exact fun s hs => ⟨hε.trans hs.1, hs.2⟩ have hF : Polya26.Strike.S02.Header.PrimitiveOn piconeF ε 1 := piconeF_absolutelyContinuous.mono (by simpa only [uIcc_of_le zero_le_one] using hsub) have hg2 : Polya26.Strike.S02.Header.PrimitiveOn (fun s => g s ^ 2) ε 1 := by simpa only [pow_two] using hg.fun_mul hg let jd : ℝ → ℝ := fun s => piconeFD s * g s ^ 2 + 2 * piconeF s * g s * deriv g s have hcFD : ContinuousOn piconeFD (uIcc ε 1) := fun s hs => (continuousAt_piconeFD (hsub hs).1 (hsub hs).2).continuousWithinAt have hiM : IntervalIntegrable (fun s => g s ^ 2) volume ε 1 := hg2.continuousOn.intervalIntegrable have hiJD : IntervalIntegrable jd volume ε 1 := by apply (hcFD.mul hg2.continuousOn).intervalIntegrable.add exact hg.intervalIntegrable_deriv.continuousOn_mul ((continuousOn_const.mul hF.continuousOn).mul hg.continuousOn) have hint : (∫ s in ε..1, jd s) = -(piconeF ε * g ε ^ 2) := by have h := hF.integral_deriv_mul_eq_sub hg2 have he : (∫ s in ε..1, jd s) = ∫ s in ε..1, deriv piconeF s * g s ^ 2 + piconeF s * deriv (fun x => g x ^ 2) s := by apply intervalIntegral.integral_congr_ae filter_upwards [hg.ae_differentiableAt] with s hsg hs have hs' := uIoc_subset_uIcc hs have hderg := ((hsg hs').hasDerivAt.pow 2).deriv change deriv (fun x => g x ^ 2) s = _ at hderg rw [(hasDerivAt_piconeF (hsub hs').1 (hsub hs').2).deriv, hderg] dsimp [jd] ring rw [he, h, hg1] ring have hintle : (∫ s in ε..1, jd s) ≤ 0 := by rw [hint] exact neg_nonpos.mpr (mul_nonneg (piconeF_nonneg hε hε1) (sq_nonneg _)) have hpoint (s : ℝ) (hs : s ∈ Icc ε 1) : (289 / 200 : ℝ) * g s ^ 2 ≤ s * deriv g s ^ 2 + jd s := by have hs01 : s ∈ Icc (0 : ℝ) 1 := ⟨hε.trans hs.1, hs.2⟩ have hpot : 0 ≤ (piconeFD s - ((289 / 200 : ℝ) + piconeG s)) * g s ^ 2 := mul_nonneg (sub_nonneg.mpr (picone_riccati hs01.1 hs01.2)) (sq_nonneg _) have hsq : 0 ≤ s * (deriv g s + g s * radialRate s) ^ 2 := mul_nonneg hs01.1 (sq_nonneg _) have he : s * deriv g s ^ 2 + jd s - (289 / 200 : ℝ) * g s ^ 2 = s * (deriv g s + g s * radialRate s) ^ 2 + (piconeFD s - ((289 / 200 : ℝ) + piconeG s)) * g s ^ 2 := by unfold jd piconeF piconeG ring linarith have h := intervalIntegral.integral_mono_on hε1 (hiM.const_mul (289 / 200)) (hiQ.add hiJD) hpoint rw [intervalIntegral.integral_const_mul, intervalIntegral.integral_add hiQ hiJD] at h linarith /-- Integrable mass and weighted energy suffice at the singular radial endpoint. Absolute continuity is needed only on every strictly truncated interval. -/ theorem radial_picone_local_ac {g : ℝ → ℝ} (hg : ∀ ε ∈ Ioc (0 : ℝ) 1, Polya26.Strike.S02.Header.PrimitiveOn g ε 1) (hg1 : g 1 = 0) (hiM : IntervalIntegrable (fun s => g s ^ 2) volume (0 : ℝ) 1) (hiQ : IntervalIntegrable (fun s => s * deriv g s ^ 2) volume (0 : ℝ) 1) : (289 / 200 : ℝ) * (∫ s in (0 : ℝ)..1, g s ^ 2) ≤ ∫ s in (0 : ℝ)..1, s * deriv g s ^ 2 := by letI : NeBot (𝓝[Ioc (0 : ℝ) 1] 0) := left_nhdsWithin_Ioc_neBot zero_lt_one have hMcc : IntegrableOn (fun s => g s ^ 2) (uIcc (0 : ℝ) 1) volume := by simpa only [uIcc_of_le zero_le_one] using (intervalIntegrable_iff_integrableOn_Icc_of_le zero_le_one).mp hiM have hQcc : IntegrableOn (fun s => s * deriv g s ^ 2) (uIcc (0 : ℝ) 1) volume := by simpa only [uIcc_of_le zero_le_one] using (intervalIntegrable_iff_integrableOn_Icc_of_le zero_le_one).mp hiQ have hsub : Ioc (0 : ℝ) 1 ⊆ uIcc (0 : ℝ) 1 := by simpa only [uIcc_of_le zero_le_one] using Ioc_subset_Icc_self have hTm := ((intervalIntegral.continuousOn_primitive_interval_left hMcc) 0 (by simp)).mono hsub have hTq := ((intervalIntegral.continuousOn_primitive_interval_left hQcc) 0 (by simp)).mono hsub apply le_of_tendsto_of_tendsto (hTm.const_mul (289 / 200)) hTq refine eventually_nhdsWithin_of_forall fun ε hε => ?_ have hisub : uIcc ε 1 ⊆ uIcc (0 : ℝ) 1 := by simp only [uIcc_of_le hε.2, uIcc_of_le zero_le_one] exact Icc_subset_Icc hε.1.le le_rfl exact radial_picone_ac_interval hε.1.le hε.2 (hg ε hε) hg1 (hiQ.mono hisub le_rfl) end Polya26.Strike.S05.Header.PrimitiveFK end end /- END M024 -/ /- BEGIN M025 -/ section /-! Actual radial Picone on an arbitrary area interval, with no profile rescaling. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology namespace Polya26.Strike.S05.Header.PrimitiveFK def areaPiconeF (a s : ℝ) : ℝ := piconeF (s / a) def areaPiconeFD (a s : ℝ) : ℝ := piconeFD (s / a) / a def areaRadialRate (a s : ℝ) : ℝ := radialRate (s / a) / a lemma area_rank_mem {a s : ℝ} (ha : 0 < a) (hs : s ∈ Icc (0 : ℝ) a) : s / a ∈ Icc (0 : ℝ) 1 := ⟨div_nonneg hs.1 ha.le, (div_le_one ha).mpr hs.2⟩ lemma hasDerivAt_areaPiconeF {a s : ℝ} (ha : 0 < a) (hs : s ∈ Icc (0 : ℝ) a) : HasDerivAt (areaPiconeF a) (areaPiconeFD a s) s := by have hsa := area_rank_mem ha hs have hd := (hasDerivAt_piconeF hsa.1 hsa.2).comp s ((hasDerivAt_id s).div_const a) convert hd using 1 <;> (try funext x) <;> simp [areaPiconeF, areaPiconeFD, Function.comp_def, div_eq_mul_inv] lemma areaPiconeF_nonneg {a s : ℝ} (ha : 0 < a) (hs : s ∈ Icc (0 : ℝ) a) : 0 ≤ areaPiconeF a s := piconeF_nonneg (area_rank_mem ha hs).1 (area_rank_mem ha hs).2 lemma continuousAt_areaPiconeFD {a s : ℝ} (ha : 0 < a) (hs : s ∈ Icc (0 : ℝ) a) : ContinuousAt (areaPiconeFD a) s := by have hsa := area_rank_mem ha hs have hd : ContinuousAt (fun x : ℝ => x / a) s := continuousAt_id.div_const a change ContinuousAt (fun x => piconeFD (x / a) / a) s exact ((continuousAt_piconeFD hsa.1 hsa.2).comp (f := fun x : ℝ => x / a) hd).div_const a lemma area_picone_riccati {a s : ℝ} (ha : 0 < a) (hs : s ∈ Icc (0 : ℝ) a) : (289 / 200 : ℝ) / a + s * areaRadialRate a s ^ 2 ≤ areaPiconeFD a s := by have hsa := area_rank_mem ha hs have h := div_le_div_of_nonneg_right (picone_riccati hsa.1 hsa.2) ha.le have he : (289 / 200 : ℝ) / a + s * areaRadialRate a s ^ 2 = ((289 / 200 : ℝ) + piconeG (s / a)) / a := by unfold areaRadialRate piconeG field_simp rw [he] exact h lemma areaPiconeF_absolutelyContinuous {a : ℝ} (ha : 0 < a) : Polya26.Strike.S02.Header.PrimitiveOn (areaPiconeF a) (0 : ℝ) a := by have hc : ContinuousOn (areaPiconeFD a) (Icc (0 : ℝ) a) := fun s hs => (continuousAt_areaPiconeFD ha hs).continuousWithinAt have hi : IntervalIntegrable (areaPiconeFD a) volume (0 : ℝ) a := hc.intervalIntegrable_of_Icc ha.le have hprim := Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral hi (c := 0) (by simp) apply hprim.congr intro s hs have hs' : s ∈ Icc (0 : ℝ) a := by simpa only [uIcc_of_le ha.le] using hs have hsub : Icc (0 : ℝ) s ⊆ Icc (0 : ℝ) a := fun x hx => ⟨hx.1, hx.2.trans hs'.2⟩ have his : IntervalIntegrable (areaPiconeFD a) volume (0 : ℝ) s := (hc.mono hsub).intervalIntegrable_of_Icc hs'.1 change (∫ v in (0 : ℝ)..s, areaPiconeFD a v) = areaPiconeF a s rw [intervalIntegral.integral_eq_sub_of_hasDerivAt (f := areaPiconeF a) _ his] · simp [areaPiconeF, piconeF_zero] · intro x hx exact hasDerivAt_areaPiconeF ha (hsub (by simpa only [uIcc_of_le hs'.1] using hx)) theorem radial_picone_area_ac_interval {g : ℝ → ℝ} {a ε : ℝ} (ha : 0 < a) (hε : 0 ≤ ε) (hεa : ε ≤ a) (hg : Polya26.Strike.S02.Header.PrimitiveOn g ε a) (hga : g a = 0) (hiQ : IntervalIntegrable (fun s => s * deriv g s ^ 2) volume ε a) : (289 / 200 : ℝ) * (∫ s in ε..a, g s ^ 2) ≤ a * (∫ s in ε..a, s * deriv g s ^ 2) := by have hsub : uIcc ε a ⊆ Icc (0 : ℝ) a := by rw [uIcc_of_le hεa] exact fun s hs => ⟨hε.trans hs.1, hs.2⟩ have hF : Polya26.Strike.S02.Header.PrimitiveOn (areaPiconeF a) ε a := (areaPiconeF_absolutelyContinuous ha).mono (by simpa only [uIcc_of_le ha.le] using hsub) have hg2 : Polya26.Strike.S02.Header.PrimitiveOn (fun s => g s ^ 2) ε a := by simpa only [pow_two] using hg.fun_mul hg let jd : ℝ → ℝ := fun s => areaPiconeFD a s * g s ^ 2 + 2 * areaPiconeF a s * g s * deriv g s have hcFD : ContinuousOn (areaPiconeFD a) (uIcc ε a) := fun s hs => (continuousAt_areaPiconeFD ha (hsub hs)).continuousWithinAt have hiM : IntervalIntegrable (fun s => g s ^ 2) volume ε a := hg2.continuousOn.intervalIntegrable have hiJD : IntervalIntegrable jd volume ε a := by apply (hcFD.mul hg2.continuousOn).intervalIntegrable.add exact hg.intervalIntegrable_deriv.continuousOn_mul ((continuousOn_const.mul hF.continuousOn).mul hg.continuousOn) have hint : (∫ s in ε..a, jd s) = -(areaPiconeF a ε * g ε ^ 2) := by have h := hF.integral_deriv_mul_eq_sub hg2 have he : (∫ s in ε..a, jd s) = ∫ s in ε..a, deriv (areaPiconeF a) s * g s ^ 2 + areaPiconeF a s * deriv (fun x => g x ^ 2) s := by apply intervalIntegral.integral_congr_ae filter_upwards [hg.ae_differentiableAt] with s hsg hs have hs' := uIoc_subset_uIcc hs have hderg := ((hsg hs').hasDerivAt.pow 2).deriv change deriv (fun x => g x ^ 2) s = _ at hderg rw [(hasDerivAt_areaPiconeF ha (hsub hs')).deriv, hderg] dsimp [jd] ring rw [he, h, hga] ring have hintle : (∫ s in ε..a, jd s) ≤ 0 := by rw [hint] exact neg_nonpos.mpr (mul_nonneg (areaPiconeF_nonneg ha ⟨hε, hεa⟩) (sq_nonneg _)) have hpoint (s : ℝ) (hs : s ∈ Icc ε a) : ((289 / 200 : ℝ) / a) * g s ^ 2 ≤ s * deriv g s ^ 2 + jd s := by have hs0a : s ∈ Icc (0 : ℝ) a := ⟨hε.trans hs.1, hs.2⟩ have hpot : 0 ≤ (areaPiconeFD a s - ((289 / 200 : ℝ) / a + s * areaRadialRate a s ^ 2)) * g s ^ 2 := mul_nonneg (sub_nonneg.mpr (area_picone_riccati ha hs0a)) (sq_nonneg _) have hsq : 0 ≤ s * (deriv g s + g s * areaRadialRate a s) ^ 2 := mul_nonneg hs0a.1 (sq_nonneg _) have he : s * deriv g s ^ 2 + jd s - ((289 / 200 : ℝ) / a) * g s ^ 2 = s * (deriv g s + g s * areaRadialRate a s) ^ 2 + (areaPiconeFD a s - ((289 / 200 : ℝ) / a + s * areaRadialRate a s ^ 2)) * g s ^ 2 := by unfold jd areaPiconeF areaRadialRate piconeF field_simp ring linarith have h := intervalIntegral.integral_mono_on hεa (hiM.const_mul ((289 / 200) / a)) (hiQ.add hiJD) hpoint rw [intervalIntegral.integral_const_mul, intervalIntegral.integral_add hiQ hiJD] at h have hle : ((289 / 200 : ℝ) / a) * (∫ s in ε..a, g s ^ 2) ≤ ∫ s in ε..a, s * deriv g s ^ 2 := by linarith calc (289 / 200 : ℝ) * (∫ s in ε..a, g s ^ 2) = a * (((289 / 200 : ℝ) / a) * (∫ s in ε..a, g s ^ 2)) := by field_simp _ ≤ a * (∫ s in ε..a, s * deriv g s ^ 2) := mul_le_mul_of_nonneg_left hle ha.le theorem radial_picone_area_local_ac {g : ℝ → ℝ} {a : ℝ} (ha : 0 < a) (hg : ∀ ε ∈ Ioc (0 : ℝ) a, Polya26.Strike.S02.Header.PrimitiveOn g ε a) (hga : g a = 0) (hiM : IntervalIntegrable (fun s => g s ^ 2) volume (0 : ℝ) a) (hiQ : IntervalIntegrable (fun s => s * deriv g s ^ 2) volume (0 : ℝ) a) : (289 / 200 : ℝ) * (∫ s in (0 : ℝ)..a, g s ^ 2) ≤ a * (∫ s in (0 : ℝ)..a, s * deriv g s ^ 2) := by letI : NeBot (𝓝[Ioc (0 : ℝ) a] 0) := left_nhdsWithin_Ioc_neBot ha have hMcc : IntegrableOn (fun s => g s ^ 2) (uIcc (0 : ℝ) a) volume := by simpa only [uIcc_of_le ha.le] using (intervalIntegrable_iff_integrableOn_Icc_of_le ha.le).mp hiM have hQcc : IntegrableOn (fun s => s * deriv g s ^ 2) (uIcc (0 : ℝ) a) volume := by simpa only [uIcc_of_le ha.le] using (intervalIntegrable_iff_integrableOn_Icc_of_le ha.le).mp hiQ have hsub : Ioc (0 : ℝ) a ⊆ uIcc (0 : ℝ) a := by simpa only [uIcc_of_le ha.le] using Ioc_subset_Icc_self have hTm := ((intervalIntegral.continuousOn_primitive_interval_left hMcc) 0 (by simp)).mono hsub have hTq := ((intervalIntegral.continuousOn_primitive_interval_left hQcc) 0 (by simp)).mono hsub apply le_of_tendsto_of_tendsto (hTm.const_mul (289 / 200)) (hTq.const_mul a) refine eventually_nhdsWithin_of_forall fun ε hε => ?_ have hisub : uIcc ε a ⊆ uIcc (0 : ℝ) a := by simp only [uIcc_of_le hε.2, uIcc_of_le ha.le] exact Icc_subset_Icc hε.1.le le_rfl exact radial_picone_area_ac_interval ha hε.1.le hε.2 (hg ε hε) hga (hiQ.mono hisub le_rfl) end Polya26.Strike.S05.Header.PrimitiveFK end end /- END M025 -/ /- BEGIN M026 -/ section /-! An actual area-profile derivative-test bound yields exactly the zero-gate locally absolutely continuous representative needed by weak Picone. Only endpoint values are patched, preserving all original mass. There is no absolute-continuity or centre-trace premise on the inverse. -/ noncomputable section open Set Filter MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S05.Header.PrimitiveDual open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot structure RadialZeroGateWitness (a : ℝ) (f : ℝ → ℝ) (Q : ℝ) where profile : ℝ → ℝ profile_ae_eq : profile =ᵐ[volume] f outer_zero : profile a = 0 locally_ac : ∀ ε ∈ Ioc (0 : ℝ) a, Polya26.Strike.S02.Header.PrimitiveOn profile ε a mass_integrable : IntervalIntegrable (fun s => (profile s)^2) volume 0 a energy_integrable : IntervalIntegrable (fun s => s * (deriv profile s)^2) volume 0 a energy_bound : (∫ s in (0 : ℝ)..a, s * (deriv profile s)^2) ≤ Q theorem radial_zero_gate_witness_of_squared_dual {a Q : ℝ} {f : ℝ → ℝ} (ha : 0 < a) (hQ : 0 ≤ Q) (hf : Antitone f) (hmass : IntegrableOn (fun s => (f s)^2) (Ioo (0 : ℝ) a) volume) (htrace : Tendsto f (𝓝[<] a) (𝓝 0)) (hdual : ∀ φ : RadialTest 0 a, (∫ s, f s * deriv (φ : ℝ → ℝ) s)^2 ≤ Q * (∫ s in Ioo (0 : ℝ) a, ((φ : ℝ → ℝ) s)^2 / s)) : Nonempty (RadialZeroGateWitness a f Q) := by have hW : Continuous (fun s : ℝ => s) := continuous_id have hWpos : ∀ s ∈ Ioo (0 : ℝ) a, 0 < s := fun s hs => hs.1 obtain ⟨h,hhloc,hhi,hhQ,hweak,d,hlocal⟩ := radial_profile_of_dual_bound ha hf hW hWpos (Real.sqrt_nonneg Q) (radial_dual_bound_of_squared hW hWpos hQ hdual) have henergy : (∫ s in Ioo (0 : ℝ) a, s * (h s)^2) ≤ Q := by simpa only [Real.sq_sqrt hQ] using hhQ let g : ℝ → ℝ := gateExtension f 0 a (f 0) 0 have hga : g =ᵐ[volume] f := gateExtension_ae_eq f 0 a (f 0) 0 have hgpoint : ∀ s ∈ Ioo (0 : ℝ) a, g s = f s := by intro s hs simp only [g,gateExtension,if_neg (ne_of_gt hs.1),if_neg (ne_of_lt hs.2)] have hglocal : ∀ s ∈ Ioo (0 : ℝ) a, g s = d + ∫ t in (a / 2)..s, h t := by intro s hs rw [hgpoint s hs] simpa only [zero_add,Pi.add_apply] using hlocal s hs have hc : a / 2 ∈ Ioo (0 : ℝ) a := by constructor <;> linarith have hfcont : ContinuousOn f (Ioo (0 : ℝ) a) := by apply (continuousOn_const.add (continuousOn_local_primitive hhloc hc)).congr intro s hs simpa only [zero_add,Pi.add_apply] using hlocal s hs have hgac (ε : ℝ) (hε : ε ∈ Ioc (0 : ℝ) a) : Polya26.Strike.S02.Header.PrimitiveOn g ε a := by by_cases hεa : ε = a · subst ε exact Polya26.Strike.S02.Header.PrimitiveOn.rfl have hεlt : ε < a := lt_of_le_of_ne hε.2 hεa have hsub : Ioo ε a ⊆ Ioo (0 : ℝ) a := fun s hs => ⟨hε.1.trans hs.1,hs.2⟩ have hmeas : AEStronglyMeasurable h (volume.restrict (Ioo ε a)) := hhloc.aestronglyMeasurable.mono_measure (Measure.restrict_mono hsub le_rfl) have hhiε : IntegrableOn (fun s => s * (h s)^2) (Ioo ε a) volume := hhi.mono_set hsub have hinterval : IntervalIntegrable h volume ε a := intervalIntegrable_of_weighted_sq hεlt.le hε.1 hmeas hhiε (fun s hs => hs.1.le) let c : ℝ := (ε + a) / 2 have hc0 : c ∈ Ioo (0 : ℝ) a := by dsimp [c] constructor <;> linarith [hε.1] have hcε : c ∈ uIcc ε a := by rw [uIcc_of_le hεlt.le] dsimp [c] constructor <;> linarith obtain ⟨dε,hdε⟩ := local_weak_FTC hf hhloc hc0 hweak have hlocalε : ∀ s ∈ Ioo ε a, f s = dε + ∫ t in c..s, h t := fun s hs => hdε s (hsub hs) have hleft : Tendsto f (𝓝[>] ε) (𝓝 (f ε)) := (hfcont.continuousAt (isOpen_Ioo.mem_nhds ⟨hε.1,hεlt⟩)).tendsto.mono_left nhdsWithin_le_nhds have hgateac := absolutelyContinuous_gateExtension hεlt hinterval hcε hlocalε hleft htrace apply hgateac.congr intro s hs have hs' : s ∈ Icc ε a := by simpa only [uIcc_of_le hεlt.le] using hs have hs0 : s ≠ 0 := ne_of_gt (hε.1.trans_le hs'.1) by_cases hsa : s = a · subst s simp [g,gateExtension,ne_of_gt ha,ne_of_gt hεlt] · by_cases hsε : s = ε · subst s simp [g,gateExtension,ne_of_gt hε.1,hεa] · simp [g,gateExtension,hs0,hsa,hsε] have hderiv : (fun s => s * (deriv g s)^2) =ᵐ[volume.restrict (Ioo (0 : ℝ) a)] fun s => s * (h s)^2 := by have hgdiff := ae_hasDerivAt_on_open_of_local_primitive hhloc hc hglocal change ∀ᵐ s ∂volume.restrict (Ioo (0 : ℝ) a), s * (deriv g s)^2 = s * (h s)^2 rw [ae_restrict_iff' measurableSet_Ioo] filter_upwards [hgdiff] with s hs hsin rw [(hs hsin).deriv] have hgmi : IntegrableOn (fun s => (g s)^2) (Ioo (0 : ℝ) a) volume := hmass.congr ((hga.pow_const 2).filter_mono (ae_mono Measure.restrict_le_self)).symm have hgei : IntegrableOn (fun s => s * (deriv g s)^2) (Ioo (0 : ℝ) a) volume := hhi.congr hderiv.symm refine ⟨⟨g,hga,?_,hgac, (intervalIntegrable_iff_integrableOn_Ioo_of_le ha.le).mpr hgmi, (intervalIntegrable_iff_integrableOn_Ioo_of_le ha.le).mpr hgei,?_⟩⟩ · simp [g,gateExtension,ne_of_gt ha] · rw [intervalIntegral.integral_of_le ha.le,integral_Ioc_eq_integral_Ioo, integral_congr_ae hderiv] exact henergy end Polya26.Strike.S05.Header.PrimitiveDual end end /- END M026 -/ /- BEGIN M027 -/ section /-! The actual area-profile test dual now reaches the required ordinary FK phase rate. Picone's explicit barrier is rescaled; the actual profile and its physical area measure are never changed. -/ noncomputable section open Set Filter MeasureTheory open scoped Topology namespace Polya26.Strike.S05.Header.PrimitiveDual open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot Polya26.Strike.S05.Header.PrimitiveFK theorem radial_fk_of_squared_test_dual {a Q : ℝ} {f : ℝ → ℝ} (ha : 0 < a) (hQ : 0 ≤ Q) (hf : Antitone f) (hmass : IntegrableOn (fun s => (f s)^2) (Ioo (0 : ℝ) a) volume) (htrace : Tendsto f (𝓝[<] a) (𝓝 0)) (hdual : ∀ φ : RadialTest 0 a, (∫ s, f s * deriv (φ : ℝ → ℝ) s)^2 ≤ Q * (∫ s in Ioo (0 : ℝ) a, ((φ : ℝ → ℝ) s)^2 / s)) : (23 / 16) * (∫ s in Ioo (0 : ℝ) a, (f s)^2) ≤ a * Q := by obtain ⟨g⟩ := radial_zero_gate_witness_of_squared_dual ha hQ hf hmass htrace hdual have hpicone := radial_picone_area_local_ac ha g.locally_ac g.outer_zero g.mass_integrable g.energy_integrable have hmassEq : (∫ s in (0 : ℝ)..a, (g.profile s)^2) = ∫ s in Ioo (0 : ℝ) a, (f s)^2 := by rw [intervalIntegral.integral_of_le ha.le,integral_Ioc_eq_integral_Ioo] exact integral_congr_ae ((g.profile_ae_eq.pow_const 2).filter_mono (ae_mono Measure.restrict_le_self)) have hmassNonneg : 0 ≤ ∫ s in Ioo (0 : ℝ) a, (f s)^2 := integral_nonneg (fun s => sq_nonneg _) calc (23 / 16) * (∫ s in Ioo (0 : ℝ) a, (f s)^2) ≤ (289 / 200) * (∫ s in Ioo (0 : ℝ) a, (f s)^2) := mul_le_mul_of_nonneg_right (by norm_num : (23 / 16 : ℝ) ≤ 289 / 200) hmassNonneg _ ≤ a * (∫ s in (0 : ℝ)..a, s * (deriv g.profile s)^2) := by rw [← hmassEq] exact hpicone _ ≤ a * Q := mul_le_mul_of_nonneg_left g.energy_bound ha.le theorem ordinary_phase_rate_of_squared_dual (M a Q : ℝ) (f : ℝ → ℝ) (ha : 0 < a) (hQ : 0 ≤ Q) (hf : Antitone f) (hmass : IntegrableOn (fun s => (f s)^2) (Ioo (0 : ℝ) a) volume) (hidentity : M = ∫ s in Ioo (0 : ℝ) a, (f s)^2) (htrace : Tendsto f (𝓝[<] a) (𝓝 0)) (hdual : ∀ φ : RadialTest 0 a, (∫ s, f s * deriv (φ : ℝ → ℝ) s)^2 ≤ Q * (∫ s in Ioo (0 : ℝ) a, ((φ : ℝ → ℝ) s)^2 / s)) : M * (23 / 16) ≤ a * Q := by rw [hidentity,mul_comm] exact radial_fk_of_squared_test_dual ha hQ hf hmass htrace hdual end Polya26.Strike.S05.Header.PrimitiveDual end end /- END M027 -/ /- BEGIN M028 -/ section /-! Exact signed support-area assembly; phase estimates remain explicit until transported. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology ContDiff namespace Polya26.Strike.S05.Header.PrimitiveSupport open Math30.Polya def positivePhase (u : Plane → ℝ) : Set Plane := {x | 0 < u x} def negativePhase (u : Plane → ℝ) : Set Plane := {x | u x < 0} def nonzeroPhase (u : Plane → ℝ) : Set Plane := {x | u x ≠ 0} lemma sign_phases_disjoint (u : Plane → ℝ) : Disjoint (positivePhase u) (negativePhase u) := by apply Set.disjoint_left.mpr intro x hx hy change 0 < u x at hx change u x < 0 at hy exact (not_lt_of_ge hx.le) hy lemma nonzeroPhase_eq (u : Plane → ℝ) : nonzeroPhase u = positivePhase u ∪ negativePhase u := by ext x change u x ≠ 0 ↔ 0 < u x ∨ u x < 0 constructor · intro hx exact (lt_or_gt_of_ne hx).symm · rintro (hx | hx) · exact hx.ne' · exact hx.ne lemma sign_phase_subsupport (u : Plane → ℝ) : positivePhase u ⊆ tsupport u ∧ negativePhase u ⊆ tsupport u := by constructor · intro x hx change 0 < u x at hx exact subset_tsupport u hx.ne' · intro x hx change u x < 0 at hx exact subset_tsupport u hx.ne lemma smooth_mass_integrable {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) : Integrable (fun x => u x ^ 2) := by have hc : Continuous (fun x : Plane => u x ^ 2) := hf.pow 2 have hs : HasCompactSupport (fun x : Plane => u x ^ 2) := hu.comp_left (g := fun t : ℝ => t ^ 2) (by simp) exact hc.integrable_of_hasCompactSupport hs lemma smooth_energy_integrable {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) : Integrable (fun x => ‖fderiv ℝ u x‖ ^ 2) := by have hc : Continuous (fderiv ℝ u) := hf.continuous_fderiv (by norm_num) have hs : HasCompactSupport (fderiv ℝ u) := hu.fderiv (𝕜 := ℝ) have hs' : HasCompactSupport (fun x : Plane => ‖fderiv ℝ u x‖ ^ 2) := hs.comp_left (g := fun L : Plane →L[ℝ] ℝ => ‖L‖ ^ 2) (by simp) exact (hc.norm.pow 2).integrable_of_hasCompactSupport hs' lemma sign_area_add {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) : area (nonzeroPhase u) = area (positivePhase u) + area (negativePhase u) := by have hpfinite : volume (positivePhase u) ≠ ⊤ := ne_of_lt ((measure_mono (sign_phase_subsupport u).1).trans_lt hu.isCompact.measure_lt_top) have hnfinite : volume (negativePhase u) ≠ ⊤ := ne_of_lt ((measure_mono (sign_phase_subsupport u).2).trans_lt hu.isCompact.measure_lt_top) have hnmeas : MeasurableSet (negativePhase u) := (isOpen_Iio.preimage hf).measurableSet rw [area, nonzeroPhase_eq, measure_union (sign_phases_disjoint u) hnmeas, ENNReal.toReal_add hpfinite hnfinite] rfl lemma sign_mass_add {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) : (∫ x : Plane, u x ^ 2) = (∫ x in positivePhase u, u x ^ 2) + (∫ x in negativePhase u, u x ^ 2) := by have hi := smooth_mass_integrable hu hf have hnmeas : MeasurableSet (negativePhase u) := (isOpen_Iio.preimage hf).measurableSet have he : (∫ x in nonzeroPhase u, u x ^ 2) = ∫ x : Plane, u x ^ 2 := by apply setIntegral_eq_integral_of_forall_compl_eq_zero intro x hx have hx0 : u x = 0 := not_ne_iff.mp hx simp [hx0] rw [← he, nonzeroPhase_eq] exact setIntegral_union (sign_phases_disjoint u) hnmeas hi.integrableOn hi.integrableOn lemma sign_energy_le {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) : (∫ x in positivePhase u, ‖fderiv ℝ u x‖ ^ 2) + (∫ x in negativePhase u, ‖fderiv ℝ u x‖ ^ 2) ≤ ∫ x : Plane, ‖fderiv ℝ u x‖ ^ 2 := by have hi := smooth_energy_integrable hu hf have hnmeas : MeasurableSet (negativePhase u) := (isOpen_Iio.preimage hf.continuous).measurableSet rw [← setIntegral_union (sign_phases_disjoint u) hnmeas hi.integrableOn hi.integrableOn] exact integral_mono_measure Measure.restrict_le_self (Eventually.of_forall fun x => sq_nonneg _) hi /-- Actual signed assembly. These two phase inequalities are the remaining physical endpoints, not an assumed arbitrary-domain Faber-Krahn theorem. -/ theorem signed_fk_of_positive_negative {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {c : ℝ} (hp : c * (∫ x in positivePhase u, u x ^ 2) ≤ area (positivePhase u) * (∫ x in positivePhase u, ‖fderiv ℝ u x‖ ^ 2)) (hn : c * (∫ x in negativePhase u, u x ^ 2) ≤ area (negativePhase u) * (∫ x in negativePhase u, ‖fderiv ℝ u x‖ ^ 2)) : c * (∫ x : Plane, u x ^ 2) ≤ area (nonzeroPhase u) * (∫ x : Plane, ‖fderiv ℝ u x‖ ^ 2) := by have ha := sign_area_add hu hf.continuous have hm := sign_mass_add hu hf.continuous have he := sign_energy_le hu hf have hap : 0 ≤ area (positivePhase u) := ENNReal.toReal_nonneg have han : 0 ≤ area (negativePhase u) := ENNReal.toReal_nonneg have hep : 0 ≤ ∫ x in positivePhase u, ‖fderiv ℝ u x‖ ^ 2 := integral_nonneg fun x => sq_nonneg _ have hen : 0 ≤ ∫ x in negativePhase u, ‖fderiv ℝ u x‖ ^ 2 := integral_nonneg fun x => sq_nonneg _ have hmul := mul_le_mul_of_nonneg_left he (add_nonneg hap han) rw [ha, hm] nlinarith [mul_nonneg hap hen, mul_nonneg han hep] lemma norm_gradient_eq_fderiv (u : Plane → ℝ) (x : Plane) : ‖gradient u x‖ = ‖fderiv ℝ u x‖ := (InnerProductSpace.toDual ℝ Plane).symm.norm_map _ lemma negative_gradient_energy (u : Plane → ℝ) (x : Plane) : ‖gradient (fun y => -u y) x‖ ^ 2 = ‖gradient u x‖ ^ 2 := by simp only [norm_gradient_eq_fderiv, fderiv_fun_neg, norm_neg] end Polya26.Strike.S05.Header.PrimitiveSupport end end /- END M028 -/ /- BEGIN M029 -/ section /-! Direct real cumulative distributions. Stieltjes functions and finite measure continuity already belong to the unchanged source26 header. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology ENNReal namespace Polya26.Strike.S05.Header.DirectCDF theorem cumulative_monotone (μ : Measure ℝ) [IsFiniteMeasure μ] : Monotone (fun x : ℝ => μ.real (Iic x)) := by intro x y hxy exact measureReal_mono (Iic_subset_Iic.mpr hxy) theorem cumulative_right_continuous (μ : Measure ℝ) [IsFiniteMeasure μ] (x : ℝ) : ContinuousWithinAt (fun y : ℝ => μ.real (Iic y)) (Ici x) x := by rw [← continuousWithinAt_Ioi_iff_Ici] have hi : (⋂ r > x, Iic r) = Iic x := by ext y simp only [mem_iInter, mem_Iic] constructor · intro h by_contra hxy have hxy' : x < y := lt_of_not_ge hxy have hmid := h ((x + y) / 2) (by linarith) linarith · intro hy r hr exact hy.trans hr.le have ht := tendsto_measure_biInter_gt (μ := μ) (s := fun r : ℝ => Iic r) (a := x) (fun r hr => measurableSet_Iic.nullMeasurableSet) (fun i j hi hij => Iic_subset_Iic.mpr hij) ⟨x + 1, lt_add_one x, measure_ne_top μ _⟩ rw [hi] at ht exact (ENNReal.tendsto_toReal (measure_ne_top μ (Iic x))).comp ht def finiteCDF (μ : Measure ℝ) [IsFiniteMeasure μ] : StieltjesFunction ℝ where toFun x := μ.real (Iic x) mono' := cumulative_monotone μ right_continuous' := cumulative_right_continuous μ theorem finiteCDF_apply (μ : Measure ℝ) [IsFiniteMeasure μ] (x : ℝ) : finiteCDF μ x = μ.real (Iic x) := rfl theorem finiteCDF_nonneg (μ : Measure ℝ) [IsFiniteMeasure μ] (x : ℝ) : 0 ≤ finiteCDF μ x := ENNReal.toReal_nonneg theorem finiteCDF_atBot (μ : Measure ℝ) [IsFiniteMeasure μ] : Tendsto (finiteCDF μ) atBot (𝓝 0) := by change Tendsto (fun x : ℝ => (μ (Iic x)).toReal) atBot (𝓝 0) have hi : (⋂ r : ℝ, Iic r) = ∅ := by ext y simp only [mem_iInter, mem_Iic, mem_empty_iff_false, iff_false] intro h have hy := h (y - 1) linarith have ht := tendsto_measure_iInter_atBot (μ := μ) (s := fun r : ℝ => Iic r) (fun r => measurableSet_Iic.nullMeasurableSet) monotone_Iic ⟨0, measure_ne_top μ _⟩ rw [hi, measure_empty] at ht simpa only [Function.comp_def, ENNReal.toReal_zero] using (ENNReal.tendsto_toReal ENNReal.zero_ne_top).comp ht theorem finiteCDF_atTop (μ : Measure ℝ) [IsFiniteMeasure μ] : Tendsto (finiteCDF μ) atTop (𝓝 (μ.real univ)) := (ENNReal.tendsto_toReal (measure_ne_top μ univ)).comp (tendsto_measure_Iic_atTop μ) theorem finiteCDF_measure (μ : Measure ℝ) [IsFiniteMeasure μ] : (finiteCDF μ).measure = μ := by letI : IsFiniteMeasure (finiteCDF μ).measure := (finiteCDF μ).isFiniteMeasure (finiteCDF_atBot μ) (finiteCDF_atTop μ) apply Measure.ext_of_Iic intro x rw [(finiteCDF μ).measure_Iic (finiteCDF_atBot μ), sub_zero] exact ofReal_measureReal /-- A total probability CDF, with harmless probability-valued junk outside the actual probability-measure case. It introduces no disintegration. -/ def cdf (μ : Measure ℝ) : StieltjesFunction ℝ := by classical exact if h : IsProbabilityMeasure μ then letI : IsProbabilityMeasure μ := h finiteCDF μ else finiteCDF (Measure.dirac (0 : ℝ)) theorem cdf_eq_finiteCDF (μ : Measure ℝ) [IsProbabilityMeasure μ] : cdf μ = finiteCDF μ := by classical simp only [cdf, dif_pos (inferInstance : IsProbabilityMeasure μ)] theorem cdf_eq_real (μ : Measure ℝ) [IsProbabilityMeasure μ] (x : ℝ) : cdf μ x = μ.real (Iic x) := by rw [cdf_eq_finiteCDF]; rfl theorem ofReal_cdf (μ : Measure ℝ) [IsProbabilityMeasure μ] (x : ℝ) : ENNReal.ofReal (cdf μ x) = μ (Iic x) := by rw [cdf_eq_real] exact ofReal_measureReal theorem measure_cdf (μ : Measure ℝ) [IsProbabilityMeasure μ] : (cdf μ).measure = μ := by rw [cdf_eq_finiteCDF, finiteCDF_measure] theorem cdf_nonneg (μ : Measure ℝ) (x : ℝ) : 0 ≤ cdf μ x := by classical unfold cdf split_ifs with h · letI : IsProbabilityMeasure μ := h exact finiteCDF_nonneg μ x · exact finiteCDF_nonneg _ x theorem cdf_le_one (μ : Measure ℝ) (x : ℝ) : cdf μ x ≤ 1 := by classical have hbound (ν : Measure ℝ) [IsProbabilityMeasure ν] : finiteCDF ν x ≤ 1 := by change ν.real (Iic x) ≤ 1 calc ν.real (Iic x) ≤ ν.real univ := measureReal_mono (subset_univ (Iic x)) _ = 1 := by simp only [measureReal_def, measure_univ, ENNReal.toReal_one] unfold cdf split_ifs with h · letI : IsProbabilityMeasure μ := h exact hbound μ · exact hbound _ theorem tendsto_cdf_atBot (μ : Measure ℝ) : Tendsto (cdf μ) atBot (𝓝 0) := by classical unfold cdf split_ifs with h · letI : IsProbabilityMeasure μ := h exact finiteCDF_atBot μ · exact finiteCDF_atBot _ theorem tendsto_cdf_atTop (μ : Measure ℝ) : Tendsto (cdf μ) atTop (𝓝 1) := by classical have hlim (ν : Measure ℝ) [IsProbabilityMeasure ν] : Tendsto (finiteCDF ν) atTop (𝓝 1) := by simpa only [measureReal_def, measure_univ, ENNReal.toReal_one] using finiteCDF_atTop ν unfold cdf split_ifs with h · letI : IsProbabilityMeasure μ := h exact hlim μ · exact hlim _ end Polya26.Strike.S05.Header.DirectCDF end end /- END M029 -/ /- BEGIN M030 -/ section /-! Actual nonatomic CDF-rank interval bounds, retaining singular continuous mass. -/ noncomputable section namespace Polya26.Strike.S05.Header.NonatomicRank open Set MeasureTheory Filter Function open Polya26.Strike.S05.Header.DirectCDF open scoped ENNReal Topology def nonatomicPoints (μ : Measure ℝ) : Set ℝ := {x | μ {x} = 0} lemma countable_atoms (μ : Measure ℝ) [IsProbabilityMeasure μ] : {x | μ {x} ≠ 0}.Countable := by apply (cdf μ).countable_leftLim_ne.mono intro x hx he have h := (cdf μ).measure_singleton x rw [measure_cdf μ, he, sub_self, ENNReal.ofReal_zero] at h exact hx h lemma measurableSet_nonatomicPoints (μ : Measure ℝ) [IsProbabilityMeasure μ] : MeasurableSet (nonatomicPoints μ) := by have h := (countable_atoms μ).measurableSet.compl simpa only [nonatomicPoints, compl_ofPred, not_not] using h lemma nonatomicPoints_volume_ae (μ : Measure ℝ) [IsProbabilityMeasure μ] : ∀ᵐ x ∂volume, x ∈ nonatomicPoints μ := by have h := measure_eq_zero_iff_ae_notMem.mp ((countable_atoms μ).measure_zero volume) filter_upwards [h] with x hx change μ {x} = 0 simpa only [mem_ofPred_eq, not_not] using hx /-- Removing distribution atoms changes no height-Lebesgue numerator. -/ lemma integral_atom_mask_eq (μ : Measure ℝ) [IsProbabilityMeasure μ] (H : ℝ → ℝ) : (∫ t, (nonatomicPoints μ).indicator H t) = ∫ t, H t := by apply integral_congr_ae filter_upwards [nonatomicPoints_volume_ae μ] with t ht exact indicator_of_mem ht H lemma cdf_leftLim_eq_of_nonatomic (μ : Measure ℝ) [IsProbabilityMeasure μ] {x : ℝ} (hx : μ {x} = 0) : leftLim (cdf μ) x = cdf μ x := by have h := (cdf μ).measure_singleton x rw [measure_cdf μ, hx] at h have hs : cdf μ x - leftLim (cdf μ) x ≤ 0 := ENNReal.ofReal_eq_zero.mp h.symm have hl := (cdf μ).mono.leftLim_le (le_rfl : x ≤ x) linarith /-- On its nonatomic points, a genuine distribution maps every rank band to at most its length. -/ theorem nonatomic_cdf_band_le (μ : Measure ℝ) [IsProbabilityMeasure μ] (a b : ℝ) : (μ.restrict (nonatomicPoints μ)) ((cdf μ) ⁻¹' Icc a b) ≤ ENNReal.ofReal (b - a) := by have hA : MeasurableSet ((cdf μ) ⁻¹' Icc a b) := measurableSet_Icc.preimage (cdf μ).mono.measurable rw [Measure.restrict_apply hA] have hAD := hA.inter (measurableSet_nonatomicPoints μ) rw [hAD.measure_eq_iSup_isCompact μ] apply iSup_le intro K apply iSup_le intro hKA apply iSup_le intro hK rcases eq_empty_or_nonempty K with hKe | hKn · rw [hKe, measure_empty] exact bot_le · obtain ⟨xmin, hmin⟩ := hK.exists_isLeast hKn obtain ⟨xmax, hmax⟩ := hK.exists_isGreatest hKn have hx : μ {xmin} = 0 := (hKA hmin.1).2 have hlo : a ≤ cdf μ xmin := (hKA hmin.1).1.1 have hhi : cdf μ xmax ≤ b := (hKA hmax.1).1.2 have hKI : K ⊆ Icc xmin xmax := fun x hx => ⟨hmin.2 hx, hmax.2 hx⟩ have hI : μ (Icc xmin xmax) = ENNReal.ofReal (cdf μ xmax - cdf μ xmin) := by have h := (cdf μ).measure_Icc xmin xmax rwa [measure_cdf μ, cdf_leftLim_eq_of_nonatomic μ hx] at h calc μ K ≤ μ (Icc xmin xmax) := measure_mono hKI _ = ENNReal.ofReal (cdf μ xmax - cdf μ xmin) := hI _ ≤ ENNReal.ofReal (b - a) := ENNReal.ofReal_le_ofReal (by linarith) /-- A finite real measure whose rank bands have length bounds is dominated by Lebesgue measure. -/ theorem measure_le_volume_of_Icc_bound (σ : Measure ℝ) [IsFiniteMeasure σ] (hband : ∀ a b : ℝ, σ (Icc a b) ≤ ENNReal.ofReal (b - a)) : σ ≤ volume := by let f : StieltjesFunction ℝ := finiteCDF σ have hf : f.measure = σ := finiteCDF_measure σ have hinc (x y : ℝ) (hxy : x ≤ y) : f y - f x ≤ y - x := by have hi : σ (Ioc x y) ≤ ENNReal.ofReal (y - x) := (measure_mono Ioc_subset_Icc_self).trans (hband x y) have hfi := f.measure_Ioc x y rw [hf] at hfi rw [hfi] at hi exact (ENNReal.ofReal_le_ofReal_iff (sub_nonneg.mpr hxy)).mp hi let g : StieltjesFunction ℝ := { toFun := fun x => x - f x mono' := by intro x y hxy have h := hinc x y hxy change x - f x ≤ y - f y linarith right_continuous' := fun x => continuousWithinAt_id.sub (f.right_continuous x) } have he : f + g = StieltjesFunction.id := by ext x change f x + (x - f x) = x ring have hv : (volume : Measure ℝ) = σ + g.measure := by rw [Real.volume_eq_stieltjes_id, ← he, StieltjesFunction.measure_add, hf] rw [hv] exact le_add_of_nonneg_right (bot_le : (0 : Measure ℝ) ≤ g.measure) /-- Full actual rank domination after removing only the countable distribution atoms. -/ theorem nonatomic_cdf_map_le_volume (μ : Measure ℝ) [IsProbabilityMeasure μ] : (μ.restrict (nonatomicPoints μ)).map (cdf μ) ≤ volume := by apply measure_le_volume_of_Icc_bound intro a b rw [Measure.map_apply (cdf μ).mono.measurable measurableSet_Icc] exact nonatomic_cdf_band_le μ a b /-- Reflection and scaling give the original, unnormalized area-rank measure bound. -/ theorem nonatomic_area_rank_map_le_volume (μ : Measure ℝ) [IsProbabilityMeasure μ] (a : ℝ) (ha : 0 < a) : ENNReal.ofReal a • ((μ.restrict (nonatomicPoints μ)).map (fun x => a * (1 - cdf μ x))) ≤ volume := by have hCDF : Measurable (cdf μ) := (cdf μ).mono.measurable have hr : Measurable (fun x : ℝ => 1 - x) := measurable_const.sub measurable_id have hm : Measurable (fun x : ℝ => a * x) := measurable_const.mul measurable_id have hreflect : volume.map (fun x : ℝ => 1 - x) = volume := by symm apply Real.measure_ext_Ioo_rat intro p q rw [Measure.map_apply hr measurableSet_Ioo] have hpre : (fun x : ℝ => 1 - x) ⁻¹' Ioo (p : ℝ) (q : ℝ) = Ioo (1 - (q : ℝ)) (1 - (p : ℝ)) := by ext x simp only [mem_preimage, mem_Ioo] constructor <;> rintro ⟨h₁, h₂⟩ <;> constructor <;> linarith rw [hpre, Real.volume_Ioo, Real.volume_Ioo] congr 1 ring have h₀ := nonatomic_cdf_map_le_volume μ have h₁ : ((μ.restrict (nonatomicPoints μ)).map (fun x => 1 - cdf μ x)) ≤ volume := by have h := Measure.map_mono h₀ hr rw [Measure.map_map hr hCDF, hreflect] at h simpa only [Function.comp_def] using h have h₂ : ((μ.restrict (nonatomicPoints μ)).map (fun x => a * (1 - cdf μ x))) ≤ volume.map (fun x : ℝ => a * x) := by have hrr : Measurable (fun x : ℝ => 1 - cdf μ x) := measurable_const.sub hCDF have h := Measure.map_mono h₁ hm rw [Measure.map_map hm hrr] at h simpa only [Function.comp_def] using h have h : ENNReal.ofReal a • ((μ.restrict (nonatomicPoints μ)).map (fun x => a * (1 - cdf μ x))) ≤ ENNReal.ofReal a • volume.map (fun x : ℝ => a * x) := by intro S simpa only [Measure.smul_apply, smul_eq_mul] using mul_le_mul_right (h₂ S) (ENNReal.ofReal a) have hvol : ENNReal.ofReal a • volume.map (fun x : ℝ => a * x) = volume := by simpa only [abs_of_pos ha] using Real.smul_map_volume_mul_left ha.ne' rw [hvol] at h exact h /-- The denominator estimate for an actual nonnegative radial test density. -/ theorem nonatomic_area_rank_integral_le (μ : Measure ℝ) [IsProbabilityMeasure μ] (a : ℝ) (ha : 0 < a) {H : ℝ → ℝ} (hH : StronglyMeasurable H) (hHnonneg : 0 ≤ᵐ[volume] H) (hHi : Integrable H volume) : a * (∫ x in nonatomicPoints μ, H (a * (1 - cdf μ x)) ∂μ) ≤ ∫ s, H s := by have hA : Measurable (fun x => a * (1 - cdf μ x)) := measurable_const.mul (measurable_const.sub (cdf μ).mono.measurable) calc a * (∫ x in nonatomicPoints μ, H (a * (1 - cdf μ x)) ∂μ) = ∫ s, H s ∂ENNReal.ofReal a • ((μ.restrict (nonatomicPoints μ)).map (fun x => a * (1 - cdf μ x))) := by rw [integral_smul_measure, ENNReal.toReal_ofReal ha.le, smul_eq_mul, integral_map_of_stronglyMeasurable hA hH] _ ≤ ∫ s, H s := integral_mono_measure (nonatomic_area_rank_map_le_volume μ a ha) hHnonneg hHi end Polya26.Strike.S05.Header.NonatomicRank end end /- END M030 -/ /- BEGIN M031 -/ section /-! The finite-value normalization needed by the actual inverse profiles. No weak topology, bundled-measure instances, or distribution kernels occur. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology ENNReal NNReal namespace Polya26.Strike.S05.Header.FiniteValues open Polya26.Strike.S05.Header.DirectCDF abbrev FiniteMeasure (Ω : Type*) [MeasurableSpace Ω] := {μ : Measure Ω // IsFiniteMeasure μ} namespace FiniteMeasure variable {Ω : Type*} [MeasurableSpace Ω] def toMeasure (m : FiniteMeasure Ω) : Measure Ω := m.val theorem isFiniteMeasure (m : FiniteMeasure Ω) : IsFiniteMeasure (m : Measure Ω) := m.property def mass (m : FiniteMeasure Ω) : ℝ≥0 := ((m : Measure Ω) univ).toNNReal theorem mass_real (m : FiniteMeasure Ω) : (m.mass : ℝ) = (m : Measure Ω).real univ := rfl theorem ennreal_mass (m : FiniteMeasure Ω) : (m.mass : ℝ≥0∞) = (m : Measure Ω) univ := by letI : IsFiniteMeasure (m : Measure Ω) := m.property exact ENNReal.coe_toNNReal (measure_ne_top (m : Measure Ω) univ) theorem mass_eq_zero_iff (m : FiniteMeasure Ω) : m.mass = 0 ↔ (m : Measure Ω) = 0 := by constructor · intro hm apply Measure.measure_univ_eq_zero.mp rw [← ennreal_mass m, hm, ENNReal.coe_zero] · intro hm simp only [mass, hm, Measure.coe_zero, Pi.zero_apply, ENNReal.toNNReal_zero] def normalize [Nonempty Ω] (m : FiniteMeasure Ω) : Measure Ω := if m.mass = 0 then Measure.dirac (Classical.choice (inferInstance : Nonempty Ω)) else m.mass⁻¹ • (m : Measure Ω) theorem normalize_isProbability [Nonempty Ω] (m : FiniteMeasure Ω) : IsProbabilityMeasure m.normalize := by classical letI : IsFiniteMeasure (m : Measure Ω) := m.property unfold normalize split_ifs with h · infer_instance · refine ⟨?_⟩ simp only [Measure.coe_smul, Pi.smul_apply, Measure.nnreal_smul_coe_apply, ENNReal.coe_inv h, ennreal_mass] have hn : (m : Measure Ω) univ ≠ 0 := by rwa [← ennreal_mass m, ENNReal.coe_ne_zero] exact ENNReal.inv_mul_cancel hn (measure_ne_top (m : Measure Ω) univ) theorem self_eq_mass_smul_normalize [Nonempty Ω] (m : FiniteMeasure Ω) : (m : Measure Ω) = m.mass • m.normalize := by classical by_cases h : m.mass = 0 · rw [h, zero_smul] exact (mass_eq_zero_iff m).mp h · rw [normalize, if_neg h, smul_smul, mul_inv_cancel₀ h, one_smul] theorem normalize_exact [Nonempty Ω] (m : FiniteMeasure Ω) : (m : Measure Ω) = ENNReal.ofReal (m.mass : ℝ) • m.normalize := by rw [ENNReal.ofReal_coe_nnreal, Measure.coe_nnreal_smul] exact self_eq_mass_smul_normalize m theorem normalize_null [Nonempty Ω] (m : FiniteMeasure Ω) (hmass : 0 < (m.mass : ℝ)) {S : Set Ω} (hS : (m : Measure Ω) S = 0) : m.normalize S = 0 := by classical have hm : m.mass ≠ 0 := by intro hz rw [hz, NNReal.coe_zero] at hmass exact (lt_irrefl (0 : ℝ)) hmass rw [normalize, if_neg hm, Measure.smul_apply, hS, smul_zero] end FiniteMeasure theorem finiteMeasure_mass_real (m : FiniteMeasure ℝ) : (m.mass : ℝ) = (m : Measure ℝ).real univ := FiniteMeasure.mass_real m theorem finiteMeasure_normalize_exact (m : FiniteMeasure ℝ) : (m : Measure ℝ) = ENNReal.ofReal (m.mass : ℝ) • m.normalize := FiniteMeasure.normalize_exact m theorem finiteMeasure_normalize_null (m : FiniteMeasure ℝ) (hmass : 0 < (m.mass : ℝ)) {S : Set ℝ} (hS : (m : Measure ℝ) S = 0) : m.normalize S = 0 := FiniteMeasure.normalize_null m hmass hS theorem finiteMeasure_tail_rank (m : FiniteMeasure ℝ) (t : ℝ) : (m.mass : ℝ) * (1 - cdf m.normalize t) = (m : Measure ℝ).real (Ioi t) := by letI : IsProbabilityMeasure m.normalize := FiniteMeasure.normalize_isProbability m have htail : m.normalize.real (Ioi t) = 1 - cdf m.normalize t := by have h := (cdf m.normalize).measure_Ioi (tendsto_cdf_atTop m.normalize) t rw [measure_cdf] at h have hreal := congrArg ENNReal.toReal h change (m.normalize (Ioi t)).toReal = _ simpa only [ENNReal.toReal_ofReal (sub_nonneg.mpr (cdf_le_one m.normalize t))] using hreal rw [finiteMeasure_normalize_exact m, measureReal_ennreal_smul_apply] simp only [ENNReal.ofReal_coe_nnreal, ENNReal.coe_toReal, htail] theorem finiteMeasure_cdf_endpoints (m : FiniteMeasure ℝ) (hmass : 0 < (m.mass : ℝ)) {U : ℝ} (hzero : (m : Measure ℝ) (Iic 0) = 0) (hbound : (m : Measure ℝ) (Ioi U) = 0) : cdf m.normalize 0 = 0 ∧ cdf m.normalize U = 1 := by letI : IsProbabilityMeasure m.normalize := FiniteMeasure.normalize_isProbability m have hz := finiteMeasure_normalize_null m hmass hzero have hb := finiteMeasure_normalize_null m hmass hbound constructor · have h := ofReal_cdf m.normalize 0 rw [hz] at h exact le_antisymm (ENNReal.ofReal_eq_zero.mp h) (cdf_nonneg m.normalize 0) · have h := (cdf m.normalize).measure_Ioi (tendsto_cdf_atTop m.normalize) U rw [measure_cdf, hb] at h have hle : 1 - cdf m.normalize U ≤ 0 := ENNReal.ofReal_eq_zero.mp h.symm apply le_antisymm (cdf_le_one m.normalize U) linarith end Polya26.Strike.S05.Header.FiniteValues end end /- END M031 -/ /- BEGIN M032 -/ section /- The unit-interval inverse proof is adapted from Mathlib's Probability/Kernel/Representation.lean. Copyright (c) 2025 Gaëtan Serré. All rights reserved. Released under Apache 2.0 license as described in Mathlib's LICENSE. Original authors: Gaëtan Serré, Rémy Degenne. -/ /-! The actual decreasing inverse of a bounded real distribution. The complete unit-interval inverse follows the native proof in `Probability/Kernel/Representation.lean`, retaining the CDF jumps. The final pushforward identity is equality of actual Lebesgue measures, so all plateau atoms and original moments are retained. -/ noncomputable section open Set MeasureTheory Filter Function unitInterval open Polya26.Strike.S05.Header.DirectCDF Polya26.Strike.S05.Header.FiniteValues open scoped Topology ENNReal namespace Polya26.Strike.S05.Header.QuantileDistribution lemma finiteMeasure_mass_real (m : FiniteMeasure ℝ) : (m.mass : ℝ) = (m : Measure ℝ).real univ := Polya26.Strike.S05.Header.FiniteValues.finiteMeasure_mass_real m theorem finiteMeasure_normalize_exact (m : FiniteMeasure ℝ) : (m : Measure ℝ) = ENNReal.ofReal (m.mass : ℝ) • m.normalize := Polya26.Strike.S05.Header.FiniteValues.finiteMeasure_normalize_exact m /-- Actual positive bounded values give the endpoint CDF facts used below. -/ theorem cdf_positive_bounded_map {X : Type*} [MeasurableSpace X] (ν : Measure X) [IsProbabilityMeasure ν] {u : X → ℝ} (hu : Measurable u) {U : ℝ} (hpos : ∀ᵐ x ∂ν, 0 < u x) (hbound : ∀ᵐ x ∂ν, u x ≤ U) : cdf (ν.map u) 0 = 0 ∧ cdf (ν.map u) U = 1 := by have hz : ν (u ⁻¹' Iic 0) = 0 := by apply measure_eq_zero_iff_ae_notMem.mpr filter_upwards [hpos] with x hx exact not_le.mpr hx have hfull : ν (u ⁻¹' Iic U) = 1 := by rw [← measure_univ (μ := ν)] apply measure_congr filter_upwards [hbound] with x hx simp only [mem_preimage, mem_Iic, mem_univ, hx] constructor · have h := ofReal_cdf (ν.map u) 0 rw [Measure.map_apply hu measurableSet_Iic, hz] at h exact le_antisymm (ENNReal.ofReal_eq_zero.mp h) (cdf_nonneg (ν.map u) 0) · have h := ofReal_cdf (ν.map u) U rw [Measure.map_apply hu measurableSet_Iic, hfull] at h have hreal := congrArg ENNReal.toReal h simpa only [ENNReal.toReal_ofReal (cdf_nonneg (ν.map u) U), ENNReal.toReal_one] using hreal def inverseUnit (μ : Measure ℝ) (U : ℝ) (p : I) : I := sSup {x : I | cdf μ (U * (x : ℝ)) < (p : ℝ)} lemma inverseUnit_monotone (μ : Measure ℝ) (U : ℝ) : Monotone (inverseUnit μ U) := by intro p q hpq apply sSup_le_sSup intro x hx change cdf μ (U * (x : ℝ)) < (p : ℝ) at hx change cdf μ (U * (x : ℝ)) < (q : ℝ) exact hx.trans_le (show (p : ℝ) ≤ (q : ℝ) from hpq) /-- Exact CDF inversion, including jump and endpoint values. -/ theorem inverseUnit_le_iff (μ : Measure ℝ) {U : ℝ} (hU : 0 < U) (hUcdf : cdf μ U = 1) (p x : I) : inverseUnit μ U p ≤ x ↔ (p : ℝ) ≤ cdf μ (U * (x : ℝ)) := by constructor · intro hq by_cases hx : x = 1 · subst x change (p : ℝ) ≤ cdf μ (U * 1) rw [mul_one, hUcdf] exact p.2.2 · letI : NeBot (𝓝[>] x) := nhdsGT_neBot_of_exists_gt ⟨1, lt_of_le_of_ne x.2.2 hx⟩ have hs : Continuous (fun y : I => U * (y : ℝ)) := continuous_const.mul continuous_subtype_val have hc : ContinuousWithinAt (fun y : I => cdf μ (U * (y : ℝ))) (Ioi x) x := by have hcomp := ((cdf μ).right_continuous (U * (x : ℝ))).comp (f := fun y : I => U * (y : ℝ)) (x := x) (s := Ioi x) hs.continuousWithinAt (fun y (hy : y ∈ Ioi x) => mul_le_mul_of_nonneg_left hy.le hU.le) simpa only [Function.comp_def] using hcomp refine le_of_tendsto_of_tendsto (b := 𝓝[>] x) continuousWithinAt_const hc ?_ refine eventually_nhdsWithin_of_forall fun y hy => ?_ by_contra! h have hyq : y ≤ inverseUnit μ U p := le_sSup h exact (not_lt_of_ge (hyq.trans hq)) hy · intro hp apply sSup_le intro y hy by_contra! hxy have hm := (cdf μ).mono (mul_le_mul_of_nonneg_left hxy.le hU.le) exact (not_lt_of_ge (hp.trans hm)) hy def inverseCDF (μ : Measure ℝ) (U p : ℝ) : ℝ := U * (inverseUnit μ U (projIcc 0 1 zero_le_one p) : ℝ) lemma inverseCDF_nonneg (μ : Measure ℝ) {U : ℝ} (hU : 0 ≤ U) (p : ℝ) : 0 ≤ inverseCDF μ U p := mul_nonneg hU (inverseUnit μ U _).2.1 lemma inverseCDF_le_bound (μ : Measure ℝ) {U : ℝ} (hU : 0 ≤ U) (p : ℝ) : inverseCDF μ U p ≤ U := by simpa only [inverseCDF, mul_one] using mul_le_mul_of_nonneg_left (inverseUnit μ U _).2.2 hU lemma inverseCDF_monotone (μ : Measure ℝ) {U : ℝ} (hU : 0 ≤ U) : Monotone (inverseCDF μ U) := by intro p q hpq exact mul_le_mul_of_nonneg_left (inverseUnit_monotone μ U (monotone_projIcc zero_le_one hpq)) hU /-- The real bounded inverse is the actual generalized inverse at every interior rank. -/ theorem inverseCDF_le_iff (μ : Measure ℝ) {U p : ℝ} (hU : 0 < U) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) (hp : p ∈ Ioo (0 : ℝ) 1) (t : ℝ) : inverseCDF μ U p ≤ t ↔ p ≤ cdf μ t := by by_cases ht0 : t < 0 · have hct : cdf μ t = 0 := by apply le_antisymm · simpa only [h0cdf] using (cdf μ).mono ht0.le · exact cdf_nonneg μ t have hq : ¬ inverseCDF μ U p ≤ t := not_le.mpr (ht0.trans_le (inverseCDF_nonneg μ hU.le p)) simp only [hq, hct, not_le.mpr hp.1] · by_cases hUt : U ≤ t · have hct : cdf μ t = 1 := by apply le_antisymm (cdf_le_one μ t) simpa only [hUcdf] using (cdf μ).mono hUt have hq := (inverseCDF_le_bound μ hU.le p).trans hUt simp only [hq, hct, hp.2.le] · have ht : t ∈ Icc (0 : ℝ) U := ⟨le_of_not_gt ht0, (lt_of_not_ge hUt).le⟩ let x : I := ⟨t / U, div_nonneg ht.1 hU.le, (div_le_one hU).mpr ht.2⟩ have hx : U * (x : ℝ) = t := by dsimp [x]; field_simp rw [inverseCDF, projIcc_of_mem zero_le_one ⟨hp.1.le, hp.2.le⟩, ← hx, mul_le_mul_iff_right₀ hU] exact inverseUnit_le_iff μ hU hUcdf ⟨p, hp.1.le, hp.2.le⟩ x def areaRank (μ : Measure ℝ) (a t : ℝ) : ℝ := a * (1 - cdf μ t) theorem finiteMeasure_areaRank (m : FiniteMeasure ℝ) (t : ℝ) : areaRank m.normalize (m.mass : ℝ) t = (m : Measure ℝ).real (Ioi t) := Polya26.Strike.S05.Header.FiniteValues.finiteMeasure_tail_rank m t def areaProfile (μ : Measure ℝ) (U a s : ℝ) : ℝ := inverseCDF μ U (1 - s / a) lemma areaProfile_bounds (μ : Measure ℝ) {U : ℝ} (hU : 0 ≤ U) (a s : ℝ) : areaProfile μ U a s ∈ Icc (0 : ℝ) U := ⟨inverseCDF_nonneg μ hU _, inverseCDF_le_bound μ hU _⟩ lemma areaRank_bounds (μ : Measure ℝ) {a : ℝ} (ha : 0 ≤ a) (t : ℝ) : areaRank μ a t ∈ Icc (0 : ℝ) a := by constructor · exact mul_nonneg ha (sub_nonneg.mpr (cdf_le_one μ t)) · unfold areaRank have h := mul_le_mul_of_nonneg_left (cdf_nonneg μ t) ha linarith lemma areaProfile_antitone (μ : Measure ℝ) {U a : ℝ} (hU : 0 ≤ U) (ha : 0 < a) : Antitone (areaProfile μ U a) := by intro s r hsr exact inverseCDF_monotone μ hU (sub_le_sub_left ((div_le_div_iff_of_pos_right ha).mpr hsr) 1) lemma areaProfile_measurable (μ : Measure ℝ) {U a : ℝ} (hU : 0 ≤ U) (ha : 0 < a) : Measurable (areaProfile μ U a) := (areaProfile_antitone μ hU ha).measurable /-- Strict superlevels have their original, unnormalized area ranks. -/ theorem areaProfile_gt_iff (μ : Measure ℝ) {U a : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) {s : ℝ} (hs : s ∈ Ioo (0 : ℝ) a) (t : ℝ) : t < areaProfile μ U a s ↔ s < areaRank μ a t := by have hp : 1 - s / a ∈ Ioo (0 : ℝ) 1 := by constructor · have h := (div_lt_one ha).mpr hs.2 linarith · have h := div_pos hs.1 ha linarith change t < inverseCDF μ U (1 - s / a) ↔ s < a * (1 - cdf μ t) rw [lt_iff_not_ge, inverseCDF_le_iff μ hU h0cdf hUcdf hp t, not_le] calc cdf μ t < 1 - s / a ↔ s / a < 1 - cdf μ t := by constructor <;> intro h <;> linarith _ ↔ s < a * (1 - cdf μ t) := by rw [div_lt_iff₀ ha, mul_comm] theorem areaProfile_superlevel (μ : Measure ℝ) {U a : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) (t : ℝ) : (areaProfile μ U a) ⁻¹' Ioi t ∩ Ioo (0 : ℝ) a = Ioo 0 (areaRank μ a t) := by ext s constructor · intro hs exact ⟨hs.2.1, (areaProfile_gt_iff μ hU ha h0cdf hUcdf hs.2 t).mp hs.1⟩ · intro hs have hsa : s ∈ Ioo (0 : ℝ) a := ⟨hs.1, hs.2.trans_le (areaRank_bounds μ ha.le t).2⟩ exact ⟨(areaProfile_gt_iff μ hU ha h0cdf hUcdf hsa t).mpr hs.2, hsa⟩ /-- Positive distribution mass arbitrarily close to the physical zero gate gives the actual outer essential-infimum approximation. -/ theorem areaProfile_outer_approx (μ : Measure ℝ) {U a : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) (hnear : ∀ t > 0, 0 < cdf μ t) : ∀ ε > 0, ∃ s ∈ Ioo (0 : ℝ) a, areaProfile μ U a s < ε := by intro ε hε let p : ℝ := cdf μ (ε / 2) / 2 have hp : p ∈ Ioo (0 : ℝ) 1 := by have hn := hnear (ε / 2) (by linarith) have h1 := cdf_le_one μ (ε / 2) dsimp [p] constructor <;> linarith let s : ℝ := a * (1 - p) have hs0 : 0 < s := mul_pos ha (sub_pos.mpr hp.2) have hsa : s < a := by dsimp [s] nlinarith [mul_pos ha hp.1] have hr : 1 - s / a = p := by dsimp [s]; field_simp [ha.ne']; ring have hq : inverseCDF μ U p ≤ ε / 2 := (inverseCDF_le_iff μ hU h0cdf hUcdf hp _).mpr (by dsimp [p] linarith [cdf_nonneg μ (ε / 2)]) refine ⟨s, ⟨hs0, hsa⟩, ?_⟩ unfold areaProfile rw [hr] exact hq.trans_lt (by linarith) /-- The inclusive high-area rank bounds the trunk's gate values above. -/ theorem areaProfile_trunk_gate_upper (μ : Measure ℝ) {U a b τ : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) (hb0 : 0 ≤ b) (hgate : areaRank μ a τ ≤ b) : ∀ s ∈ Ioo b a, areaProfile μ U a s ≤ τ := by intro s hs by_contra! h have hs0a : s ∈ Ioo (0 : ℝ) a := ⟨hb0.trans_lt hs.1, hs.2⟩ have hr := (areaProfile_gt_iff μ hU ha h0cdf hUcdf hs0a τ).mp h exact (not_lt_of_ge (hgate.trans hs.1.le)) hr /-- Original positive-volume values just below the gate give its trunk essential supremum, including any plateau at that gate in `b`. -/ theorem areaProfile_trunk_gate_approx (μ : Measure ℝ) {U a b τ : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) (hb0 : 0 ≤ b) (hnear : ∀ ε > 0, b < areaRank μ a (τ - ε)) : ∀ ε > 0, ∃ s ∈ Ioo b a, τ - ε < areaProfile μ U a s := by intro ε hε let s : ℝ := (b + areaRank μ a (τ - ε)) / 2 have hnearε := hnear ε hε have hbs : b < s := by dsimp [s]; linarith have hsA : s < areaRank μ a (τ - ε) := by dsimp [s]; linarith have hsa : s < a := hsA.trans_le (areaRank_bounds μ ha.le _).2 refine ⟨s, ⟨hbs, hsa⟩, ?_⟩ exact (areaProfile_gt_iff μ hU ha h0cdf hUcdf ⟨hb0.trans_lt hbs, hsa⟩ _).mpr hsA /-- Equality of actual area distributions; no atom is removed from this identity. -/ theorem areaProfile_map (μ : Measure ℝ) [IsProbabilityMeasure μ] {U a : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) : (volume.restrict (Ioo (0 : ℝ) a)).map (areaProfile μ U a) = ENNReal.ofReal a • μ := by have hm := areaProfile_measurable μ hU.le ha letI : IsFiniteMeasure (volume.restrict (Ioo (0 : ℝ) a)) := ⟨by simp only [Measure.restrict_apply_univ, Real.volume_Ioo, sub_zero]; finiteness⟩ apply Measure.ext_of_Iic intro t rw [Measure.map_apply hm measurableSet_Iic, Measure.restrict_apply (measurableSet_Iic.preimage hm)] have hset : (areaProfile μ U a) ⁻¹' Iic t ∩ Ioo (0 : ℝ) a = Ioo (0 : ℝ) a \ Ioo (0 : ℝ) (areaRank μ a t) := by rw [← areaProfile_superlevel μ hU ha h0cdf hUcdf t] ext s simp only [mem_inter_iff, mem_preimage, mem_Iic, mem_Ioi, Set.mem_sdiff] constructor · rintro ⟨hle, hs⟩ exact ⟨hs, fun h => (not_lt_of_ge hle) h.1⟩ · rintro ⟨hs, hn⟩ exact ⟨not_lt.mp (fun h => hn ⟨h, hs⟩), hs⟩ have hsub : Ioo (0 : ℝ) (areaRank μ a t) ⊆ Ioo (0 : ℝ) a := fun s hs => ⟨hs.1, hs.2.trans_le (areaRank_bounds μ ha.le t).2⟩ rw [hset, measure_sdiff hsub measurableSet_Ioo.nullMeasurableSet (by simp only [Real.volume_Ioo, sub_zero]; finiteness), Real.volume_Ioo, Real.volume_Ioo, sub_zero, sub_zero, Measure.smul_apply, smul_eq_mul, ← ofReal_cdf μ t] rw [← ENNReal.ofReal_mul ha.le] rw [← ENNReal.ofReal_sub a (areaRank_bounds μ ha.le t).1] congr 1 unfold areaRank ring /-- The profile's distribution is the original finite value measure, with no unresolved normalized-area identification. -/ theorem finiteMeasure_areaProfile_map (m : FiniteMeasure ℝ) {U : ℝ} (hU : 0 < U) (hmass : 0 < (m.mass : ℝ)) (h0cdf : cdf (m.normalize : Measure ℝ) 0 = 0) (hUcdf : cdf (m.normalize : Measure ℝ) U = 1) : (volume.restrict (Ioo (0 : ℝ) (m.mass : ℝ))).map (areaProfile (m.normalize : Measure ℝ) U (m.mass : ℝ)) = (m : Measure ℝ) := by letI : IsProbabilityMeasure m.normalize := FiniteMeasure.normalize_isProbability m calc _ = ENNReal.ofReal (m.mass : ℝ) • (m.normalize : Measure ℝ) := areaProfile_map (m.normalize : Measure ℝ) hU hmass h0cdf hUcdf _ = (m : Measure ℝ) := (finiteMeasure_normalize_exact m).symm /-- In particular, every plateau retains exactly its original area. -/ theorem areaProfile_plateau (μ : Measure ℝ) [IsProbabilityMeasure μ] {U a : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) (t : ℝ) : volume ((areaProfile μ U a) ⁻¹' {t} ∩ Ioo (0 : ℝ) a) = ENNReal.ofReal a * μ {t} := by have h := congrArg (fun ν : Measure ℝ => ν {t}) (areaProfile_map μ hU ha h0cdf hUcdf) rwa [Measure.map_apply (areaProfile_measurable μ hU.le ha) (measurableSet_singleton t), Measure.restrict_apply ((measurableSet_singleton t).preimage (areaProfile_measurable μ hU.le ha)), Measure.smul_apply, smul_eq_mul] at h /-- Every original moment, including the branch/gate cross terms, is preserved. -/ theorem areaProfile_integral (μ : Measure ℝ) [IsProbabilityMeasure μ] {U a : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) {H : ℝ → ℝ} (hH : StronglyMeasurable H) : (∫ s in Ioo (0 : ℝ) a, H (areaProfile μ U a s)) = a * ∫ x, H x ∂μ := by rw [← integral_map_of_stronglyMeasurable (areaProfile_measurable μ hU.le ha) hH, areaProfile_map μ hU ha h0cdf hUcdf, integral_smul_measure, ENNReal.toReal_ofReal ha.le, smul_eq_mul] theorem areaProfile_first_moment (μ : Measure ℝ) [IsProbabilityMeasure μ] {U a : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) : (∫ s in Ioo (0 : ℝ) a, areaProfile μ U a s) = a * ∫ x, x ∂μ := areaProfile_integral μ hU ha h0cdf hUcdf continuous_id.stronglyMeasurable theorem areaProfile_second_moment (μ : Measure ℝ) [IsProbabilityMeasure μ] {U a : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) : (∫ s in Ioo (0 : ℝ) a, areaProfile μ U a s ^ 2) = a * ∫ x, x ^ 2 ∂μ := areaProfile_integral μ hU ha h0cdf hUcdf (continuous_id.pow 2).stronglyMeasurable theorem areaProfile_gate_moment (μ : Measure ℝ) [IsProbabilityMeasure μ] {U a : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : cdf μ 0 = 0) (hUcdf : cdf μ U = 1) (τ : ℝ) : (∫ s in Ioo (0 : ℝ) a, (τ + areaProfile μ U a s) ^ 2) = a * ∫ x, (τ + x) ^ 2 ∂μ := areaProfile_integral μ hU ha h0cdf hUcdf ((continuous_const.add continuous_id).pow 2).stronglyMeasurable theorem finiteMeasure_areaProfile_integral (m : FiniteMeasure ℝ) {U : ℝ} (hU : 0 < U) (hmass : 0 < (m.mass : ℝ)) (h0cdf : cdf (m.normalize : Measure ℝ) 0 = 0) (hUcdf : cdf (m.normalize : Measure ℝ) U = 1) {H : ℝ → ℝ} (hH : StronglyMeasurable H) : (∫ s in Ioo (0 : ℝ) (m.mass : ℝ), H (areaProfile (m.normalize : Measure ℝ) U (m.mass : ℝ) s)) = ∫ x, H x ∂(m : Measure ℝ) := by rw [← integral_map_of_stronglyMeasurable (areaProfile_measurable (m.normalize : Measure ℝ) hU.le hmass) hH, finiteMeasure_areaProfile_map m hU hmass h0cdf hUcdf] end Polya26.Strike.S05.Header.QuantileDistribution end end /- END M032 -/ /- BEGIN M033 -/ section /-! Actual atom-safe physical height dual to inverse-profile weak energy. The input height dual is instantiated below by the actual compact-C1 physical theorem, rather than by a hypothesis on the profile's energy. -/ noncomputable section open Set MeasureTheory ProbabilityTheory Filter open scoped Topology ENNReal ContDiff namespace Polya26.Strike.S05.Header.PrimitivePhysical open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot open Polya26.Strike.S05.Header.DirectCDF open Polya26.Strike.S05.Header.QuantileDistribution open Polya26.Strike.S05.Header.NonatomicRank /-- A radial smooth test is bounded after division by the square-root weight, including its zero extension outside the genuine area window. -/ theorem radial_test_quotient_bounded {l r : ℝ} {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo l r, 0 < W x) (φ : RadialTest l r) : ∃ C : ℝ, ∀ x, ‖(φ : ℝ → ℝ) x / Real.sqrt (W x)‖ ≤ C := by by_cases hne : (tsupport (φ : ℝ → ℝ)).Nonempty · obtain ⟨xmin, hxmin, hmin⟩ := (Polya26.Strike.S04.Header.ScalarTestSubspace.hasCompactSupport φ).exists_isMinOn hne hW.continuousOn have hm : 0 < W xmin := hpos xmin ((Polya26.Strike.S04.Header.ScalarTestSubspace.tsupport_subset φ) hxmin) obtain ⟨M, hM⟩ := (Polya26.Strike.S04.Header.ScalarTestSubspace.continuous φ).bounded_above_of_compact_support (Polya26.Strike.S04.Header.ScalarTestSubspace.hasCompactSupport φ) have hM0 : 0 ≤ M := (norm_nonneg ((φ : ℝ → ℝ) 0)).trans (hM 0) refine ⟨M / Real.sqrt (W xmin), ?_⟩ intro x by_cases hx : x ∈ tsupport (φ : ℝ → ℝ) · have hxW : 0 < W x := hpos x ((Polya26.Strike.S04.Header.ScalarTestSubspace.tsupport_subset φ) hx) rw [norm_div, Real.norm_of_nonneg (Real.sqrt_nonneg _)] exact (div_le_div_of_nonneg_right (hM x) (Real.sqrt_nonneg _)).trans (div_le_div_of_nonneg_left hM0 (Real.sqrt_pos.2 hm) (Real.sqrt_le_sqrt (hmin hx))) · rw [image_eq_zero_of_notMem_tsupport hx, zero_div, norm_zero] exact div_nonneg hM0 (Real.sqrt_nonneg _) · refine ⟨0, ?_⟩ intro x have hx : x ∉ tsupport (φ : ℝ → ℝ) := fun hx => hne ⟨x, hx⟩ simp [image_eq_zero_of_notMem_tsupport hx] /-- The height dual spends actual physical energy. Atom heights are masked only in the auxiliary test; the inverse profile and all its masses remain those of the original complete probability distribution. -/ theorem inverse_profile_squared_dual (μ : Measure ℝ) [IsProbabilityMeasure μ] {U a l r : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : Polya26.Strike.S05.Header.DirectCDF.cdf μ 0 = 0) (hUcdf : Polya26.Strike.S05.Header.DirectCDF.cdf μ U = 1) (hl : 0 ≤ l) (hr : r ≤ a) {J : Set ℝ} (hwindow : ∀ t ∉ J, areaRank μ a t ∉ Ioo l r) {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo l r, 0 < W x) {D : ℝ} (hD : 0 ≤ D) (hheight : ∀ w : ℝ → ℝ, Measurable w → (∀ t, 0 ≤ w t) → (∀ t ∉ J, w t = 0) → (∃ C : ℝ, ∀ t, ‖w t‖ ≤ C) → (∫ t in J, w t * Real.sqrt (W (areaRank μ a t))) ^ 2 ≤ D * (a * ∫ t, (w t) ^ 2 ∂μ)) : ∀ φ : RadialTest l r, (∫ s, areaProfile μ U a s * deriv (φ : ℝ → ℝ) s) ^ 2 ≤ D * (∫ s in Ioo l r, ((φ : ℝ → ℝ) s) ^ 2 / W s) := by intro φ let A : ℝ → ℝ := areaRank μ a let f : ℝ → ℝ := areaProfile μ U a let R : ℝ → ℝ := fun s => (φ : ℝ → ℝ) s / Real.sqrt (W s) let H : ℝ → ℝ := fun s => (R s) ^ 2 let q : ℝ → ℝ := fun t => |R (A t)| let w : ℝ → ℝ := (nonatomicPoints μ).indicator q have hA : Measurable A := measurable_const.mul (measurable_const.sub (Polya26.Strike.S05.Header.DirectCDF.cdf μ).mono.measurable) have hR : Measurable R := (Polya26.Strike.S04.Header.ScalarTestSubspace.continuous φ).measurable.div (Real.continuous_sqrt.measurable.comp hW.measurable) have hH : StronglyMeasurable H := (hR.pow_const 2).stronglyMeasurable have hRm := radial_test_memLp hW hpos φ have hHOn : IntegrableOn H (Ioo l r) volume := hRm.integrable_sq have hφoutside (s : ℝ) (hs : s ∉ Ioo l r) : (φ : ℝ → ℝ) s = 0 := by apply image_eq_zero_of_notMem_tsupport exact fun hx => hs ((Polya26.Strike.S04.Header.ScalarTestSubspace.tsupport_subset φ) hx) have hHzero (s : ℝ) (hs : s ∉ Ioo l r) : H s = 0 := by simp [H, R, hφoutside s hs] have hHind : (Ioo l r).indicator H = H := by ext s by_cases hs : s ∈ Ioo l r <;> simp [hs, hHzero s] have hHi : Integrable H volume := by rw [← hHind] exact hHOn.integrable_indicator measurableSet_Ioo have hHnonneg : 0 ≤ᵐ[volume] H := Filter.Eventually.of_forall fun s => sq_nonneg _ have hwmeas : Measurable w := (continuous_abs.measurable.comp (hR.comp hA)).indicator (measurableSet_nonatomicPoints μ) have hwnn (t : ℝ) : 0 ≤ w t := by dsimp [w] by_cases ht : t ∈ nonatomicPoints μ <;> simp [ht, q, abs_nonneg] have hwzero (t : ℝ) (ht : t ∉ J) : w t = 0 := by have hz : (φ : ℝ → ℝ) (A t) = 0 := hφoutside _ (hwindow t ht) simp [w, q, R, hz] obtain ⟨C, hC⟩ := radial_test_quotient_bounded hW hpos φ have hwbound : ∀ t, ‖w t‖ ≤ C := by intro t calc ‖w t‖ ≤ ‖q t‖ := norm_indicator_le_norm_self q t _ = ‖R (A t)‖ := by simp [q, Real.norm_eq_abs] _ ≤ C := hC (A t) have hcancel (t : ℝ) : q t * Real.sqrt (W (A t)) = |(φ : ℝ → ℝ) (A t)| := by by_cases hz : (φ : ℝ → ℝ) (A t) = 0 · simp [q, R, hz] · have hp : 0 < W (A t) := hpos _ ((Polya26.Strike.S04.Header.ScalarTestSubspace.tsupport_subset φ) (subset_tsupport (φ : ℝ → ℝ) hz)) dsimp [q, R] rw [abs_div, abs_of_nonneg (Real.sqrt_nonneg _)] exact div_mul_cancel₀ _ (ne_of_gt (Real.sqrt_pos.2 hp)) have hmasked : (fun t => w t * Real.sqrt (W (A t))) = (nonatomicPoints μ).indicator (fun t => |(φ : ℝ → ℝ) (A t)|) := by ext t by_cases ht : t ∈ nonatomicPoints μ · simpa only [w, indicator_of_mem ht] using hcancel t · simp [w, ht] have hφ0 : (φ : ℝ → ℝ) 0 = 0 := hφoutside 0 (by simp [not_lt_of_ge hl]) have hφa : (φ : ℝ → ℝ) a = 0 := hφoutside a (by simp [not_lt_of_ge hr]) have hheightzero (t : ℝ) (ht : t ∉ Ioo (0 : ℝ) U) : (φ : ℝ → ℝ) (A t) = 0 := by by_cases ht0 : 0 < t · have hUt : U ≤ t := le_of_not_gt (fun h => ht ⟨ht0, h⟩) have hcdf : Polya26.Strike.S05.Header.DirectCDF.cdf μ t = 1 := le_antisymm (Polya26.Strike.S05.Header.DirectCDF.cdf_le_one μ t) (by simpa only [hUcdf] using (Polya26.Strike.S05.Header.DirectCDF.cdf μ).mono hUt) simpa [A, areaRank, hcdf] using hφ0 · have hcdf : Polya26.Strike.S05.Header.DirectCDF.cdf μ t = 0 := le_antisymm (by simpa only [h0cdf] using (Polya26.Strike.S05.Header.DirectCDF.cdf μ).mono (le_of_not_gt ht0)) (Polya26.Strike.S05.Header.DirectCDF.cdf_nonneg μ t) simpa [A, areaRank, hcdf] using hφa let N : ℝ := ∫ t in J, w t * Real.sqrt (W (A t)) have hN : N = ∫ t in Ioo (0 : ℝ) U, |(φ : ℝ → ℝ) (A t)| := by calc N = ∫ t, w t * Real.sqrt (W (A t)) := setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hwzero t ht, zero_mul] _ = ∫ t, |(φ : ℝ → ℝ) (A t)| := by rw [hmasked, integral_atom_mask_eq μ] _ = _ := (setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hheightzero t ht, abs_zero]).symm have hw2 : (fun t => (w t) ^ 2) = (nonatomicPoints μ).indicator (fun t => H (A t)) := by ext t by_cases ht : t ∈ nonatomicPoints μ · simp [w, q, H, ht, sq_abs] · simp [w, ht] have hnorm : (∫ s, H s) = ∫ s in Ioo l r, ((φ : ℝ → ℝ) s) ^ 2 / W s := by rw [← setIntegral_eq_integral_of_forall_compl_eq_zero hHzero] apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioo] with s hs dsimp [H, R] rw [div_pow, Real.sq_sqrt (hpos s hs).le] have hden : a * (∫ t, (w t) ^ 2 ∂μ) ≤ ∫ s in Ioo l r, ((φ : ℝ → ℝ) s) ^ 2 / W s := by rw [hw2, integral_indicator (measurableSet_nonatomicPoints μ)] exact (nonatomic_area_rank_integral_le μ a ha hH hHnonneg hHi).trans_eq hnorm have hsub : Ioo l r ⊆ Ioo (0 : ℝ) a := fun s hs => ⟨hl.trans_lt hs.1, hs.2.trans_le hr⟩ have hφ1 : ContDiff ℝ 1 (φ : ℝ → ℝ) := (Polya26.Strike.S04.Header.ScalarTestSubspace.contDiff φ).of_le (by simp) have htest := Polya26.FaberKrahnDistribution.test_layer_cake_of_superlevels ha hU (areaProfile_measurable μ hU.le ha) (areaProfile_bounds μ hU.le a) (areaRank_bounds μ ha.le) (areaProfile_superlevel μ hU ha h0cdf hUcdf) hφ1 hφ0 have hleft : (∫ s in Ioo (0 : ℝ) a, f s * deriv (φ : ℝ → ℝ) s) = ∫ s, f s * deriv (φ : ℝ → ℝ) s := by apply setIntegral_eq_integral_of_forall_compl_eq_zero intro s hs have hz : deriv (φ : ℝ → ℝ) s = 0 := by apply image_eq_zero_of_notMem_tsupport exact fun hx => hs (hsub ((Polya26.Strike.S04.Header.ScalarTestSubspace.tsupport_subset φ) (tsupport_deriv_subset hx))) rw [hz, mul_zero] have hlinear : |∫ s, f s * deriv (φ : ℝ → ℝ) s| ≤ N := by rw [← hleft] change |∫ s in Ioo (0 : ℝ) a, areaProfile μ U a s * deriv (φ : ℝ → ℝ) s| ≤ N rw [htest, hN] exact abs_integral_le_integral_abs have hNnn : 0 ≤ N := integral_nonneg fun t => mul_nonneg (hwnn t) (Real.sqrt_nonneg _) have hsq : (∫ s, f s * deriv (φ : ℝ → ℝ) s) ^ 2 ≤ N ^ 2 := by rw [← sq_abs] exact (sq_le_sq₀ (abs_nonneg _) hNnn).mpr hlinear exact hsq.trans ((hheight w hwmeas hwnn hwzero ⟨C, hwbound⟩).trans (mul_le_mul_of_nonneg_left hden hD)) /-- A complete physical-to-weak-energy direction on any actual area window. The local primitive and energy integrability are conclusions of the checked Hahn--Banach/Riesz/weak-FTC root, never supplied profile premises. -/ theorem inverse_profile_energy_of_height_dual (μ : Measure ℝ) [IsProbabilityMeasure μ] {U a l r : ℝ} (hU : 0 < U) (ha : 0 < a) (h0cdf : Polya26.Strike.S05.Header.DirectCDF.cdf μ 0 = 0) (hUcdf : Polya26.Strike.S05.Header.DirectCDF.cdf μ U = 1) (hl : 0 ≤ l) (hr : r ≤ a) (hlr : l < r) {J : Set ℝ} (hwindow : ∀ t ∉ J, areaRank μ a t ∉ Ioo l r) {W : ℝ → ℝ} (hW : Continuous W) (hpos : ∀ x ∈ Ioo l r, 0 < W x) {D : ℝ} (hD : 0 ≤ D) (hheight : ∀ w : ℝ → ℝ, Measurable w → (∀ t, 0 ≤ w t) → (∀ t ∉ J, w t = 0) → (∃ C : ℝ, ∀ t, ‖w t‖ ≤ C) → (∫ t in J, w t * Real.sqrt (W (areaRank μ a t))) ^ 2 ≤ D * (a * ∫ t, (w t) ^ 2 ∂μ)) : ∃ h : ℝ → ℝ, LocallyIntegrableOn h (Ioo l r) volume ∧ IntegrableOn (fun s => W s * (h s) ^ 2) (Ioo l r) volume ∧ (∫ s in Ioo l r, W s * (h s) ^ 2) ≤ D ∧ (∀ φ : ℝ → ℝ, ContDiff ℝ ∞ φ → HasCompactSupport φ → tsupport (φ : ℝ → ℝ) ⊆ Ioo l r → (∫ s, areaProfile μ U a s * deriv (φ : ℝ → ℝ) s) = -(∫ s, h s * (φ : ℝ → ℝ) s)) ∧ ∃ d : ℝ, ∀ s ∈ Ioo l r, areaProfile μ U a s = d + ∫ t in ((l + r) / 2)..s, h t := by have hsquared := inverse_profile_squared_dual μ hU ha h0cdf hUcdf hl hr hwindow hW hpos hD hheight have hdual := radial_dual_bound_of_squared hW hpos hD hsquared obtain ⟨h, hloc, hint, he, hweak, hprimitive⟩ := radial_profile_of_dual_bound hlr (areaProfile_antitone μ hU.le ha) hW hpos (Real.sqrt_nonneg D) hdual exact ⟨h, hloc, hint, by simpa only [Real.sq_sqrt hD] using he, hweak, hprimitive⟩ end Polya26.Strike.S05.Header.PrimitivePhysical end end /- END M033 -/ /- BEGIN M034 -/ section /-! Actual compact-C1 planar positive-phase profile, with its original mass and physical energy, including the zero-gate and every plateau. -/ noncomputable section open Set MeasureTheory ProbabilityTheory Filter open scoped Topology ENNReal ContDiff namespace Polya26.Strike.S05.Header.PrimitivePhysical open Polya26.PlanarIsoperimetric open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot open Polya26.Strike.S05.Header.DirectCDF open Polya26.Strike.S05.Header.QuantileDistribution def positiveFiniteValues (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ := ⟨Polya26.Strike.S04.positiveValueMeasure u, Polya26.Strike.S04.positiveValueMeasure_finite hu⟩ def positiveProfileArea (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) : ℝ := ((positiveFiniteValues u hu).mass : ℝ) def normalizedPositiveValues (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) : Measure ℝ := (positiveFiniteValues u hu).normalize def positiveProfile (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) (U : ℝ) : ℝ → ℝ := areaProfile (normalizedPositiveValues u hu) U (positiveProfileArea u hu) theorem positiveProfileArea_eq_area {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hc : Measurable u) : positiveProfileArea u hu = Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} := by rw [positiveProfileArea, finiteMeasure_mass_real] change ((Polya26.Strike.S04.positiveValueMeasure u) univ).toReal = _ rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hc MeasurableSet.univ, preimage_univ, Measure.restrict_apply_univ] rfl /-- No actual profile energy is supplied: the squared form bound is constructed from the actual planar physical dual, exact finite-measure normalization, atom-safe CDF domination and signed inverse layercake. -/ theorem actual_positive_profile_squared_dual {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) (hpos : ∃ x : Math30.Polya.Plane, 0 < u x) {U : ℝ} (hU : 0 < U) (hub : ∀ x, u x ≤ U) : let a := positiveProfileArea u hu let f := positiveProfile u hu U 0 < a ∧ a = Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} ∧ Antitone f ∧ (∫ s in Ioo (0 : ℝ) a, (f s) ^ 2) = (∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x) ^ 2) ∧ IntegrableOn (fun s => (f s) ^ 2) (Ioo (0 : ℝ) a) volume ∧ Tendsto f (𝓝[<] a) (𝓝 0) ∧ (∀ φ : RadialTest 0 a, (∫ s, f s * deriv (φ : ℝ → ℝ) s) ^ 2 ≤ ((∫ x in {x : Math30.Polya.Plane | 0 < u x}, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) * (∫ s in Ioo (0 : ℝ) a, ((φ : ℝ → ℝ) s) ^ 2 / s)) := by let m := positiveFiniteValues u hu let μ : Measure ℝ := m.normalize let a : ℝ := (m.mass : ℝ) let f : ℝ → ℝ := areaProfile μ U a let E : ℝ := ∫ x in {x : Math30.Polya.Plane | 0 < u x}, ‖gradient u x‖ ^ 2 letI : IsProbabilityMeasure μ := Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure.normalize_isProbability m have hc : Measurable u := hf.continuous.measurable have haa : a = Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} := positiveProfileArea_eq_area hu hc have ha : 0 < a := by rw [haa] exact ENNReal.toReal_pos (ne_of_gt ((isOpen_lt continuous_const hf.continuous).measure_pos volume hpos)) (Polya26.Strike.S04.positive_superlevel_volume_ne_top hu le_rfl) have hnormalize : (Polya26.Strike.S04.positiveValueMeasure u) = ENNReal.ofReal a • μ := finiteMeasure_normalize_exact m have hA (t : ℝ) (ht : 0 ≤ t) : areaRank μ a t = Math30.Polya.area {x : Math30.Polya.Plane | t < u x} := by rw [finiteMeasure_areaRank m] exact congrArg ENNReal.toReal (Polya26.Strike.S04.positiveValueMeasure_tail hc ht) have hcdf0 : Polya26.Strike.S05.Header.DirectCDF.cdf μ 0 = 0 := by have h := hA 0 le_rfl rw [← haa] at h dsimp [areaRank] at h nlinarith have hcdfU : Polya26.Strike.S05.Header.DirectCDF.cdf μ U = 1 := by have he : {x : Math30.Polya.Plane | U < u x} = ∅ := by ext x simp only [mem_setOf_eq, mem_empty_iff_false, iff_false] exact not_lt.mpr (hub x) have h := hA U hU.le rw [he] at h simp only [Math30.Polya.area, measure_empty, ENNReal.toReal_zero] at h dsimp [areaRank] at h nlinarith have hanti : Antitone f := areaProfile_antitone μ hU.le ha have hmass : (∫ s in Ioo (0 : ℝ) a, (f s) ^ 2) = ∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x) ^ 2 := by have hm := areaProfile_second_moment μ hU ha hcdf0 hcdfU have hv : (∫ t, t ^ 2 ∂Polya26.Strike.S04.positiveValueMeasure u) = ∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x) ^ 2 := by rw [Polya26.Strike.S04.positiveValueMeasure] exact integral_map_of_stronglyMeasurable hc (show StronglyMeasurable (fun t : ℝ => t ^ 2) from (continuous_id.pow 2).stronglyMeasurable) have hn : (∫ t, t ^ 2 ∂Polya26.Strike.S04.positiveValueMeasure u) = a * ∫ t, t ^ 2 ∂μ := by rw [hnormalize, integral_smul_measure, ENNReal.toReal_ofReal ha.le, smul_eq_mul] exact hm.trans (hn.symm.trans hv) letI : IsFiniteMeasure (volume.restrict (Ioo (0 : ℝ) a)) := isFiniteMeasure_restrict.mpr ((Metric.isBounded_Ioo (0 : ℝ) a).measure_lt_top.ne) have hLp : MemLp f 2 (volume.restrict (Ioo (0 : ℝ) a)) := by apply MemLp.of_bound (areaProfile_measurable μ hU.le ha).aestronglyMeasurable U exact Filter.Eventually.of_forall fun s => by rw [Real.norm_of_nonneg (areaProfile_bounds μ hU.le a s).1] exact (areaProfile_bounds μ hU.le a s).2 have hmassint : IntegrableOn (fun s => (f s) ^ 2) (Ioo (0 : ℝ) a) volume := hLp.integrable_sq have hnear : ∀ t > 0, 0 < Polya26.Strike.S05.Header.DirectCDF.cdf μ t := by intro t ht have hlo := Polya26.Strike.S05.positive_low_height_volume_pos hu hf.continuous hpos ht have hvpos : 0 < Polya26.Strike.S04.positiveValueMeasure u (Iic t) := by rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hc measurableSet_Iic, Measure.restrict_apply (measurableSet_Iic.preimage hc)] exact hlo.trans_le (measure_mono fun x hx => ⟨hx.2.le, hx.1⟩) by_contra hn have he : μ (Iic t) = 0 := by rw [← Polya26.Strike.S05.Header.DirectCDF.ofReal_cdf μ t] exact ENNReal.ofReal_eq_zero.mpr (le_of_not_gt hn) rw [hnormalize, Measure.smul_apply, he, smul_eq_mul, mul_zero] at hvpos exact lt_irrefl _ hvpos have htrace : Tendsto f (𝓝[<] a) (𝓝 0) := outer_gate_trace ha (hanti.antitoneOn _) (fun s _ => (areaProfile_bounds μ hU.le a s).1) (by simpa only [zero_add] using areaProfile_outer_approx μ hU ha hcdf0 hcdfU hnear) have hD : 0 ≤ E / (4 * Real.pi) := div_nonneg (integral_nonneg fun x => sq_nonneg _) (by positivity) have hwindow : ∀ t ∉ Ioo (0 : ℝ) U, areaRank μ a t ∉ Ioo (0 : ℝ) a := by intro t ht by_cases ht0 : 0 < t · have hUt : U ≤ t := le_of_not_gt (fun h => ht ⟨ht0, h⟩) have he : Polya26.Strike.S05.Header.DirectCDF.cdf μ t = 1 := le_antisymm (Polya26.Strike.S05.Header.DirectCDF.cdf_le_one μ t) (by simpa only [hcdfU] using (Polya26.Strike.S05.Header.DirectCDF.cdf μ).mono hUt) simp [areaRank, he] · have he : Polya26.Strike.S05.Header.DirectCDF.cdf μ t = 0 := le_antisymm (by simpa only [hcdf0] using (Polya26.Strike.S05.Header.DirectCDF.cdf μ).mono (le_of_not_gt ht0)) (Polya26.Strike.S05.Header.DirectCDF.cdf_nonneg μ t) simp [areaRank, he] have hgLp : MemLp (fun x : Math30.Polya.Plane => ‖gradient u x‖) 2 volume := (Polya26.Strike.S04.continuous_gradient hf).norm.memLp_of_hasCompactSupport (Polya26.Strike.S04.hasCompactSupport_gradient hu).norm have hheight : ∀ w : ℝ → ℝ, Measurable w → (∀ t, 0 ≤ w t) → (∀ t ∉ Ioo (0 : ℝ) U, w t = 0) → (∃ C : ℝ, ∀ t, ‖w t‖ ≤ C) → (∫ t in Ioo (0 : ℝ) U, w t * Real.sqrt (areaRank μ a t)) ^ 2 ≤ (E / (4 * Real.pi)) * (a * ∫ t, (w t) ^ 2 ∂μ) := by intro w hw hwnn hwzero hbounded obtain ⟨C, hC⟩ := hbounded have hd := Polya26.Strike.S04.ordinary_height_band_bounded_measurable_dual hu hf isOpen_Ioo (Metric.isBounded_Ioo (0 : ℝ) U) (fun t ht => ht.1) hw hwnn hwzero hC have hemon : (∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) U}, ‖gradient u x‖ ^ 2) ≤ E := integral_mono_measure (Measure.restrict_mono_set volume (show {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) U} ⊆ {x : Math30.Polya.Plane | 0 < u x} from fun x hx => hx.1)) (Filter.Eventually.of_forall fun x => sq_nonneg _) hgLp.integrable_sq.integrableOn have hn : (∫ t in Ioo (0 : ℝ) U, w t * Real.sqrt (areaRank μ a t)) = ∫ t in Ioo (0 : ℝ) U, w t * Real.sqrt (Math30.Polya.area {x : Math30.Polya.Plane | t < u x}) := by apply setIntegral_congr_fun measurableSet_Ioo intro t ht dsimp only rw [hA t ht.1.le] have hv : (∫ t, (w t) ^ 2 ∂Polya26.Strike.S04.positiveValueMeasure u) = a * ∫ t, (w t) ^ 2 ∂μ := by rw [hnormalize, integral_smul_measure, ENNReal.toReal_ofReal ha.le, smul_eq_mul] rw [hn, ← hv] exact hd.trans (mul_le_mul_of_nonneg_right (div_le_div_of_nonneg_right hemon (by positivity)) (integral_nonneg fun t => sq_nonneg _)) have hdual := inverse_profile_squared_dual μ hU ha hcdf0 hcdfU le_rfl le_rfl hwindow continuous_id (fun s hs => hs.1) hD hheight exact ⟨ha, haa, hanti, hmass, hmassint, htrace, hdual⟩ end Polya26.Strike.S05.Header.PrimitivePhysical end end /- END M034 -/ /- BEGIN M035 -/ section /-! Actual arbitrary-support planar Faber-Krahn. All distribution, energy and regularity inputs are constructed from the actual compact C1 function. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology ContDiff namespace Polya26.Strike.S05.Header.PrimitiveSupport open Math30.Polya theorem positive_phase_fk {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) : (23 / 4 : ℝ) * Real.pi * (∫ x in positivePhase u, u x ^ 2) ≤ area (positivePhase u) * (∫ x in positivePhase u, ‖gradient u x‖ ^ 2) := by by_cases hpos : ∃ x : Plane, 0 < u x · obtain ⟨B, hB⟩ := hf.continuous.bounded_above_of_compact_support hu let U : ℝ := max 1 B have hU : 0 < U := lt_of_lt_of_le zero_lt_one (le_max_left _ _) have hub (x : Plane) : u x ≤ U := by have hux : u x ≤ B := by calc u x ≤ |u x| := le_abs_self _ _ = ‖u x‖ := (Real.norm_eq_abs _).symm _ ≤ B := hB x exact hux.trans (le_max_right _ _) obtain ⟨ha, haa, hanti, hmass, hmassint, htrace, hdual⟩ := Polya26.Strike.S05.Header.PrimitivePhysical.actual_positive_profile_squared_dual hu hf hpos hU hub have hQ : 0 ≤ (∫ x in {x : Plane | 0 < u x}, ‖gradient u x‖ ^ 2) / (4 * Real.pi) := div_nonneg (integral_nonneg fun x => sq_nonneg _) (mul_pos (by norm_num) Real.pi_pos).le have hfk := Polya26.Strike.S05.Header.PrimitiveDual.radial_fk_of_squared_test_dual ha hQ hanti hmassint htrace hdual rw [hmass, haa] at hfk change (23 / 16 : ℝ) * (∫ x in positivePhase u, u x ^ 2) ≤ area (positivePhase u) * ((∫ x in positivePhase u, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) at hfk calc (23 / 4 : ℝ) * Real.pi * (∫ x in positivePhase u, u x ^ 2) = (4 * Real.pi) * ((23 / 16 : ℝ) * (∫ x in positivePhase u, u x ^ 2)) := by ring _ ≤ (4 * Real.pi) * (area (positivePhase u) * ((∫ x in positivePhase u, ‖gradient u x‖ ^ 2) / (4 * Real.pi))) := mul_le_mul_of_nonneg_left hfk (mul_pos (by norm_num) Real.pi_pos).le _ = area (positivePhase u) * (∫ x in positivePhase u, ‖gradient u x‖ ^ 2) := by field_simp · have hzero : positivePhase u = ∅ := by ext x simp only [positivePhase, mem_ofPred_eq, mem_empty_iff_false, iff_false] exact fun hx => hpos ⟨x, hx⟩ simp [hzero, area] /-- Full actual compact-C1 support-area bound; no rearrangement or FK assumption. -/ theorem ordinary_support_fk {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) : (23 / 4 : ℝ) * Real.pi * (∫ x : Plane, u x ^ 2) ≤ area {x : Plane | u x ≠ 0} * (∫ x : Plane, ‖fderiv ℝ u x‖ ^ 2) := by have hp := positive_phase_fk hu hf have hn := positive_phase_fk hu.neg hf.neg have hp' : ((23 / 4 : ℝ) * Real.pi) * (∫ x in positivePhase u, u x ^ 2) ≤ area (positivePhase u) * (∫ x in positivePhase u, ‖fderiv ℝ u x‖ ^ 2) := by simpa only [norm_gradient_eq_fderiv] using hp have hn' : ((23 / 4 : ℝ) * Real.pi) * (∫ x in negativePhase u, u x ^ 2) ≤ area (negativePhase u) * (∫ x in negativePhase u, ‖fderiv ℝ u x‖ ^ 2) := by simpa only [positivePhase, negativePhase, Pi.neg_apply, neg_pos, neg_sq, negative_gradient_energy, norm_gradient_eq_fderiv, fderiv_fun_neg, fderiv_neg, norm_neg] using hn exact signed_fk_of_positive_negative hu hf hp' hn' theorem test_function_support_fk {Ω : Set Plane} {u : Plane → ℝ} (hu : IsTestFunction Ω u) : (23 / 4 : ℝ) * Real.pi * (∫ x : Plane, u x ^ 2) ≤ area {x : Plane | u x ≠ 0} * (∫ x : Plane, ‖fderiv ℝ u x‖ ^ 2) := ordinary_support_fk hu.2.1 (hu.1.of_le (by simp)) end Polya26.Strike.S05.Header.PrimitiveSupport end end /- END M035 -/ /- BEGIN M036 -/ section noncomputable section open Set MeasureTheory open scoped ContDiff Topology namespace Polya26.MedianSelector open Math30.Polya def positiveSquared (u : Plane → ℝ) (x : Plane) : ℝ := (max (u x) 0)^2 def negativeSquared (u : Plane → ℝ) (x : Plane) : ℝ := (max (-u x) 0)^2 end Polya26.MedianSelector namespace Polya26.Strike.S06 open Math30.Polya Polya26.MedianSelector abbrev Plane := Math30.Polya.Plane abbrev OriginalMass (u : Plane → ℝ) : ℝ := ∫ x, (u x)^2 abbrev OriginalEnergy (u : Plane → ℝ) : ℝ := ∫ x, ‖fderiv ℝ u x‖^2 abbrev OriginalSetMass (u : Plane → ℝ) (D : Set Plane) : ℝ := ∫ x in D, (u x)^2 abbrev PositiveLevel (u : Plane → ℝ) (t : ℝ) : Set Plane := {x | t < u x} abbrev NegativeSupport (u : Plane → ℝ) : Set Plane := {x | u x < 0} /-- Actual lower-level enclosure, with an actual level component and an actual bounded complementary component containing the whole terminal set. There is no assertion about levels at or above the selected threshold. -/ def LowerLevelEnclosure (u : Plane → ℝ) (tau : ℝ) (K : Set Plane) : Prop := ∀ t : ℝ, 0 < t → t < tau → ∃ p ∈ PositiveLevel u t, ∃ q ∈ K, K ⊆ connectedComponentIn (connectedComponentIn (PositiveLevel u t) p)ᶜ q ∧ Bornology.IsBounded (connectedComponentIn (connectedComponentIn (PositiveLevel u t) p)ᶜ q) /-- Hypotheses1--4 of w09's selected-profile theorem, with ORIGINAL mass and genuine component/terminal-set geometry throughout. A threshold plateau is allowed; it is not assigned an artificial component mass cap. -/ structure SelectedProfileConditions (u : Plane → ℝ) (tau : ℝ) (K : Set Plane) : Prop where positive_half_mass : (∫ x, positiveSquared u x) = OriginalMass u / 2 negative_half_mass : (∫ x, negativeSquared u x) = OriginalMass u / 2 threshold_pos : 0 < tau terminal_compact : IsCompact K terminal_connected : IsConnected K terminal_negative : K ⊆ NegativeSupport u terminal_area_pos : 0 < area K terminal_original_mass : (5 : ℝ) * OriginalMass u / 16 ≤ OriginalSetMass u K lower_level_enclosure : LowerLevelEnclosure u tau K high_component_original_cap : ∀ p ∈ PositiveLevel u tau, OriginalSetMass u (connectedComponentIn (PositiveLevel u tau) p) ≤ (5 : ℝ) * OriginalMass u / 16 end Polya26.Strike.S06 namespace Polya26.SelectedProfileAssembly open Math30.Polya Polya26.Strike.S06 abbrev Plane := Math30.Polya.Plane def positiveArea (u : Plane → ℝ) : ℝ := area {x | 0 < u x} def negativeArea (u : Plane → ℝ) : ℝ := area {x | u x < 0} def positiveEnergy (u : Plane → ℝ) : ℝ := ∫ x in {x | 0 < u x}, ‖fderiv ℝ u x‖^2 def negativeEnergy (u : Plane → ℝ) : ℝ := ∫ x in {x | u x < 0}, ‖fderiv ℝ u x‖^2 def physicalScale (u : Plane → ℝ) : ℝ := 4 * Real.pi * (OriginalMass u / 2) def terminalX (u : Plane → ℝ) (K : Set Plane) : ℝ := area K / positiveArea u def terminalBeta (u : Plane → ℝ) (K : Set Plane) : ℝ := area K / negativeArea u theorem positive_set_mass_eq {u : Plane → ℝ} (hu : Continuous u) : (∫ x in {x | 0 < u x}, (u x)^2) = ∫ x, Polya26.MedianSelector.positiveSquared u x := by have hmeas : MeasurableSet {x | 0 < u x} := (isOpen_lt continuous_const hu).measurableSet calc _ = ∫ x in {x | 0 < u x}, Polya26.MedianSelector.positiveSquared u x := by apply setIntegral_congr_fun hmeas intro x hx have hxpos : 0 < u x := hx simp only [Polya26.MedianSelector.positiveSquared, max_eq_left hxpos.le] _ = _ := setIntegral_eq_integral_of_forall_compl_eq_zero fun x hx => by have hux : u x ≤ 0 := le_of_not_gt hx simp only [Polya26.MedianSelector.positiveSquared, max_eq_right hux, zero_pow (by decide : 2 ≠ 0)] theorem negative_set_mass_eq {u : Plane → ℝ} (hu : Continuous u) : (∫ x in {x | u x < 0}, (u x)^2) = ∫ x, Polya26.MedianSelector.negativeSquared u x := by simpa only [Pi.neg_apply, neg_pos, neg_sq, Polya26.MedianSelector.positiveSquared, Polya26.MedianSelector.negativeSquared] using positive_set_mass_eq hu.neg structure PhysicalScalarInputs (Ω : PlanarLipschitzDomain) (u : Plane → ℝ) (K : Set Plane) : Prop where positive_area_pos : 0 < positiveArea u negative_area_pos : 0 < negativeArea u areas_le : positiveArea u + negativeArea u ≤ area Ω.carrier scale_nonneg : 0 ≤ physicalScale u positive_energy_nonneg : 0 ≤ positiveEnergy u negative_energy_nonneg : 0 ≤ negativeEnergy u energy_budget : positiveEnergy u + negativeEnergy u ≤ OriginalEnergy u x_nonneg : 0 ≤ terminalX u K beta_pos : 0 < terminalBeta u K ratio : terminalX u K / terminalBeta u K = negativeArea u / positiveArea u positive_fk : physicalScale u * (23 / 16) ≤ positiveArea u * positiveEnergy u negative_fk : physicalScale u * (23 / 16) ≤ negativeArea u * negativeEnergy u end Polya26.SelectedProfileAssembly end end /- END M036 -/ /- BEGIN M037 -/ section noncomputable section open Set MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S05.Header.PrimitiveSupport open Math30.Polya Polya26.Strike.S06 Polya26.SelectedProfileAssembly theorem actual_physical_scalar_inputs {Ω : PlanarLipschitzDomain} {u : Math30.Polya.Plane → ℝ} (hu : IsTestFunction Ω.carrier u) (hm : 0 < OriginalMass u) {τ : ℝ} {K : Set Math30.Polya.Plane} (h : SelectedProfileConditions u τ K) : PhysicalScalarInputs Ω u K := by have hf : ContDiff ℝ 1 u := hu.1.of_le (by simp) have hmassP : (∫ x in {x | 0 < u x}, (u x)^2) = OriginalMass u / 2 := by rw [positive_set_mass_eq hu.1.continuous] exact h.positive_half_mass have hmassN : (∫ x in {x | u x < 0}, (u x)^2) = OriginalMass u / 2 := by rw [negative_set_mass_eq hu.1.continuous] exact h.negative_half_mass have hp := Polya26.Strike.S05.Header.PrimitiveSupport.positive_phase_fk hu.2.1 hf have hp' : (23 / 4 : ℝ) * Real.pi * (OriginalMass u / 2) ≤ positiveArea u * positiveEnergy u := by simpa only [Polya26.Strike.S05.Header.PrimitiveSupport.positivePhase, Polya26.Strike.S05.Header.PrimitiveSupport.norm_gradient_eq_fderiv, positiveArea, positiveEnergy, hmassP] using hp have hn := Polya26.Strike.S05.Header.PrimitiveSupport.positive_phase_fk hu.2.1.neg hf.neg have hn' : (23 / 4 : ℝ) * Real.pi * (OriginalMass u / 2) ≤ negativeArea u * negativeEnergy u := by simpa only [Polya26.Strike.S05.Header.PrimitiveSupport.positivePhase, Pi.neg_apply, neg_pos, neg_sq, Polya26.Strike.S05.Header.PrimitiveSupport.norm_gradient_eq_fderiv, fderiv_fun_neg, fderiv_neg, norm_neg, negativeArea, negativeEnergy, hmassN] using hn have hFKP : physicalScale u * (23 / 16) ≤ positiveArea u * positiveEnergy u := by convert hp' using 1 <;> dsimp only [physicalScale] <;> ring have hFKN : physicalScale u * (23 / 16) ≤ negativeArea u * negativeEnergy u := by convert hn' using 1 <;> dsimp only [physicalScale] <;> ring have hk : 0 < physicalScale u := by dsimp only [physicalScale]; positivity have ha : 0 < positiveArea u := by by_contra hnot have hz : positiveArea u = 0 := le_antisymm (le_of_not_gt hnot) ENNReal.toReal_nonneg rw [hz, zero_mul] at hFKP exact (not_le_of_gt (mul_pos hk (by norm_num))) hFKP have hb : 0 < negativeArea u := by by_contra hnot have hz : negativeArea u = 0 := le_antisymm (le_of_not_gt hnot) ENNReal.toReal_nonneg rw [hz, zero_mul] at hFKN exact (not_le_of_gt (mul_pos hk (by norm_num))) hFKN have harea : positiveArea u + negativeArea u ≤ area Ω.carrier := by have hsum := Polya26.Strike.S05.Header.PrimitiveSupport.sign_area_add hu.2.1 hu.1.continuous have hsub : Polya26.Strike.S05.Header.PrimitiveSupport.nonzeroPhase u ⊆ Ω.carrier := by intro x hx exact hu.2.2 (subset_tsupport u hx) have hle := ENNReal.toReal_mono Ω.finiteArea (measure_mono hsub) change area (Polya26.Strike.S05.Header.PrimitiveSupport.nonzeroPhase u) ≤ area Ω.carrier at hle rw [hsum] at hle exact hle have hbudget : positiveEnergy u + negativeEnergy u ≤ OriginalEnergy u := Polya26.Strike.S05.Header.PrimitiveSupport.sign_energy_le hu.2.1 hf have hx : 0 ≤ terminalX u K := (div_pos h.terminal_area_pos ha).le have hbeta : 0 < terminalBeta u K := div_pos h.terminal_area_pos hb have hratio : terminalX u K / terminalBeta u K = negativeArea u / positiveArea u := by dsimp only [terminalX, terminalBeta] field_simp [ne_of_gt ha, ne_of_gt hb, ne_of_gt h.terminal_area_pos] <;> ring exact ⟨ha, hb, harea, hk.le, integral_nonneg (fun x => sq_nonneg _), integral_nonneg (fun x => sq_nonneg _), hbudget, hx, hbeta, hratio, hFKP, hFKN⟩ end Polya26.Strike.S05.Header.PrimitiveSupport end end /- END M037 -/ /- BEGIN M038 -/ section namespace QuantileFiniteCertificate structure Params where x : ℚ alpha : ℚ target : ℚ structure Box where tlo : ℚ thi : ℚ rlo : ℚ rhi : ℚ inductive Tree where | leaf (tag : Nat) | split (left right : Tree) structure Envelope where weight : ℚ L : ℚ D : ℚ H : ℚ R : ℚ I0 : ℚ I1 : ℚ def radialConstant : ℚ := 23 / 16 def quantileFraction : ℚ := 5 / 8 def leafWeight (b : Box) (tag : Nat) : ℚ := if tag = 6 then 1 else if tag ≤ 4 then (tag : ℚ) / 4 else (1 - b.rhi) / b.rhi def envelope (p : Params) (b : Box) (tag : Nat) : Envelope := let w := leafWeight b tag let len := 1 - b.tlo let w0 := p.alpha * b.tlo + 4 * p.x let w1 := p.alpha + 4 * p.x let R := len * (1 / w0 + 1 / w1) / 2 let I0 := len ^ 3 * (1 + 3 * w1 / w0) / (12 * w1 ^ 2) let I1 := len ^ 4 * (2 + 3 * w1 / w0) / (60 * w1 ^ 2) let ell := if tag = 6 then 1 else quantileFraction * w + 1 - quantileFraction let D := if tag = 6 then b.thi / (2 * radialConstant) else if tag = 5 then b.thi * (1 - b.rlo) / radialConstant else b.thi * max (w * b.rhi) (1 - b.rlo) / radialConstant let H := if tag = 6 then b.thi else if tag = 5 then 2 * b.thi * (1 - b.rlo) else b.thi * (1 - (1 - w) * b.rlo) ⟨w, ell / p.target, D, H, R, I0, I1⟩ def Envelope.gap (e : Envelope) : ℚ := e.L - e.D - e.R * e.H def Envelope.numerator (e : Envelope) : ℚ := e.L * e.gap - e.I0 * e.H def GoodParams (p : Params) : Prop := 0 < p.x ∧ 0 < p.alpha ∧ 0 < p.target ∧ 1 ≤ p.alpha ∧ p.alpha ≤ 2 ∧ (p.alpha - 1) ^ 2 ≤ 4 * p.x * (2 - p.alpha) def GoodBox (b : Box) : Prop := 0 ≤ b.tlo ∧ b.tlo ≤ b.thi ∧ b.thi ≤ 1 ∧ 1 / 2 ≤ b.rlo ∧ b.rlo ≤ b.rhi ∧ b.rhi ≤ 1 def GoodEnvelope (e : Envelope) : Prop := 0 ≤ e.weight ∧ e.weight ≤ 1 ∧ 0 < e.L ∧ 0 ≤ e.D ∧ 0 ≤ e.H ∧ 0 ≤ e.R ∧ 0 ≤ e.I0 ∧ 0 ≤ e.I1 ∧ 0 < e.gap ∧ 0 ≤ e.numerator ∧ 2 * e.I1 * e.gap ^ 2 ≤ e.numerator ^ 2 def LeafGood (p : Params) (small : Bool) (b : Box) (tag : Nat) : Prop := GoodParams p ∧ GoodBox b ∧ (if small then tag = 6 else tag ≤ 5) ∧ GoodEnvelope (envelope p b tag) def leafGoodDecidable (p : Params) (small : Bool) (b : Box) (tag : Nat) : Decidable (LeafGood p small b tag) := by unfold LeafGood GoodParams GoodBox GoodEnvelope infer_instance def checkLeaf (p : Params) (small : Bool) (b : Box) (tag : Nat) : Bool := @decide (LeafGood p small b tag) (leafGoodDecidable p small b tag) def leftBox (small turn : Bool) (b : Box) : Box := if small = true ∨ turn = true then ⟨b.tlo, (b.tlo + b.thi) / 2, b.rlo, b.rhi⟩ else ⟨b.tlo, b.thi, b.rlo, (b.rlo + b.rhi) / 2⟩ def rightBox (small turn : Bool) (b : Box) : Box := if small = true ∨ turn = true then ⟨(b.tlo + b.thi) / 2, b.thi, b.rlo, b.rhi⟩ else ⟨b.tlo, b.thi, (b.rlo + b.rhi) / 2, b.rhi⟩ def checkTree (p : Params) (small turn : Bool) (b : Box) : Tree → Bool | .leaf tag => checkLeaf p small b tag | .split left right => checkTree p small (!turn) (leftBox small turn b) left && checkTree p small (!turn) (rightBox small turn b) right def rootBox : Box := ⟨0, 1, 1 / 2, 1⟩ def smallRootBox : Box := ⟨0, 1, 1 / 2, 1 / 2⟩ theorem checkLeaf_sound {p : Params} {small : Bool} {b : Box} {tag : Nat} (h : checkLeaf p small b tag = true) : LeafGood p small b tag := by letI := leafGoodDecidable p small b tag exact of_decide_eq_true h noncomputable section def Contains (b : Box) (t r : ℝ) : Prop := (b.tlo : ℝ) ≤ t ∧ t ≤ (b.thi : ℝ) ∧ (b.rlo : ℝ) ≤ r ∧ r ≤ (b.rhi : ℝ) theorem childBox_cover (small turn : Bool) (b : Box) {t r : ℝ} (h : Contains b t r) : Contains (leftBox small turn b) t r ∨ Contains (rightBox small turn b) t r := by classical rcases h with ⟨htlo, hthi, hrlo, hrhi⟩ by_cases hturn : small = true ∨ turn = true · by_cases hmid : t ≤ (((b.tlo + b.thi) / 2 : ℚ) : ℝ) · left simpa [Contains, leftBox, hturn] using (show (b.tlo : ℝ) ≤ t ∧ t ≤ (((b.tlo + b.thi) / 2 : ℚ) : ℝ) ∧ (b.rlo : ℝ) ≤ r ∧ r ≤ (b.rhi : ℝ) from ⟨htlo, hmid, hrlo, hrhi⟩) · right have hm : (((b.tlo + b.thi) / 2 : ℚ) : ℝ) ≤ t := le_of_not_ge hmid simpa [Contains, rightBox, hturn] using (show (((b.tlo + b.thi) / 2 : ℚ) : ℝ) ≤ t ∧ t ≤ (b.thi : ℝ) ∧ (b.rlo : ℝ) ≤ r ∧ r ≤ (b.rhi : ℝ) from ⟨hm, hthi, hrlo, hrhi⟩) · by_cases hmid : r ≤ (((b.rlo + b.rhi) / 2 : ℚ) : ℝ) · left simpa [Contains, leftBox, hturn] using (show (b.tlo : ℝ) ≤ t ∧ t ≤ (b.thi : ℝ) ∧ (b.rlo : ℝ) ≤ r ∧ r ≤ (((b.rlo + b.rhi) / 2 : ℚ) : ℝ) from ⟨htlo, hthi, hrlo, hmid⟩) · right have hm : (((b.rlo + b.rhi) / 2 : ℚ) : ℝ) ≤ r := le_of_not_ge hmid simpa [Contains, rightBox, hturn] using (show (b.tlo : ℝ) ≤ t ∧ t ≤ (b.thi : ℝ) ∧ (((b.rlo + b.rhi) / 2 : ℚ) : ℝ) ≤ r ∧ r ≤ (b.rhi : ℝ) from ⟨htlo, hthi, hm, hrhi⟩) theorem checkTree_coverage (p : Params) (small : Bool) (tree : Tree) : ∀ (turn : Bool) (b : Box), checkTree p small turn b tree = true → ∀ (t r : ℝ), Contains b t r → ∃ (leafBox : Box) (tag : Nat), Contains leafBox t r ∧ LeafGood p small leafBox tag := by induction tree with | leaf tag => intro turn b h t r hm exact ⟨b, tag, hm, checkLeaf_sound h⟩ | split left right ihleft ihright => intro turn b h t r hm have hboth : checkTree p small (!turn) (leftBox small turn b) left = true ∧ checkTree p small (!turn) (rightBox small turn b) right = true := by exact Bool.and_eq_true_iff.mp h rcases childBox_cover small turn b hm with hl | hr · exact ihleft (!turn) (leftBox small turn b) hboth.1 t r hl · exact ihright (!turn) (rightBox small turn b) hboth.2 t r hr end end QuantileFiniteCertificate namespace QuantileFiniteCertificate noncomputable section def BlockBound (L top cross trunk : ℝ) : Prop := ∀ u v : ℝ, top * u ^ 2 + 2 * cross * u * v + trunk * v ^ 2 ≤ L * (u ^ 2 + v ^ 2) theorem quadratic_nonneg_of_schur (a b c : ℝ) (ha : 0 < a) (hschur : b ^ 2 ≤ a * c) (u v : ℝ) : 0 ≤ a * u ^ 2 - 2 * b * u * v + c * v ^ 2 := by have hmargin : 0 ≤ a * c - b ^ 2 := sub_nonneg.mpr hschur have hprod : 0 ≤ a * (a * u ^ 2 - 2 * b * u * v + c * v ^ 2) := by calc 0 ≤ (a * u - b * v) ^ 2 + (a * c - b ^ 2) * v ^ 2 := add_nonneg (sq_nonneg _) (mul_nonneg hmargin (sq_nonneg _)) _ = a * (a * u ^ 2 - 2 * b * u * v + c * v ^ 2) := by ring exact nonneg_of_mul_nonneg_left (by simpa [mul_comm] using hprod) ha theorem blockBound_of_schur (L top cross trunk : ℝ) (hgap : 0 < L - top) (hschur : cross ^ 2 ≤ (L - top) * (L - trunk)) : BlockBound L top cross trunk := by intro u v have hq := quadratic_nonneg_of_schur (L - top) cross (L - trunk) hgap hschur u v have hdiff : 0 ≤ L * (u ^ 2 + v ^ 2) - (top * u ^ 2 + 2 * cross * u * v + trunk * v ^ 2) := by convert hq using 1 <;> ring exact sub_nonneg.mp hdiff theorem schurBound_transport (L topUpper crossSqUpper trunkSqUpper : ℝ) (top cross trunk : ℝ) (hgap : 0 < L - topUpper) (hnum : 0 ≤ L * (L - topUpper) - crossSqUpper) (hnumSq : trunkSqUpper * (L - topUpper) ^ 2 ≤ (L * (L - topUpper) - crossSqUpper) ^ 2) (htop : top ≤ topUpper) (htrunk : 0 ≤ trunk) (hcrossSq : cross ^ 2 ≤ crossSqUpper) (htrunkSq : trunk ^ 2 ≤ trunkSqUpper) : BlockBound L top cross trunk := by let A := L - topUpper let B := L * A - crossSqUpper have hA : 0 < A := hgap have hB : 0 ≤ B := hnum have hAB : A * trunk ≤ B := by have hnonneg : 0 ≤ A * trunk := mul_nonneg hA.le htrunk have hsq : (A * trunk) ^ 2 ≤ B ^ 2 := by calc (A * trunk) ^ 2 = A ^ 2 * trunk ^ 2 := by ring _ ≤ A ^ 2 * trunkSqUpper := mul_le_mul_of_nonneg_left htrunkSq (sq_nonneg A) _ ≤ B ^ 2 := by simpa [A, B, mul_comm] using hnumSq exact (sq_le_sq₀ hnonneg hB).mp hsq have hAC : crossSqUpper ≤ A * (L - trunk) := by dsimp [B] at hAB nlinarith have hC : 0 ≤ L - trunk := by have hprod : 0 ≤ A * (L - trunk) := (sq_nonneg cross).trans (hcrossSq.trans hAC) exact nonneg_of_mul_nonneg_left (by simpa [mul_comm] using hprod) hA have hnewGap : 0 < L - top := by dsimp [A] at hA; linarith have hnewSchur : cross ^ 2 ≤ (L - top) * (L - trunk) := by calc cross ^ 2 ≤ crossSqUpper := hcrossSq _ ≤ A * (L - trunk) := hAC _ ≤ (L - top) * (L - trunk) := by apply mul_le_mul_of_nonneg_right _ hC dsimp [A] linarith exact blockBound_of_schur L top cross trunk hnewGap hnewSchur theorem acceptedEnvelope_transport {e : Envelope} (h : GoodEnvelope e) (top cross trunk : ℝ) (htop : top ≤ (e.D : ℝ) + (e.R : ℝ) * (e.H : ℝ)) (htrunk : 0 ≤ trunk) (hcrossSq : cross ^ 2 ≤ (e.I0 : ℝ) * (e.H : ℝ)) (htrunkSq : trunk ^ 2 ≤ 2 * (e.I1 : ℝ)) : BlockBound (e.L : ℝ) top cross trunk := by rcases h with ⟨_, _, _, _, _, _, _, _, hgap, hnum, hsq⟩ have hgapR : 0 < (e.L : ℝ) - (e.D : ℝ) - (e.R : ℝ) * (e.H : ℝ) := by simpa [Envelope.gap] using (Rat.cast_pos (K := ℝ)).mpr hgap have hnumR : 0 ≤ (e.L : ℝ) * ((e.L : ℝ) - (e.D : ℝ) - (e.R : ℝ) * (e.H : ℝ)) - (e.I0 : ℝ) * (e.H : ℝ) := by simpa [Envelope.numerator, Envelope.gap] using (Rat.cast_nonneg (K := ℝ)).mpr hnum have hsqR : 2 * (e.I1 : ℝ) * ((e.L : ℝ) - (e.D : ℝ) - (e.R : ℝ) * (e.H : ℝ)) ^ 2 ≤ ((e.L : ℝ) * ((e.L : ℝ) - (e.D : ℝ) - (e.R : ℝ) * (e.H : ℝ)) - (e.I0 : ℝ) * (e.H : ℝ)) ^ 2 := by simpa [Envelope.numerator, Envelope.gap, Rat.cast_pow] using (Rat.cast_le (K := ℝ)).mpr hsq apply schurBound_transport (e.L : ℝ) ((e.D : ℝ) + (e.R : ℝ) * (e.H : ℝ)) ((e.I0 : ℝ) * (e.H : ℝ)) (2 * (e.I1 : ℝ)) top cross trunk · linarith · convert hnumR using 1 <;> ring · convert hsqR using 1 <;> ring · exact htop · exact htrunk · exact hcrossSq · exact htrunkSq theorem checkedTree_transport (p : Params) (small turn : Bool) (b : Box) (tree : Tree) (hchecked : checkTree p small turn b tree = true) (t r : ℝ) (hm : Contains b t r) : ∃ (leafBox : Box) (tag : Nat), Contains leafBox t r ∧ LeafGood p small leafBox tag ∧ ∀ top cross trunk : ℝ, top ≤ ((envelope p leafBox tag).D : ℝ) + ((envelope p leafBox tag).R : ℝ) * ((envelope p leafBox tag).H : ℝ) → 0 ≤ trunk → cross ^ 2 ≤ ((envelope p leafBox tag).I0 : ℝ) * ((envelope p leafBox tag).H : ℝ) → trunk ^ 2 ≤ 2 * ((envelope p leafBox tag).I1 : ℝ) → BlockBound ((envelope p leafBox tag).L : ℝ) top cross trunk := by obtain ⟨leafBox, tag, hmem, hgood⟩ := checkTree_coverage p small tree turn b hchecked t r hm refine ⟨leafBox, tag, hmem, hgood, ?_⟩ intro top cross trunk htop htrunk hcrossSq htrunkSq exact acceptedEnvelope_transport hgood.2.2.2 top cross trunk htop htrunk hcrossSq htrunkSq end end QuantileFiniteCertificate namespace QuantileFiniteCertificate noncomputable section def branchMass (small : Bool) (t r w : ℝ) : ℝ := if small then t else t * (w * r + 1 - r) def branchDiagonal (small : Bool) (t r w : ℝ) : ℝ := if small then t / (2 * (radialConstant : ℝ)) else t * max (w * r) (1 - r) / (radialConstant : ℝ) def branchFloor (small : Bool) (w : ℝ) : ℝ := if small then 1 else (quantileFraction : ℝ) * w + 1 - (quantileFraction : ℝ) theorem goodBox_cast {b : Box} (h : GoodBox b) : 0 ≤ (b.tlo : ℝ) ∧ (b.tlo : ℝ) ≤ (b.thi : ℝ) ∧ (b.thi : ℝ) ≤ 1 ∧ (1 : ℝ) / 2 ≤ (b.rlo : ℝ) ∧ (b.rlo : ℝ) ≤ (b.rhi : ℝ) ∧ (b.rhi : ℝ) ≤ 1 := by rcases h with ⟨h0, h1, h2, h3, h4, h5⟩ exact ⟨(Rat.cast_nonneg (K := ℝ)).mpr h0, (Rat.cast_le (K := ℝ)).mpr h1, by simpa using (Rat.cast_le (K := ℝ)).mpr h2, by simpa using (Rat.cast_le (K := ℝ)).mpr h3, (Rat.cast_le (K := ℝ)).mpr h4, by simpa using (Rat.cast_le (K := ℝ)).mpr h5⟩ theorem affineWeight_lower {p : Params} (hp : GoodParams p) (x s z : ℝ) (hx : (p.x : ℝ) ≤ x) (hs0 : 0 ≤ s) (hs1 : s ≤ 1) (hz : 0 ≤ z) (hzsq : x * (s + x) ≤ z ^ 2) : (p.alpha : ℝ) * s + 4 * x ≤ s + 2 * x + 2 * z := by rcases hp with ⟨hxp, _, _, ha1, ha2, hquad⟩ have hx0 : 0 ≤ x := ((Rat.cast_pos (K := ℝ)).mpr hxp).le.trans hx have ha1R : (1 : ℝ) ≤ (p.alpha : ℝ) := by simpa using (Rat.cast_le (K := ℝ)).mpr ha1 have ha2R : (p.alpha : ℝ) ≤ 2 := by simpa using (Rat.cast_le (K := ℝ)).mpr ha2 have hquadR : ((p.alpha : ℝ) - 1) ^ 2 ≤ 4 * (p.x : ℝ) * (2 - (p.alpha : ℝ)) := by simpa [Rat.cast_pow] using (Rat.cast_le (K := ℝ)).mpr hquad have hquadX : ((p.alpha : ℝ) - 1) ^ 2 ≤ 4 * x * (2 - (p.alpha : ℝ)) := by have h := mul_nonneg (sub_nonneg.mpr hx) (sub_nonneg.mpr ha2R) nlinarith only [hquadR, h] have hquadS : ((p.alpha : ℝ) - 1) ^ 2 * s ≤ ((p.alpha : ℝ) - 1) ^ 2 := by simpa using mul_le_mul_of_nonneg_left hs1 (sq_nonneg ((p.alpha : ℝ) - 1)) have hcredit : 0 ≤ s * (4 * x * (2 - (p.alpha : ℝ)) - ((p.alpha : ℝ) - 1) ^ 2 * s) := mul_nonneg hs0 (sub_nonneg.mpr (hquadS.trans hquadX)) have hid : 4 * (x * (s + x) - (x + ((p.alpha : ℝ) - 1) * s / 2) ^ 2) = s * (4 * x * (2 - (p.alpha : ℝ)) - ((p.alpha : ℝ) - 1) ^ 2 * s) := by ring have hbase : 0 ≤ x + ((p.alpha : ℝ) - 1) * s / 2 := add_nonneg hx0 (div_nonneg (mul_nonneg (sub_nonneg.mpr ha1R) hs0) (by norm_num)) have hsq : (x + ((p.alpha : ℝ) - 1) * s / 2) ^ 2 ≤ z ^ 2 := by nlinarith only [hcredit, hid, hzsq] have hroot := (sq_le_sq₀ hbase hz).mp hsq linarith theorem affineWeight_lower_at_config {p : Params} (hp : GoodParams p) (x s z : ℝ) (hx : (p.x : ℝ) ≤ x) (hs0 : 0 ≤ s) (hs1 : s ≤ 1) (hz : 0 ≤ z) (hzsq : x * (s + x) ≤ z ^ 2) : (p.alpha : ℝ) * s + 4 * (p.x : ℝ) ≤ s + 2 * x + 2 * z := by have h := affineWeight_lower hp x s z hx hs0 hs1 hz hzsq linarith def tailR (alpha x t : ℝ) : ℝ := (1 - t) * (1 / (alpha * t + 4 * x) + 1 / (alpha + 4 * x)) / 2 def tailI0 (alpha x t : ℝ) : ℝ := (1 - t) ^ 3 * (1 + 3 * (alpha + 4 * x) / (alpha * t + 4 * x)) / (12 * (alpha + 4 * x) ^ 2) def tailI1 (alpha x t : ℝ) : ℝ := (1 - t) ^ 4 * (2 + 3 * (alpha + 4 * x) / (alpha * t + 4 * x)) / (60 * (alpha + 4 * x) ^ 2) theorem tailBounds_antitone (alpha x tlo t : ℝ) (halpha : 0 ≤ alpha) (hx : 0 < x) (htlo : 0 ≤ tlo) (ht : tlo ≤ t) (ht1 : t ≤ 1) : (0 ≤ tailR alpha x t ∧ tailR alpha x t ≤ tailR alpha x tlo) ∧ (0 ≤ tailI0 alpha x t ∧ tailI0 alpha x t ≤ tailI0 alpha x tlo) ∧ (0 ≤ tailI1 alpha x t ∧ tailI1 alpha x t ≤ tailI1 alpha x tlo) := by have ht0 : 0 ≤ t := htlo.trans ht have hlen0 : 0 ≤ 1 - t := sub_nonneg.mpr ht1 have hlenlo0 : 0 ≤ 1 - tlo := by linarith have hlen : 1 - t ≤ 1 - tlo := by linarith have hwlo : 0 < alpha * tlo + 4 * x := by have hprod := mul_nonneg halpha htlo linarith have hw : 0 < alpha * t + 4 * x := by have hprod := mul_nonneg halpha ht0 linarith have hwle : alpha * tlo + 4 * x ≤ alpha * t + 4 * x := by have hprod := mul_le_mul_of_nonneg_left ht halpha linarith have hw1 : 0 < alpha + 4 * x := by linarith have hiw : 0 ≤ 1 / (alpha * t + 4 * x) := div_nonneg (by norm_num) hw.le have hiw1 : 0 ≤ 1 / (alpha + 4 * x) := div_nonneg (by norm_num) hw1.le have hiwle : 1 / (alpha * t + 4 * x) ≤ 1 / (alpha * tlo + 4 * x) := one_div_le_one_div_of_le hwlo hwle have hratio0 : 0 ≤ 3 * (alpha + 4 * x) / (alpha * t + 4 * x) := div_nonneg (by linarith) hw.le have hratiole : 3 * (alpha + 4 * x) / (alpha * t + 4 * x) ≤ 3 * (alpha + 4 * x) / (alpha * tlo + 4 * x) := div_le_div_of_nonneg_left (by linarith) hwlo hwle have hden0 : 0 < 12 * (alpha + 4 * x) ^ 2 := by have hs : 0 < (alpha + 4 * x) ^ 2 := sq_pos_of_pos hw1 linarith have hden1 : 0 < 60 * (alpha + 4 * x) ^ 2 := by have hs : 0 < (alpha + 4 * x) ^ 2 := sq_pos_of_pos hw1 linarith refine ⟨⟨?_, ?_⟩, ⟨?_, ?_⟩, ⟨?_, ?_⟩⟩ · exact div_nonneg (mul_nonneg hlen0 (add_nonneg hiw hiw1)) (by norm_num) · apply div_le_div_of_nonneg_right _ (by norm_num : (0 : ℝ) ≤ 2) exact mul_le_mul hlen (add_le_add hiwle le_rfl) (add_nonneg hiw hiw1) hlenlo0 · exact div_nonneg (mul_nonneg (pow_nonneg hlen0 3) (by linarith)) hden0.le · apply div_le_div_of_nonneg_right _ hden0.le exact mul_le_mul (pow_le_pow_left₀ hlen0 hlen 3) (add_le_add le_rfl hratiole) (by linarith) (pow_nonneg hlenlo0 3) · exact div_nonneg (mul_nonneg (pow_nonneg hlen0 4) (by linarith)) hden1.le · apply div_le_div_of_nonneg_right _ hden1.le exact mul_le_mul (pow_le_pow_left₀ hlen0 hlen 4) (add_le_add le_rfl hratiole) (by linarith) (pow_nonneg hlenlo0 4) theorem leafTail_bounds {p : Params} {small : Bool} {b : Box} {tag : Nat} (h : LeafGood p small b tag) (t r : ℝ) (hm : Contains b t r) : let e := envelope p b tag (0 ≤ tailR (p.alpha : ℝ) (p.x : ℝ) t ∧ tailR (p.alpha : ℝ) (p.x : ℝ) t ≤ (e.R : ℝ)) ∧ (0 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t ∧ tailI0 (p.alpha : ℝ) (p.x : ℝ) t ≤ (e.I0 : ℝ)) ∧ (0 ≤ tailI1 (p.alpha : ℝ) (p.x : ℝ) t ∧ tailI1 (p.alpha : ℝ) (p.x : ℝ) t ≤ (e.I1 : ℝ)) := by have hbox := goodBox_cast h.2.1 have hx : 0 < (p.x : ℝ) := (Rat.cast_pos (K := ℝ)).mpr h.1.1 have ha : 0 ≤ (p.alpha : ℝ) := ((Rat.cast_pos (K := ℝ)).mpr h.1.2.1).le have hh := tailBounds_antitone (p.alpha : ℝ) (p.x : ℝ) (b.tlo : ℝ) t ha hx hbox.1 hm.1 (hm.2.1.trans hbox.2.2.1) simpa [tailR, tailI0, tailI1, envelope, Rat.cast_pow] using hh theorem largeLeaf_branchBounds {p : Params} {b : Box} {tag : Nat} (h : LeafGood p false b tag) (t r : ℝ) (hm : Contains b t r) : let e := envelope p b tag let w := (e.weight : ℝ) 0 ≤ w ∧ w ≤ 1 ∧ branchMass false t r w ≤ (e.H : ℝ) ∧ branchDiagonal false t r w ≤ (e.D : ℝ) ∧ branchFloor false w / (p.target : ℝ) = (e.L : ℝ) := by rcases h with ⟨_, hb, htag, he⟩ have htag5 : tag ≤ 5 := by simpa using htag have htag6 : tag ≠ 6 := by intro hh subst tag exact (by decide : ¬ (6 ≤ 5)) htag5 rcases goodBox_cast hb with ⟨htlo0, _, hthi1, hrlohalf, hrlorhi, hrhi1⟩ rcases hm with ⟨htlo, hthi, hrlo, hrhi⟩ let w : ℝ := (leafWeight b tag : ℝ) have hw0 : 0 ≤ w := (Rat.cast_nonneg (K := ℝ)).mpr he.1 have hw1 : w ≤ 1 := by simpa [w, envelope] using (Rat.cast_le (K := ℝ)).mpr he.2.1 have ht0 : 0 ≤ t := htlo0.trans htlo have hthi0 : 0 ≤ (b.thi : ℝ) := ht0.trans hthi have hr0 : 0 ≤ r := (by linarith : (0 : ℝ) ≤ (b.rlo : ℝ)).trans hrlo have hr1 : r ≤ 1 := hrhi.trans hrhi1 have hc : 0 < (radialConstant : ℝ) := by norm_num [radialConstant] have hmass0 : 0 ≤ w * r + 1 - r := by have hprod := mul_nonneg hw0 hr0 linarith have hdiag0 : 0 ≤ max (w * r) (1 - r) := (mul_nonneg hw0 hr0).trans (le_max_left _ _) have hfloor : branchFloor false w / (p.target : ℝ) = ((envelope p b tag).L : ℝ) := by simp [branchFloor, envelope, htag6, w] change 0 ≤ w ∧ w ≤ 1 ∧ branchMass false t r w ≤ ((envelope p b tag).H : ℝ) ∧ branchDiagonal false t r w ≤ ((envelope p b tag).D : ℝ) ∧ _ refine ⟨hw0, hw1, ?_, ?_, hfloor⟩ · by_cases htagB : tag = 5 · have hrhipos : 0 < (b.rhi : ℝ) := by linarith have hwformula : w = (1 - (b.rhi : ℝ)) / (b.rhi : ℝ) := by simp [w, leafWeight, htagB] have hwend : w * (b.rhi : ℝ) = 1 - (b.rhi : ℝ) := by rw [hwformula] exact div_mul_cancel₀ _ (ne_of_gt hrhipos) have hwr : w * r ≤ 1 - r := by calc w * r ≤ w * (b.rhi : ℝ) := mul_le_mul_of_nonneg_left hrhi hw0 _ = 1 - (b.rhi : ℝ) := hwend _ ≤ 1 - r := by linarith have hcoef : w * r + 1 - r ≤ 2 * (1 - (b.rlo : ℝ)) := by linarith have hbound : t * (w * r + 1 - r) ≤ 2 * (b.thi : ℝ) * (1 - (b.rlo : ℝ)) := by calc t * (w * r + 1 - r) ≤ (b.thi : ℝ) * (w * r + 1 - r) := mul_le_mul_of_nonneg_right hthi hmass0 _ ≤ (b.thi : ℝ) * (2 * (1 - (b.rlo : ℝ))) := mul_le_mul_of_nonneg_left hcoef hthi0 _ = _ := by ring simpa [branchMass, envelope, htagB, w] using hbound · have hcoef : w * r + 1 - r ≤ 1 - (1 - w) * (b.rlo : ℝ) := by have hprod := mul_nonneg (sub_nonneg.mpr hw1) (sub_nonneg.mpr hrlo) nlinarith only [hprod] have hbound : t * (w * r + 1 - r) ≤ (b.thi : ℝ) * (1 - (1 - w) * (b.rlo : ℝ)) := by calc t * (w * r + 1 - r) ≤ (b.thi : ℝ) * (w * r + 1 - r) := mul_le_mul_of_nonneg_right hthi hmass0 _ ≤ _ := mul_le_mul_of_nonneg_left hcoef hthi0 simpa [branchMass, envelope, htag6, htagB, w] using hbound · by_cases htagB : tag = 5 · have hrhipos : 0 < (b.rhi : ℝ) := by linarith have hwformula : w = (1 - (b.rhi : ℝ)) / (b.rhi : ℝ) := by simp [w, leafWeight, htagB] have hwend : w * (b.rhi : ℝ) = 1 - (b.rhi : ℝ) := by rw [hwformula] exact div_mul_cancel₀ _ (ne_of_gt hrhipos) have hwr : w * r ≤ 1 - r := by calc w * r ≤ w * (b.rhi : ℝ) := mul_le_mul_of_nonneg_left hrhi hw0 _ = 1 - (b.rhi : ℝ) := hwend _ ≤ 1 - r := by linarith have hcoef : max (w * r) (1 - r) ≤ 1 - (b.rlo : ℝ) := by apply max_le · linarith · linarith have hnumer : t * max (w * r) (1 - r) ≤ (b.thi : ℝ) * (1 - (b.rlo : ℝ)) := by calc t * max (w * r) (1 - r) ≤ (b.thi : ℝ) * max (w * r) (1 - r) := mul_le_mul_of_nonneg_right hthi hdiag0 _ ≤ _ := mul_le_mul_of_nonneg_left hcoef hthi0 have hbound := div_le_div_of_nonneg_right hnumer hc.le simpa [branchDiagonal, envelope, htagB, w] using hbound · have hcoef : max (w * r) (1 - r) ≤ max (w * (b.rhi : ℝ)) (1 - (b.rlo : ℝ)) := by apply max_le_max · exact mul_le_mul_of_nonneg_left hrhi hw0 · linarith have hnumer : t * max (w * r) (1 - r) ≤ (b.thi : ℝ) * max (w * (b.rhi : ℝ)) (1 - (b.rlo : ℝ)) := by calc t * max (w * r) (1 - r) ≤ (b.thi : ℝ) * max (w * r) (1 - r) := mul_le_mul_of_nonneg_right hthi hdiag0 _ ≤ _ := mul_le_mul_of_nonneg_left hcoef hthi0 have hbound := div_le_div_of_nonneg_right hnumer hc.le simpa [branchDiagonal, envelope, htag6, htagB, Rat.cast_max, w] using hbound theorem smallLeaf_branchBounds {p : Params} {b : Box} {tag : Nat} (h : LeafGood p true b tag) (t r : ℝ) (hm : Contains b t r) : let e := envelope p b tag let w := (e.weight : ℝ) w = 1 ∧ branchMass true t r w ≤ (e.H : ℝ) ∧ branchDiagonal true t r w ≤ (e.D : ℝ) ∧ branchFloor true w / (p.target : ℝ) = (e.L : ℝ) := by rcases h with ⟨_, _, htag, _⟩ have htag6 : tag = 6 := by simpa using htag subst tag have hc : 0 ≤ 2 * (radialConstant : ℝ) := by norm_num [radialConstant] have hD := div_le_div_of_nonneg_right hm.2.1 hc refine ⟨?_, ?_, ?_, ?_⟩ · norm_num [envelope, leafWeight] · simpa [branchMass, envelope] using hm.2.1 · simpa [branchDiagonal, envelope] using hD · simp [branchFloor, envelope] theorem branchMass_nonneg (small : Bool) (t r w : ℝ) (ht : 0 ≤ t) (hr : 0 ≤ r) (hr1 : r ≤ 1) (hw : 0 ≤ w) : 0 ≤ branchMass small t r w := by cases small · have hprod := mul_nonneg hw hr exact mul_nonneg ht (by linarith : 0 ≤ w * r + 1 - r) · exact ht theorem leafParameters_transport {p : Params} {small : Bool} {b : Box} {tag : Nat} (h : LeafGood p small b tag) (t r : ℝ) (hm : Contains b t r) : let w := ((envelope p b tag).weight : ℝ) 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal small t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor small w / (p.target : ℝ)) top cross trunk := by let e := envelope p b tag let w := (e.weight : ℝ) have hbranch : 0 ≤ w ∧ w ≤ 1 ∧ branchMass small t r w ≤ (e.H : ℝ) ∧ branchDiagonal small t r w ≤ (e.D : ℝ) ∧ branchFloor small w / (p.target : ℝ) = (e.L : ℝ) := by cases small · exact largeLeaf_branchBounds h t r hm · obtain ⟨hw, hH, hD, hL⟩ := smallLeaf_branchBounds h t r hm have hw' : w = 1 := hw exact ⟨by rw [hw']; norm_num, hw'.le, hH, hD, hL⟩ have hbox := goodBox_cast h.2.1 have ht0 : 0 ≤ t := hbox.1.trans hm.1 have hr0 : 0 ≤ r := (by linarith [hbox.2.2.2.1] : (0 : ℝ) ≤ (b.rlo : ℝ)).trans hm.2.2.1 have hr1 : r ≤ 1 := hm.2.2.2.trans hbox.2.2.2.2.2 have hH0 := branchMass_nonneg small t r w ht0 hr0 hr1 hbranch.1 obtain ⟨hR, hI0, hI1⟩ := leafTail_bounds h t r hm have hRenv : 0 ≤ (e.R : ℝ) := hR.1.trans hR.2 have hI0env : 0 ≤ (e.I0 : ℝ) := hI0.1.trans hI0.2 have hRprod : tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w ≤ (e.R : ℝ) * (e.H : ℝ) := mul_le_mul hR.2 hbranch.2.2.1 hH0 hRenv have hI0prod : tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w ≤ (e.I0 : ℝ) * (e.H : ℝ) := mul_le_mul hI0.2 hbranch.2.2.1 hH0 hI0env refine ⟨hbranch.1, hbranch.2.1, ?_⟩ intro top cross trunk htop htrunk hcross htrunkSq rw [hbranch.2.2.2.2] apply acceptedEnvelope_transport h.2.2.2 top cross trunk · exact htop.trans (add_le_add hbranch.2.2.2.1 hRprod) · exact htrunk · exact hcross.trans hI0prod · have hh := mul_le_mul_of_nonneg_left hI1.2 (by norm_num : (0 : ℝ) ≤ 2) exact htrunkSq.trans hh theorem checkedTree_parameters (p : Params) (small turn : Bool) (b : Box) (tree : Tree) (hchecked : checkTree p small turn b tree = true) (t r : ℝ) (hm : Contains b t r) : ∃ w : ℝ, 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal small t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor small w / (p.target : ℝ)) top cross trunk := by obtain ⟨leafBox, tag, hmem, hgood⟩ := checkTree_coverage p small tree turn b hchecked t r hm exact ⟨((envelope p leafBox tag).weight : ℝ), leafParameters_transport hgood t r hmem⟩ end end QuantileFiniteCertificate noncomputable section namespace Polya26.QuantileLogBounds def negativeHSsq (beta p L : ℝ) : ℝ := p ^ 2 / 2 + 4 * beta * p * (1 - p) + beta ^ 2 * ((1 - p) ^ 2 * L ^ 2 + (1 - p) * (1 - 3 * p) * L + 1 / 2 - 4 * p + (7 / 2) * p ^ 2) theorem negativeHSsq_eq_AD (beta p L : ℝ) : negativeHSsq beta p L = beta ^ 2 * (L ^ 2 + L + 1 / 2) + (2 * beta * (2 - beta * (L ^ 2 + 2 * L + 2))) * p + (1 / 2 - beta ^ 2 * (L ^ 2 + L + 1 / 2) - 2 * beta * (2 - beta * (L ^ 2 + 2 * L + 2))) * p ^ 2 := by unfold negativeHSsq ring end Polya26.QuantileLogBounds end /-! Actual Green-form identification by prefix IBP and one Fubini swap. The diagonal is null, so the two ordered triangles give the full kernel. This avoids constructing a spectral inverse or an infinite kernel matrix. -/ noncomputable section open MeasureTheory Set Filter open scoped BigOperators namespace Polya26.Strike.S06.Header.PrimitiveStar open Polya26.Strike.S02.Header section TriangleKernel variable {μ : Measure ℝ} [SFinite μ] [NullSingletonClass μ] theorem product_diagonal_null : μ.prod μ {z : ℝ × ℝ | z.1 = z.2} = 0 := by have hm : MeasurableSet {z : ℝ × ℝ | z.1 = z.2} := (isClosed_eq continuous_fst continuous_snd).measurableSet have he (x : ℝ) : Prod.mk x ⁻¹' {z : ℝ × ℝ | z.1 = z.2} = {x} := by ext y simp only [mem_preimage,mem_setOf_eq,mem_singleton_iff] exact eq_comm rw [Measure.prod_apply hm] simp only [he,measure_singleton,lintegral_zero] /-- A real symmetric `G(max(s,t))` quadratic equals twice its lower triangle. This is an identity for the ACTUAL product integral. -/ theorem orderedKernel_eq_prefix (G f : ℝ → ℝ) (hq : Integrable (fun z : ℝ × ℝ => G (max z.1 z.2) * (f z.1*f z.2)) (μ.prod μ)) : (∫ z : ℝ × ℝ, G (max z.1 z.2) * (f z.1*f z.2) ∂(μ.prod μ)) = 2*(∫ x, (G x*f x)*(∫ y in Iic x, f y ∂μ) ∂μ) := by let q : ℝ × ℝ → ℝ := fun z => G (max z.1 z.2)*(f z.1*f z.2) let T : Set (ℝ × ℝ) := {z | z.2 ≤ z.1} let upper : ℝ × ℝ → ℝ := T.indicator q have hmT : MeasurableSet T := (isClosed_le continuous_snd continuous_fst).measurableSet have hu : Integrable upper (μ.prod μ) := hq.indicator hmT have hus : Integrable (upper ∘ Prod.swap) (μ.prod μ) := hu.swap have hneq : ∀ᵐ z : ℝ × ℝ ∂(μ.prod μ), z.1 ≠ z.2 := by rw [ae_iff] simpa only [not_not] using (product_diagonal_null (μ := μ)) have he : q =ᵐ[μ.prod μ] fun z => upper z + upper z.swap := by filter_upwards [hneq] with z hz have hs : q z.swap = q z := by dsimp [q] rw [max_comm,mul_comm (f z.2) (f z.1)] by_cases hle : z.2 ≤ z.1 · have hrev : ¬z.1 ≤ z.2 := fun h => hz (le_antisymm h hle) simp only [upper,Set.indicator,q,T,mem_setOf_eq,Prod.fst_swap,Prod.snd_swap, if_pos hle,if_neg hrev,add_zero] · have hrev : z.1 ≤ z.2 := (lt_of_not_ge hle).le simp only [upper,Set.indicator,T,mem_setOf_eq,Prod.fst_swap,Prod.snd_swap, if_neg hle,if_pos hrev,zero_add,hs] have hrow (x y : ℝ) : upper (x,y) = (G x*f x)*(Iic x).indicator f y := by by_cases hle : y ≤ x · simp only [upper,T,q,Set.indicator,mem_setOf_eq, mem_Iic,if_pos hle,max_eq_left hle] ring · simp only [upper,T,Set.indicator,mem_setOf_eq, mem_Iic,if_neg hle,mul_zero] calc (∫ z : ℝ × ℝ, G (max z.1 z.2)*(f z.1*f z.2) ∂(μ.prod μ)) = ∫ z, upper z+upper z.swap ∂(μ.prod μ) := integral_congr_ae he _ = 2*(∫ z, upper z ∂(μ.prod μ)) := by have hadd : (∫ z, upper z+upper z.swap ∂(μ.prod μ)) = (∫ z, upper z ∂(μ.prod μ))+(∫ z, upper z.swap ∂(μ.prod μ)) := integral_add hu hus have hswap : (∫ z, upper z.swap ∂(μ.prod μ)) = ∫ z, upper z ∂(μ.prod μ) := integral_prod_swap upper rw [hadd,hswap] ring _ = 2*(∫ x, (G x*f x)*(∫ y in Iic x, f y ∂μ) ∂μ) := by rw [integral_prod upper hu] congr 1 apply integral_congr_ae exact Eventually.of_forall (fun x => by simp_rw [hrow,integral_const_mul,integral_indicator measurableSet_Iic]) end TriangleKernel /-- The prefix on a trunk window is its restricted-measure initial segment, with no reflected or extra area. -/ theorem intervalPrefix_eq_restrictedIic (f : ℝ → ℝ) {a0 a s : ℝ} (hleft : a0 ≤ s) (hright : s ≤ a) : (∫ y in Iic s, f y ∂(volume.restrict (Ioc a0 a))) = ∫ y in a0..s, f y := by have he : Iic s ∩ Ioc a0 a = Ioc a0 s := by ext y simp only [mem_inter_iff,mem_Iic,mem_Ioc] constructor · rintro ⟨hy,ha0,ha⟩ exact ⟨ha0,hy⟩ · rintro ⟨ha0,hy⟩ exact ⟨hy,ha0,hy.trans hright⟩ rw [Measure.restrict_restrict measurableSet_Iic,he, ← intervalIntegral.integral_of_le hleft] /-- The trunk Green primitive has derivative `-1/W`. Prefix IBP gives the junction rank term `R*A^2` and an actual product integral. -/ theorem trunkPrefix_green_ibp (J G F W : ℝ → ℝ) (a0 a A R : ℝ) (hJ : ContinuousOn J (uIcc a0 a)) (hG : ContinuousOn G (uIcc a0 a)) (hdJ : ∀ s ∈ Ioo (min a0 a) (max a0 a), HasDerivAt J (F s) s) (hdG : ∀ s ∈ Ioo (min a0 a) (max a0 a), HasDerivAt G (-1/W s) s) (hiJ : IntervalIntegrable (fun s => 2*J s*F s) volume a0 a) (hiG : IntervalIntegrable (fun s => -1/W s) volume a0 a) (hstartJ : J a0 = A) (hstartG : G a0 = R) (hendG : G a = 0) : (∫ s in a0..a, (J s)^2/W s) = R*A^2 + 2*(∫ s in a0..a, (J s*F s)*G s) := by have hj2 : ContinuousOn (fun s => (J s)^2) (uIcc a0 a) := hJ.pow 2 have hdj2 : ∀ s ∈ Ioo (min a0 a) (max a0 a), HasDerivAt (fun t => (J t)^2) (2*J s*F s) s := by intro s hs convert (hdJ s hs).pow 2 using 1 <;> simp have h := intervalIntegral.integral_mul_deriv_eq_deriv_mul_of_hasDerivAt hj2 hG hdj2 hdG hiJ hiG have hleft : (∫ s in a0..a, (J s)^2 * (-1/W s)) = -(∫ s in a0..a, (J s)^2/W s) := by rw [← intervalIntegral.integral_neg] apply intervalIntegral.integral_congr intro s hs ring have hright : (∫ s in a0..a, (2*J s*F s)*G s) = 2*(∫ s in a0..a, (J s*F s)*G s) := by rw [← intervalIntegral.integral_const_mul] apply intervalIntegral.integral_congr intro s hs ring rw [hleft,hright,hstartJ,hstartG,hendG,mul_zero] at h nlinarith /-- Actual AC trunk Green identity after weak radial FTC. This permits plateau-flat inverse profiles and does not require a C1 rearrangement. -/ theorem trunkPrefix_green_ibp_ac (J G F W : ℝ → ℝ) (a0 a A R : ℝ) (hJ : Polya26.Strike.S02.Header.PrimitiveOn J a0 a) (hG : Polya26.Strike.S02.Header.PrimitiveOn G a0 a) (hdJ : deriv J =ᵐ[volume.restrict (uIoc a0 a)] F) (hdG : deriv G =ᵐ[volume.restrict (uIoc a0 a)] fun s => -1/W s) (hstartJ : J a0 = A) (hstartG : G a0 = R) (hendG : G a = 0) : (∫ s in a0..a, (J s)^2/W s) = R*A^2+2*(∫ s in a0..a, (J s*F s)*G s) := by have hj2 : Polya26.Strike.S02.Header.PrimitiveOn (fun s => (J s)^2) a0 a := by have he : (fun s => (J s)^2) = J*J := by funext s simp only [pow_two,Pi.mul_apply] rw [he] exact hJ.mul hJ have hdiff : ∀ᵐ s ∂volume.restrict (uIoc a0 a), DifferentiableAt ℝ J s := by filter_upwards [ae_restrict_of_ae hJ.ae_differentiableAt, ae_restrict_mem measurableSet_uIoc] with s hs hmem exact hs (uIoc_subset_uIcc hmem) have hdj2 : deriv (fun s => (J s)^2) =ᵐ[volume.restrict (uIoc a0 a)] fun s => 2*J s*F s := by filter_upwards [hdiff,hdJ] with s hs hFs have hd := (hs.hasDerivAt.pow 2).deriv have he : (J^2) = (fun t => (J t)^2) := by funext t simp only [Pi.pow_apply] rw [he] at hd rw [hd,hFs] norm_num have h := hj2.integral_mul_deriv_eq_deriv_mul hG have hleft : (∫ s in a0..a, (J s)^2*deriv G s) = -(∫ s in a0..a, (J s)^2/W s) := by rw [← intervalIntegral.integral_neg] apply intervalIntegral.integral_congr_ae_restrict filter_upwards [hdG] with s hs change (J s)^2*deriv G s = -((J s)^2/W s) rw [hs] ring have hright : (∫ s in a0..a, deriv (fun t => (J t)^2) s*G s) = 2*(∫ s in a0..a, (J s*F s)*G s) := by rw [← intervalIntegral.integral_const_mul] apply intervalIntegral.integral_congr_ae_restrict filter_upwards [hdj2] with s hs change deriv (fun t => (J t)^2) s*G s = 2*((J s*F s)*G s) rw [hs] ring rw [hleft,hright,hstartJ,hstartG,hendG,mul_zero] at h nlinarith end Polya26.Strike.S06.Header.PrimitiveStar end noncomputable section open Set MeasureTheory Filter open scoped InnerProductSpace BigOperators Topology namespace Polya26.Strike.S01.Header.PureKernelSupport open Polya26.Strike.S06.Header.PrimitiveStar section OriginalMass variable {X : Type*} [MeasurableSpace X] (μ : Measure X) def originalMass (u : X → ℝ) : ℝ := ∫ x, (u x)^2 ∂μ def weightedSquare (w : ℝ) (D : Set X) (u : X → ℝ) (x : X) : ℝ := by classical exact if x ∈ D then w * (u x)^2 else (u x)^2 def weightedOriginalMass (w : ℝ) (D : Set X) (u : X → ℝ) : ℝ := ∫ x, weightedSquare w D u x ∂μ /-- This is the ORIGINAL square, including any threshold cross term. -/ theorem weightedOriginalMass_eq (w : ℝ) (D : Set X) (u : X → ℝ) (hD : MeasurableSet D) (hu : Integrable (fun x => (u x)^2) μ) : weightedOriginalMass μ w D u = originalMass μ u - (1-w) * (∫ x in D, (u x)^2 ∂μ) := by have hi : Integrable (D.indicator (fun x => (u x)^2)) μ := hu.indicator hD have he : weightedSquare w D u = (fun x => (u x)^2 - (1-w) * D.indicator (fun x => (u x)^2) x) := by funext x by_cases hx : x ∈ D · simp only [weightedSquare, if_pos hx, Set.indicator_of_mem hx] ring · simp [weightedSquare, hx] unfold weightedOriginalMass originalMass rw [he, integral_sub hu (hi.const_mul (1-w)), integral_const_mul, integral_indicator hD] theorem weightedOriginalMass_lower (w f : ℝ) (D : Set X) (u : X → ℝ) (hD : MeasurableSet D) (hu : Integrable (fun x => (u x)^2) μ) (hw : w ≤ 1) (hcap : (∫ x in D, (u x)^2 ∂μ) ≤ f * originalMass μ u) : (f*w+1-f)*originalMass μ u ≤ weightedOriginalMass μ w D u := by rw [weightedOriginalMass_eq μ w D u hD hu] have hm := mul_le_mul_of_nonneg_left hcap (sub_nonneg.mpr hw) nlinarith /-- The inner terminal set is weighted1, and its exterior is weighted p. No amplitude or cap/truncation mass substitution is made. -/ theorem terminalWeightedMass_lower (p f : ℝ) (D : Set X) (u : X → ℝ) (hD : MeasurableSet D) (hu : Integrable (fun x => (u x)^2) μ) (hp : p ≤ 1) (hcore : f * originalMass μ u ≤ (∫ x in D, (u x)^2 ∂μ)) : (f+(1-f)*p)*originalMass μ u ≤ weightedOriginalMass μ p Dᶜ u := by have hcompl : (∫ x in Dᶜ, (u x)^2 ∂μ) ≤ (1-f)*originalMass μ u := by rw [setIntegral_compl hD hu] unfold originalMass at * nlinarith have h := weightedOriginalMass_lower μ p (1-f) Dᶜ u hD.compl hu hp hcompl convert h using 1 <;> ring end OriginalMass section HilbertCompression variable {E F : Type*} [NormedAddCommGroup E] [InnerProductSpace ℝ E] [NormedAddCommGroup F] [InnerProductSpace ℝ F] def greenQuadratic (D : E →L[ℝ] E) (T : F →L[ℝ] F) (v : E) (g : F) (R : ℝ) (x : E) (y : F) : ℝ := ⟪x,D x⟫_ℝ + R*⟪x,v⟫_ℝ^2 + 2*⟪x,v⟫_ℝ*⟪y,g⟫_ℝ + ⟪y,T y⟫_ℝ theorem inner_sq_le_norm_sq (x v : E) : ⟪x,v⟫_ℝ^2 ≤ ‖v‖^2 * ‖x‖^2 := by have h := abs_real_inner_le_norm x v have hn : 0 ≤ ‖x‖*‖v‖ := mul_nonneg (norm_nonneg _) (norm_nonneg _) have hs := (sq_le_sq₀ (abs_nonneg _) hn).2 h simpa [sq_abs, mul_pow, mul_comm] using hs def rankCrossQuadratic (qE : E → ℝ) (qF : F → ℝ) (v : E) (g : F) (R : ℝ) (x : E) (y : F) : ℝ := qE x + R*⟪x,v⟫_ℝ^2 + 2*⟪x,v⟫_ℝ*⟪y,g⟫_ℝ + qF y theorem rankCrossQuadratic_le_block (qE : E → ℝ) (qF : F → ℝ) (v : E) (g : F) (d R S L : ℝ) (hR : 0 ≤ R) (hE : ∀ x, qE x ≤ d*‖x‖^2) (hF : ∀ y, qF y ≤ S*‖y‖^2) (hblock : QuantileFiniteCertificate.BlockBound L (d+R*‖v‖^2) (‖v‖*‖g‖) S) (x : E) (y : F) : rankCrossQuadratic qE qF v g R x y ≤ L*(‖x‖^2+‖y‖^2) := by have hrank := mul_le_mul_of_nonneg_left (inner_sq_le_norm_sq x v) hR have hprod : ⟪x,v⟫_ℝ*⟪y,g⟫_ℝ ≤ (‖x‖*‖v‖)*(‖y‖*‖g‖) := by calc ⟪x,v⟫_ℝ*⟪y,g⟫_ℝ ≤ |⟪x,v⟫_ℝ*⟪y,g⟫_ℝ| := le_abs_self _ _ = |⟪x,v⟫_ℝ| * |⟪y,g⟫_ℝ| := abs_mul _ _ _ ≤ (‖x‖*‖v‖)*(‖y‖*‖g‖) := mul_le_mul (abs_real_inner_le_norm x v) (abs_real_inner_le_norm y g) (abs_nonneg _) (mul_nonneg (norm_nonneg _) (norm_nonneg _)) have hcross := mul_le_mul_of_nonneg_left hprod (by norm_num : (0:ℝ) ≤ 2) have hpre : rankCrossQuadratic qE qF v g R x y ≤ (d+R*‖v‖^2)*‖x‖^2 + 2*(‖v‖*‖g‖)*‖x‖*‖y‖ + S*‖y‖^2 := by unfold rankCrossQuadratic nlinarith [hE x,hF y] exact hpre.trans (hblock ‖x‖ ‖y‖) /-- The direct-sum radial diagonal, plateau-zero inverse, rank-one junction and cross-trunk term are compressed from ACTUAL inner products. E may be a countable Hilbert direct sum; only the diagonal quadratic bound is assumed. -/ theorem greenQuadratic_le_block (D : E →L[ℝ] E) (T : F →L[ℝ] F) (v : E) (g : F) (d R S L : ℝ) (hR : 0 ≤ R) (hD : ∀ x, ⟪x,D x⟫_ℝ ≤ d*‖x‖^2) (hT : ∀ y, ⟪y,T y⟫_ℝ ≤ S*‖y‖^2) (hblock : QuantileFiniteCertificate.BlockBound L (d+R*‖v‖^2) (‖v‖*‖g‖) S) (x : E) (y : F) : greenQuadratic D T v g R x y ≤ L*(‖x‖^2+‖y‖^2) := by exact rankCrossQuadratic_le_block (fun z => ⟪z,D z⟫_ℝ) (fun z => ⟪z,T z⟫_ℝ) v g d R S L hR hD hT hblock x y /-- Accepted numeric PSD envelopes now control the ACTUAL Green form. The vector v incorporates all branch constant gates and the plateau atom. -/ theorem greenQuadratic_le_of_acceptedEnvelope (e : QuantileFiniteCertificate.Envelope) (he : QuantileFiniteCertificate.GoodEnvelope e) (D : E →L[ℝ] E) (T : F →L[ℝ] F) (v : E) (g : F) (d R S : ℝ) (hR : 0 ≤ R) (hS : 0 ≤ S) (hD : ∀ x, ⟪x,D x⟫_ℝ ≤ d*‖x‖^2) (hT : ∀ y, ⟪y,T y⟫_ℝ ≤ S*‖y‖^2) (htop : d+R*‖v‖^2 ≤ (e.D:ℝ)+(e.R:ℝ)*(e.H:ℝ)) (hcross : (‖v‖*‖g‖)^2 ≤ (e.I0:ℝ)*(e.H:ℝ)) (htrunk : S^2 ≤ 2*(e.I1:ℝ)) (x : E) (y : F) : greenQuadratic D T v g R x y ≤ (e.L:ℝ)*(‖x‖^2+‖y‖^2) := by exact greenQuadratic_le_block D T v g d R S (e.L:ℝ) hR hD hT (QuantileFiniteCertificate.acceptedEnvelope_transport he (d+R*‖v‖^2) (‖v‖*‖g‖) S htop hS hcross htrunk) x y end HilbertCompression section KernelHilbertSchmidt variable {X : Type*} [MeasurableSpace X] {μ : Measure X} theorem toLp_norm_sq_eq_integral_sq (f : X → ℝ) (hf : MemLp f 2 μ) : ‖hf.toLp f‖^2 = ∫ x, (f x)^2 ∂μ := by rw [← real_inner_self_eq_norm_sq,MeasureTheory.L2.inner_def] apply integral_congr_ae filter_upwards [hf.coeFn_toLp] with x hx simp [Real.inner_apply,hx,pow_two] /-- Genuine integral Cauchy--Schwarz, without substituting a restated energy bound or an abstract matrix estimate for the functions. -/ theorem integral_mul_sq_le (f g : X → ℝ) (hf : MemLp f 2 μ) (hg : MemLp g 2 μ) : (∫ x, f x*g x ∂μ)^2 ≤ (∫ x, (f x)^2 ∂μ)*(∫ x, (g x)^2 ∂μ) := by have hi : ⟪hf.toLp f,hg.toLp g⟫_ℝ = ∫ x, f x*g x ∂μ := by rw [MeasureTheory.L2.inner_def] apply integral_congr_ae filter_upwards [hf.coeFn_toLp,hg.coeFn_toLp] with x hfx hgx simp [Real.inner_apply,hfx,hgx,mul_comm] have h := inner_sq_le_norm_sq (hf.toLp f) (hg.toLp g) rw [hi,toLp_norm_sq_eq_integral_sq f hf,toLp_norm_sq_eq_integral_sq g hg] at h simpa [mul_comm] using h variable [IsFiniteMeasure μ] theorem tensor_memLp_two (f : X → ℝ) (hf : MemLp f 2 μ) : MemLp (fun p : X × X => f p.1*f p.2) 2 (μ.prod μ) := by have hm := (hf.comp_fst μ).aestronglyMeasurable.mul (hf.comp_snd μ).aestronglyMeasurable apply (memLp_two_iff_integrable_sq hm).2 simpa only [Pi.mul_apply,mul_pow] using hf.integrable_sq.mul_prod hf.integrable_sq theorem integral_tensor_sq (f : X → ℝ) : (∫ p : X × X, (f p.1*f p.2)^2 ∂(μ.prod μ)) = (∫ x, (f x)^2 ∂μ)^2 := by calc (∫ p : X × X, (f p.1*f p.2)^2 ∂(μ.prod μ)) = ∫ p : X × X, (f p.1)^2*(f p.2)^2 ∂(μ.prod μ) := by apply integral_congr_ae exact Filter.Eventually.of_forall (fun p => mul_pow _ _ _) _ = (∫ x, (f x)^2 ∂μ)*(∫ x, (f x)^2 ∂μ) := integral_prod_mul (μ := μ) (ν := μ) (fun x : X => (f x)^2) (fun x : X => (f x)^2) _ = (∫ x, (f x)^2 ∂μ)^2 := by ring def kernelQuadratic (K : X × X → ℝ) (f : X → ℝ) : ℝ := ∫ p : X × X, K p*(f p.1*f p.2) ∂(μ.prod μ) /-- This is the actual kernel Hilbert--Schmidt quadratic estimate. It applies to the trunk G(max(s,t)) and the negative weighted logarithmic kernel once their explicit L2/HS integrals are proved. -/ theorem kernelQuadratic_sq_le (K : X × X → ℝ) (f : X → ℝ) (hK : MemLp K 2 (μ.prod μ)) (hf : MemLp f 2 μ) : (kernelQuadratic (μ := μ) K f)^2 ≤ (∫ p, (K p)^2 ∂(μ.prod μ))*(∫ x, (f x)^2 ∂μ)^2 := by have h := integral_mul_sq_le K (fun p : X × X => f p.1*f p.2) hK (tensor_memLp_two f hf) rw [integral_tensor_sq f] at h exact h theorem kernelQuadratic_le_hs (K : X × X → ℝ) (f : X → ℝ) (S : ℝ) (hK : MemLp K 2 (μ.prod μ)) (hf : MemLp f 2 μ) (hS : 0 ≤ S) (hHS : (∫ p, (K p)^2 ∂(μ.prod μ)) ≤ S^2) : kernelQuadratic (μ := μ) K f ≤ S*(∫ x, (f x)^2 ∂μ) := by have hM : 0 ≤ ∫ x, (f x)^2 ∂μ := integral_nonneg (fun x => sq_nonneg _) have hs : (kernelQuadratic (μ := μ) K f)^2 ≤ (S*(∫ x, (f x)^2 ∂μ))^2 := by calc (kernelQuadratic (μ := μ) K f)^2 ≤ (∫ p, (K p)^2 ∂(μ.prod μ))*(∫ x, (f x)^2 ∂μ)^2 := kernelQuadratic_sq_le K f hK hf _ ≤ S^2*(∫ x, (f x)^2 ∂μ)^2 := mul_le_mul_of_nonneg_right hHS (sq_nonneg _) _ = (S*(∫ x, (f x)^2 ∂μ))^2 := by ring by_cases hq : 0 ≤ kernelQuadratic (μ := μ) K f · exact (sq_le_sq₀ hq (mul_nonneg hS hM)).mp hs · linarith [mul_nonneg hS hM] end KernelHilbertSchmidt /-- Closing the actual weighted Cauchy/Green calculation. The inputs are its two proved analytic estimates, not the sought energy lower bound. -/ theorem mass_le_energy_of_cauchy_green {M Q D L : ℝ} (hM : 0 < M) (hQ : 0 ≤ Q) (hCauchy : M^2 ≤ Q*D) (hGreen : D ≤ L*M) : M ≤ L*Q := by have hprod := mul_le_mul_of_nonneg_left hGreen hQ have h : M*M ≤ (L*Q)*M := by nlinarith exact le_of_mul_le_mul_right h hM theorem integral_pow {a b : ℝ} {n : ℕ} : (∫ x in a..b, x^n) = (b^(n+1)-a^(n+1))/(n+1:ℝ) := by have hn : (n+1:ℝ) ≠ 0 := by exact_mod_cast Nat.succ_ne_zero n have hd (x : ℝ) : HasDerivAt (fun t : ℝ => t^(n+1)/(n+1:ℝ)) (x^n) x := by convert (((hasDerivAt_id x).pow (n+1)).div_const (n+1:ℝ)) using 1 <;> simp [Nat.cast_add, Nat.cast_one, hn] have h := intervalIntegral.integral_eq_sub_of_hasDerivAt (fun x _ => hd x) ((continuous_pow n).intervalIntegrable a b) simpa only [sub_div] using h /- Selected Dilation pure APIs. -/ def dilatedProfile (a : ℝ) (F : ℝ → ℝ) (x : ℝ) : ℝ := Real.sqrt a*F (a*x) def dilatedDerivative (a : ℝ) (h : ℝ → ℝ) (x : ℝ) : ℝ := a*Real.sqrt a*h (a*x) theorem integral_dilation (f : ℝ → ℝ) {a : ℝ} (ha : 0 < a) (left right : ℝ) : a*(∫ x in left/a..right/a, f (a*x)) = ∫ s in left..right, f s := by rw [intervalIntegral.integral_comp_mul_left f ha.ne',smul_eq_mul] have hl : a*(left/a) = left := by field_simp have hr : a*(right/a) = right := by field_simp rw [hl,hr] field_simp theorem dilatedProfile_mass (F : ℝ → ℝ) {a : ℝ} (ha : 0 < a) (left right : ℝ) : (∫ x in left/a..right/a, (dilatedProfile a F x)^2) = ∫ s in left..right, (F s)^2 := by calc (∫ x in left/a..right/a, (dilatedProfile a F x)^2) = a*(∫ x in left/a..right/a, (F (a*x))^2) := by rw [← intervalIntegral.integral_const_mul] apply intervalIntegral.integral_congr intro x hx unfold dilatedProfile dsimp only rw [mul_pow,Real.sq_sqrt ha.le] _ = ∫ s in left..right, (F s)^2 := integral_dilation (fun s => (F s)^2) ha left right theorem dilatedProfile_mass_integrable (F : ℝ → ℝ) {a : ℝ} (ha : 0 < a) {left right : ℝ} (hF : IntervalIntegrable (fun s => (F s)^2) volume left right) : IntervalIntegrable (fun x => (dilatedProfile a F x)^2) volume (left/a) (right/a) := by convert (hF.comp_mul_left (c := a)).const_mul a using 1 funext x unfold dilatedProfile rw [mul_pow,Real.sq_sqrt ha.le] theorem dilatedDerivative_radialEnergy (h : ℝ → ℝ) {a : ℝ} (ha : 0 < a) (left right : ℝ) : (∫ x in left/a..right/a, x*(dilatedDerivative a h x)^2) = a*(∫ s in left..right, s*(h s)^2) := by calc (∫ x in left/a..right/a, x*(dilatedDerivative a h x)^2) = a^2*(∫ x in left/a..right/a, (a*x)*(h (a*x))^2) := by rw [← intervalIntegral.integral_const_mul] apply intervalIntegral.integral_congr intro x hx unfold dilatedDerivative dsimp only rw [mul_pow,mul_pow,Real.sq_sqrt ha.le] ring _ = a*(∫ s in left..right, s*(h s)^2) := by have hi := integral_dilation (fun s => s*(h s)^2) ha left right calc a^2*(∫ x in left/a..right/a, (a*x)*(h (a*x))^2) = a*(a*(∫ x in left/a..right/a, (a*x)*(h (a*x))^2)) := by ring _ = a*(∫ s in left..right, s*(h s)^2) := by rw [hi] theorem dilatedDerivative_affineEnergy (h : ℝ → ℝ) {a : ℝ} (ha : 0 < a) (alpha B left right : ℝ) : (∫ x in left/a..right/a, (alpha*x+4*B)*(dilatedDerivative a h x)^2) = a*(∫ s in left..right, (alpha*s+4*a*B)*(h s)^2) := by calc (∫ x in left/a..right/a, (alpha*x+4*B)*(dilatedDerivative a h x)^2) = a^2*(∫ x in left/a..right/a, (alpha*(a*x)+4*a*B)*(h (a*x))^2) := by rw [← intervalIntegral.integral_const_mul] apply intervalIntegral.integral_congr intro x hx unfold dilatedDerivative dsimp only rw [mul_pow,mul_pow,Real.sq_sqrt ha.le] ring _ = a*(∫ s in left..right, (alpha*s+4*a*B)*(h s)^2) := by have hi := integral_dilation (fun s => (alpha*s+4*a*B)*(h s)^2) ha left right calc a^2*(∫ x in left/a..right/a, (alpha*(a*x)+4*a*B)*(h (a*x))^2) = a*(a*(∫ x in left/a..right/a, (alpha*(a*x)+4*a*B)*(h (a*x))^2)) := by ring _ = a*(∫ s in left..right, (alpha*s+4*a*B)*(h s)^2) := by rw [hi] theorem dilatedProfile_gate (F : ℝ → ℝ) {a : ℝ} (ha : 0 < a) (s : ℝ) : dilatedProfile a F (s/a) = Real.sqrt a*F s := by unfold dilatedProfile have hs : a*(s/a) = s := by field_simp rw [hs] theorem dilatedProfile_plateau {a : ℝ} (ha : 0 < a) (p0 tau : ℝ) : (p0/a)*(Real.sqrt a*tau)^2 = p0*tau^2 := by rw [mul_pow,Real.sq_sqrt ha.le] field_simp /- Selected WeightedKernel pure APIs. -/ def thresholdDensity (beta p x : ℝ) : ℝ := by classical exact if x ≤ beta then 1 else p theorem thresholdDensity_measurable (beta p : ℝ) : Measurable (thresholdDensity beta p) := by unfold thresholdDensity exact measurable_const.piecewise measurableSet_Iic measurable_const theorem thresholdDensity_bounds (beta : ℝ) {p : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (x : ℝ) : 0 ≤ thresholdDensity beta p x ∧ thresholdDensity beta p x ≤ 1 := by by_cases hx : x ≤ beta · simp [thresholdDensity,hx] · simp [thresholdDensity,hx,hp0,hp1] theorem thresholdDensity_mono_beta {beta1 beta2 p x : ℝ} (hb : beta1 ≤ beta2) (hp1 : p ≤ 1) : thresholdDensity beta1 p x ≤ thresholdDensity beta2 p x := by by_cases h1 : x ≤ beta1 · simp [thresholdDensity,h1,h1.trans hb] · by_cases h2 : x ≤ beta2 · simp [thresholdDensity,h1,h2,hp1] · simp [thresholdDensity,h1,h2] def densityKernelSq (beta p : ℝ) (K : ℝ × ℝ → ℝ) (z : ℝ × ℝ) : ℝ := thresholdDensity beta p z.1*thresholdDensity beta p z.2*(K z)^2 def densityWeightedKernel (beta p : ℝ) (K : ℝ × ℝ → ℝ) (z : ℝ × ℝ) : ℝ := Real.sqrt (thresholdDensity beta p z.1)*K z* Real.sqrt (thresholdDensity beta p z.2) theorem densityWeightedKernel_sq (beta : ℝ) {p : ℝ} (hp0 : 0 ≤ p) (K : ℝ × ℝ → ℝ) (z : ℝ × ℝ) : (densityWeightedKernel beta p K z)^2 = densityKernelSq beta p K z := by have h1 : 0 ≤ thresholdDensity beta p z.1 := by by_cases hx : z.1 ≤ beta <;> simp [thresholdDensity,hx,hp0] have h2 : 0 ≤ thresholdDensity beta p z.2 := by by_cases hx : z.2 ≤ beta <;> simp [thresholdDensity,hx,hp0] unfold densityWeightedKernel densityKernelSq rw [mul_pow,mul_pow,Real.sq_sqrt h1,Real.sq_sqrt h2] ring theorem densityKernelSq_le (beta : ℝ) {p : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (K : ℝ × ℝ → ℝ) (z : ℝ × ℝ) : 0 ≤ densityKernelSq beta p K z ∧ densityKernelSq beta p K z ≤ (K z)^2 := by obtain ⟨h10,h11⟩ := thresholdDensity_bounds beta hp0 hp1 z.1 obtain ⟨h20,h21⟩ := thresholdDensity_bounds beta hp0 hp1 z.2 have hprod : thresholdDensity beta p z.1*thresholdDensity beta p z.2 ≤ 1 := by exact (mul_le_mul h11 h21 h20 (by norm_num : (0:ℝ) ≤ 1)).trans (by norm_num) exact ⟨mul_nonneg (mul_nonneg h10 h20) (sq_nonneg _), by simpa only [densityKernelSq,one_mul] using mul_le_mul_of_nonneg_right hprod (sq_nonneg (K z))⟩ theorem densityKernelSq_integrable {μ : Measure ℝ} [IsFiniteMeasure μ] (beta : ℝ) {p : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (K : ℝ × ℝ → ℝ) (hK : MemLp K 2 (μ.prod μ)) : Integrable (densityKernelSq beta p K) (μ.prod μ) := by have hm : AEStronglyMeasurable (thresholdDensity beta p) μ := (thresholdDensity_measurable beta p).aestronglyMeasurable have hmeas : AEStronglyMeasurable (densityKernelSq beta p K) (μ.prod μ) := (hm.comp_fst.mul hm.comp_snd).mul (hK.aestronglyMeasurable.pow 2) apply hK.integrable_sq.mono' hmeas exact Filter.Eventually.of_forall (fun z => by obtain ⟨hz0,hz1⟩ := densityKernelSq_le beta hp0 hp1 K z rw [Real.norm_eq_abs,abs_of_nonneg hz0] exact hz1) theorem densityWeightedKernel_memLp {μ : Measure ℝ} [IsFiniteMeasure μ] (beta : ℝ) {p : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (K : ℝ × ℝ → ℝ) (hK : MemLp K 2 (μ.prod μ)) : MemLp (densityWeightedKernel beta p K) 2 (μ.prod μ) := by have hm : AEStronglyMeasurable (fun x : ℝ => Real.sqrt (thresholdDensity beta p x)) μ := (Real.continuous_sqrt.measurable.comp (thresholdDensity_measurable beta p)).aestronglyMeasurable have hmeas : AEStronglyMeasurable (densityWeightedKernel beta p K) (μ.prod μ) := (hm.comp_fst.mul hK.aestronglyMeasurable).mul hm.comp_snd apply (memLp_two_iff_integrable_sq hmeas).2 convert densityKernelSq_integrable beta hp0 hp1 K hK using 1 funext z exact densityWeightedKernel_sq beta hp0 K z /-- The terminal-area parameter enters only through a pointwise nondecreasing density. This proves monotonicity of the ACTUAL HS square. -/ theorem densityKernelSq_integral_mono_beta {μ : Measure ℝ} [IsFiniteMeasure μ] {beta1 beta2 p : ℝ} (hb : beta1 ≤ beta2) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (K : ℝ × ℝ → ℝ) (hK : MemLp K 2 (μ.prod μ)) : (∫ z, (densityWeightedKernel beta1 p K z)^2 ∂(μ.prod μ)) ≤ ∫ z, (densityWeightedKernel beta2 p K z)^2 ∂(μ.prod μ) := by simp_rw [densityWeightedKernel_sq _ hp0] apply integral_mono_ae (densityKernelSq_integrable beta1 hp0 hp1 K hK) (densityKernelSq_integrable beta2 hp0 hp1 K hK) exact Filter.Eventually.of_forall (fun z => by have h1 := thresholdDensity_mono_beta (x := z.1) hb hp1 have h2 := thresholdDensity_mono_beta (x := z.2) hb hp1 have h10 := (thresholdDensity_bounds beta1 hp0 hp1 z.1).1 have h20 := (thresholdDensity_bounds beta1 hp0 hp1 z.2).1 have h12 := (thresholdDensity_bounds beta2 hp0 hp1 z.1).1 exact mul_le_mul_of_nonneg_right (mul_le_mul h1 h2 h20 h12) (sq_nonneg (K z))) /- Selected Schur pure APIs. -/ section PositiveSchur variable {X : Type*} [MeasurableSpace X] {μ : Measure X} [IsFiniteMeasure μ] def schurTerm (K : X × X → ℝ) (phi f : X → ℝ) (z : X × X) : ℝ := K z * (phi z.2 / phi z.1) * (f z.1)^2 theorem positiveRatio_young (a b x y : ℝ) (ha : 0 < a) (hb : 0 < b) : 2*x*y ≤ (b/a)*x^2 + (a/b)*y^2 := by have hmul : 0 < a*b := mul_pos ha hb refine le_of_mul_le_mul_left (a := a*b) ?_ hmul have he : (a*b)*((b/a)*x^2+(a/b)*y^2) = (b*x)^2+(a*y)^2 := by field_simp [ha.ne',hb.ne'] <;> ring rw [he] nlinarith [sq_nonneg (b*x-a*y)] theorem schurTerm_integrable (K : X × X → ℝ) (phi f : X → ℝ) (d : ℝ) (hK : AEStronglyMeasurable K (μ.prod μ)) (hphi : AEStronglyMeasurable phi μ) (hf : MemLp f 2 μ) (hpositive : ∀ x, 0 < phi x) (hKpositive : ∀ z, 0 ≤ K z) (hrowInt : ∀ᵐ x ∂μ, Integrable (fun y => K (x,y) * phi y) μ) (hrow : ∀ᵐ x ∂μ, (∫ y, K (x,y) * phi y ∂μ) ≤ d*phi x) : Integrable (schurTerm K phi f) (μ.prod μ) := by have hm : AEStronglyMeasurable (schurTerm K phi f) (μ.prod μ) := by exact (hK.mul ((hphi.comp_snd.aemeasurable.div hphi.comp_fst.aemeasurable).aestronglyMeasurable)).mul ((hf.aestronglyMeasurable.comp_fst).pow 2) apply (integrable_prod_iff hm).2 constructor · filter_upwards [hrowInt] with x hx convert hx.const_mul ((f x)^2 / phi x) using 1 funext y simp only [schurTerm] ring · apply (hf.integrable_sq.const_mul d).mono' hm.norm.integral_prod_right' filter_upwards [hrow] with x hx have he : (∫ y, ‖schurTerm K phi f (x,y)‖ ∂μ) = ((f x)^2 / phi x) * (∫ y, K (x,y) * phi y ∂μ) := by calc (∫ y, ‖schurTerm K phi f (x,y)‖ ∂μ) = ∫ y, ((f x)^2 / phi x) * (K (x,y) * phi y) ∂μ := by apply integral_congr_ae exact Filter.Eventually.of_forall (fun y => by have hn : 0 ≤ schurTerm K phi f (x,y) := mul_nonneg (mul_nonneg (hKpositive (x,y)) (div_nonneg (hpositive y).le (hpositive x).le)) (sq_nonneg _) change ‖schurTerm K phi f (x,y)‖ = ((f x)^2 / phi x) * (K (x,y) * phi y) rw [Real.norm_eq_abs,abs_of_nonneg hn] unfold schurTerm ring) _ = ((f x)^2 / phi x) * (∫ y, K (x,y) * phi y ∂μ) := integral_const_mul _ _ rw [Real.norm_eq_abs,abs_of_nonneg (integral_nonneg (fun y => norm_nonneg _)),he] have hh := mul_le_mul_of_nonneg_left hx (div_nonneg (sq_nonneg (f x)) (hpositive x).le) have hc : ((f x)^2 / phi x) * (d*phi x) = d*(f x)^2 := by field_simp [(hpositive x).ne'] <;> ring exact hh.trans hc.le /-- The bound is proved from the positive row calculation, pointwise weighted Young, and symmetry. No operator norm is assumed. -/ theorem kernelQuadratic_le_schur (K : X × X → ℝ) (phi f : X → ℝ) (d : ℝ) (hK : AEStronglyMeasurable K (μ.prod μ)) (hphi : AEStronglyMeasurable phi μ) (hf : MemLp f 2 μ) (hpositive : ∀ x, 0 < phi x) (hKpositive : ∀ z, 0 ≤ K z) (hsym : ∀ z, K z.swap = K z) (hrowInt : ∀ᵐ x ∂μ, Integrable (fun y => K (x,y) * phi y) μ) (hrow : ∀ᵐ x ∂μ, (∫ y, K (x,y) * phi y ∂μ) ≤ d*phi x) : kernelQuadratic (μ := μ) K f ≤ d*(∫ x, (f x)^2 ∂μ) := by let A := schurTerm K phi f have hA : Integrable A (μ.prod μ) := schurTerm_integrable K phi f d hK hphi hf hpositive hKpositive hrowInt hrow have hAs : Integrable (A ∘ Prod.swap) (μ.prod μ) := hA.swap have hpoint (z : X × X) : K z * (f z.1*f z.2) ≤ (A z + A z.swap)/2 := by have hy := mul_le_mul_of_nonneg_left (positiveRatio_young (phi z.1) (phi z.2) (f z.1) (f z.2) (hpositive z.1) (hpositive z.2)) (hKpositive z) dsimp [A,schurTerm] rw [hsym z] nlinarith have habs (z : X × X) : ‖K z*(f z.1*f z.2)‖ ≤ (A z+A z.swap)/2 := by have hy := mul_le_mul_of_nonneg_left (positiveRatio_young (phi z.1) (phi z.2) |f z.1| |f z.2| (hpositive z.1) (hpositive z.2)) (hKpositive z) rw [Real.norm_eq_abs,abs_mul,abs_of_nonneg (hKpositive z),abs_mul] dsimp [A,schurTerm] rw [hsym z] simp only [sq_abs] at hy nlinarith have hupper : Integrable (fun z => (A z+A z.swap)/2) (μ.prod μ) := (hA.add hAs).div_const 2 have hq : Integrable (fun z => K z*(f z.1*f z.2)) (μ.prod μ) := by apply hupper.mono' (hK.mul ((hf.aestronglyMeasurable.comp_fst).mul hf.aestronglyMeasurable.comp_snd)) exact Filter.Eventually.of_forall habs have hupperInt : (∫ z, (A z+A z.swap)/2 ∂(μ.prod μ)) = ∫ z, A z ∂(μ.prod μ) := by rw [integral_div] have hadd : (∫ z, A z+A z.swap ∂(μ.prod μ)) = (∫ z, A z ∂(μ.prod μ))+(∫ z, A z.swap ∂(μ.prod μ)) := integral_add hA hAs have hswap : (∫ z, A z.swap ∂(μ.prod μ)) = ∫ z, A z ∂(μ.prod μ) := integral_prod_swap A rw [hadd,hswap] ring have hAI : (∫ z, A z ∂(μ.prod μ)) ≤ d*(∫ x, (f x)^2 ∂μ) := by rw [integral_prod A hA,← integral_const_mul] apply integral_mono_ae hA.integral_prod_left (hf.integrable_sq.const_mul d) filter_upwards [hrow] with x hx have he : (∫ y, A (x,y) ∂μ) = ((f x)^2/phi x)*(∫ y, K (x,y)*phi y ∂μ) := by calc (∫ y, A (x,y) ∂μ) = ∫ y, ((f x)^2/phi x)*(K (x,y)*phi y) ∂μ := by apply integral_congr_ae exact Filter.Eventually.of_forall (fun y => by dsimp [A,schurTerm]; ring) _ = ((f x)^2/phi x)*(∫ y, K (x,y)*phi y ∂μ) := integral_const_mul _ _ rw [he] have hh := mul_le_mul_of_nonneg_left hx (div_nonneg (sq_nonneg (f x)) (hpositive x).le) have hc : ((f x)^2 / phi x) * (d*phi x) = d*(f x)^2 := by field_simp [(hpositive x).ne'] <;> ring exact hh.trans hc.le calc kernelQuadratic (μ := μ) K f ≤ ∫ z, (A z+A z.swap)/2 ∂(μ.prod μ) := integral_mono_ae hq hupper (Filter.Eventually.of_forall hpoint) _ = ∫ z, A z ∂(μ.prod μ) := hupperInt _ ≤ d*(∫ x, (f x)^2 ∂μ) := hAI end PositiveSchur /- Selected LogMoments pure APIs. -/ def logSqPrimitive0 (x : ℝ) : ℝ := x*((Real.log x)^2-2*Real.log x+2) def logSqPrimitive1 (x : ℝ) : ℝ := x^2/2*((Real.log x)^2-Real.log x+1/2) theorem hasDerivAt_logSqPrimitive0 {x : ℝ} (hx : x ≠ 0) : HasDerivAt logSqPrimitive0 ((Real.log x)^2) x := by have hlog := Real.hasDerivAt_log hx have h := (hasDerivAt_id x).mul (((hlog.pow 2).sub (hlog.const_mul 2)).add_const 2) convert h using 1 · rfl · simp only [Pi.mul_apply,Pi.pow_apply,Pi.sub_apply,id_eq, Nat.cast_ofNat,Nat.reduceSub,pow_one] field_simp [hx] <;> ring theorem hasDerivAt_logSqPrimitive1 {x : ℝ} (hx : x ≠ 0) : HasDerivAt logSqPrimitive1 (x*(Real.log x)^2) x := by have hlog := Real.hasDerivAt_log hx have h := (((hasDerivAt_id x).pow 2).div_const 2).mul (((hlog.pow 2).sub hlog).add_const (1/2:ℝ)) convert h using 1 · rfl · simp only [Pi.mul_apply,Pi.pow_apply,Pi.sub_apply,id_eq, Nat.cast_ofNat,Nat.reduceSub,pow_one] field_simp [hx] <;> ring theorem tendsto_mul_log_sq_zero : Tendsto (fun x : ℝ => x*(Real.log x)^2) (𝓝[>] 0) (𝓝 0) := by have h := (tendsto_log_mul_rpow_nhdsGT_zero (by norm_num : (0:ℝ) < 1/2)).pow 2 have hs : Tendsto (fun x : ℝ => (Real.log x*Real.sqrt x)^2) (𝓝[>] 0) (𝓝 0) := by simpa only [Real.sqrt_eq_rpow,zero_pow (by norm_num : (2:ℕ) ≠ 0)] using h apply hs.congr' filter_upwards [eventually_mem_nhdsWithin] with x hx simp only [mem_Ioi] at hx rw [mul_pow,Real.sq_sqrt hx.le] ring theorem tendsto_logSqPrimitive0_zero : Tendsto logSqPrimitive0 (𝓝[>] 0) (𝓝 0) := by have hlog : Tendsto (fun x : ℝ => x*Real.log x) (𝓝[>] 0) (𝓝 0) := by simpa only [Real.rpow_one,mul_comm] using tendsto_log_mul_rpow_nhdsGT_zero zero_lt_one have hx : Tendsto (fun x : ℝ => x) (𝓝[>] 0) (𝓝 0) := continuous_id.continuousAt.tendsto.mono_left nhdsWithin_le_nhds have h := (tendsto_mul_log_sq_zero.sub ((tendsto_const_nhds (x := (2:ℝ))).mul hlog)).add ((tendsto_const_nhds (x := (2:ℝ))).mul hx) convert h using 1 · funext x unfold logSqPrimitive0 ring · norm_num theorem tendsto_logSqPrimitive1_zero : Tendsto logSqPrimitive1 (𝓝[>] 0) (𝓝 0) := by have hlog : Tendsto (fun x : ℝ => x*Real.log x) (𝓝[>] 0) (𝓝 0) := by simpa only [Real.rpow_one,mul_comm] using tendsto_log_mul_rpow_nhdsGT_zero zero_lt_one have hx : Tendsto (fun x : ℝ => x) (𝓝[>] 0) (𝓝 0) := continuous_id.continuousAt.tendsto.mono_left nhdsWithin_le_nhds have h := (((tendsto_const_nhds (x := (1/2:ℝ))).mul (hlog.pow 2)).sub ((tendsto_const_nhds (x := (1/2:ℝ))).mul (hx.mul hlog))).add ((tendsto_const_nhds (x := (1/4:ℝ))).mul (hx.pow 2)) convert h using 1 · funext x unfold logSqPrimitive1 ring · norm_num theorem continuousWithinAt_Ici_zero_of_right_limit {F : ℝ → ℝ} (hF : Tendsto F (𝓝[>] 0) (𝓝 (F 0))) : ContinuousWithinAt F (Ici 0) 0 := by have he : Ici (0:ℝ) = Ioi 0 ∪ {0} := by ext x simp [le_iff_lt_or_eq,eq_comm] rw [ContinuousWithinAt,he,nhdsWithin_union,nhdsWithin_singleton,tendsto_sup] exact ⟨hF,tendsto_pure_nhds F 0⟩ theorem continuousOn_logSqPrimitive0 {b : ℝ} (hb : 0 ≤ b) : ContinuousOn logSqPrimitive0 (Icc 0 b) := by have hz : ContinuousWithinAt logSqPrimitive0 (Ici 0) 0 := continuousWithinAt_Ici_zero_of_right_limit (by simpa only [logSqPrimitive0,zero_mul] using tendsto_logSqPrimitive0_zero) intro x hx by_cases hzero : x = 0 · subst x exact hz.mono Icc_subset_Ici_self · exact (hasDerivAt_logSqPrimitive0 hzero).continuousAt.continuousWithinAt theorem continuousOn_logSqPrimitive1 {b : ℝ} (hb : 0 ≤ b) : ContinuousOn logSqPrimitive1 (Icc 0 b) := by have hz : ContinuousWithinAt logSqPrimitive1 (Ici 0) 0 := continuousWithinAt_Ici_zero_of_right_limit (by simpa only [logSqPrimitive1,zero_pow (by norm_num : (2:ℕ) ≠ 0), zero_div,zero_mul] using tendsto_logSqPrimitive1_zero) intro x hx by_cases hzero : x = 0 · subst x exact hz.mono Icc_subset_Ici_self · exact (hasDerivAt_logSqPrimitive1 hzero).continuousAt.continuousWithinAt theorem intervalIntegrable_log_sq {b : ℝ} (hb : 0 < b) : IntervalIntegrable (fun x => (Real.log x)^2) volume 0 b := by apply intervalIntegral.intervalIntegrable_deriv_of_nonneg (by simpa only [uIcc_of_le hb.le] using continuousOn_logSqPrimitive0 hb.le) · intro x hx rw [min_eq_left hb.le,max_eq_right hb.le] at hx exact hasDerivAt_logSqPrimitive0 hx.1.ne' · intro x hx exact sq_nonneg _ theorem intervalIntegrable_mul_log_sq {b : ℝ} (hb : 0 < b) : IntervalIntegrable (fun x => x*(Real.log x)^2) volume 0 b := by apply intervalIntegral.intervalIntegrable_deriv_of_nonneg (by simpa only [uIcc_of_le hb.le] using continuousOn_logSqPrimitive1 hb.le) · intro x hx rw [min_eq_left hb.le,max_eq_right hb.le] at hx exact hasDerivAt_logSqPrimitive1 hx.1.ne' · intro x hx rw [min_eq_left hb.le,max_eq_right hb.le] at hx exact mul_nonneg hx.1.le (sq_nonneg _) theorem integral_log_sq_from_zero {b : ℝ} (hb : 0 < b) : (∫ x in 0..b, (Real.log x)^2) = b*((Real.log b)^2-2*Real.log b+2) := by have h := intervalIntegral.integral_eq_sub_of_hasDerivAt_of_tendsto hb (fun x hx => hasDerivAt_logSqPrimitive0 hx.1.ne') (intervalIntegrable_log_sq hb) tendsto_logSqPrimitive0_zero ((hasDerivAt_logSqPrimitive0 hb.ne').continuousAt.tendsto.mono_left nhdsWithin_le_nhds) simpa only [sub_zero,logSqPrimitive0] using h theorem integral_mul_log_sq_from_zero {b : ℝ} (hb : 0 < b) : (∫ x in 0..b, x*(Real.log x)^2) = b^2/2*((Real.log b)^2-Real.log b+1/2) := by have h := intervalIntegral.integral_eq_sub_of_hasDerivAt_of_tendsto hb (fun x hx => hasDerivAt_logSqPrimitive1 hx.1.ne') (intervalIntegrable_mul_log_sq hb) tendsto_logSqPrimitive1_zero ((hasDerivAt_logSqPrimitive1 hb.ne').continuousAt.tendsto.mono_left nhdsWithin_le_nhds) simpa only [sub_zero,logSqPrimitive1] using h /- Selected RadialLog pure APIs. -/ def radialLogKernel (s t : ℝ) : ℝ := -Real.log (max s t) def logMonomialPrimitive (j : ℕ) (t : ℝ) : ℝ := t^(j+1) * (-Real.log t / (j+1) + 1 / (j+1:ℝ)^2) theorem hasDerivAt_logMonomialPrimitive (j : ℕ) {t : ℝ} (ht : t ≠ 0) : HasDerivAt (logMonomialPrimitive j) (-(t^j)*Real.log t) t := by have hn : (j+1:ℝ) ≠ 0 := by exact_mod_cast Nat.succ_ne_zero j have h := ((hasDerivAt_id t).pow (j+1)).mul (((Real.hasDerivAt_log ht).neg.div_const (j+1:ℝ)).add_const (1/(j+1:ℝ)^2)) convert h using 1 · rfl · simp only [id_eq,Pi.pow_apply,Pi.neg_apply, Nat.add_sub_cancel,Nat.cast_add,Nat.cast_one] rw [pow_succ] field_simp [ht,hn] <;> ring theorem integral_logMonomial {s : ℝ} (j : ℕ) (hs : 0 < s) (hs1 : s ≤ 1) : (∫ t in s..1, -(t^j)*Real.log t) = 1/(j+1:ℝ)^2 - s^(j+1) * (-Real.log s / (j+1) + 1/(j+1:ℝ)^2) := by have hpos (t : ℝ) (ht : t ∈ uIcc s 1) : 0 < t := by rw [uIcc_of_le hs1] at ht exact hs.trans_le ht.1 have hc : ContinuousOn (fun t => -(t^j)*Real.log t) (uIcc s 1) := by intro t ht exact ((continuous_pow j).continuousAt.neg.mul (Real.continuousAt_log (hpos t ht).ne')).continuousWithinAt have h := intervalIntegral.integral_eq_sub_of_hasDerivAt (fun t ht => hasDerivAt_logMonomialPrimitive j (hpos t ht).ne') (hc.intervalIntegrable) simpa only [logMonomialPrimitive,one_pow,Real.log_one,neg_zero,zero_div, zero_add,one_mul] using h theorem radialLogKernel_monomial {s : ℝ} (j : ℕ) (hs : 0 < s) (hs1 : s ≤ 1) : (∫ t in 0..1, radialLogKernel s t * t^j) = (1-s^(j+1))/(j+1:ℝ)^2 := by have hk : Continuous (fun t => radialLogKernel s t * t^j) := by exact (((continuous_const.max continuous_id).log (fun t => ne_of_gt (hs.trans_le (le_max_left s t)))).neg).mul (continuous_pow j) have hlo : (∫ t in 0..s, radialLogKernel s t * t^j) = -Real.log s * s^(j+1)/(j+1) := by calc (∫ t in 0..s, radialLogKernel s t * t^j) = ∫ t in 0..s, -Real.log s * t^j := by apply intervalIntegral.integral_congr intro t ht rw [uIcc_of_le hs.le] at ht simp only [radialLogKernel,max_eq_left ht.2] _ = -Real.log s * (∫ t in 0..s, t^j) := intervalIntegral.integral_const_mul _ _ _ = -Real.log s * s^(j+1)/(j+1) := by rw [integral_pow] simp only [zero_pow (Nat.succ_ne_zero j),sub_zero] ring have hhi : (∫ t in s..1, radialLogKernel s t * t^j) = 1/(j+1:ℝ)^2 - s^(j+1) * (-Real.log s / (j+1) + 1/(j+1:ℝ)^2) := by calc (∫ t in s..1, radialLogKernel s t * t^j) = ∫ t in s..1, -(t^j)*Real.log t := by apply intervalIntegral.integral_congr intro t ht rw [uIcc_of_le hs1] at ht simp only [radialLogKernel,max_eq_right ht.1] ring _ = _ := integral_logMonomial j hs hs1 rw [← intervalIntegral.integral_add_adjacent_intervals (hk.intervalIntegrable 0 s) (hk.intervalIntegrable s 1),hlo,hhi] ring def radialSchurPhi (s : ℝ) : ℝ := (1-s)*(1000-440*s+75*s^2-7*s^3)/1000 def radialSchurRow (s : ℝ) : ℝ := 1246279/1800000-s+(9/25)*s^2-(103/1800)*s^3+ (41/8000)*s^4-(7/25000)*s^5 def radialSchurCoeff : Fin 5 → ℝ := ![1,-36/25,103/200,-41/500,7/1000] theorem radialSchurPhi_eq_sum (s : ℝ) : radialSchurPhi s = ∑ j : Fin 5, radialSchurCoeff j * s^(j:ℕ) := by simp only [Fin.sum_univ_succ,radialSchurCoeff,Matrix.cons_val_zero, Matrix.cons_val_succ,Fin.val_zero,Fin.val_succ] norm_num unfold radialSchurPhi ring /-- Exact row of the actual logarithmic kernel, from the five computed monomial integrals and finite integral linearity. -/ theorem radialLogKernel_schur_row {s : ℝ} (hs : 0 < s) (hs1 : s ≤ 1) : (∫ t in 0..1, radialLogKernel s t * radialSchurPhi t) = radialSchurRow s := by have hk : Continuous (fun t => radialLogKernel s t) := by exact ((continuous_const.max continuous_id).log (fun t => ne_of_gt (hs.trans_le (le_max_left s t)))).neg have hi (j : Fin 5) : IntervalIntegrable (fun t => radialSchurCoeff j * (radialLogKernel s t * t^(j:ℕ))) volume 0 1 := ((continuous_const.mul (hk.mul (continuous_pow (j:ℕ)))).intervalIntegrable 0 1) calc (∫ t in 0..1, radialLogKernel s t * radialSchurPhi t) = ∫ t in 0..1, ∑ j : Fin 5, radialSchurCoeff j * (radialLogKernel s t * t^(j:ℕ)) := by apply intervalIntegral.integral_congr intro t ht change radialLogKernel s t * radialSchurPhi t = ∑ j : Fin 5, radialSchurCoeff j * (radialLogKernel s t * t^(j:ℕ)) rw [radialSchurPhi_eq_sum,Finset.mul_sum] apply Finset.sum_congr rfl intro j hj ring _ = ∑ j : Fin 5, radialSchurCoeff j * (∫ t in 0..1, radialLogKernel s t * t^(j:ℕ)) := by rw [intervalIntegral.integral_finsetSum (fun j hj => hi j)] simp only [intervalIntegral.integral_const_mul] _ = ∑ j : Fin 5, radialSchurCoeff j * ((1-s^((j:ℕ)+1))/((j:ℕ)+1:ℝ)^2) := by apply Finset.sum_congr rfl intro j hj rw [radialLogKernel_monomial (j:ℕ) hs hs1] _ = radialSchurRow s := by simp only [Fin.sum_univ_succ,radialSchurCoeff,Matrix.cons_val_zero, Matrix.cons_val_succ,Fin.val_zero,Fin.val_succ] norm_num unfold radialSchurRow ring theorem radialSchurPhi_pos {s : ℝ} (hs0 : 0 ≤ s) (hs1 : s < 1) : 0 < radialSchurPhi s := by have hs3 : s^3 ≤ 1 := pow_le_one₀ hs0 hs1.le have hh : (553:ℝ) ≤ 1000-440*s+75*s^2-7*s^3 := by nlinarith [sq_nonneg s] have hp : 0 < 1000-440*s+75*s^2-7*s^3 := lt_of_lt_of_le (by norm_num) hh have hsub : 0 < 1-s := sub_pos.mpr hs1 unfold radialSchurPhi positivity theorem radialSchurSlack_identity (s : ℝ) : radialSchurPhi s-(36/25)*radialSchurRow s = (1-s)*(3721+3721*s-529*s^2-29*s^3-504*s^4)/1250000 := by unfold radialSchurPhi radialSchurRow ring theorem radialSchurRow_le {s : ℝ} (hs0 : 0 ≤ s) (hs1 : s ≤ 1) : radialSchurRow s ≤ (25/36)*radialSchurPhi s := by have hs2 : s^2 ≤ 1 := pow_le_one₀ hs0 hs1 have hs3 : s^3 ≤ 1 := pow_le_one₀ hs0 hs1 have hs4 : s^4 ≤ 1 := pow_le_one₀ hs0 hs1 have hfac : (2659:ℝ) ≤ 3721+3721*s-529*s^2-29*s^3-504*s^4 := by nlinarith have hprod : 0 ≤ (1-s)*(3721+3721*s-529*s^2-29*s^3-504*s^4)/1250000 := by exact div_nonneg (mul_nonneg (sub_nonneg.mpr hs1) (le_trans (by norm_num) hfac)) (by norm_num) rw [← radialSchurSlack_identity] at hprod nlinarith theorem radialSchurConstant_lt_required : (25/36:ℝ) < 16/23 := by norm_num /- Selected AffineGreen pure APIs. -/ def affineWeight (alpha B t : ℝ) : ℝ := alpha*t+4*B theorem affineWeight_pos {alpha B s : ℝ} (ha : 0 < alpha) (hB : 0 < B) (hs : 0 ≤ s) : 0 < affineWeight alpha B s := by unfold affineWeight positivity theorem affine_inverseSquare_integral {alpha B s a : ℝ} (halpha : 0 < alpha) (hB : 0 < B) (hs : 0 ≤ s) (hsa : s ≤ a) : (∫ t in s..a, (1/affineWeight alpha B t)^2) = (a-s)/(affineWeight alpha B s*affineWeight alpha B a) := by let P : ℝ → ℝ := fun t => -(1/alpha)*(affineWeight alpha B t)⁻¹ have hp (t : ℝ) (ht : t ∈ uIcc s a) : 0 < affineWeight alpha B t := by rw [uIcc_of_le hsa] at ht exact affineWeight_pos halpha hB (hs.trans ht.1) have hd (t : ℝ) (ht : t ∈ uIcc s a) : HasDerivAt P ((1/affineWeight alpha B t)^2) t := by have hw : HasDerivAt (fun t => affineWeight alpha B t) alpha t := by simpa only [affineWeight,mul_one,id_eq] using ((hasDerivAt_id t).const_mul alpha).add_const (4*B) convert ((hw.inv (hp t ht).ne').const_mul (-(1/alpha))) using 1 <;> field_simp [halpha.ne',(hp t ht).ne'] <;> ring have hc : ContinuousOn (fun t => (1/affineWeight alpha B t)^2) (uIcc s a) := by intro t ht exact ((((continuous_const.mul continuous_id).add continuous_const).continuousAt.inv₀ (hp t ht).ne').const_mul (1:ℝ)).pow 2 |>.continuousWithinAt have hi := intervalIntegral.integral_eq_sub_of_hasDerivAt hd hc.intervalIntegrable rw [hi] dsimp [P,affineWeight] have hws := affineWeight_pos halpha hB hs have hwa := affineWeight_pos halpha hB (hs.trans hsa) dsimp [affineWeight] at hws hwa field_simp [halpha.ne',hws.ne',hwa.ne'] <;> ring /-- The ACTUAL reciprocal affine integral has the square upper bound used unchanged by every stored I0/I1 envelope. -/ theorem affineGreen_sq_le {alpha B s a : ℝ} (halpha : 0 < alpha) (hB : 0 < B) (hs : 0 ≤ s) (hsa : s ≤ a) : (∫ t in s..a, 1/affineWeight alpha B t)^2 ≤ (a-s)^2/(affineWeight alpha B s*affineWeight alpha B a) := by let μ : Measure ℝ := volume.restrict (Ioc s a) haveI : IsFiniteMeasure μ := by apply isFiniteMeasure_restrict.mpr rw [Real.volume_Ioc] exact ENNReal.ofReal_ne_top have hp (t : ℝ) (ht : t ∈ uIcc s a) : 0 < affineWeight alpha B t := by rw [uIcc_of_le hsa] at ht exact affineWeight_pos halpha hB (hs.trans ht.1) have hm : Measurable (fun t => 1/affineWeight alpha B t) := measurable_const.div ((measurable_const.mul measurable_id).add measurable_const) have hc : ContinuousOn (fun t => (1/affineWeight alpha B t)^2) (uIcc s a) := by intro t ht exact ((((continuous_const.mul continuous_id).add continuous_const).continuousAt.inv₀ (hp t ht).ne').const_mul (1:ℝ)).pow 2 |>.continuousWithinAt have hf : MemLp (fun t => 1/affineWeight alpha B t) 2 μ := (memLp_two_iff_integrable_sq hm.aestronglyMeasurable).2 hc.intervalIntegrable.1 have h := integral_mul_sq_le (fun t => 1/affineWeight alpha B t) (fun _ => (1:ℝ)) hf (memLp_const 1) simp only [mul_one,one_pow] at h change (∫ t in Ioc s a, 1/affineWeight alpha B t)^2 ≤ (∫ t in Ioc s a, (1/affineWeight alpha B t)^2)*(∫ _ in Ioc s a, (1:ℝ)) at h rw [← intervalIntegral.integral_of_le hsa, ← intervalIntegral.integral_of_le hsa,← intervalIntegral.integral_of_le hsa, intervalIntegral.integral_const,smul_eq_mul,mul_one, affine_inverseSquare_integral halpha hB hs hsa] at h convert h using 1 <;> ring theorem reciprocal_secant_slack {alpha B a0 a s : ℝ} (hdelta : a-a0 ≠ 0) (hw0 : affineWeight alpha B a0 ≠ 0) (hw1 : affineWeight alpha B a ≠ 0) (hws : affineWeight alpha B s ≠ 0) : (a-s)/((a-a0)*affineWeight alpha B a0) + (s-a0)/((a-a0)*affineWeight alpha B a)-1/affineWeight alpha B s = alpha^2*(s-a0)*(a-s)/ (affineWeight alpha B a0*affineWeight alpha B a*affineWeight alpha B s) := by field_simp [hdelta,hw0,hw1,hws] unfold affineWeight ring /- Selected AffineMoments pure APIs. -/ def affineGreenFun (alpha B a s : ℝ) : ℝ := ∫ t in s..a, 1/affineWeight alpha B t theorem integral_tail_pow (left right : ℝ) (n : ℕ) : (∫ s in left..right, (right-s)^n) = (right-left)^(n+1)/(n+1:ℝ) := by rw [intervalIntegral.integral_comp_sub_left (fun s => s^n) right, sub_self,integral_pow] simp only [zero_pow (Nat.succ_ne_zero n),sub_zero,Nat.cast_add,Nat.cast_one] theorem integral_initial_pow (left right : ℝ) (n : ℕ) : (∫ s in left..right, (s-left)^n) = (right-left)^(n+1)/(n+1:ℝ) := by rw [intervalIntegral.integral_comp_sub_right (fun s => s^n) left, sub_self,integral_pow] simp only [zero_pow (Nat.succ_ne_zero n),sub_zero,Nat.cast_add,Nat.cast_one] theorem integral_tail_mixed21 (left right : ℝ) : (∫ s in left..right, (right-s)^2*(s-left)) = (right-left)^4/12 := by have hi2 : IntervalIntegrable (fun s => (right-s)^2) volume left right := by apply Continuous.intervalIntegrable fun_prop have hi3 : IntervalIntegrable (fun s => (right-s)^3) volume left right := by apply Continuous.intervalIntegrable fun_prop calc (∫ s in left..right, (right-s)^2*(s-left)) = (right-left)*(∫ s in left..right, (right-s)^2)- (∫ s in left..right, (right-s)^3) := by rw [← intervalIntegral.integral_const_mul,← intervalIntegral.integral_sub (hi2.const_mul (right-left)) hi3] apply intervalIntegral.integral_congr intro s hs ring _ = (right-left)^4/12 := by rw [integral_tail_pow,integral_tail_pow] norm_num ring theorem integral_tail_mixed31 (left right : ℝ) : (∫ s in left..right, (right-s)^3*(s-left)) = (right-left)^5/20 := by have hi3 : IntervalIntegrable (fun s => (right-s)^3) volume left right := by apply Continuous.intervalIntegrable fun_prop have hi4 : IntervalIntegrable (fun s => (right-s)^4) volume left right := by apply Continuous.intervalIntegrable fun_prop calc (∫ s in left..right, (right-s)^3*(s-left)) = (right-left)*(∫ s in left..right, (right-s)^3)- (∫ s in left..right, (right-s)^4) := by rw [← intervalIntegral.integral_const_mul,← intervalIntegral.integral_sub (hi3.const_mul (right-left)) hi4] apply intervalIntegral.integral_congr intro s hs ring _ = (right-left)^5/20 := by rw [integral_tail_pow,integral_tail_pow] norm_num ring theorem integral_tail_mixed22 (left right : ℝ) : (∫ s in left..right, (right-s)^2*(s-left)^2) = (right-left)^5/30 := by have hi2 : IntervalIntegrable (fun s => (right-s)^2) volume left right := by apply Continuous.intervalIntegrable fun_prop have hi3 : IntervalIntegrable (fun s => (right-s)^3) volume left right := by apply Continuous.intervalIntegrable fun_prop have hi4 : IntervalIntegrable (fun s => (right-s)^4) volume left right := by apply Continuous.intervalIntegrable fun_prop calc (∫ s in left..right, (right-s)^2*(s-left)^2) = (right-left)^2*(∫ s in left..right, (right-s)^2)- (2*(right-left))*(∫ s in left..right, (right-s)^3)+ (∫ s in left..right, (right-s)^4) := by rw [← intervalIntegral.integral_const_mul,← intervalIntegral.integral_const_mul, ← intervalIntegral.integral_sub (hi2.const_mul _) (hi3.const_mul _), ← intervalIntegral.integral_add ((hi2.const_mul _).sub (hi3.const_mul _)) hi4] apply intervalIntegral.integral_congr intro s hs ring _ = (right-left)^5/30 := by rw [integral_tail_pow,integral_tail_pow,integral_tail_pow] norm_num ring theorem reciprocal_secant_bound {alpha B left right s : ℝ} (ha : 0 < alpha) (hB : 0 < B) (hl0 : 0 ≤ left) (hlr : left < right) (hs : s ∈ Icc left right) : 1/affineWeight alpha B s ≤ (right-s)/((right-left)*affineWeight alpha B left)+ (s-left)/((right-left)*affineWeight alpha B right) := by have hw0 := affineWeight_pos ha hB hl0 have hw1 := affineWeight_pos ha hB (hl0.trans hlr.le) have hws := affineWeight_pos ha hB (hl0.trans hs.1) have hleft : 0 ≤ s-left := sub_nonneg.mpr hs.1 have hright : 0 ≤ right-s := sub_nonneg.mpr hs.2 have hnonneg : 0 ≤ alpha^2*(s-left)*(right-s)/ (affineWeight alpha B left*affineWeight alpha B right*affineWeight alpha B s) := by positivity rw [← reciprocal_secant_slack (sub_pos.mpr hlr).ne' hw0.ne' hw1.ne' hws.ne'] at hnonneg linarith theorem affineReciprocal_continuousOn {alpha B left right : ℝ} (ha : 0 < alpha) (hB : 0 < B) (hl0 : 0 ≤ left) (hlr : left ≤ right) : ContinuousOn (fun s => 1/affineWeight alpha B s) (uIcc left right) := by intro s hs rw [uIcc_of_le hlr] at hs have hp := affineWeight_pos ha hB (hl0.trans hs.1) have hc : ContinuousAt (fun s => affineWeight alpha B s) s := by unfold affineWeight fun_prop exact (continuousAt_const.div hc hp.ne').continuousWithinAt theorem affineGreen_continuousOn {alpha B left right : ℝ} (ha : 0 < alpha) (hB : 0 < B) (hl0 : 0 ≤ left) (hlr : left ≤ right) : ContinuousOn (affineGreenFun alpha B right) (uIcc left right) := by have hi : IntervalIntegrable (fun s => 1/affineWeight alpha B s) volume left right := (affineReciprocal_continuousOn ha hB hl0 hlr).intervalIntegrable have hc := (intervalIntegral.continuousOn_primitive_interval' hi right_mem_uIcc).neg have he : (-(fun s : ℝ => ∫ t in right..s, 1/affineWeight alpha B t)) = affineGreenFun alpha B right := by funext s exact (intervalIntegral.integral_symm (f := fun t => 1/affineWeight alpha B t) (μ := volume) right s).symm rw [he] at hc exact hc theorem affineGreen_R_bound {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t < 1) : affineGreenFun alpha B 1 t ≤ QuantileFiniteCertificate.tailR alpha B t := by have hi : IntervalIntegrable (fun s => 1/affineWeight alpha B s) volume t 1 := (affineReciprocal_continuousOn ha hB ht0 ht1.le).intervalIntegrable have hiL : IntervalIntegrable (fun s => (1-s)/((1-t)*affineWeight alpha B t)) volume t 1 := by apply Continuous.intervalIntegrable fun_prop have hiR : IntervalIntegrable (fun s => (s-t)/((1-t)*affineWeight alpha B 1)) volume t 1 := by apply Continuous.intervalIntegrable fun_prop have hm := intervalIntegral.integral_mono_on ht1.le hi (hiL.add hiR) (fun s hs => reciprocal_secant_bound ha hB ht0 ht1 hs) have he : (∫ s in t..1, (1-s)/((1-t)*affineWeight alpha B t)+ (s-t)/((1-t)*affineWeight alpha B 1)) = QuantileFiniteCertificate.tailR alpha B t := by have hl : (∫ s in t..1, 1-s) = (1-t)^2/2 := by simpa only [pow_one,Nat.cast_one,one_add_one_eq_two] using integral_tail_pow t 1 1 have hr : (∫ s in t..1, s-t) = (1-t)^2/2 := by simpa only [pow_one,Nat.cast_one,one_add_one_eq_two] using integral_initial_pow t 1 1 rw [intervalIntegral.integral_add hiL hiR,intervalIntegral.integral_div, intervalIntegral.integral_div,hl,hr] unfold QuantileFiniteCertificate.tailR rw [show alpha+4*B = affineWeight alpha B 1 by simp [affineWeight]] change (1-t)^2/2/((1-t)*affineWeight alpha B t)+ (1-t)^2/2/((1-t)*affineWeight alpha B 1) = (1-t)*(1/affineWeight alpha B t+1/affineWeight alpha B 1)/2 field_simp [(sub_pos.mpr ht1).ne', (affineWeight_pos ha hB ht0).ne', (affineWeight_pos ha hB (by norm_num : (0:ℝ) ≤ 1)).ne'] rw [he] at hm exact hm theorem affineGreen_square_secant {alpha B t s : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t < 1) (hs : s ∈ Icc t 1) : (affineGreenFun alpha B 1 s)^2 ≤ (1-s)^3/((1-t)*affineWeight alpha B t*affineWeight alpha B 1)+ ((1-s)^2*(s-t))/((1-t)*(affineWeight alpha B 1)^2) := by have hw0 := affineWeight_pos ha hB ht0 have hw1 := affineWeight_pos ha hB (by norm_num : (0:ℝ) ≤ 1) have hws := affineWeight_pos ha hB (ht0.trans hs.1) have hc := affineGreen_sq_le ha hB (ht0.trans hs.1) hs.2 have hsec := reciprocal_secant_bound ha hB ht0 ht1 hs have hm := mul_le_mul_of_nonneg_left hsec (div_nonneg (sq_nonneg (1-s)) hw1.le) have he0 : (1-s)^2/(affineWeight alpha B s*affineWeight alpha B 1) = ((1-s)^2/affineWeight alpha B 1)*(1/affineWeight alpha B s) := by field_simp [hws.ne',hw1.ne'] <;> ring have he1 : ((1-s)^2/affineWeight alpha B 1)* ((1-s)/((1-t)*affineWeight alpha B t)+ (s-t)/((1-t)*affineWeight alpha B 1)) = (1-s)^3/((1-t)*affineWeight alpha B t*affineWeight alpha B 1)+ ((1-s)^2*(s-t))/((1-t)*(affineWeight alpha B 1)^2) := by field_simp [(sub_pos.mpr ht1).ne',hw0.ne',hw1.ne'] <;> ring change (affineGreenFun alpha B 1 s)^2 ≤ _ at hc rw [he0] at hc exact hc.trans (hm.trans_eq he1) theorem affineGreen_I0_bound {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t < 1) : (∫ s in t..1, (affineGreenFun alpha B 1 s)^2) ≤ QuantileFiniteCertificate.tailI0 alpha B t := by have hiG : IntervalIntegrable (fun s => (affineGreenFun alpha B 1 s)^2) volume t 1 := (affineGreen_continuousOn ha hB ht0 ht1.le).pow 2 |>.intervalIntegrable have hiL : IntervalIntegrable (fun s => (1-s)^3/ ((1-t)*affineWeight alpha B t*affineWeight alpha B 1)) volume t 1 := by apply Continuous.intervalIntegrable fun_prop have hiR : IntervalIntegrable (fun s => ((1-s)^2*(s-t))/ ((1-t)*(affineWeight alpha B 1)^2)) volume t 1 := by apply Continuous.intervalIntegrable fun_prop have hm := intervalIntegral.integral_mono_on ht1.le hiG (hiL.add hiR) (fun s hs => affineGreen_square_secant ha hB ht0 ht1 hs) have he : (∫ s in t..1, (1-s)^3/ ((1-t)*affineWeight alpha B t*affineWeight alpha B 1)+ ((1-s)^2*(s-t))/((1-t)*(affineWeight alpha B 1)^2)) = QuantileFiniteCertificate.tailI0 alpha B t := by rw [intervalIntegral.integral_add hiL hiR,intervalIntegral.integral_div, intervalIntegral.integral_div,integral_tail_pow t 1 3,integral_tail_mixed21] unfold QuantileFiniteCertificate.tailI0 rw [show alpha+4*B = affineWeight alpha B 1 by simp [affineWeight]] norm_num only [Nat.reduceAdd,Nat.cast_ofNat] change (1-t)^4/4/((1-t)*affineWeight alpha B t*affineWeight alpha B 1)+ (1-t)^4/12/((1-t)*(affineWeight alpha B 1)^2) = (1-t)^3*(1+3*affineWeight alpha B 1/affineWeight alpha B t)/ (12*(affineWeight alpha B 1)^2) field_simp [(sub_pos.mpr ht1).ne', (affineWeight_pos ha hB ht0).ne', (affineWeight_pos ha hB (by norm_num : (0:ℝ) ≤ 1)).ne'] ring rw [he] at hm exact hm theorem affineGreen_I1_bound {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t < 1) : (∫ s in t..1, (s-t)*(affineGreenFun alpha B 1 s)^2) ≤ QuantileFiniteCertificate.tailI1 alpha B t := by have hcG := affineGreen_continuousOn ha hB ht0 ht1.le have hiG : IntervalIntegrable (fun s => (s-t)*(affineGreenFun alpha B 1 s)^2) volume t 1 := ((continuous_id.continuousOn.sub continuousOn_const).mul (hcG.pow 2)).intervalIntegrable have hiL : IntervalIntegrable (fun s => ((1-s)^3*(s-t))/ ((1-t)*affineWeight alpha B t*affineWeight alpha B 1)) volume t 1 := by apply Continuous.intervalIntegrable fun_prop have hiR : IntervalIntegrable (fun s => ((1-s)^2*(s-t)^2)/ ((1-t)*(affineWeight alpha B 1)^2)) volume t 1 := by apply Continuous.intervalIntegrable fun_prop have hpoint (s : ℝ) (hs : s ∈ Icc t 1) : (s-t)*(affineGreenFun alpha B 1 s)^2 ≤ ((1-s)^3*(s-t))/((1-t)*affineWeight alpha B t*affineWeight alpha B 1)+ ((1-s)^2*(s-t)^2)/((1-t)*(affineWeight alpha B 1)^2) := by have hm := mul_le_mul_of_nonneg_left (affineGreen_square_secant ha hB ht0 ht1 hs) (sub_nonneg.mpr hs.1) convert hm using 1 <;> ring have hm := intervalIntegral.integral_mono_on ht1.le hiG (hiL.add hiR) hpoint have he : (∫ s in t..1, ((1-s)^3*(s-t))/ ((1-t)*affineWeight alpha B t*affineWeight alpha B 1)+ ((1-s)^2*(s-t)^2)/((1-t)*(affineWeight alpha B 1)^2)) = QuantileFiniteCertificate.tailI1 alpha B t := by rw [intervalIntegral.integral_add hiL hiR,intervalIntegral.integral_div, intervalIntegral.integral_div,integral_tail_mixed31,integral_tail_mixed22] unfold QuantileFiniteCertificate.tailI1 rw [show alpha+4*B = affineWeight alpha B 1 by simp [affineWeight]] change (1-t)^5/20/((1-t)*affineWeight alpha B t*affineWeight alpha B 1)+ (1-t)^5/30/((1-t)*(affineWeight alpha B 1)^2) = (1-t)^4*(2+3*affineWeight alpha B 1/affineWeight alpha B t)/ (60*(affineWeight alpha B 1)^2) field_simp [(sub_pos.mpr ht1).ne', (affineWeight_pos ha hB ht0).ne', (affineWeight_pos ha hB (by norm_num : (0:ℝ) ≤ 1)).ne'] ring rw [he] at hm exact hm /- Selected NegativeHS pure APIs. -/ def unitAreaMeasure : Measure ℝ := volume.restrict (Ioc 0 1) def unitAreaMeasure_finite : IsFiniteMeasure unitAreaMeasure := by unfold unitAreaMeasure apply isFiniteMeasure_restrict.mpr rw [Real.volume_Ioc] exact ENNReal.ofReal_ne_top def unitAreaMeasure_nullSingleton : NullSingletonClass unitAreaMeasure := by unfold unitAreaMeasure infer_instance def unitRadialLogKernel (z : ℝ × ℝ) : ℝ := -Real.log (max z.1 z.2) theorem thresholdDensity_intervalIntegrable (beta : ℝ) {p : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (left right : ℝ) : IntervalIntegrable (thresholdDensity beta p) volume left right := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton apply (intervalIntegrable_const : IntervalIntegrable (fun _ : ℝ => (1:ℝ)) volume left right).mono_fun' (thresholdDensity_measurable beta p).aestronglyMeasurable exact Eventually.of_forall (fun x => by obtain ⟨hx0,hx1⟩ := thresholdDensity_bounds beta hp0 hp1 x change ‖thresholdDensity beta p x‖ ≤ 1 rw [Real.norm_eq_abs,abs_of_nonneg hx0] exact hx1) theorem thresholdDensity_prefix_low {beta p s : ℝ} (hs0 : 0 ≤ s) (hsb : s ≤ beta) : (∫ t in 0..s, thresholdDensity beta p t) = s := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton calc (∫ t in 0..s, thresholdDensity beta p t) = ∫ _ in 0..s, (1:ℝ) := by apply intervalIntegral.integral_congr intro t ht rw [uIcc_of_le hs0] at ht simp only [thresholdDensity,if_pos (ht.2.trans hsb)] _ = s := by simp [intervalIntegral.integral_const] theorem thresholdDensity_prefix_high {beta p s : ℝ} (hb0 : 0 ≤ beta) (hbs : beta ≤ s) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) : (∫ t in 0..s, thresholdDensity beta p t) = beta+p*(s-beta) := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton have h01 := thresholdDensity_intervalIntegrable beta hp0 hp1 0 beta have h1s := thresholdDensity_intervalIntegrable beta hp0 hp1 beta s rw [← intervalIntegral.integral_add_adjacent_intervals h01 h1s, thresholdDensity_prefix_low hb0 le_rfl] have hs : (∫ t in beta..s, thresholdDensity beta p t) = p*(s-beta) := by calc (∫ t in beta..s, thresholdDensity beta p t) = ∫ _ in beta..s, p := by apply intervalIntegral.integral_congr_ae_restrict rw [uIoc_of_le hbs] filter_upwards [ae_restrict_mem measurableSet_Ioc] with t ht simp only [thresholdDensity,if_neg (not_le.mpr ht.1)] _ = p*(s-beta) := by rw [intervalIntegral.integral_const,smul_eq_mul] ring rw [hs] /-- The unweighted logarithmic kernel is genuinely in L2 on area space. Its square is dominated by the integrable first-coordinate log square. -/ theorem unitRadialLogKernel_memLp : MemLp unitRadialLogKernel 2 (unitAreaMeasure.prod unitAreaMeasure) := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton have hm : Measurable unitRadialLogKernel := (Real.measurable_log.comp (measurable_fst.max measurable_snd)).neg apply (memLp_two_iff_integrable_sq hm.aestronglyMeasurable).2 have hi : Integrable (fun s : ℝ => (Real.log s)^2) unitAreaMeasure := (intervalIntegrable_log_sq (by norm_num : (0:ℝ) < 1)).1 apply (hi.comp_fst unitAreaMeasure).mono' (hm.aestronglyMeasurable.pow 2) have hmem : ∀ᵐ s ∂unitAreaMeasure, s ∈ Ioc (0:ℝ) 1 := ae_restrict_mem measurableSet_Ioc filter_upwards [Measure.quasiMeasurePreserving_fst.ae hmem, Measure.quasiMeasurePreserving_snd.ae hmem] with z hz1 hz2 have hmpos : 0 < max z.1 z.2 := hz1.1.trans_le (le_max_left _ _) have hlog0 : Real.log (max z.1 z.2) ≤ 0 := Real.log_nonpos hmpos.le (max_le hz1.2 hz2.2) have hlog1 : Real.log z.1 ≤ Real.log (max z.1 z.2) := Real.log_le_log hz1.1 (le_max_left _ _) change ‖(-Real.log (max z.1 z.2))^2‖ ≤ (Real.log z.1)^2 rw [Real.norm_eq_abs,abs_of_nonneg (sq_nonneg _)] have hsq : (-Real.log (max z.1 z.2))^2 ≤ (-Real.log z.1)^2 := (sq_le_sq₀ (neg_nonneg.mpr hlog0) (neg_nonneg.mpr (hlog1.trans hlog0))).mpr (neg_le_neg hlog1) simpa only [neg_sq] using hsq def negativeDensityPrefixIntegrand (beta p s : ℝ) : ℝ := (Real.log s)^2*thresholdDensity beta p s* (∫ t in 0..s, thresholdDensity beta p t) theorem negativeDensityPrefixIntegrand_low {beta p s : ℝ} (hs0 : 0 ≤ s) (hsb : s ≤ beta) : negativeDensityPrefixIntegrand beta p s = s*(Real.log s)^2 := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton unfold negativeDensityPrefixIntegrand rw [thresholdDensity_prefix_low hs0 hsb] simp only [thresholdDensity,if_pos hsb] ring theorem negativeDensityPrefixIntegrand_high {beta p s : ℝ} (hb0 : 0 ≤ beta) (hbs : beta < s) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) : negativeDensityPrefixIntegrand beta p s = (beta*p*(1-p))*(Real.log s)^2+p^2*(s*(Real.log s)^2) := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton unfold negativeDensityPrefixIntegrand rw [thresholdDensity_prefix_high hb0 hbs.le hp0 hp1] simp only [thresholdDensity,if_neg (not_le.mpr hbs)] ring theorem negativeDensityPrefixIntegrand_integral {beta p : ℝ} (hb0 : 0 < beta) (hb1 : beta ≤ 1) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) : 2*(∫ s in 0..1, negativeDensityPrefixIntegrand beta p s) = beta^2*((Real.log (1/beta))^2+Real.log (1/beta)+1/2) + (2*beta*(2-beta*((Real.log (1/beta))^2+2*Real.log (1/beta)+2)))*p + (1/2-beta^2*((Real.log (1/beta))^2+Real.log (1/beta)+1/2)- 2*beta*(2-beta*((Real.log (1/beta))^2+2*Real.log (1/beta)+2)))*p^2 := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton have he0 : negativeDensityPrefixIntegrand beta p =ᵐ[volume.restrict (uIoc 0 beta)] fun s => s*(Real.log s)^2 := by rw [uIoc_of_le hb0.le] filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs exact negativeDensityPrefixIntegrand_low hs.1.le hs.2 have he1 : negativeDensityPrefixIntegrand beta p =ᵐ[volume.restrict (uIoc beta 1)] fun s => (beta*p*(1-p))*(Real.log s)^2+p^2*(s*(Real.log s)^2) := by rw [uIoc_of_le hb1] filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs exact negativeDensityPrefixIntegrand_high hb0.le hs.1 hp0 hp1 have hi0 := intervalIntegrable_mul_log_sq hb0 have hiL : IntervalIntegrable (fun s => (Real.log s)^2) volume beta 1 := by apply (intervalIntegrable_log_sq (by norm_num : (0:ℝ) < 1)).mono_set' simp only [uIoc_of_le hb1,uIoc_of_le (by norm_num : (0:ℝ) ≤ 1)] exact Ioc_subset_Ioc hb0.le le_rfl have hiS : IntervalIntegrable (fun s => s*(Real.log s)^2) volume beta 1 := by apply (intervalIntegrable_mul_log_sq (by norm_num : (0:ℝ) < 1)).mono_set' simp only [uIoc_of_le hb1,uIoc_of_le (by norm_num : (0:ℝ) ≤ 1)] exact Ioc_subset_Ioc hb0.le le_rfl have hi1 := (hiL.const_mul (beta*p*(1-p))).add (hiS.const_mul (p^2)) rw [← intervalIntegral.integral_add_adjacent_intervals (hi0.congr_ae he0.symm) (hi1.congr_ae he1.symm), intervalIntegral.integral_congr_ae_restrict he0, intervalIntegral.integral_congr_ae_restrict he1, intervalIntegral.integral_add (hiL.const_mul _) (hiS.const_mul _), intervalIntegral.integral_const_mul,intervalIntegral.integral_const_mul, integral_mul_log_sq_from_zero hb0] have hL : (∫ s in beta..1, (Real.log s)^2) = 2-beta*((Real.log beta)^2-2*Real.log beta+2) := by have h := intervalIntegral.integral_add_adjacent_intervals (intervalIntegrable_log_sq hb0) hiL rw [integral_log_sq_from_zero hb0, integral_log_sq_from_zero (by norm_num : (0:ℝ) < 1)] at h simp only [Real.log_one,zero_pow (by norm_num : (2:ℕ) ≠ 0),mul_zero, sub_zero,zero_add,one_mul] at h linarith have hS : (∫ s in beta..1, s*(Real.log s)^2) = 1/4-beta^2/2*((Real.log beta)^2-Real.log beta+1/2) := by have h := intervalIntegral.integral_add_adjacent_intervals (intervalIntegrable_mul_log_sq hb0) hiS rw [integral_mul_log_sq_from_zero hb0, integral_mul_log_sq_from_zero (by norm_num : (0:ℝ) < 1)] at h simp only [Real.log_one,one_pow,zero_pow (by norm_num : (2:ℕ) ≠ 0), sub_zero,zero_add] at h linarith rw [hL,hS] simp only [one_div,Real.log_inv] ring /-- Exact coefficient of the ACTUAL product integral used by the negative phase. The common terminal density has not been replaced by a formal row. -/ theorem negativeWeightedKernel_hs_sq {beta p : ℝ} (hb0 : 0 < beta) (hb1 : beta ≤ 1) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) : (∫ z, (densityWeightedKernel beta p unitRadialLogKernel z)^2 ∂(unitAreaMeasure.prod unitAreaMeasure)) = beta^2*((Real.log (1/beta))^2+Real.log (1/beta)+1/2) + (2*beta*(2-beta*((Real.log (1/beta))^2+2*Real.log (1/beta)+2)))*p + (1/2-beta^2*((Real.log (1/beta))^2+Real.log (1/beta)+1/2)- 2*beta*(2-beta*((Real.log (1/beta))^2+2*Real.log (1/beta)+2)))*p^2 := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton have hq : Integrable (fun z : ℝ × ℝ => (Real.log (max z.1 z.2))^2* (thresholdDensity beta p z.1*thresholdDensity beta p z.2)) (unitAreaMeasure.prod unitAreaMeasure) := by convert densityKernelSq_integrable beta hp0 hp1 unitRadialLogKernel unitRadialLogKernel_memLp using 1 funext z unfold densityKernelSq unitRadialLogKernel ring have hord := orderedKernel_eq_prefix (μ := unitAreaMeasure) (fun s => (Real.log s)^2) (thresholdDensity beta p) hq have hconvert : (∫ z, (densityWeightedKernel beta p unitRadialLogKernel z)^2 ∂(unitAreaMeasure.prod unitAreaMeasure)) = 2*(∫ s in 0..1, negativeDensityPrefixIntegrand beta p s) := by calc (∫ z, (densityWeightedKernel beta p unitRadialLogKernel z)^2 ∂(unitAreaMeasure.prod unitAreaMeasure)) = ∫ z, (Real.log (max z.1 z.2))^2* (thresholdDensity beta p z.1*thresholdDensity beta p z.2) ∂(unitAreaMeasure.prod unitAreaMeasure) := by apply integral_congr_ae exact Eventually.of_forall (fun z => by change (densityWeightedKernel beta p unitRadialLogKernel z)^2 = (Real.log (max z.1 z.2))^2* (thresholdDensity beta p z.1*thresholdDensity beta p z.2) rw [densityWeightedKernel_sq beta hp0] unfold densityKernelSq unitRadialLogKernel ring) _ = 2*(∫ s, negativeDensityPrefixIntegrand beta p s ∂unitAreaMeasure) := by rw [hord] congr 1 apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs unfold unitAreaMeasure rw [intervalPrefix_eq_restrictedIic (thresholdDensity beta p) hs.1.le hs.2] rfl _ = 2*(∫ s in 0..1, negativeDensityPrefixIntegrand beta p s) := by rw [intervalIntegral.integral_of_le (by norm_num : (0:ℝ) ≤ 1)] rfl rw [hconvert] exact negativeDensityPrefixIntegrand_integral hb0 hb1 hp0 hp1 theorem negativeWeightedKernel_hs_sq_expanded {beta p : ℝ} (hb0 : 0 < beta) (hb1 : beta ≤ 1) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) : (∫ z, (densityWeightedKernel beta p unitRadialLogKernel z)^2 ∂(unitAreaMeasure.prod unitAreaMeasure)) = Polya26.QuantileLogBounds.negativeHSsq beta p (Real.log (1/beta)) := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton rw [negativeWeightedKernel_hs_sq hb0 hb1 hp0 hp1] exact (Polya26.QuantileLogBounds.negativeHSsq_eq_AD beta p (Real.log (1/beta))).symm theorem negativeWeightedKernel_hs_sq_mono {beta1 beta2 p : ℝ} (hb : beta1 ≤ beta2) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) : (∫ z, (densityWeightedKernel beta1 p unitRadialLogKernel z)^2 ∂(unitAreaMeasure.prod unitAreaMeasure)) ≤ ∫ z, (densityWeightedKernel beta2 p unitRadialLogKernel z)^2 ∂(unitAreaMeasure.prod unitAreaMeasure) := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton exact densityKernelSq_integral_mono_beta hb hp0 hp1 unitRadialLogKernel unitRadialLogKernel_memLp /-- Actual kernel quadratic for arbitrary forcing data, with its exact negative coefficient. In the prefix application the data are sqrt(rho)F. -/ theorem negativeWeightedKernel_quadratic_le {beta p S : ℝ} (hb0 : 0 < beta) (hb1 : beta ≤ 1) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (hS : 0 ≤ S) (hcoef : Polya26.QuantileLogBounds.negativeHSsq beta p (Real.log (1/beta)) ≤ S^2) (f : ℝ → ℝ) (hf : MemLp f 2 unitAreaMeasure) : kernelQuadratic (μ := unitAreaMeasure) (densityWeightedKernel beta p unitRadialLogKernel) f ≤ S*(∫ s, (f s)^2 ∂unitAreaMeasure) := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton apply kernelQuadratic_le_hs _ f S (densityWeightedKernel_memLp beta hp0 hp1 unitRadialLogKernel unitRadialLogKernel_memLp) hf hS rw [negativeWeightedKernel_hs_sq_expanded hb0 hb1 hp0 hp1] exact hcoef end Polya26.Strike.S01.Header.PureKernelSupport end /-! The genuine finite-star prefix calculation. The gate terms cancel against the ORIGINAL plateau mass. No cap mass, high-part mass, or energy conclusion has been substituted for the original profile. The derivative version below is the regular core; the local weak-FTC bridge is separate. -/ noncomputable section open Set MeasureTheory Filter open scoped BigOperators Topology namespace Polya26.Strike.S06.Header.PrimitiveStar theorem prefix_toLp_norm_sq_eq_integral_sq {X : Type*} [MeasurableSpace X] {μ : Measure X} (f : X → ℝ) (hf : MemLp f 2 μ) : ‖hf.toLp f‖^2 = ∫ x, (f x)^2 ∂μ := by rw [← real_inner_self_eq_norm_sq, MeasureTheory.L2.inner_def] apply integral_congr_ae filter_upwards [hf.coeFn_toLp] with x hx simp [Real.inner_apply, hx, pow_two] theorem prefix_integral_mul_sq_le {X : Type*} [MeasurableSpace X] {μ : Measure X} (f g : X → ℝ) (hf : MemLp f 2 μ) (hg : MemLp g 2 μ) : (∫ x, f x*g x ∂μ)^2 ≤ (∫ x, (f x)^2 ∂μ)*(∫ x, (g x)^2 ∂μ) := by have hi : inner ℝ (hf.toLp f) (hg.toLp g) = ∫ x, f x*g x ∂μ := by rw [MeasureTheory.L2.inner_def] apply integral_congr_ae filter_upwards [hf.coeFn_toLp, hg.coeFn_toLp] with x hfx hgx simp [Real.inner_apply, hfx, hgx, mul_comm] have h : (inner ℝ (hf.toLp f) (hg.toLp g))^2 ≤ ‖hf.toLp f‖^2 * ‖hg.toLp g‖^2 := by have hcs := abs_real_inner_le_norm (hf.toLp f) (hg.toLp g) have hsq := pow_le_pow_left₀ (abs_nonneg _) hcs 2 simpa only [sq_abs, mul_pow] using hsq rw [hi, prefix_toLp_norm_sq_eq_integral_sq f hf, prefix_toLp_norm_sq_eq_integral_sq g hg] at h simpa [mul_comm] using h /-- Actual AC compact-window IBP. This is the form used after the weak radial FTC identification; no smooth rearranged-profile substitution is made. At the natural branch endpoint the left product is retained until the bounded-prefix limit is taken. -/ theorem radialBranch_prefix_ibp_ac (F B dF : ℝ → ℝ) (w left a gate : ℝ) (hF : Polya26.Strike.S02.Header.PrimitiveOn F left a) (hB : Polya26.Strike.S02.Header.PrimitiveOn B left a) (hdF : deriv F =ᵐ[volume.restrict (uIoc left a)] dF) (hdB : deriv B =ᵐ[volume.restrict (uIoc left a)] fun s => w*F s) (hgate : F a = gate) : w*(∫ s in left..a, (F s)^2) = gate*B a-F left*B left-(∫ s in left..a, dF s*B s) := by have h := hF.integral_mul_deriv_eq_deriv_mul hB have heleft : (∫ s in left..a, F s*deriv B s) = w*(∫ s in left..a, (F s)^2) := by rw [← intervalIntegral.integral_const_mul] apply intervalIntegral.integral_congr_ae_restrict filter_upwards [hdB] with s hs rw [hs] ring have heright : (∫ s in left..a, deriv F s*B s) = ∫ s in left..a, dF s*B s := intervalIntegral.integral_congr_ae_restrict (hdF.mul (Filter.EventuallyEq.rfl)) rwa [heleft,heright,hgate] at h theorem trunk_prefix_ibp_ac (F J dF : ℝ → ℝ) (a0 a gate A : ℝ) (hF : Polya26.Strike.S02.Header.PrimitiveOn F a0 a) (hJ : Polya26.Strike.S02.Header.PrimitiveOn J a0 a) (hdF : deriv F =ᵐ[volume.restrict (uIoc a0 a)] dF) (hdJ : deriv J =ᵐ[volume.restrict (uIoc a0 a)] F) (houter : F a = 0) (hgate : F a0 = gate) (hstart : J a0 = A) : (∫ s in a0..a, (F s)^2) = -gate*A-(∫ s in a0..a, dF s*J s) := by have h := hF.integral_mul_deriv_eq_deriv_mul hJ have heleft : (∫ s in a0..a, F s*deriv J s) = ∫ s in a0..a, (F s)^2 := by apply intervalIntegral.integral_congr_ae_restrict filter_upwards [hdJ] with s hs rw [hs,pow_two] have heright : (∫ s in a0..a, deriv F s*J s) = ∫ s in a0..a, dF s*J s := intervalIntegral.integral_congr_ae_restrict (hdF.mul (Filter.EventuallyEq.rfl)) rw [heleft,heright,houter,hgate,hstart,zero_mul,zero_sub] at h simpa only [neg_mul] using h /-- Actual branch integration by parts, including its common nonzero gate. -/ theorem radialBranch_prefix_ibp (F B dF : ℝ → ℝ) (w a gate : ℝ) (hF : ContinuousOn F (uIcc 0 a)) (hB : ContinuousOn B (uIcc 0 a)) (hdF : ∀ s ∈ Ioo (min 0 a) (max 0 a), HasDerivAt F (dF s) s) (hdB : ∀ s ∈ Ioo (min 0 a) (max 0 a), HasDerivAt B (w * F s) s) (hiF : IntervalIntegrable dF volume 0 a) (hiB : IntervalIntegrable (fun s => w * F s) volume 0 a) (hzero : B 0 = 0) (hgate : F a = gate) : w * (∫ s in 0..a, (F s)^2) = gate * B a - ∫ s in 0..a, dF s * B s := by have h := intervalIntegral.integral_mul_deriv_eq_deriv_mul_of_hasDerivAt hF hB hdF hdB hiF hiB rw [hzero,hgate,mul_zero,sub_zero] at h calc w * (∫ s in 0..a, (F s)^2) = ∫ s in 0..a, w * (F s)^2 := by rw [intervalIntegral.integral_const_mul] _ = ∫ s in 0..a, F s * (w * F s) := by apply intervalIntegral.integral_congr intro s hs ring _ = gate * B a - ∫ s in 0..a, dF s * B s := h /-- The trunk prefix starts with all branch gate fluxes and the plateau flux. Its inner endpoint has the opposite orientation from each branch. -/ theorem trunk_prefix_ibp (F J dF : ℝ → ℝ) (a0 a gate A : ℝ) (hF : ContinuousOn F (uIcc a0 a)) (hJ : ContinuousOn J (uIcc a0 a)) (hdF : ∀ s ∈ Ioo (min a0 a) (max a0 a), HasDerivAt F (dF s) s) (hdJ : ∀ s ∈ Ioo (min a0 a) (max a0 a), HasDerivAt J (F s) s) (hiF : IntervalIntegrable dF volume a0 a) (hiJ : IntervalIntegrable F volume a0 a) (houter : F a = 0) (hgate : F a0 = gate) (hstart : J a0 = A) : (∫ s in a0..a, (F s)^2) = -gate * A - ∫ s in a0..a, dF s * J s := by have h := intervalIntegral.integral_mul_deriv_eq_deriv_mul_of_hasDerivAt hF hJ hdF hdJ hiF hiJ simpa only [houter,hgate,hstart,zero_mul,zero_sub,pow_two,neg_mul] using h /-- Finite cancellation for the real gate fluxes supplied by the two actual IBP roots. The constant plateau carries `p0 * gate^2`. -/ theorem finiteStar_gate_cancellation {ι : Type*} (s : Finset ι) (mass flux pair : ι → ℝ) (trunkMass trunkPair p0 gate : ℝ) (hbranch : ∀ i ∈ s, mass i = gate * flux i - pair i) (htrunk : trunkMass = -gate * ((∑ i ∈ s, flux i) + p0 * gate) - trunkPair) : (∑ i ∈ s, mass i) + p0 * gate^2 + trunkMass = -((∑ i ∈ s, pair i) + trunkPair) := by have hsum : (∑ i ∈ s, mass i) = gate * (∑ i ∈ s, flux i) - ∑ i ∈ s, pair i := by calc (∑ i ∈ s, mass i) = ∑ i ∈ s, (gate * flux i - pair i) := Finset.sum_congr rfl hbranch _ = gate * (∑ i ∈ s, flux i) - ∑ i ∈ s, pair i := by rw [Finset.sum_sub_distrib,Finset.mul_sum] rw [hsum,htrunk] ring /-- Genuine weighted integral Cauchy. The weight is positive almost everywhere, including the natural branch endpoint only as a null point. -/ theorem weightedIntegral_cauchy {X : Type*} [MeasurableSpace X] {μ : Measure X} (f g W : X → ℝ) (hW : ∀ᵐ x ∂μ, 0 < W x) (hf : MemLp (fun x => Real.sqrt (W x) * f x) 2 μ) (hg : MemLp (fun x => g x / Real.sqrt (W x)) 2 μ) : (∫ x, f x * g x ∂μ)^2 ≤ (∫ x, W x * (f x)^2 ∂μ) * (∫ x, (g x)^2 / W x ∂μ) := by have h := prefix_integral_mul_sq_le (fun x => Real.sqrt (W x) * f x) (fun x => g x / Real.sqrt (W x)) hf hg have hpair : (∫ x, (Real.sqrt (W x) * f x) * (g x / Real.sqrt (W x)) ∂μ) = ∫ x, f x * g x ∂μ := by apply integral_congr_ae filter_upwards [hW] with x hx have hs : Real.sqrt (W x) ≠ 0 := ne_of_gt (Real.sqrt_pos.2 hx) field_simp [hs] <;> ring have hleft : (∫ x, (Real.sqrt (W x) * f x)^2 ∂μ) = ∫ x, W x * (f x)^2 ∂μ := by apply integral_congr_ae filter_upwards [hW] with x hx rw [mul_pow,Real.sq_sqrt hx.le] have hright : (∫ x, (g x / Real.sqrt (W x))^2 ∂μ) = ∫ x, (g x)^2 / W x ∂μ := by apply integral_congr_ae filter_upwards [hW] with x hx rw [div_pow,Real.sq_sqrt hx.le] rwa [hpair,hleft,hright] at h /-- Sum the branch and trunk Cauchy estimates. No branch count enters the constant. The trunk is simply another member of the finite index set. -/ theorem finitePrefix_cauchy {ι : Type*} (s : Finset ι) (pair Q D : ι → ℝ) (hQ : ∀ i ∈ s, 0 ≤ Q i) (hD : ∀ i ∈ s, 0 ≤ D i) (hpair : ∀ i ∈ s, (pair i)^2 ≤ Q i * D i) : (∑ i ∈ s, pair i)^2 ≤ (∑ i ∈ s, Q i) * ∑ i ∈ s, D i := Finset.sum_sq_le_sum_mul_sum_of_sq_le_mul s hQ hD hpair /-- Finite omitted high parts are replaced by their original plateau areas, so the cap stays relative to ORIGINAL m. Only the excess original mass is lost. This limit does not renormalize any component cap. -/ theorem originalCap_finite_limit (m ell L Q : ℝ) (lost weighted energy : ℕ → ℝ) (hL : 0 ≤ L) (hlost : Tendsto lost atTop (𝓝 0)) (hlower : ∀ n, ell*m-lost n ≤ weighted n) (hweighted : ∀ n, weighted n ≤ L * energy n) (henergy : ∀ n, energy n ≤ Q) : ell*m ≤ L*Q := by have hpoint (n : ℕ) : ell*m-lost n ≤ L*Q := (hlower n).trans ((hweighted n).trans (mul_le_mul_of_nonneg_left (henergy n) hL)) have ht : Tendsto (fun n => ell*m-lost n) atTop (𝓝 (ell*m)) := by simpa only [sub_zero] using tendsto_const_nhds.sub hlost exact le_of_tendsto ht (Filter.Eventually.of_forall hpoint) end Polya26.Strike.S06.Header.PrimitiveStar /-! Actual normalized finite-star input. Every mass and energy below is an original-profile integral. Omitted high branches are a constant plateau; their excess loss and ORIGINAL cap denominator are external physical data. No weighted Cauchy, Green or phase-energy conclusion is a structure field. -/ noncomputable section open MeasureTheory Set open scoped BigOperators namespace Polya26.Strike.S06.Header.PrimitiveStar structure FiniteStarData (ι : Type*) [Fintype ι] (alpha B : ℝ) where area : ι → ℝ area_pos : ∀ i, 0 < area i plateau : ℝ plateau_nonneg : 0 ≤ plateau junction : ℝ junction_area : (∑ i, area i)+plateau = junction junction_nonneg : 0 ≤ junction junction_lt_one : junction < 1 gate : ℝ gate_nonneg : 0 ≤ gate heightBound : ℝ heightBound_nonneg : 0 ≤ heightBound branch : ι → ℝ → ℝ branchDerivative : ι → ℝ → ℝ branch_measurable : ∀ i, Measurable (branch i) branch_bound : ∀ i s, |branch i s| ≤ heightBound branch_local_ac : ∀ i e, 0 < e → e ≤ area i → Polya26.Strike.S02.Header.PrimitiveOn (branch i) e (area i) branch_deriv_ae : ∀ i, deriv (branch i) =ᵐ[volume.restrict (Ioc 0 (area i))] branchDerivative i branch_gate : ∀ i, branch i (area i) = gate branch_energy_integrable : ∀ i, IntervalIntegrable (fun s => s*(branchDerivative i s)^2) volume 0 (area i) trunk : ℝ → ℝ trunkDerivative : ℝ → ℝ trunk_measurable : Measurable trunk trunk_bound : ∀ s, |trunk s| ≤ heightBound trunk_ac : Polya26.Strike.S02.Header.PrimitiveOn trunk junction 1 trunk_deriv_ae : deriv trunk =ᵐ[volume.restrict (Ioc junction 1)] trunkDerivative trunk_inner_gate : trunk junction = gate trunk_outer_gate : trunk 1 = 0 trunk_energy_integrable : IntervalIntegrable (fun s => (alpha*s+4*B)*(trunkDerivative s)^2) volume junction 1 namespace FiniteStarData variable {ι : Type*} [Fintype ι] {alpha B : ℝ} def branchMass (d : FiniteStarData ι alpha B) (i : ι) : ℝ := ∫ s in 0..d.area i, (d.branch i s)^2 def trunkMass (d : FiniteStarData ι alpha B) : ℝ := ∫ s in d.junction..1, (d.trunk s)^2 def mass (d : FiniteStarData ι alpha B) : ℝ := (∑ i, d.branchMass i)+d.plateau*d.gate^2+d.trunkMass def radialEnergy (d : FiniteStarData ι alpha B) : ℝ := (∑ i, ∫ s in 0..d.area i, s*(d.branchDerivative i s)^2)+ ∫ s in d.junction..1, (alpha*s+4*B)*(d.trunkDerivative s)^2 def weightedHighMass (d : FiniteStarData ι alpha B) (weight : ι → ℝ) : ℝ := (∑ i, weight i*d.branchMass i)+d.plateau*d.gate^2 def weightedMass (d : FiniteStarData ι alpha B) (weight : ι → ℝ) : ℝ := d.weightedHighMass weight+d.trunkMass def gateArea (d : FiniteStarData ι alpha B) (weight : ι → ℝ) : ℝ := (∑ i, weight i*d.area i)+d.plateau def branchFlux (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (i : ι) : ℝ := weight i*(∫ s in 0..d.area i, d.branch i s) def gateFlux (d : FiniteStarData ι alpha B) (weight : ι → ℝ) : ℝ := (∑ i, d.branchFlux weight i)+d.plateau*d.gate def branchPrefix (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (i : ι) (s : ℝ) : ℝ := weight i*(∫ t in 0..s, d.branch i t) def trunkPrefix (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (s : ℝ) : ℝ := d.gateFlux weight+(∫ t in d.junction..s, d.trunk t) end FiniteStarData /-- Finite Cauchy includes the plateau as its own gate coordinate. It has no radial diagonal, but its ORIGINAL mass and flux remain in the rank term. -/ theorem finiteGate_cauchy {ι : Type*} [Fintype ι] (area mass flux : ι → ℝ) (p0 gate : ℝ) (ha : ∀ i, 0 ≤ area i) (hm : ∀ i, 0 ≤ mass i) (hp0 : 0 ≤ p0) (hbranch : ∀ i, (flux i)^2 ≤ area i*mass i) : ((∑ i, flux i)+p0*gate)^2 ≤ ((∑ i, area i)+p0)*((∑ i, mass i)+p0*gate^2) := by classical let A : Option ι → ℝ := fun i => i.elim p0 area let M : Option ι → ℝ := fun i => i.elim (p0*gate^2) mass let F : Option ι → ℝ := fun i => i.elim (p0*gate) flux have hA (i : Option ι) : 0 ≤ A i := by cases i <;> simp [A,ha,hp0] have hM (i : Option ι) : 0 ≤ M i := by cases i <;> simp [M,hm,hp0,mul_nonneg hp0 (sq_nonneg gate)] have hF (i : Option ι) : (F i)^2 ≤ A i*M i := by cases i with | none => dsimp [F,A,M]; nlinarith | some i => exact hbranch i have h := Finset.sum_sq_le_sum_mul_sum_of_sq_le_mul (Finset.univ : Finset (Option ι)) (fun i hi => hA i) (fun i hi => hM i) (fun i hi => hF i) simp only [univ_option,Finset.sum_insertNone,A,M,F,Option.elim_none, Option.elim_some] at h convert h using 1 <;> ring end Polya26.Strike.S06.Header.PrimitiveStar /-! Genuine finite-star weighted Cauchy from bounded original profiles. The natural branch endpoint is treated by an epsilon limit; each shared gate term cancels against the trunk and ORIGINAL plateau mass. -/ noncomputable section open Set Filter MeasureTheory open scoped Topology BigOperators namespace Polya26.Strike.S06.Header.PrimitiveStar theorem finiteStar_primitiveTail_continuousOn {f : ℝ → ℝ} {b : ℝ} (hb : 0 ≤ b) (hf : IntervalIntegrable f volume 0 b) : ContinuousOn (fun s => ∫ t in s..b, f t) (Icc 0 b) := by have h := (intervalIntegral.continuousOn_primitive_interval' hf right_mem_uIcc).neg have he : (-(fun s : ℝ => ∫ t in b..s, f t)) = fun s => ∫ t in s..b, f t := by funext s exact (intervalIntegral.integral_symm (f := f) (μ := volume) b s).symm rw [he] at h simpa only [uIcc_of_le hb] using h /-- Genuine local-AC weighted pairing at the original area scale. The profile has no imposed centre trace or centre AC condition. -/ theorem radialFiniteBranch_prefix_pairing (F J rho h : ℝ → ℝ) (b C gate : ℝ) (hb : 0 < b) (hC : 0 ≤ C) (hF : ∀ eps > 0, eps < b → Polya26.Strike.S02.Header.PrimitiveOn F eps b) (hJ : Polya26.Strike.S02.Header.PrimitiveOn J 0 b) (hdF : deriv F =ᵐ[volume.restrict (Ioc 0 b)] h) (hdJ : deriv J =ᵐ[volume.restrict (Ioc 0 b)] fun s => rho s*F s) (houter : F b = gate) (hFbound : ∀ s ∈ Icc (0:ℝ) b, |F s| ≤ C) (hJbound : ∀ s ∈ Icc (0:ℝ) b, |J s| ≤ C*s) (hiMass : IntervalIntegrable (fun s => rho s*(F s)^2) volume 0 b) (hiPair : IntervalIntegrable (fun s => h s*J s) volume 0 b) : (∫ s in 0..b, rho s*(F s)^2) = gate*J b-(∫ s in 0..b, h s*J s) := by let eps : ℕ → ℝ := fun n => b/((n:ℝ)+2) have heps_pos (n : ℕ) : 0 < eps n := by dsimp [eps]; positivity have heps_lt (n : ℕ) : eps n < b := by dsimp [eps] apply (div_lt_iff₀ (by positivity : (0:ℝ) < (n:ℝ)+2)).mpr nlinarith [Nat.cast_nonneg (α := ℝ) n] have heps_zero : Tendsto eps atTop (𝓝 0) := by have ht : Tendsto (fun n : ℕ => ((n:ℝ)+2)⁻¹) atTop (𝓝 (0:ℝ)) := tendsto_inv_atTop_zero.comp (tendsto_atTop_add_const_right atTop 2 tendsto_natCast_atTop_atTop) simpa only [eps,div_eq_mul_inv,mul_zero] using ht.const_mul b have heps_closed : Tendsto eps atTop (𝓝[Icc (0:ℝ) b] 0) := tendsto_nhdsWithin_iff.mpr ⟨heps_zero,Eventually.of_forall fun n => ⟨(heps_pos n).le,(heps_lt n).le⟩⟩ have hIBP (n : ℕ) : (∫ s in eps n..b, rho s*(F s)^2) = gate*J b-F (eps n)*J (eps n)-(∫ s in eps n..b, h s*J s) := by have hsub : uIcc (eps n) b ⊆ uIcc (0:ℝ) b := by rw [uIcc_of_le (heps_lt n).le,uIcc_of_le hb.le] exact Icc_subset_Icc (heps_pos n).le le_rfl have hsubIoc : Ioc (eps n) b ⊆ Ioc (0:ℝ) b := Ioc_subset_Ioc (heps_pos n).le le_rfl have hdf := hdF.filter_mono (ae_mono (Measure.restrict_mono hsubIoc le_rfl)) have hdj := hdJ.filter_mono (ae_mono (Measure.restrict_mono hsubIoc le_rfl)) have he := (hF (eps n) (heps_pos n) (heps_lt n)).integral_mul_deriv_eq_deriv_mul (hJ.mono hsub) have hleft : (∫ s in eps n..b, F s*deriv J s) = ∫ s in eps n..b, rho s*(F s)^2 := by apply intervalIntegral.integral_congr_ae_restrict rw [uIoc_of_le (heps_lt n).le] filter_upwards [hdj] with s hs rw [hs] ring have hright : (∫ s in eps n..b, deriv F s*J s) = ∫ s in eps n..b, h s*J s := by apply intervalIntegral.integral_congr_ae_restrict rw [uIoc_of_le (heps_lt n).le] filter_upwards [hdf] with s hs rw [hs] rw [hleft,hright,houter] at he exact he have hlimMass : Tendsto (fun n => ∫ s in eps n..b, rho s*(F s)^2) atTop (𝓝 (∫ s in 0..b, rho s*(F s)^2)) := ((finiteStar_primitiveTail_continuousOn hb.le hiMass) 0 (by simp [hb.le])).tendsto.comp heps_closed have hlimPair : Tendsto (fun n => ∫ s in eps n..b, h s*J s) atTop (𝓝 (∫ s in 0..b, h s*J s)) := ((finiteStar_primitiveTail_continuousOn hb.le hiPair) 0 (by simp [hb.le])).tendsto.comp heps_closed have hfluxBound (n : ℕ) : ‖F (eps n)*J (eps n)‖ ≤ C^2*eps n := by have hf := hFbound (eps n) ⟨(heps_pos n).le,(heps_lt n).le⟩ have hj := hJbound (eps n) ⟨(heps_pos n).le,(heps_lt n).le⟩ rw [Real.norm_eq_abs,abs_mul] calc |F (eps n)| * |J (eps n)| ≤ C*(C*eps n) := mul_le_mul hf hj (abs_nonneg _) hC _ = C^2*eps n := by ring have hlimFluxNorm : Tendsto (fun n => ‖F (eps n)*J (eps n)‖) atTop (𝓝 0) := squeeze_zero (fun n => norm_nonneg _) hfluxBound (by simpa only [mul_zero] using heps_zero.const_mul (C^2)) have hlimFlux : Tendsto (fun n => F (eps n)*J (eps n)) atTop (𝓝 0) := tendsto_zero_iff_norm_tendsto_zero.mpr hlimFluxNorm have hlimRight := ((tendsto_const_nhds : Tendsto (fun _ : ℕ => gate*J b) atTop (𝓝 (gate*J b))).sub hlimFlux).sub hlimPair have heq : (fun n => ∫ s in eps n..b, rho s*(F s)^2) = fun n => gate*J b-(F (eps n)*J (eps n))-(∫ s in eps n..b, h s*J s) := by funext n simpa only [neg_mul] using hIBP n rw [← heq] at hlimRight simpa only [sub_zero] using tendsto_nhds_unique hlimMass hlimRight namespace FiniteStarData variable {ι : Type*} [Fintype ι] {alpha B : ℝ} def prefixGreen (d : FiniteStarData ι alpha B) (weight : ι → ℝ) : ℝ := (∑ i, ∫ s in 0..d.area i, (d.branchPrefix weight i s)^2/s)+ ∫ s in d.junction..1, (d.trunkPrefix weight s)^2/(alpha*s+4*B) /-- A bounded measurable original profile is integrable on every finite window. -/ theorem branch_intervalIntegrable (d : FiniteStarData ι alpha B) (i : ι) (a b : ℝ) : IntervalIntegrable (d.branch i) volume a b := by apply (intervalIntegrable_const : IntervalIntegrable (fun _ : ℝ => d.heightBound) volume a b).mono_fun' · exact (d.branch_measurable i).aestronglyMeasurable · exact Eventually.of_forall fun s => by simpa only [Real.norm_eq_abs] using d.branch_bound i s theorem branchMass_intervalIntegrable (d : FiniteStarData ι alpha B) (i : ι) : IntervalIntegrable (fun s => (d.branch i s)^2) volume 0 (d.area i) := by apply (intervalIntegrable_const : IntervalIntegrable (fun _ : ℝ => d.heightBound^2) volume 0 (d.area i)).mono_fun' · exact ((d.branch_measurable i).pow_const 2).aestronglyMeasurable · exact Eventually.of_forall fun s => by change ‖(d.branch i s)^2‖ ≤ d.heightBound^2 rw [Real.norm_of_nonneg (sq_nonneg _)] have h := (sq_le_sq₀ (abs_nonneg _) d.heightBound_nonneg).mpr (d.branch_bound i s) simpa only [sq_abs] using h theorem branchPrefix_bound (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) (hw1 : ∀ i, weight i ≤ 1) (i : ι) {s : ℝ} (hs : s ∈ Icc (0 : ℝ) (d.area i)) : |d.branchPrefix weight i s| ≤ d.heightBound*s := by have hbound : |∫ t in 0..s, d.branch i t| ≤ d.heightBound*s := by have h := intervalIntegral.norm_integral_le_of_norm_le_const (fun t (_ht : t ∈ uIoc (0 : ℝ) s) => (show ‖d.branch i t‖ ≤ d.heightBound by simpa only [Real.norm_eq_abs] using d.branch_bound i t)) simpa only [Real.norm_eq_abs,sub_zero,abs_of_nonneg hs.1] using h rw [branchPrefix,abs_mul,abs_of_nonneg (hw0 i)] exact (mul_le_mul_of_nonneg_left hbound (hw0 i)).trans (by simpa only [one_mul] using mul_le_mul_of_nonneg_right (hw1 i) (mul_nonneg d.heightBound_nonneg hs.1)) theorem branchPrefix_ac (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (i : ι) : Polya26.Strike.S02.Header.PrimitiveOn (d.branchPrefix weight i) 0 (d.area i) := Polya26.Strike.S02.Header.PrimitiveOn.const_mul (weight i) (Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral (d.branch_intervalIntegrable i 0 (d.area i)) left_mem_uIcc) theorem branchPrefix_deriv_ae (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (i : ι) : deriv (d.branchPrefix weight i) =ᵐ[volume.restrict (Ioc 0 (d.area i))] fun s => weight i*d.branch i s := by have hi := d.branch_intervalIntegrable i 0 (d.area i) filter_upwards [ae_restrict_of_ae (Polya26.Strike.S02.Header.intervalIntegrable_ae_hasDerivAt_integral hi), ae_restrict_mem measurableSet_Ioc] with s hs hsa have hmem : s ∈ uIcc (0 : ℝ) (d.area i) := by simpa only [uIcc_of_le (d.area_pos i).le] using (show s ∈ Icc (0 : ℝ) (d.area i) from ⟨hsa.1.le,hsa.2⟩) exact ((hs hmem 0 left_mem_uIcc).const_mul (weight i)).deriv theorem branchPrefix_reciprocal_memLp (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) (hw1 : ∀ i, weight i ≤ 1) (i : ι) : MemLp (fun s => d.branchPrefix weight i s / Real.sqrt s) 2 (volume.restrict (Ioc 0 (d.area i))) := by have hsub : Ioc (0 : ℝ) (d.area i) ⊆ uIcc (0 : ℝ) (d.area i) := by simpa only [uIcc_of_le (d.area_pos i).le] using (Ioc_subset_Icc_self : Ioc (0 : ℝ) (d.area i) ⊆ Icc 0 (d.area i)) have hBm : AEStronglyMeasurable (d.branchPrefix weight i) (volume.restrict (Ioc 0 (d.area i))) := ((d.branchPrefix_ac weight i).continuousOn.mono hsub).aestronglyMeasurable measurableSet_Ioc have hm : AEStronglyMeasurable (fun s => d.branchPrefix weight i s / Real.sqrt s) (volume.restrict (Ioc 0 (d.area i))) := (hBm.aemeasurable.div Real.continuous_sqrt.measurable.aemeasurable).aestronglyMeasurable apply (memLp_two_iff_integrable_sq hm).mpr apply (integrable_const (d.heightBound^2*d.area i)).mono' (hm.pow 2) filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs change ‖(d.branchPrefix weight i s / Real.sqrt s)^2‖ ≤ d.heightBound^2*d.area i rw [Real.norm_of_nonneg (sq_nonneg _),div_pow,Real.sq_sqrt hs.1.le] have hb := d.branchPrefix_bound weight hw0 hw1 i ⟨hs.1.le,hs.2⟩ have hsq : (d.branchPrefix weight i s)^2 ≤ (d.heightBound*s)^2 := by have hh := (sq_le_sq₀ (abs_nonneg _) (mul_nonneg d.heightBound_nonneg hs.1.le)).mpr hb simpa only [sq_abs] using hh have hdiv : (d.branchPrefix weight i s)^2/s ≤ d.heightBound^2*s := (div_le_iff₀ hs.1).mpr (by nlinarith only [hsq]) exact hdiv.trans (mul_le_mul_of_nonneg_left hs.2 (sq_nonneg _)) end FiniteStarData /-- The square-root energy factor is ordinary L2 data. -/ theorem finiteStar_sqrtEnergy_memLp {X : Type*} [MeasurableSpace X] {μ : Measure X} {h W : X → ℝ} (hh : AEStronglyMeasurable h μ) (hW : AEMeasurable W μ) (hpos : ∀ᵐ x ∂μ, 0 ≤ W x) (hint : Integrable (fun x => W x*(h x)^2) μ) : MemLp (fun x => Real.sqrt (W x)*h x) 2 μ := by have hsqrt : AEStronglyMeasurable (fun x => Real.sqrt (W x)) μ := (Real.continuous_sqrt.measurable.comp_aemeasurable hW).aestronglyMeasurable apply (memLp_two_iff_integrable_sq (hsqrt.mul hh)).mpr apply hint.congr filter_upwards [hpos] with x hx change W x*(h x)^2 = (Real.sqrt (W x)*h x)^2 rw [mul_pow,Real.sq_sqrt hx] theorem finiteStar_weightedPair_integrable {X : Type*} [MeasurableSpace X] {μ : Measure X} (f g W : X → ℝ) (hW : ∀ᵐ x ∂μ, 0 < W x) (hf : MemLp (fun x => Real.sqrt (W x)*f x) 2 μ) (hg : MemLp (fun x => g x/Real.sqrt (W x)) 2 μ) : Integrable (fun x => f x*g x) μ := by apply (hf.integrable_mul hg).congr filter_upwards [hW] with x hx change (Real.sqrt (W x)*f x)*(g x/Real.sqrt (W x)) = f x*g x have hs : Real.sqrt (W x) ≠ 0 := ne_of_gt (Real.sqrt_pos.2 hx) field_simp [hs] namespace FiniteStarData variable {ι : Type*} [Fintype ι] {alpha B : ℝ} theorem branchDerivative_sqrt_memLp (d : FiniteStarData ι alpha B) (i : ι) : MemLp (fun s => Real.sqrt s*d.branchDerivative i s) 2 (volume.restrict (Ioc 0 (d.area i))) := by have hm : AEStronglyMeasurable (d.branchDerivative i) (volume.restrict (Ioc 0 (d.area i))) := (aestronglyMeasurable_deriv (d.branch i) _).congr (d.branch_deriv_ae i) exact finiteStar_sqrtEnergy_memLp hm measurable_id.aemeasurable ((ae_restrict_mem measurableSet_Ioc).mono (fun s hs => hs.1.le)) (d.branch_energy_integrable i).1 theorem branchPair_intervalIntegrable (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) (hw1 : ∀ i, weight i ≤ 1) (i : ι) : IntervalIntegrable (fun s => d.branchDerivative i s*d.branchPrefix weight i s) volume 0 (d.area i) := by apply (intervalIntegrable_iff_integrableOn_Ioc_of_le (d.area_pos i).le).mpr exact finiteStar_weightedPair_integrable (d.branchDerivative i) (d.branchPrefix weight i) id ((ae_restrict_mem measurableSet_Ioc).mono (fun s hs => hs.1)) (d.branchDerivative_sqrt_memLp i) (d.branchPrefix_reciprocal_memLp weight hw0 hw1 i) theorem branch_ibp (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) (hw1 : ∀ i, weight i ≤ 1) (i : ι) : weight i*d.branchMass i = d.gate*d.branchPrefix weight i (d.area i)- (∫ s in 0..d.area i, d.branchDerivative i s*d.branchPrefix weight i s) := by have h := radialFiniteBranch_prefix_pairing (d.branch i) (d.branchPrefix weight i) (fun _ => weight i) (d.branchDerivative i) (d.area i) d.heightBound d.gate (d.area_pos i) d.heightBound_nonneg (fun e he hel => d.branch_local_ac i e he hel.le) (d.branchPrefix_ac weight i) (d.branch_deriv_ae i) (d.branchPrefix_deriv_ae weight i) (d.branch_gate i) (fun s _ => d.branch_bound i s) (fun s hs => d.branchPrefix_bound weight hw0 hw1 i hs) ((d.branchMass_intervalIntegrable i).const_mul (weight i)) (d.branchPair_intervalIntegrable weight hw0 hw1 i) simpa only [intervalIntegral.integral_const_mul,branchMass] using h theorem trunk_intervalIntegrable (d : FiniteStarData ι alpha B) : IntervalIntegrable d.trunk volume d.junction 1 := d.trunk_ac.continuousOn.intervalIntegrable theorem trunkPrefix_ac (d : FiniteStarData ι alpha B) (weight : ι → ℝ) : Polya26.Strike.S02.Header.PrimitiveOn (d.trunkPrefix weight) d.junction 1 := by have hc : Polya26.Strike.S02.Header.PrimitiveOn (fun _ : ℝ => d.gateFlux weight) d.junction 1 := Polya26.Strike.S02.Header.PrimitiveOn.const (d.gateFlux weight) d.junction 1 exact hc.add (Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral d.trunk_intervalIntegrable left_mem_uIcc) theorem trunkPrefix_deriv_ae (d : FiniteStarData ι alpha B) (weight : ι → ℝ) : deriv (d.trunkPrefix weight) =ᵐ[volume.restrict (Ioc d.junction 1)] d.trunk := by filter_upwards [ae_restrict_of_ae (Polya26.Strike.S02.Header.intervalIntegrable_ae_hasDerivAt_integral d.trunk_intervalIntegrable), ae_restrict_mem measurableSet_Ioc] with s hs hsa have hmem : s ∈ uIcc d.junction 1 := by simpa only [uIcc_of_le d.junction_lt_one.le] using (show s ∈ Icc d.junction 1 from ⟨hsa.1.le,hsa.2⟩) exact ((hs hmem d.junction left_mem_uIcc).const_add (d.gateFlux weight)).deriv theorem affineWeight_pos (d : FiniteStarData ι alpha B) (halpha : 0 < alpha) (hB : 0 < B) {s : ℝ} (hs : s ∈ Icc d.junction 1) : 0 < alpha*s+4*B := by have hs0 := d.junction_nonneg.trans hs.1 have hm := mul_nonneg halpha.le hs0 linarith theorem trunkPrefix_reciprocal_memLp (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (halpha : 0 < alpha) (hB : 0 < B) : MemLp (fun s => d.trunkPrefix weight s/Real.sqrt (alpha*s+4*B)) 2 (volume.restrict (Ioc d.junction 1)) := by have hJ : ContinuousOn (d.trunkPrefix weight) (Icc d.junction 1) := by simpa only [uIcc_of_le d.junction_lt_one.le] using (d.trunkPrefix_ac weight).continuousOn have hW : Continuous (fun s : ℝ => alpha*s+4*B) := by fun_prop have hc : ContinuousOn (fun s => d.trunkPrefix weight s/Real.sqrt (alpha*s+4*B)) (Icc d.junction 1) := hJ.div (Real.continuous_sqrt.comp hW).continuousOn (fun s hs => ne_of_gt (Real.sqrt_pos.2 (d.affineWeight_pos halpha hB hs))) apply (memLp_two_iff_integrable_sq ((hc.mono Ioc_subset_Icc_self).aestronglyMeasurable measurableSet_Ioc)).mpr exact ((hc.pow 2).integrableOn_Icc).mono_set Ioc_subset_Icc_self theorem trunkDerivative_sqrt_memLp (d : FiniteStarData ι alpha B) (halpha : 0 < alpha) (hB : 0 < B) : MemLp (fun s => Real.sqrt (alpha*s+4*B)*d.trunkDerivative s) 2 (volume.restrict (Ioc d.junction 1)) := by have hm : AEStronglyMeasurable d.trunkDerivative (volume.restrict (Ioc d.junction 1)) := (aestronglyMeasurable_deriv d.trunk _).congr d.trunk_deriv_ae have hW : Continuous (fun s : ℝ => alpha*s+4*B) := by fun_prop exact finiteStar_sqrtEnergy_memLp hm hW.measurable.aemeasurable ((ae_restrict_mem measurableSet_Ioc).mono (fun s hs => (d.affineWeight_pos halpha hB ⟨hs.1.le,hs.2⟩).le)) d.trunk_energy_integrable.1 theorem trunk_ibp (d : FiniteStarData ι alpha B) (weight : ι → ℝ) : d.trunkMass = -d.gate*d.gateFlux weight- (∫ s in d.junction..1, d.trunkDerivative s*d.trunkPrefix weight s) := by exact trunk_prefix_ibp_ac d.trunk (d.trunkPrefix weight) d.trunkDerivative d.junction 1 d.gate (d.gateFlux weight) d.trunk_ac (d.trunkPrefix_ac weight) (by simpa only [uIoc_of_le d.junction_lt_one.le] using d.trunk_deriv_ae) (by simpa only [uIoc_of_le d.junction_lt_one.le] using d.trunkPrefix_deriv_ae weight) d.trunk_outer_gate d.trunk_inner_gate (by simp [trunkPrefix]) /-- All Cauchy and endpoint hypotheses are derived from actual frozen profile data. -/ theorem weightedMass_sq_le_radialEnergy_mul_prefixGreen (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) (hw1 : ∀ i, weight i ≤ 1) (halpha : 0 < alpha) (hB : 0 < B) : (d.weightedMass weight)^2 ≤ d.radialEnergy*d.prefixGreen weight := by classical let pairI : ι → ℝ := fun i => ∫ s in 0..d.area i, d.branchDerivative i s*d.branchPrefix weight i s let QI : ι → ℝ := fun i => ∫ s in 0..d.area i, s*(d.branchDerivative i s)^2 let DI : ι → ℝ := fun i => ∫ s in 0..d.area i, (d.branchPrefix weight i s)^2/s let pairT : ℝ := ∫ s in d.junction..1, d.trunkDerivative s*d.trunkPrefix weight s let QT : ℝ := ∫ s in d.junction..1, (alpha*s+4*B)*(d.trunkDerivative s)^2 let DT : ℝ := ∫ s in d.junction..1, (d.trunkPrefix weight s)^2/(alpha*s+4*B) have hpairI (i : ι) : (pairI i)^2 ≤ QI i*DI i := by have h := weightedIntegral_cauchy (d.branchDerivative i) (d.branchPrefix weight i) id ((ae_restrict_mem measurableSet_Ioc).mono (fun s hs => hs.1)) (d.branchDerivative_sqrt_memLp i) (d.branchPrefix_reciprocal_memLp weight hw0 hw1 i) simpa only [pairI,QI,DI,id_eq,intervalIntegral.integral_of_le (d.area_pos i).le] using h have hpairT : pairT^2 ≤ QT*DT := by have h := weightedIntegral_cauchy d.trunkDerivative (d.trunkPrefix weight) (fun s => alpha*s+4*B) ((ae_restrict_mem measurableSet_Ioc).mono (fun s hs => d.affineWeight_pos halpha hB ⟨hs.1.le,hs.2⟩)) (d.trunkDerivative_sqrt_memLp halpha hB) (d.trunkPrefix_reciprocal_memLp weight halpha hB) simpa only [pairT,QT,DT,intervalIntegral.integral_of_le d.junction_lt_one.le] using h have hQI (i : ι) : 0 ≤ QI i := intervalIntegral.integral_nonneg (d.area_pos i).le (fun s hs => mul_nonneg hs.1 (sq_nonneg _)) have hDI (i : ι) : 0 ≤ DI i := intervalIntegral.integral_nonneg (d.area_pos i).le (fun s hs => div_nonneg (sq_nonneg _) hs.1) have hQT : 0 ≤ QT := intervalIntegral.integral_nonneg d.junction_lt_one.le (fun s hs => mul_nonneg (d.affineWeight_pos halpha hB hs).le (sq_nonneg _)) have hDT : 0 ≤ DT := intervalIntegral.integral_nonneg d.junction_lt_one.le (fun s hs => div_nonneg (sq_nonneg _) (d.affineWeight_pos halpha hB hs).le) let pair : Option ι → ℝ := fun i => i.elim pairT pairI let Q : Option ι → ℝ := fun i => i.elim QT QI let D : Option ι → ℝ := fun i => i.elim DT DI have hpair : (∑ i, pair i)^2 ≤ (∑ i, Q i)*(∑ i, D i) := by apply finitePrefix_cauchy Finset.univ pair Q D · intro i _; cases i with | none => exact hQT | some j => exact hQI j · intro i _; cases i with | none => exact hDT | some j => exact hDI j · intro i _; cases i with | none => exact hpairT | some j => exact hpairI j have hsum : ((∑ i, pairI i)+pairT)^2 ≤ ((∑ i, QI i)+QT)*((∑ i, DI i)+DT) := by simpa only [Fintype.sum_option,pair,Q,D,Option.elim_none,Option.elim_some,add_comm] using hpair have hmass := finiteStar_gate_cancellation Finset.univ (fun i => weight i*d.branchMass i) (fun i => d.branchPrefix weight i (d.area i)) pairI d.trunkMass pairT d.plateau d.gate (fun i _ => d.branch_ibp weight hw0 hw1 i) (d.trunk_ibp weight) have hid : d.weightedMass weight = -((∑ i, pairI i)+pairT) := hmass rw [hid,neg_sq] exact hsum end FiniteStarData end Polya26.Strike.S06.Header.PrimitiveStar /-! The actual affine trunk kernel. Clipping is only outside the genuine area window. It gives a globally continuous representative while preserving every physical integral, and the exact Hilbert--Schmidt coefficient is an ordered-triangle calculation. -/ noncomputable section open MeasureTheory Set Filter namespace Polya26.Strike.S06.Header.PrimitiveStar open Polya26.Strike.S02.Header open Polya26.Strike.S01.Header.PureKernelSupport def trunkAreaMeasure (t : ℝ) : Measure ℝ := volume.restrict (Ioc t 1) theorem trunkAreaMeasure_finite (t : ℝ) : IsFiniteMeasure (trunkAreaMeasure t) := by apply isFiniteMeasure_restrict.mpr rw [Real.volume_Ioc] exact ENNReal.ofReal_ne_top theorem trunkAreaMeasure_nullSingleton (t : ℝ) : NullSingletonClass (trunkAreaMeasure t) := inferInstanceAs (NullSingletonClass (volume.restrict (Ioc t 1))) def areaClamp (t s : ℝ) : ℝ := max t (min 1 s) theorem areaClamp_mem {t : ℝ} (ht : t ≤ 1) (s : ℝ) : areaClamp t s ∈ Icc t 1 := by exact ⟨le_max_left _ _,max_le ht (min_le_left _ _)⟩ theorem areaClamp_eq {t s : ℝ} (hs : s ∈ Icc t 1) : areaClamp t s = s := by rw [areaClamp,min_eq_right hs.2,max_eq_right hs.1] def clippedAffineGreen (alpha B t s : ℝ) : ℝ := affineGreenFun alpha B 1 (areaClamp t s) theorem affineGreen_ac {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t ≤ 1) : Polya26.Strike.S02.Header.PrimitiveOn (affineGreenFun alpha B 1) t 1 := by have hi : IntervalIntegrable (fun y => 1/affineWeight alpha B y) volume t 1 := (affineReciprocal_continuousOn ha hB ht0 ht1).intervalIntegrable have hc := (Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral hi right_mem_uIcc).neg have he : (fun s : ℝ => -(∫ y in 1..s, 1/affineWeight alpha B y)) = affineGreenFun alpha B 1 := by funext s exact (intervalIntegral.integral_symm (f := fun y => 1/affineWeight alpha B y) (μ := volume) 1 s).symm rwa [he] at hc theorem affineGreen_deriv {alpha B s : ℝ} (ha : 0 < alpha) (hB : 0 < B) (hs0 : 0 ≤ s) (hs1 : s ≤ 1) : deriv (affineGreenFun alpha B 1) s = -1/affineWeight alpha B s := by have hi : IntervalIntegrable (fun y => 1/affineWeight alpha B y) volume s 1 := (affineReciprocal_continuousOn ha hB hs0 hs1).intervalIntegrable have hm : StronglyMeasurable (fun y => 1/affineWeight alpha B y) := (measurable_const.div ((measurable_const.mul measurable_id).add measurable_const)).stronglyMeasurable have hc : ContinuousAt (fun y => 1/affineWeight alpha B y) s := by exact continuousAt_const.div (by unfold affineWeight; fun_prop) (affineWeight_pos ha hB hs0).ne' have hd := intervalIntegral.integral_hasDerivAt_left hi hm.stronglyMeasurableAtFilter hc have he : affineGreenFun alpha B 1 = fun u => ∫ x in u..1, 1/affineWeight alpha B x := by rfl rw [he] simpa only [neg_div] using hd.deriv theorem clippedAffineGreen_continuous {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t ≤ 1) : Continuous (clippedAffineGreen alpha B t) := by have hg : ContinuousOn (affineGreenFun alpha B 1) (Icc t 1) := by simpa only [uIcc_of_le ht1] using affineGreen_continuousOn ha hB ht0 ht1 exact hg.comp_continuous (by unfold areaClamp; fun_prop) (areaClamp_mem ht1) theorem clippedAffineGreen_eq {alpha B t s : ℝ} (hs : s ∈ Icc t 1) : clippedAffineGreen alpha B t s = affineGreenFun alpha B 1 s := by rw [clippedAffineGreen,areaClamp_eq hs] theorem affineGreen_nonneg {alpha B s : ℝ} (ha : 0 < alpha) (hB : 0 < B) (hs0 : 0 ≤ s) (hs1 : s ≤ 1) : 0 ≤ affineGreenFun alpha B 1 s := by exact intervalIntegral.integral_nonneg hs1 (fun y hy => div_nonneg (by norm_num) (affineWeight_pos ha hB (hs0.trans hy.1)).le) theorem affineGreen_le_gate {alpha B t s : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (hs : s ∈ Icc t 1) : affineGreenFun alpha B 1 s ≤ affineGreenFun alpha B 1 t := by have hi : IntervalIntegrable (fun y => 1/affineWeight alpha B y) volume t 1 := (affineReciprocal_continuousOn ha hB ht0 (hs.1.trans hs.2)).intervalIntegrable exact intervalIntegral.integral_mono_interval hs.1 hs.2 le_rfl (by filter_upwards [ae_restrict_mem measurableSet_Ioc] with y hy exact div_nonneg (by norm_num) (affineWeight_pos ha hB (ht0.trans hy.1.le)).le) hi theorem clippedAffineGreen_bound {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t ≤ 1) (s : ℝ) : |clippedAffineGreen alpha B t s| ≤ affineGreenFun alpha B 1 t := by have hs := areaClamp_mem ht1 s unfold clippedAffineGreen rw [abs_of_nonneg (affineGreen_nonneg ha hB (ht0.trans hs.1) hs.2)] exact affineGreen_le_gate ha hB ht0 hs theorem clippedAffineGreen_memLp {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t ≤ 1) : MemLp (clippedAffineGreen alpha B t) 2 (trunkAreaMeasure t) := by letI := trunkAreaMeasure_finite t letI := trunkAreaMeasure_nullSingleton t apply MemLp.of_bound (clippedAffineGreen_continuous ha hB ht0 ht1).aestronglyMeasurable (affineGreenFun alpha B 1 t) exact Eventually.of_forall (fun s => by simpa only [Real.norm_eq_abs] using clippedAffineGreen_bound ha hB ht0 ht1 s) def affineTrunkKernel (alpha B t : ℝ) (z : ℝ × ℝ) : ℝ := clippedAffineGreen alpha B t (max z.1 z.2) theorem affineTrunkKernel_memLp {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t ≤ 1) : MemLp (affineTrunkKernel alpha B t) 2 ((trunkAreaMeasure t).prod (trunkAreaMeasure t)) := by letI := trunkAreaMeasure_finite t letI := trunkAreaMeasure_nullSingleton t have hc : Continuous (affineTrunkKernel alpha B t) := (clippedAffineGreen_continuous ha hB ht0 ht1).comp (continuous_fst.max continuous_snd) apply MemLp.of_bound hc.aestronglyMeasurable (affineGreenFun alpha B 1 t) exact Eventually.of_forall (fun z => by simpa only [Real.norm_eq_abs,affineTrunkKernel] using clippedAffineGreen_bound ha hB ht0 ht1 (max z.1 z.2)) /-- The ACTUAL trunk HS integral, rather than an asserted operator bound. -/ theorem affineTrunkKernel_hs_sq {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t ≤ 1) : (∫ z, (affineTrunkKernel alpha B t z)^2 ∂((trunkAreaMeasure t).prod (trunkAreaMeasure t))) = 2*(∫ s in t..1, (s-t)*(affineGreenFun alpha B 1 s)^2) := by letI := trunkAreaMeasure_finite t letI := trunkAreaMeasure_nullSingleton t have hK := affineTrunkKernel_memLp ha hB ht0 ht1 have he := orderedKernel_eq_prefix (μ := trunkAreaMeasure t) (fun s => (clippedAffineGreen alpha B t s)^2) (fun _ => (1:ℝ)) (by simpa only [one_mul,mul_one,affineTrunkKernel] using hK.integrable_sq) simpa only [affineTrunkKernel,one_mul,mul_one] using he.trans (by congr 1 rw [intervalIntegral.integral_of_le ht1] apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs simp only [mul_one] change (clippedAffineGreen alpha B t s)^2* (∫ y in Iic s, (1:ℝ) ∂(volume.restrict (Ioc t 1))) = (s-t)*(affineGreenFun alpha B 1 s)^2 rw [intervalPrefix_eq_restrictedIic (fun _ => (1:ℝ)) hs.1.le hs.2, intervalIntegral.integral_const,smul_eq_mul,mul_one, clippedAffineGreen_eq ⟨hs.1.le,hs.2⟩] ring) theorem affineTrunkKernel_hs_bound {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t < 1) : (∫ z, (affineTrunkKernel alpha B t z)^2 ∂((trunkAreaMeasure t).prod (trunkAreaMeasure t))) ≤ 2*QuantileFiniteCertificate.tailI1 alpha B t := by rw [affineTrunkKernel_hs_sq ha hB ht0 ht1.le] exact mul_le_mul_of_nonneg_left (affineGreen_I1_bound ha hB ht0 ht1) (by norm_num) theorem affineGreen_cross_sq_bound {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t < 1) (F : ℝ → ℝ) (hf : MemLp F 2 (trunkAreaMeasure t)) : (∫ s in t..1, affineGreenFun alpha B 1 s*F s)^2 ≤ QuantileFiniteCertificate.tailI0 alpha B t*(∫ s in t..1, (F s)^2) := by letI := trunkAreaMeasure_finite t letI := trunkAreaMeasure_nullSingleton t have hc := integral_mul_sq_le (clippedAffineGreen alpha B t) F (clippedAffineGreen_memLp ha hB ht0 ht1.le) hf have he : (∫ s, clippedAffineGreen alpha B t s*F s ∂trunkAreaMeasure t) = ∫ s in t..1, affineGreenFun alpha B 1 s*F s := by rw [intervalIntegral.integral_of_le ht1.le] apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs rw [clippedAffineGreen_eq ⟨hs.1.le,hs.2⟩] have hg : (∫ s, (clippedAffineGreen alpha B t s)^2 ∂trunkAreaMeasure t) = ∫ s in t..1, (affineGreenFun alpha B 1 s)^2 := by rw [intervalIntegral.integral_of_le ht1.le] apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs rw [clippedAffineGreen_eq ⟨hs.1.le,hs.2⟩] rw [he,hg] at hc change (∫ s in t..1, affineGreenFun alpha B 1 s*F s)^2 ≤ (∫ s in t..1, (affineGreenFun alpha B 1 s)^2)* (∫ s in Ioc t 1, (F s)^2) at hc rw [← intervalIntegral.integral_of_le ht1.le] at hc exact hc.trans (mul_le_mul_of_nonneg_right (affineGreen_I0_bound ha hB ht0 ht1) (intervalIntegral.integral_nonneg ht1.le (fun s _ => sq_nonneg (F s)))) end Polya26.Strike.S06.Header.PrimitiveStar end /-! Actual finite-star trunk Green decomposition and compression. The source, prefix and common gate are the frozen physical Data quantities. No Green or desired phase-energy estimate is an input field. -/ noncomputable section open MeasureTheory Set Filter open scoped BigOperators namespace Polya26.Strike.S06.Header.PrimitiveStar open Polya26.Strike.S01.Header.PureKernelSupport theorem continuousOn_trunk_memLp {t : ℝ} (ht : t ≤ 1) (f : ℝ → ℝ) (hc : ContinuousOn f (uIcc t 1)) : MemLp f 2 (trunkAreaMeasure t) := by have hcc : ContinuousOn f (Icc t 1) := by simpa only [uIcc_of_le ht] using hc apply (memLp_two_iff_integrable_sq ((hcc.mono Ioc_subset_Icc_self).aestronglyMeasurable measurableSet_Ioc)).mpr exact ((hcc.pow 2).integrableOn_Icc).mono_set Ioc_subset_Icc_self theorem tailI1_nonneg {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t < 1) : 0 ≤ QuantileFiniteCertificate.tailI1 alpha B t := by have hg : 0 ≤ ∫ s in t..1, (s-t)*(affineGreenFun alpha B 1 s)^2 := intervalIntegral.integral_nonneg ht1.le (fun s hs => mul_nonneg (sub_nonneg.mpr hs.1) (sq_nonneg _)) exact hg.trans (affineGreen_I1_bound ha hB ht0 ht1) theorem tailI0_nonneg {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t < 1) : 0 ≤ QuantileFiniteCertificate.tailI0 alpha B t := by exact (intervalIntegral.integral_nonneg ht1.le (fun s _ => sq_nonneg _)).trans (affineGreen_I0_bound ha hB ht0 ht1) theorem tailR_nonneg {alpha B t : ℝ} (ha : 0 < alpha) (hB : 0 < B) (ht0 : 0 ≤ t) (ht1 : t < 1) : 0 ≤ QuantileFiniteCertificate.tailR alpha B t := (affineGreen_nonneg ha hB ht0 ht1.le).trans (affineGreen_R_bound ha hB ht0 ht1) namespace FiniteStarData variable {ι : Type*} [Fintype ι] {alpha B : ℝ} theorem trunk_source_memLp (d : FiniteStarData ι alpha B) : MemLp d.trunk 2 (trunkAreaMeasure d.junction) := by letI := trunkAreaMeasure_finite d.junction exact MemLp.of_bound d.trunk_measurable.aestronglyMeasurable d.heightBound (Eventually.of_forall (fun s => by simpa only [Real.norm_eq_abs] using d.trunk_bound s)) def trunkCross (d : FiniteStarData ι alpha B) : ℝ := ∫ s in d.junction..1, affineGreenFun alpha B 1 s*d.trunk s def trunkKernelQuadratic (d : FiniteStarData ι alpha B) : ℝ := kernelQuadratic (μ := trunkAreaMeasure d.junction) (affineTrunkKernel alpha B d.junction) d.trunk /-- Prefix IBP and one actual Fubini swap expose the junction rank term, cross term and genuine trunk kernel quadratic. -/ theorem trunkGreen_identity (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (ha : 0 < alpha) (hB : 0 < B) : (∫ s in d.junction..1, (d.trunkPrefix weight s)^2/(alpha*s+4*B)) = affineGreenFun alpha B 1 d.junction*(d.gateFlux weight)^2+ 2*d.gateFlux weight*d.trunkCross+d.trunkKernelQuadratic := by letI := trunkAreaMeasure_finite d.junction letI := trunkAreaMeasure_nullSingleton d.junction let G := affineGreenFun alpha B 1 let J := d.trunkPrefix weight let A := d.gateFlux weight have hG := affineGreen_ac ha hB d.junction_nonneg d.junction_lt_one.le have hdG : deriv G =ᵐ[volume.restrict (uIoc d.junction 1)] fun s => -1/(alpha*s+4*B) := by rw [uIoc_of_le d.junction_lt_one.le] filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs exact affineGreen_deriv ha hB (d.junction_nonneg.trans hs.1.le) hs.2 have hdJ : deriv J =ᵐ[volume.restrict (uIoc d.junction 1)] d.trunk := by rw [uIoc_of_le d.junction_lt_one.le] exact d.trunkPrefix_deriv_ae weight have hstart : J d.junction = A := by simp [J,A,trunkPrefix] have hend : G 1 = 0 := by simp [G,affineGreenFun] have hibp := trunkPrefix_green_ibp_ac J G d.trunk (fun s => alpha*s+4*B) d.junction 1 A (G d.junction) (d.trunkPrefix_ac weight) hG hdJ hdG hstart rfl hend have hGm : MemLp G 2 (trunkAreaMeasure d.junction) := continuousOn_trunk_memLp d.junction_lt_one.le G hG.continuousOn have hPGm : MemLp (fun s => (J s-A)*G s) 2 (trunkAreaMeasure d.junction) := continuousOn_trunk_memLp d.junction_lt_one.le _ (((d.trunkPrefix_ac weight).continuousOn.sub continuousOn_const).mul hG.continuousOn) have hiGF : IntervalIntegrable (fun s => G s*d.trunk s) volume d.junction 1 := (intervalIntegrable_iff_integrableOn_Ioc_of_le d.junction_lt_one.le).mpr (hGm.integrable_mul d.trunk_source_memLp) have hiPGF : IntervalIntegrable (fun s => ((J s-A)*G s)*d.trunk s) volume d.junction 1 := (intervalIntegrable_iff_integrableOn_Ioc_of_le d.junction_lt_one.le).mpr (hPGm.integrable_mul d.trunk_source_memLp) have hexpand : (∫ s in d.junction..1, (J s*d.trunk s)*G s) = A*(∫ s in d.junction..1, G s*d.trunk s)+ (∫ s in d.junction..1, ((J s-A)*G s)*d.trunk s) := by calc _ = ∫ s in d.junction..1, A*(G s*d.trunk s)+((J s-A)*G s)*d.trunk s := by apply intervalIntegral.integral_congr intro s hs ring _ = _ := by rw [intervalIntegral.integral_add (hiGF.const_mul A) hiPGF, intervalIntegral.integral_const_mul] have hq : Integrable (fun z : ℝ × ℝ => clippedAffineGreen alpha B d.junction (max z.1 z.2)*(d.trunk z.1*d.trunk z.2)) ((trunkAreaMeasure d.junction).prod (trunkAreaMeasure d.junction)) := (affineTrunkKernel_memLp ha hB d.junction_nonneg d.junction_lt_one.le).integrable_mul (tensor_memLp_two d.trunk d.trunk_source_memLp) have hk := orderedKernel_eq_prefix (μ := trunkAreaMeasure d.junction) (clippedAffineGreen alpha B d.junction) d.trunk hq have hkernel : d.trunkKernelQuadratic = 2*(∫ s in d.junction..1, ((J s-A)*G s)*d.trunk s) := by change kernelQuadratic (μ := trunkAreaMeasure d.junction) (affineTrunkKernel alpha B d.junction) d.trunk = _ unfold kernelQuadratic affineTrunkKernel rw [hk] congr 1 rw [intervalIntegral.integral_of_le d.junction_lt_one.le] apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs rw [clippedAffineGreen_eq ⟨hs.1.le,hs.2⟩] change (affineGreenFun alpha B 1 s*d.trunk s)* (∫ y in Iic s, d.trunk y ∂(volume.restrict (Ioc d.junction 1))) = _ rw [intervalPrefix_eq_restrictedIic d.trunk hs.1.le hs.2] change (G s*d.trunk s)*(∫ y in d.junction..s, d.trunk y) = ((J s-A)*G s)*d.trunk s dsimp [J,A,trunkPrefix] ring rw [hexpand] at hibp dsimp only [G,A] at hibp change _ = _ at hibp rw [hkernel] change _ = affineGreenFun alpha B 1 d.junction*(d.gateFlux weight)^2+ 2*d.gateFlux weight*(∫ s in d.junction..1, G s*d.trunk s)+ 2*(∫ s in d.junction..1, ((J s-A)*G s)*d.trunk s) nlinarith only [hibp] theorem trunkCross_sq_bound (d : FiniteStarData ι alpha B) (ha : 0 < alpha) (hB : 0 < B) : d.trunkCross^2 ≤ QuantileFiniteCertificate.tailI0 alpha B d.junction*d.trunkMass := affineGreen_cross_sq_bound ha hB d.junction_nonneg d.junction_lt_one d.trunk d.trunk_source_memLp theorem trunkKernelQuadratic_le (d : FiniteStarData ι alpha B) (ha : 0 < alpha) (hB : 0 < B) : d.trunkKernelQuadratic ≤ Real.sqrt (2*QuantileFiniteCertificate.tailI1 alpha B d.junction)* d.trunkMass := by letI := trunkAreaMeasure_finite d.junction letI := trunkAreaMeasure_nullSingleton d.junction have hcoef : 0 ≤ 2*QuantileFiniteCertificate.tailI1 alpha B d.junction := mul_nonneg (by norm_num) (tailI1_nonneg ha hB d.junction_nonneg d.junction_lt_one) change kernelQuadratic (μ := trunkAreaMeasure d.junction) (affineTrunkKernel alpha B d.junction) d.trunk ≤ Real.sqrt (2*QuantileFiniteCertificate.tailI1 alpha B d.junction)* (∫ s in d.junction..1, (d.trunk s)^2) rw [intervalIntegral.integral_of_le d.junction_lt_one.le] change kernelQuadratic (μ := trunkAreaMeasure d.junction) (affineTrunkKernel alpha B d.junction) d.trunk ≤ Real.sqrt (2*QuantileFiniteCertificate.tailI1 alpha B d.junction)* (∫ s, (d.trunk s)^2 ∂trunkAreaMeasure d.junction) apply kernelQuadratic_le_hs (μ := trunkAreaMeasure d.junction) (affineTrunkKernel alpha B d.junction) d.trunk (Real.sqrt (2*QuantileFiniteCertificate.tailI1 alpha B d.junction)) (affineTrunkKernel_memLp ha hB d.junction_nonneg d.junction_lt_one.le) d.trunk_source_memLp (Real.sqrt_nonneg _) ?_ rw [Real.sq_sqrt hcoef] exact affineTrunkKernel_hs_bound ha hB d.junction_nonneg d.junction_lt_one theorem trunkGreen_le (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (ha : 0 < alpha) (hB : 0 < B) : (∫ s in d.junction..1, (d.trunkPrefix weight s)^2/(alpha*s+4*B)) ≤ QuantileFiniteCertificate.tailR alpha B d.junction*(d.gateFlux weight)^2+ 2*d.gateFlux weight*d.trunkCross+ Real.sqrt (2*QuantileFiniteCertificate.tailI1 alpha B d.junction)*d.trunkMass := by rw [d.trunkGreen_identity weight ha hB] exact add_le_add (add_le_add (mul_le_mul_of_nonneg_right (affineGreen_R_bound ha hB d.junction_nonneg d.junction_lt_one) (sq_nonneg _)) le_rfl) (d.trunkKernelQuadratic_le ha hB) end FiniteStarData end Polya26.Strike.S06.Header.PrimitiveStar /-! Natural radial-prefix Green identity. The prefix is AC on the whole window; the radial profile need only be locally AC. The left flux is retained on compact epsilon-windows and tends to zero by its genuine linear-prefix bound. No Neumann condition at the centre is imposed. -/ noncomputable section open MeasureTheory Set Filter open scoped Topology namespace Polya26.Strike.S06.Header.PrimitiveStar open Polya26.Strike.S01.Header.PureKernelSupport theorem primitiveTail_continuousOn {f : ℝ → ℝ} (hf : IntervalIntegrable f volume 0 1) : ContinuousOn (fun s => ∫ t in s..1, f t) (Icc 0 1) := by have h := (intervalIntegral.continuousOn_primitive_interval' hf right_mem_uIcc).neg have he : (-(fun s : ℝ => ∫ t in 1..s, f t)) = fun s => ∫ t in s..1, f t := by funext s exact (intervalIntegral.integral_symm (f := f) (μ := volume) 1 s).symm rw [he] at h simpa only [uIcc_of_le (by norm_num : (0:ℝ) ≤ 1)] using h /-- The exact radial Green identity for an actual AC prefix and actual represented derivative. Integrability is stated for the genuine two integrands and will follow from the bounded original profile. -/ theorem radialPrefix_green_identity (J h : ℝ → ℝ) (C : ℝ) (hC : 0 ≤ C) (hJ : Polya26.Strike.S02.Header.PrimitiveOn J 0 1) (hdJ : deriv J =ᵐ[volume.restrict (uIoc 0 1)] h) (hbound : ∀ s ∈ Icc (0:ℝ) 1, |J s| ≤ C*s) (hiD : IntervalIntegrable (fun s => (J s)^2/s) volume 0 1) (hiCross : IntervalIntegrable (fun s => (J s*h s)*(-Real.log s)) volume 0 1) : (∫ s in 0..1, (J s)^2/s) = 2*(∫ s in 0..1, (J s*h s)*(-Real.log s)) := by let eps : ℕ → ℝ := fun n => ((n:ℝ)+1)⁻¹ have heps_pos (n : ℕ) : 0 < eps n := by dsimp [eps] positivity have heps_le (n : ℕ) : eps n ≤ 1 := by dsimp [eps] apply (inv_le_one₀ (by positivity : (0:ℝ) < (n:ℝ)+1)).mpr linarith [Nat.cast_nonneg (α := ℝ) n] have heps_zero : Tendsto eps atTop (𝓝 0) := tendsto_inv_atTop_zero.comp (tendsto_atTop_add_const_right atTop 1 tendsto_natCast_atTop_atTop) have heps_right : Tendsto eps atTop (𝓝[>] 0) := tendsto_nhdsWithin_iff.mpr ⟨heps_zero,Eventually.of_forall heps_pos⟩ have heps_closed : Tendsto eps atTop (𝓝[Icc (0:ℝ) 1] 0) := tendsto_nhdsWithin_iff.mpr ⟨heps_zero,Eventually.of_forall (fun n => ⟨(heps_pos n).le,heps_le n⟩)⟩ have hIBP (n : ℕ) : (∫ s in eps n..1, (J s)^2/s) = (-Real.log (eps n))*(J (eps n))^2+ 2*(∫ s in eps n..1, (J s*h s)*(-Real.log s)) := by have hsub : uIcc (eps n) 1 ⊆ uIcc (0:ℝ) 1 := by rw [uIcc_of_le (heps_le n),uIcc_of_le (by norm_num : (0:ℝ) ≤ 1)] exact Icc_subset_Icc (heps_pos n).le le_rfl have hj := hJ.mono hsub have hg : Polya26.Strike.S02.Header.PrimitiveOn (fun s => -Real.log s) (eps n) 1 := by apply Polya26.Strike.S02.Header.PrimitiveOn.of_contDiffOn apply ContDiffOn.neg apply ContDiffOn.log contDiffOn_id intro s hs rw [uIcc_of_le (heps_le n)] at hs exact (lt_of_lt_of_le (heps_pos n) hs.1).ne' have hdj : deriv J =ᵐ[volume.restrict (uIoc (eps n) 1)] h := hdJ.filter_mono (ae_mono (Measure.restrict_mono (uIoc_subset_uIoc_of_uIcc_subset_uIcc hsub) le_rfl)) have hdg : deriv (fun s => -Real.log s) =ᵐ[volume.restrict (uIoc (eps n) 1)] fun s => -1/s := by rw [uIoc_of_le (heps_le n)] filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs have hspos := (heps_pos n).trans hs.1 have hd := (Real.hasDerivAt_log hspos.ne').neg have he : (-Real.log) = (fun t => -Real.log t) := by funext t; rfl rw [he] at hd change deriv (fun t => -Real.log t) s = -1/s simpa only [neg_div,one_div] using hd.deriv exact trunkPrefix_green_ibp_ac J (fun s => -Real.log s) h id (eps n) 1 (J (eps n)) (-Real.log (eps n)) hj hg hdj hdg rfl rfl (by simp) have hlimD : Tendsto (fun n => ∫ s in eps n..1, (J s)^2/s) atTop (𝓝 (∫ s in 0..1, (J s)^2/s)) := ((primitiveTail_continuousOn hiD) 0 (by simp)).tendsto.comp heps_closed have hlimCross : Tendsto (fun n => ∫ s in eps n..1, (J s*h s)*(-Real.log s)) atTop (𝓝 (∫ s in 0..1, (J s*h s)*(-Real.log s))) := ((primitiveTail_continuousOn hiCross) 0 (by simp)).tendsto.comp heps_closed have hlimLog : Tendsto (fun n => -C^2*(Real.log (eps n)*(eps n)^2)) atTop (𝓝 0) := by have h := (tendsto_log_mul_rpow_nhdsGT_zero (by norm_num : (0:ℝ) < 2)).comp heps_right simpa only [Function.comp_apply,Real.rpow_two,mul_zero] using h.const_mul (-C^2) have hflux0 (n : ℕ) : 0 ≤ (-Real.log (eps n))*(J (eps n))^2 := mul_nonneg (neg_nonneg.mpr (Real.log_nonpos (heps_pos n).le (heps_le n))) (sq_nonneg _) have hfluxBound (n : ℕ) : (-Real.log (eps n))*(J (eps n))^2 ≤ -C^2*(Real.log (eps n)*(eps n)^2) := by have hb := hbound (eps n) ⟨(heps_pos n).le,heps_le n⟩ have hs : (J (eps n))^2 ≤ (C*eps n)^2 := by have hh := (sq_le_sq₀ (abs_nonneg _) (mul_nonneg hC (heps_pos n).le)).mpr hb simpa only [sq_abs] using hh have hh := mul_le_mul_of_nonneg_left hs (neg_nonneg.mpr (Real.log_nonpos (heps_pos n).le (heps_le n))) convert hh using 1 <;> ring have hlimFlux : Tendsto (fun n => (-Real.log (eps n))*(J (eps n))^2) atTop (𝓝 0) := squeeze_zero hflux0 hfluxBound hlimLog have hlimRight := hlimFlux.add (hlimCross.const_mul 2) have heq : (fun n => ∫ s in eps n..1, (J s)^2/s) = fun n => (-Real.log (eps n))*(J (eps n))^2+ 2*(∫ s in eps n..1, (J s*h s)*(-Real.log s)) := funext hIBP rw [← heq] at hlimRight simpa only [zero_add] using tendsto_nhds_unique hlimD hlimRight end Polya26.Strike.S06.Header.PrimitiveStar /-! Actual radial prefix/kernel identification and the real area-space Schur bound. Masking only outside the genuine area window makes the positive Schur test pointwise; every actual integral is preserved. -/ noncomputable section open MeasureTheory Set Filter namespace Polya26.Strike.S06.Header.PrimitiveStar open Polya26.Strike.S01.Header.PureKernelSupport theorem radialPrefix_kernel_identity (J f : ℝ → ℝ) (C : ℝ) (hC : 0 ≤ C) (hf : MemLp f 2 unitAreaMeasure) (hJ : Polya26.Strike.S02.Header.PrimitiveOn J 0 1) (hdJ : deriv J =ᵐ[volume.restrict (uIoc 0 1)] f) (hprefix : ∀ s ∈ Icc (0:ℝ) 1, J s = ∫ t in 0..s, f t) (hbound : ∀ s ∈ Icc (0:ℝ) 1, |J s| ≤ C*s) (hiD : IntervalIntegrable (fun s => (J s)^2/s) volume 0 1) (hiCross : IntervalIntegrable (fun s => (J s*f s)*(-Real.log s)) volume 0 1) : (∫ s in 0..1, (J s)^2/s) = kernelQuadratic (μ := unitAreaMeasure) unitRadialLogKernel f := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton have hq : Integrable (fun z : ℝ × ℝ => -Real.log (max z.1 z.2)*(f z.1*f z.2)) (unitAreaMeasure.prod unitAreaMeasure) := by convert unitRadialLogKernel_memLp.integrable_mul (tensor_memLp_two f hf) using 1 funext z rfl have hk := orderedKernel_eq_prefix (μ := unitAreaMeasure) (fun s => -Real.log s) f hq rw [radialPrefix_green_identity J f C hC hJ hdJ hbound hiD hiCross] unfold kernelQuadratic unitRadialLogKernel rw [hk] congr 1 rw [intervalIntegral.integral_of_le (by norm_num : (0:ℝ) ≤ 1)] apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs change (J s*f s)*(-Real.log s) = (-Real.log s*f s)*(∫ t in Iic s, f t ∂(volume.restrict (Ioc 0 1))) rw [intervalPrefix_eq_restrictedIic f hs.1.le hs.2, hprefix s ⟨hs.1.le,hs.2⟩] ring def maskedRadialPhi (x : ℝ) : ℝ := by classical exact if x ∈ Ioo (0:ℝ) 1 then radialSchurPhi x else 1 def maskedRadialKernel (z : ℝ × ℝ) : ℝ := by classical exact if z.1 ∈ Ioo (0:ℝ) 1 ∧ z.2 ∈ Ioo (0:ℝ) 1 then unitRadialLogKernel z else 0 theorem maskedRadialPhi_pos (x : ℝ) : 0 < maskedRadialPhi x := by by_cases hx : x ∈ Ioo (0:ℝ) 1 · simp only [maskedRadialPhi,if_pos hx] exact radialSchurPhi_pos hx.1.le hx.2 · simp [maskedRadialPhi,hx] theorem maskedRadialKernel_eq_actual {x y : ℝ} (hx : x ∈ Ioc (0:ℝ) 1) (hy : y ∈ Ioc (0:ℝ) 1) : maskedRadialKernel (x,y) = unitRadialLogKernel (x,y) := by by_cases hxi : x < 1 · by_cases hyi : y < 1 · simp [maskedRadialKernel,show x ∈ Ioo (0:ℝ) 1 from ⟨hx.1,hxi⟩, show y ∈ Ioo (0:ℝ) 1 from ⟨hy.1,hyi⟩] · have hy1 : y = 1 := le_antisymm hy.2 (le_of_not_gt hyi) subst y simp [maskedRadialKernel,unitRadialLogKernel,max_eq_right hx.2] · have hx1 : x = 1 := le_antisymm hx.2 (le_of_not_gt hxi) subst x simp [maskedRadialKernel,unitRadialLogKernel,max_eq_left hy.2] theorem maskedRadial_row_actual {s t : ℝ} (hs : s ∈ Ioo (0:ℝ) 1) (ht : t ∈ Ioc (0:ℝ) 1) : maskedRadialKernel (s,t)*maskedRadialPhi t = radialLogKernel s t*radialSchurPhi t := by rw [maskedRadialKernel_eq_actual ⟨hs.1,hs.2.le⟩ ht] by_cases hti : t < 1 · simp only [maskedRadialPhi,if_pos (show t ∈ Ioo (0:ℝ) 1 from ⟨ht.1,hti⟩)] rfl · have ht1 : t = 1 := le_antisymm ht.2 (le_of_not_gt hti) subst t simp [unitRadialLogKernel,radialLogKernel,max_eq_right hs.2.le] /-- Actual logarithmic quadratic bound on the real restricted area measure, ready for the physical inverse profile. -/ theorem unitRadialLogKernel_quadratic_le_required (f : ℝ → ℝ) (hf : MemLp f 2 unitAreaMeasure) : kernelQuadratic (μ := unitAreaMeasure) unitRadialLogKernel f ≤ (16/23)*(∫ s, (f s)^2 ∂unitAreaMeasure) := by letI := unitAreaMeasure_finite letI := unitAreaMeasure_nullSingleton have hmeasK : Measurable maskedRadialKernel := by exact (Real.measurable_log.comp (measurable_fst.max measurable_snd)).neg.piecewise ((measurableSet_Ioo.preimage measurable_fst).inter (measurableSet_Ioo.preimage measurable_snd)) measurable_const have hmeasPhi : Measurable maskedRadialPhi := by have hc : Continuous radialSchurPhi := by unfold radialSchurPhi; fun_prop exact hc.measurable.piecewise measurableSet_Ioo measurable_const have hpositive (z : ℝ × ℝ) : 0 ≤ maskedRadialKernel z := by by_cases hz : z.1 ∈ Ioo (0:ℝ) 1 ∧ z.2 ∈ Ioo (0:ℝ) 1 · simp only [maskedRadialKernel,if_pos hz,unitRadialLogKernel] exact neg_nonneg.mpr (Real.log_nonpos (hz.1.1.trans_le (le_max_left _ _)).le (max_le hz.1.2.le hz.2.2.le)) · simp only [maskedRadialKernel,if_neg hz,le_refl] have hsym (z : ℝ × ℝ) : maskedRadialKernel z.swap = maskedRadialKernel z := by simp [maskedRadialKernel,unitRadialLogKernel,and_comm,max_comm] have hri : ∀ᵐ s ∂unitAreaMeasure, Integrable (fun t => maskedRadialKernel (s,t)*maskedRadialPhi t) unitAreaMeasure := by filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs by_cases hsi : s < 1 · have hk : Continuous (fun t => radialLogKernel s t) := ((continuous_const.max continuous_id).log (fun t => ne_of_gt (hs.1.trans_le (le_max_left _ _)))).neg have hpol : Continuous radialSchurPhi := by unfold radialSchurPhi; fun_prop apply ((hk.mul hpol).intervalIntegrable 0 1).1.congr filter_upwards [ae_restrict_mem measurableSet_Ioc] with t ht exact (maskedRadial_row_actual ⟨hs.1,hsi⟩ ht).symm · have hs1 : s = 1 := le_antisymm hs.2 (le_of_not_gt hsi) subst s simpa only [maskedRadialKernel,show ¬(1:ℝ) ∈ Ioo 0 1 by simp, false_and,if_false,zero_mul] using (integrable_const (0:ℝ) : Integrable (fun _ : ℝ => (0:ℝ)) unitAreaMeasure) have hr : ∀ᵐ s ∂unitAreaMeasure, (∫ t, maskedRadialKernel (s,t)*maskedRadialPhi t ∂unitAreaMeasure) ≤ (25/36)*maskedRadialPhi s := by filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs by_cases hsi : s < 1 · have he : (∫ t, maskedRadialKernel (s,t)*maskedRadialPhi t ∂unitAreaMeasure) = ∫ t in 0..1, radialLogKernel s t*radialSchurPhi t := by rw [intervalIntegral.integral_of_le (by norm_num : (0:ℝ) ≤ 1)] apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioc] with t ht exact maskedRadial_row_actual ⟨hs.1,hsi⟩ ht rw [he,radialLogKernel_schur_row hs.1 hs.2] simp only [maskedRadialPhi,if_pos (show s ∈ Ioo (0:ℝ) 1 from ⟨hs.1,hsi⟩)] exact radialSchurRow_le hs.1.le hs.2 · have hs1 : s = 1 := le_antisymm hs.2 (le_of_not_gt hsi) subst s norm_num [maskedRadialKernel,maskedRadialPhi] have he : kernelQuadratic (μ := unitAreaMeasure) unitRadialLogKernel f = kernelQuadratic (μ := unitAreaMeasure) maskedRadialKernel f := by apply integral_congr_ae have hmem : ∀ᵐ s ∂unitAreaMeasure, s ∈ Ioc (0:ℝ) 1 := ae_restrict_mem measurableSet_Ioc filter_upwards [Measure.quasiMeasurePreserving_fst.ae hmem, Measure.quasiMeasurePreserving_snd.ae hmem] with z hz1 hz2 rw [maskedRadialKernel_eq_actual hz1 hz2] rw [he] exact (kernelQuadratic_le_schur maskedRadialKernel maskedRadialPhi f (25/36) hmeasK.aestronglyMeasurable hmeasPhi.aestronglyMeasurable hf maskedRadialPhi_pos hpositive hsym hri hr).trans (mul_le_mul_of_nonneg_right radialSchurConstant_lt_required.le (integral_nonneg (fun s => sq_nonneg (f s)))) end Polya26.Strike.S06.Header.PrimitiveStar end end end end end end end /- END M038 -/ /- BEGIN M039 -/ section /-! A genuine flat smooth ramp with slope in [0,1] and an exact translated identity above its transition. It is used to handle raw component branches without declaring their zero extension C1. -/ noncomputable section open Set Filter MeasureTheory open scoped Topology ContDiff namespace Polya26.SmoothRamp def slope (ε s : ℝ) : ℝ := Real.smoothTransition ((s-ε)/ε) def ramp (ε s : ℝ) : ℝ := ∫ r in (0 : ℝ)..s, slope ε r def tailShift (ε : ℝ) : ℝ := 2*ε-ramp ε (2*ε) theorem contDiff_slope (ε : ℝ) : ContDiff ℝ ∞ (slope ε) := by exact Real.smoothTransition.contDiff.comp ((contDiff_id.sub contDiff_const).div_const ε) theorem slope_nonneg (ε s : ℝ) : 0 ≤ slope ε s := Real.smoothTransition.nonneg _ theorem slope_le_one (ε s : ℝ) : slope ε s ≤ 1 := Real.smoothTransition.le_one _ theorem slope_zero {ε s : ℝ} (hε : 0 < ε) (hs : s ≤ ε) : slope ε s = 0 := by apply Real.smoothTransition.zero_of_nonpos exact div_nonpos_of_nonpos_of_nonneg (by linarith) hε.le theorem slope_one {ε s : ℝ} (hε : 0 < ε) (hs : 2*ε ≤ s) : slope ε s = 1 := by apply Real.smoothTransition.one_of_one_le apply (one_le_div hε).mpr linarith theorem hasDerivAt_ramp (ε s : ℝ) : HasDerivAt (ramp ε) (slope ε s) s := by have hc : Continuous (slope ε) := (contDiff_slope ε).continuous exact intervalIntegral.integral_hasDerivAt_right (hc.intervalIntegrable 0 s) hc.aestronglyMeasurable.stronglyMeasurableAtFilter hc.continuousAt theorem contDiff_ramp (ε : ℝ) : ContDiff ℝ ∞ (ramp ε) := by apply contDiff_infty_iff_deriv.mpr refine ⟨fun s => (hasDerivAt_ramp ε s).differentiableAt,?_⟩ have he : deriv (ramp ε) = slope ε := funext (fun s => (hasDerivAt_ramp ε s).deriv) rw [he] exact contDiff_slope ε theorem ramp_zero {ε s : ℝ} (hε : 0 < ε) (hs : s ≤ ε) : ramp ε s = 0 := by have he : (∫ r in (0 : ℝ)..s, slope ε r) = ∫ r in (0 : ℝ)..s, (0 : ℝ) := by apply intervalIntegral.integral_congr intro r hr rcases mem_uIcc.mp hr with ⟨hr0,hrs⟩ | ⟨hrs,hr0⟩ · exact slope_zero hε (hrs.trans hs) · exact slope_zero hε (hr0.trans hε.le) simpa only [ramp,intervalIntegral.integral_zero] using he theorem ramp_nonneg {ε s : ℝ} (hs : 0 ≤ s) : 0 ≤ ramp ε s := intervalIntegral.integral_nonneg_of_forall hs (slope_nonneg ε) theorem ramp_le {ε s : ℝ} (hs : 0 ≤ s) : ramp ε s ≤ s := by have hc : Continuous (slope ε) := (contDiff_slope ε).continuous have h := intervalIntegral.integral_mono_on (μ := volume) hs (hc.intervalIntegrable 0 s) ((continuous_const : Continuous (fun _ : ℝ => (1 : ℝ))).intervalIntegrable 0 s) (fun r hr => slope_le_one ε r) simpa only [ramp,intervalIntegral.integral_const,sub_zero,smul_eq_mul,mul_one] using h theorem ramp_le_posPart {ε s : ℝ} (hε : 0 < ε) : ramp ε s ≤ max s 0 := by by_cases hs : 0 ≤ s · simpa only [max_eq_left hs] using ramp_le (ε := ε) hs · have hz : ramp ε s = 0 := ramp_zero hε (by linarith) rw [hz,max_eq_right (le_of_not_ge hs)] theorem ramp_nonneg_all {ε s : ℝ} (hε : 0 < ε) : 0 ≤ ramp ε s := by by_cases hs : 0 ≤ s · exact ramp_nonneg hs · rw [ramp_zero hε (by linarith)] theorem tailShift_bounds {ε : ℝ} (hε : 0 < ε) : ε ≤ tailShift ε ∧ tailShift ε ≤ 2*ε := by have hc : Continuous (slope ε) := (contDiff_slope ε).continuous have hsplit := intervalIntegral.integral_add_adjacent_intervals (μ := volume) (hc.intervalIntegrable 0 ε) (hc.intervalIntegrable ε (2*ε)) change ramp ε ε + (∫ r in ε..(2*ε), slope ε r) = ramp ε (2*ε) at hsplit rw [ramp_zero hε le_rfl,zero_add] at hsplit have hm := intervalIntegral.integral_mono_on (μ := volume) (by linarith : ε ≤ 2*ε) (hc.intervalIntegrable ε (2*ε)) ((continuous_const : Continuous (fun _ : ℝ => (1 : ℝ))).intervalIntegrable ε (2*ε)) (fun r hr => slope_le_one ε r) simp only [intervalIntegral.integral_const,smul_eq_mul,mul_one] at hm have hn : 0 ≤ ramp ε (2*ε) := ramp_nonneg (by positivity) unfold tailShift constructor <;> linarith theorem ramp_affine_tail {ε s : ℝ} (hε : 0 < ε) (hs : 2*ε ≤ s) : ramp ε s = s-tailShift ε := by have hc : Continuous (slope ε) := (contDiff_slope ε).continuous have htail : (∫ r in (2*ε)..s, slope ε r) = s-2*ε := by calc _ = ∫ r in (2*ε)..s, (1 : ℝ) := by apply intervalIntegral.integral_congr intro r hr rw [uIcc_of_le hs] at hr exact slope_one hε hr.1 _ = s-2*ε := by simp only [intervalIntegral.integral_const,smul_eq_mul,mul_one] have hsplit := intervalIntegral.integral_add_adjacent_intervals (μ := volume) (hc.intervalIntegrable 0 (2*ε)) (hc.intervalIntegrable (2*ε) s) change ramp ε (2*ε) + (∫ r in (2*ε)..s, slope ε r) = ramp ε s at hsplit rw [htail] at hsplit unfold tailShift linarith end Polya26.SmoothRamp end end /- END M039 -/ /- BEGIN M040 -/ section /-! Actual level components and smooth zero extensions across their boundary. No regular level, Jordan curve, or boundary smoothness is assumed. -/ noncomputable section open Set Filter Topology Metric open scoped ContDiff namespace Polya26.LevelComponentBoundary variable {X : Type*} [NormedAddCommGroup X] [NormedSpace ℝ X] theorem frontier_component_subset_frontier {E : Set X} (hE : IsOpen E) (p : X) : frontier (connectedComponentIn E p) ⊆ frontier E := by let D := connectedComponentIn E p intro y hy have hycl : y ∈ closure E := closure_mono (connectedComponentIn_subset E p) hy.1 have hyn : y ∉ E := by intro hye obtain ⟨ε,hε,hballE⟩ := Metric.isOpen_iff.mp hE y hye obtain ⟨z,hzball,hzD⟩ := mem_closure_iff.mp hy.1 (ball y ε) isOpen_ball (mem_ball_self hε) have hballD : ball y ε ⊆ D := by have hs := (convex_ball y ε).isPreconnected.subset_connectedComponentIn hzball hballE rw [← connectedComponentIn_eq hzD] at hs exact hs exact hy.2 (interior_maximal hballD isOpen_ball (mem_ball_self hε)) exact ⟨hycl,by simpa only [hE.interior_eq] using hyn⟩ theorem value_on_frontier_level_component {u : X → ℝ} (hu : Continuous u) (τ : ℝ) (p : X) {x : X} (hx : x ∈ frontier (connectedComponentIn {y | τ < u y} p)) : u x = τ := by have hE : IsOpen {y : X | τ < u y} := isOpen_lt continuous_const hu have hfront := frontier_component_subset_frontier hE p hx have hclosed : IsClosed {y : X | τ ≤ u y} := isClosed_le continuous_const hu have hsub : ({y : X | τ < u y} : Set X) ⊆ {y | τ ≤ u y} := fun y hy => (show τ ≤ u y from le_of_lt hy) have hge : τ ≤ u x := closure_minimal hsub hclosed hfront.1 have hnot : ¬ τ < u x := by simpa only [hE.interior_eq,mem_setOf_eq] using hfront.2 exact le_antisymm (le_of_not_gt hnot) hge def zeroExtension {Y : Type*} [Zero Y] (D : Set X) (v : X → Y) (x : X) : Y := by classical exact if x ∈ D then v x else 0 theorem zeroExtension_eventually_inside {D : Set X} (hD : IsOpen D) (v : X → ℝ) {x : X} (hx : x ∈ D) : zeroExtension D v =ᶠ[𝓝 x] v := by filter_upwards [hD.mem_nhds hx] with y hy simp only [zeroExtension,if_pos hy] theorem hasCompactSupport_zeroExtension {Y : Type*} [Zero Y] (D : Set X) (v : X → Y) (hv : HasCompactSupport v) : HasCompactSupport (zeroExtension D v) := by classical apply hv.mono intro x hx change zeroExtension D v x ≠ 0 at hx change v x ≠ 0 intro hv0 apply hx simp only [zeroExtension,hv0,ite_self] /-- A positive cutoff gap gives a genuine zero neighbourhood at every point outside the actual component, including singular boundary points. -/ theorem zeroExtension_eventually_zero {u : X → ℝ} (hu : Continuous u) {τ β : ℝ} (hgap : τ < β) {g : ℝ → ℝ} (hgzero : ∀ s ≤ β, g s = 0) (p : X) {x : X} (hx : x ∉ connectedComponentIn {y | τ < u y} p) : zeroExtension (connectedComponentIn {y | τ < u y} p) (g ∘ u) =ᶠ[𝓝 x] 0 := by let D := connectedComponentIn {y | τ < u y} p have hD : IsOpen D := (isOpen_lt continuous_const hu).connectedComponentIn by_cases hxc : x ∈ closure D · have hxf : x ∈ frontier D := ⟨hxc,by simpa only [hD.interior_eq] using hx⟩ have hux : u x = τ := value_on_frontier_level_component hu τ p hxf have hU : IsOpen {y : X | u y < β} := isOpen_lt hu continuous_const have hxU : x ∈ {y : X | u y < β} := by change u x < β simpa only [hux] using hgap filter_upwards [hU.mem_nhds hxU] with y hy have hz : g (u y) = 0 := hgzero (u y) (le_of_lt hy) simp only [zeroExtension,Function.comp_apply,hz,ite_self,Pi.zero_apply] · filter_upwards [isClosed_closure.isOpen_compl.mem_nhds hxc] with y hy have hyD : y ∉ D := fun h => hy (subset_closure h) have hyD' : y ∉ connectedComponentIn {z | τ < u z} p := hyD simp only [zeroExtension,if_neg hyD',Pi.zero_apply] theorem contDiff_zeroExtension {u : X → ℝ} (hu : ContDiff ℝ ∞ u) {τ β : ℝ} (hgap : τ < β) {g : ℝ → ℝ} (hg : ContDiff ℝ ∞ g) (hgzero : ∀ s ≤ β, g s = 0) (p : X) : ContDiff ℝ ∞ (zeroExtension (connectedComponentIn {y | τ < u y} p) (g ∘ u)) := by apply contDiff_iff_contDiffAt.mpr intro x by_cases hx : x ∈ connectedComponentIn {y | τ < u y} p · exact (hg.comp hu).contDiffAt.congr_of_eventuallyEq (zeroExtension_eventually_inside ((isOpen_lt continuous_const hu.continuous).connectedComponentIn) (g ∘ u) hx) · exact contDiffAt_const.congr_of_eventuallyEq (zeroExtension_eventually_zero hu.continuous hgap hgzero p hx) theorem tsupport_zeroExtension_subset_component {u : X → ℝ} (hu : Continuous u) {τ β : ℝ} (hgap : τ < β) {g : ℝ → ℝ} (hgzero : ∀ s ≤ β, g s = 0) (p : X) : tsupport (zeroExtension (connectedComponentIn {y | τ < u y} p) (g ∘ u)) ⊆ connectedComponentIn {y | τ < u y} p := by intro x hx by_contra hn exact ((notMem_tsupport_iff_eventuallyEq).mpr (zeroExtension_eventually_zero hu hgap hgzero p hn)) hx theorem fderiv_zeroExtension {u : X → ℝ} (hu : Continuous u) {τ β : ℝ} (hgap : τ < β) {g : ℝ → ℝ} (hgzero : ∀ s ≤ β, g s = 0) (p : X) (x : X) : fderiv ℝ (zeroExtension (connectedComponentIn {y | τ < u y} p) (g ∘ u)) x = zeroExtension (connectedComponentIn {y | τ < u y} p) (fderiv ℝ (g ∘ u)) x := by classical by_cases hx : x ∈ connectedComponentIn {y | τ < u y} p · rw [zeroExtension,if_pos hx] exact (zeroExtension_eventually_inside ((isOpen_lt continuous_const hu).connectedComponentIn) (g ∘ u) hx).fderiv_eq · rw [zeroExtension,if_neg hx,(zeroExtension_eventually_zero hu hgap hgzero p hx).fderiv_eq] exact fderiv_const_apply 0 end Polya26.LevelComponentBoundary end end /- END M040 -/ /- BEGIN M041 -/ section /-! Smooth flat cutoffs of genuine nodal and high-level components. Their energy budget is the actual component integral. The raw gated branch is never declared differentiable. -/ noncomputable section open Set Filter Topology MeasureTheory open scoped ContDiff namespace Polya26.ComponentCutoff open Polya26.LevelComponentBoundary Polya26.SmoothRamp variable {X : Type*} [NormedAddCommGroup X] [InnerProductSpace ℝ X] [CompleteSpace X] def component (u : X → ℝ) (τ : ℝ) (p : X) : Set X := connectedComponentIn {x | τ < u x} p def rawBranch (u : X → ℝ) (τ : ℝ) (p : X) : X → ℝ := zeroExtension (component u τ p) (fun x => u x-τ) def smoothBranch (ε : ℝ) (u : X → ℝ) (τ : ℝ) (p : X) : X → ℝ := zeroExtension (component u τ p) (fun x => ramp ε (u x-τ)) theorem component_isOpen {u : X → ℝ} (hu : Continuous u) (τ : ℝ) (p : X) : IsOpen (component u τ p) := (isOpen_lt continuous_const hu).connectedComponentIn theorem contDiff_smoothBranch {u : X → ℝ} (hu : ContDiff ℝ ∞ u) {ε : ℝ} (hε : 0 < ε) (τ : ℝ) (p : X) : ContDiff ℝ ∞ (smoothBranch ε u τ p) := by have hg : ContDiff ℝ ∞ (fun s : ℝ => ramp ε (s-τ)) := (contDiff_ramp ε).comp (contDiff_id.sub contDiff_const) have hz : ∀ s ≤ τ+ε, ramp ε (s-τ) = 0 := fun s hs => ramp_zero hε (by linarith) exact contDiff_zeroExtension hu (by linarith : τ < τ+ε) hg hz p theorem hasCompactSupport_smoothBranch {u : X → ℝ} (hu : HasCompactSupport u) {ε τ : ℝ} (hε : 0 < ε) (hτ : 0 ≤ τ) (p : X) : HasCompactSupport (smoothBranch ε u τ p) := by have hg : HasCompactSupport ((fun s : ℝ => ramp ε (s-τ)) ∘ u) := hu.comp_left (ramp_zero hε (by linarith : (0 : ℝ)-τ ≤ ε)) exact hasCompactSupport_zeroExtension (component u τ p) ((fun s : ℝ => ramp ε (s-τ)) ∘ u) hg theorem tsupport_smoothBranch_subset {u : X → ℝ} (hu : Continuous u) {ε : ℝ} (hε : 0 < ε) (τ : ℝ) (p : X) : tsupport (smoothBranch ε u τ p) ⊆ component u τ p := by exact tsupport_zeroExtension_subset_component hu (by linarith : τ < τ+ε) (fun s hs => ramp_zero hε (by linarith : s-τ ≤ ε)) p theorem smoothBranch_eq_ramp_raw {u : X → ℝ} {ε : ℝ} (hε : 0 < ε) (τ : ℝ) (p x : X) : smoothBranch ε u τ p x = ramp ε (rawBranch u τ p x) := by classical by_cases hx : x ∈ component u τ p · simp only [smoothBranch,rawBranch,zeroExtension,if_pos hx] · simp only [smoothBranch,rawBranch,zeroExtension,if_neg hx] exact (ramp_zero hε hε.le).symm theorem fderiv_smoothBranch {u : X → ℝ} (hu : ContDiff ℝ ∞ u) {ε : ℝ} (hε : 0 < ε) (τ : ℝ) (p x : X) : fderiv ℝ (smoothBranch ε u τ p) x = zeroExtension (component u τ p) (fun y => slope ε (u y-τ) • fderiv ℝ u y) x := by classical by_cases hx : x ∈ component u τ p · have he : smoothBranch ε u τ p =ᶠ[𝓝 x] (fun y => ramp ε (u y-τ)) := zeroExtension_eventually_inside (component_isOpen hu.continuous τ p) _ hx have hud : HasFDerivAt (fun y : X => u y-τ) (fderiv ℝ u x) x := (hu.differentiable (by simp) x).hasFDerivAt.sub_const τ have hcomp := HasDerivAt.comp_hasFDerivAt (f := fun y : X => u y-τ) x (hasDerivAt_ramp ε (u x-τ)) hud have hd : HasFDerivAt (fun y => ramp ε (u y-τ)) (slope ε (u x-τ) • fderiv ℝ u x) x := by simpa only [Function.comp_def] using hcomp rw [he.fderiv_eq,hd.fderiv] simp only [zeroExtension,if_pos hx] · have he : smoothBranch ε u τ p =ᶠ[𝓝 x] 0 := zeroExtension_eventually_zero hu.continuous (by linarith : τ < τ+ε) (fun s hs => ramp_zero hε (by linarith : s-τ ≤ ε)) p hx rw [he.fderiv_eq] simp only [fderiv_zero,Pi.zero_apply,zeroExtension,if_neg hx] theorem norm_fderiv_smoothBranch_le {u : X → ℝ} (hu : ContDiff ℝ ∞ u) {ε : ℝ} (hε : 0 < ε) (τ : ℝ) (p x : X) : ‖fderiv ℝ (smoothBranch ε u τ p) x‖ ≤ (component u τ p).indicator (fun y => ‖fderiv ℝ u y‖) x := by classical rw [fderiv_smoothBranch hu hε τ p x] by_cases hx : x ∈ component u τ p · simp only [zeroExtension,if_pos hx,indicator_of_mem hx,norm_smul, Real.norm_eq_abs,abs_of_nonneg (slope_nonneg ε (u x-τ))] simpa only [one_mul] using mul_le_mul_of_nonneg_right (slope_le_one ε (u x-τ)) (norm_nonneg (fderiv ℝ u x)) · simp only [zeroExtension,if_neg hx,indicator_of_notMem hx,norm_zero,le_refl] theorem norm_gradient_eq_norm_fderiv (v : X → ℝ) (x : X) : ‖gradient v x‖ = ‖fderiv ℝ v x‖ := by have h := (InnerProductSpace.toDual ℝ X).norm_map (gradient v x) rw [toDual_gradient] at h exact h.symm section Measure variable [MeasurableSpace X] [BorelSpace X] theorem fderiv_energy_smoothBranch_le {μ : Measure X} {u : X → ℝ} (hu : ContDiff ℝ ∞ u) {ε : ℝ} (hε : 0 < ε) (τ : ℝ) (p : X) (hq : Integrable (fun x => ‖fderiv ℝ u x‖^2) μ) : (∫ x, ‖fderiv ℝ (smoothBranch ε u τ p) x‖^2 ∂μ) ≤ ∫ x in component u τ p, ‖fderiv ℝ u x‖^2 ∂μ := by classical let D := component u τ p have hD : MeasurableSet D := (component_isOpen hu.continuous τ p).measurableSet have hb (x : X) : ‖fderiv ℝ (smoothBranch ε u τ p) x‖^2 ≤ D.indicator (fun y => ‖fderiv ℝ u y‖^2) x := by have h := norm_fderiv_smoothBranch_le hu hε τ p x by_cases hx : x ∈ D · rw [indicator_of_mem hx] at h ⊢ exact (sq_le_sq₀ (norm_nonneg _) (norm_nonneg _)).mpr h · rw [indicator_of_notMem hx] at h ⊢ have hz : ‖fderiv ℝ (smoothBranch ε u τ p) x‖ = 0 := le_antisymm h (norm_nonneg _) rw [hz] norm_num have hmajor := hq.indicator hD have hc : Continuous (fun x => ‖fderiv ℝ (smoothBranch ε u τ p) x‖^2) := ((contDiff_smoothBranch hu hε τ p).continuous_fderiv (by simp)).norm.pow 2 have hi : Integrable (fun x => ‖fderiv ℝ (smoothBranch ε u τ p) x‖^2) μ := hmajor.mono' hc.aestronglyMeasurable (Eventually.of_forall (fun x => by have hn : 0 ≤ ‖fderiv ℝ (smoothBranch ε u τ p) x‖^2 := sq_nonneg _ simpa only [Real.norm_eq_abs,abs_of_nonneg hn] using hb x)) have h := integral_mono hi hmajor hb rw [integral_indicator hD] at h exact h theorem gradient_energy_smoothBranch_le {μ : Measure X} {u : X → ℝ} (hu : ContDiff ℝ ∞ u) {ε : ℝ} (hε : 0 < ε) (τ : ℝ) (p : X) (hq : Integrable (fun x => ‖gradient u x‖^2) μ) : (∫ x, ‖gradient (smoothBranch ε u τ p) x‖^2 ∂μ) ≤ ∫ x in component u τ p, ‖gradient u x‖^2 ∂μ := by simp_rw [norm_gradient_eq_norm_fderiv] at hq ⊢ exact fderiv_energy_smoothBranch_le hu hε τ p hq end Measure end Polya26.ComponentCutoff end end /- END M041 -/ /- BEGIN M042 -/ section /-! Exact transport of compact positive-height tests through a flat smooth ramp. The raw component branch is never declared differentiable. A translated test sees only the exact affine tail, so its superlevel numerator and value norm agree exactly with the original raw-branch quantities. -/ noncomputable section open Set MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.Lead.Header.ComponentSupport open Polya26.PlanarIsoperimetric Polya26.Strike.S04 open Polya26.SmoothRamp theorem positive_height_weight_gap {w : ℝ → ℝ} (hwc : HasCompactSupport w) (hwsupp : tsupport w ⊆ Ioi 0) : ∃ h : ℝ, 0 < h ∧ ∀ s ≤ h, w s = 0 := by obtain ⟨b, hb, hmin⟩ := hwc.isCompact.exists_forall_le' (continuous_id.continuousOn : ContinuousOn (fun s : ℝ => s) (tsupport w)) (fun s hs => (show 0 < s from hwsupp hs)) refine ⟨b / 2, by linarith, ?_⟩ intro s hs by_contra hne have hbs := hmin s (subset_tsupport w hne) change b ≤ s at hbs linarith theorem translated_height_weight_hasCompactSupport {w : ℝ → ℝ} (hwc : HasCompactSupport w) (c : ℝ) : HasCompactSupport (fun s : ℝ => w (s + c)) := by apply HasCompactSupport.of_support_subset_isCompact (hwc.isCompact.image (continuous_id.sub continuous_const)) intro s hs refine ⟨s + c, subset_tsupport w hs, ?_⟩ change (s + c) - c = s ring theorem ramp_superlevel_tail {ε t s : ℝ} (hε : 0 < ε) (ht : 2 * ε ≤ t) : t < ramp ε s ↔ t + tailShift ε < s := by have hc := tailShift_bounds hε by_cases hs : 2 * ε ≤ s · rw [ramp_affine_tail hε hs] constructor <;> intro h <;> linarith · have hs' : s < 2 * ε := lt_of_not_ge hs have hmax : max s 0 ≤ 2 * ε := max_le hs'.le (by positivity) have hr : ramp ε s ≤ t := (ramp_le_posPart hε).trans (hmax.trans ht) have hst : s ≤ t + tailShift ε := by linarith simp only [not_lt.mpr hr, not_lt.mpr hst] theorem shifted_weight_ramp_identity {w : ℝ → ℝ} {h ε : ℝ} (hε : 0 < ε) (hgap : 4 * ε < h) (hwzero : ∀ s ≤ h, w s = 0) (s : ℝ) : w (ramp ε s + tailShift ε) = w s := by have hc := tailShift_bounds hε by_cases hs : 2 * ε ≤ s · rw [ramp_affine_tail hε hs] congr 1 ring · have hs' : s < 2 * ε := lt_of_not_ge hs have hmax : max s 0 ≤ 2 * ε := max_le hs'.le (by positivity) have hr : ramp ε s + tailShift ε ≤ h := by have hramp := (ramp_le_posPart hε).trans hmax linarith rw [hwzero _ hr, hwzero s (by linarith)] theorem shifted_weight_superlevel_integral {v : Plane → ℝ} {w : ℝ → ℝ} {h ε : ℝ} (hε : 0 < ε) (hgap : 4 * ε < h) (hwzero : ∀ s ≤ h, w s = 0) : (∫ t in Ioi 0, w (t + tailShift ε) * Real.sqrt (Math30.Polya.area {x | t < ramp ε (v x)})) = ∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < v x}) := by have hc := tailShift_bounds hε have hh : 0 < h := by linarith have hleft : (∫ t in Ioi 0, w (t + tailShift ε) * Real.sqrt (Math30.Polya.area {x | t < ramp ε (v x)})) = ∫ t, w (t + tailShift ε) * Real.sqrt (Math30.Polya.area {x | t < ramp ε (v x)}) := by apply setIntegral_eq_integral_of_forall_compl_eq_zero intro t ht rw [hwzero (t + tailShift ε) (by have ht' : t ≤ 0 := le_of_not_gt ht; linarith), zero_mul] have hright : (∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < v x})) = ∫ t, w t * Real.sqrt (Math30.Polya.area {x | t < v x}) := by apply setIntegral_eq_integral_of_forall_compl_eq_zero intro t ht rw [hwzero t ((le_of_not_gt ht).trans hh.le), zero_mul] rw [hleft, hright] calc _ = ∫ t, w (t + tailShift ε) * Real.sqrt (Math30.Polya.area {x | t + tailShift ε < v x}) := by apply integral_congr_ae exact Filter.Eventually.of_forall fun t => by by_cases hw0 : w (t + tailShift ε) = 0 · simp only [hw0, zero_mul] · have hth : h < t + tailShift ε := by by_contra hnot exact hw0 (hwzero _ (le_of_not_gt hnot)) have ht : 2 * ε ≤ t := by linarith have hset : {x | t < ramp ε (v x)} = {x | t + tailShift ε < v x} := by ext x exact ramp_superlevel_tail hε ht dsimp only rw [hset] _ = _ := integral_add_right_eq_self (fun t : ℝ => w t * Real.sqrt (Math30.Polya.area {x | t < v x})) (tailShift ε) /-- A transport lemma. The actual component instance below will supply these genuine smooth-ramp facts from ComponentCutoff, rather than declaring the raw branch itself C¹. -/ theorem raw_branch_continuous_dual_of_ramps {v : Plane → ℝ} {Q : ℝ} (hmeas : Measurable v) (hramps : ∀ ε > 0, HasCompactSupport (fun x : Plane => ramp ε (v x)) ∧ ContDiff ℝ 1 (fun x : Plane => ramp ε (v x)) ∧ (∫ x : Plane, ‖gradient (fun y : Plane => ramp ε (v y)) x‖ ^ 2) ≤ Q) {w : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwsupp : tsupport w ⊆ Ioi 0) (hwnn : ∀ s, 0 ≤ w s) : 4 * Real.pi * (∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < v x})) ^ 2 ≤ Q * (∫ t, (w t) ^ 2 ∂positiveValueMeasure v) := by obtain ⟨h, hh, hwzero⟩ := positive_height_weight_gap hwc hwsupp let ε : ℝ := h / 8 have hε : 0 < ε := by dsimp [ε]; positivity have hgap : 4 * ε < h := by dsimp [ε]; linarith obtain ⟨hvc, hvsmooth, henergy⟩ := hramps ε hε let wε : ℝ → ℝ := fun s => w (s + tailShift ε) have hwε : Continuous wε := hw.comp (continuous_id.add_const _) have hwεc : HasCompactSupport wε := translated_height_weight_hasCompactSupport hwc _ have hwεnn : ∀ s, 0 ≤ wε s := fun s => hwnn _ have hwεzero : ∀ s ≤ 0, wε s = 0 := by intro s hs exact hwzero _ (by have hc := tailShift_bounds hε; linarith) have hphysical := ordinary_height_band_weighted_energy hvc hvsmooth hwε hwεc hwεnn hwεzero (J := univ) (fun s hs => False.elim (hs (mem_univ s))) simp only [mem_univ, setOf_true, setIntegral_univ] at hphysical have hintegral := shifted_weight_superlevel_integral (v := v) hε hgap hwzero have hvalue : (∫ x : Plane, (wε (ramp ε (v x))) ^ 2) = ∫ x : Plane, (w (v x)) ^ 2 := by apply integral_congr_ae exact Filter.Eventually.of_forall fun x => congrArg (fun z : ℝ => z ^ 2) (shifted_weight_ramp_identity hε hgap hwzero (v x)) change 4 * Real.pi * (∫ t in Ioi 0, w (t + tailShift ε) * Real.sqrt (Math30.Polya.area {x | t < ramp ε (v x)})) ^ 2 ≤ (∫ x : Plane, ‖gradient (fun y : Plane => ramp ε (v y)) x‖ ^ 2) * (∫ x : Plane, (wε (ramp ε (v x))) ^ 2) at hphysical rw [hintegral, hvalue] at hphysical have hmass : 0 ≤ ∫ x : Plane, (w (v x)) ^ 2 := integral_nonneg fun x => sq_nonneg _ have hmain := hphysical.trans (mul_le_mul_of_nonneg_right henergy hmass) rw [positiveValueMeasure_weight_sq hmeas hw.measurable (fun s hs => hwzero s (hs.trans hh.le))] exact hmain theorem component_rawBranch_measurable {u : Plane → ℝ} (hu : Continuous u) (τ : ℝ) (p : Plane) : Measurable (Polya26.ComponentCutoff.rawBranch u τ p) := by classical change Measurable ((Polya26.ComponentCutoff.component u τ p).indicator (fun x => u x - τ)) exact (hu.measurable.sub measurable_const).indicator (Polya26.ComponentCutoff.component_isOpen hu τ p).measurableSet theorem component_rawBranch_hasCompactSupport {u : Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Plane) : HasCompactSupport (Polya26.ComponentCutoff.rawBranch u τ p) := by classical apply hu.mono intro x hx by_cases hxD : x ∈ Polya26.ComponentCutoff.component u τ p · have hxE : τ < u x := connectedComponentIn_subset {y | τ < u y} p hxD exact ne_of_gt (hτ.trans_lt hxE) · exact False.elim (hx (by simp only [Polya26.ComponentCutoff.rawBranch, Polya26.LevelComponentBoundary.zeroExtension, if_neg hxD])) theorem component_rawBranch_positive_set (u : Plane → ℝ) (τ : ℝ) (p : Plane) : {x | 0 < Polya26.ComponentCutoff.rawBranch u τ p x} = Polya26.ComponentCutoff.component u τ p := by classical ext x by_cases hxD : x ∈ Polya26.ComponentCutoff.component u τ p · have hxE : τ < u x := connectedComponentIn_subset {y | τ < u y} p hxD simp only [Polya26.ComponentCutoff.rawBranch, Polya26.LevelComponentBoundary.zeroExtension, if_pos hxD, mem_setOf_eq] exact iff_of_true (sub_pos.mpr hxE) hxD · simp [Polya26.ComponentCutoff.rawBranch, Polya26.LevelComponentBoundary.zeroExtension, hxD] theorem component_rawBranch_valueMeasure_eq {u : Plane → ℝ} (hu : Continuous u) (τ : ℝ) (p : Plane) : positiveValueMeasure (Polya26.ComponentCutoff.rawBranch u τ p) = Measure.map (fun x : Plane => u x - τ) (volume.restrict (Polya26.ComponentCutoff.component u τ p)) := by classical rw [positiveValueMeasure, component_rawBranch_positive_set] apply Measure.map_congr apply ae_restrict_of_forall_mem (Polya26.ComponentCutoff.component_isOpen hu τ p).measurableSet intro x hx simp only [Polya26.ComponentCutoff.rawBranch, Polya26.LevelComponentBoundary.zeroExtension, if_pos hx] theorem component_continuous_height_dual {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Plane) {w : ℝ → ℝ} (hw : Continuous w) (hwc : HasCompactSupport w) (hwsupp : tsupport w ⊆ Ioi 0) (hwnn : ∀ s, 0 ≤ w s) : 4 * Real.pi * (∫ t in Ioi 0, w t * Real.sqrt (Math30.Polya.area {x | t < Polya26.ComponentCutoff.rawBranch u τ p x})) ^ 2 ≤ (∫ x in Polya26.ComponentCutoff.component u τ p, ‖gradient u x‖ ^ 2) * (∫ t, (w t) ^ 2 ∂positiveValueMeasure (Polya26.ComponentCutoff.rawBranch u τ p)) := by have hf1 : ContDiff ℝ 1 u := hf.of_le (by simp) have hqc : HasCompactSupport (fun x : Plane => ‖gradient u x‖ ^ 2) := (hasCompactSupport_gradient hu).comp_left (g := fun z : Plane => ‖z‖ ^ 2) (by simp) have hq : Integrable (fun x : Plane => ‖gradient u x‖ ^ 2) volume := ((continuous_gradient hf1).norm.pow 2).integrable_of_hasCompactSupport hqc have hramps : ∀ ε > 0, HasCompactSupport (fun x : Plane => ramp ε (Polya26.ComponentCutoff.rawBranch u τ p x)) ∧ ContDiff ℝ 1 (fun x : Plane => ramp ε (Polya26.ComponentCutoff.rawBranch u τ p x)) ∧ (∫ x : Plane, ‖gradient (fun y : Plane => ramp ε (Polya26.ComponentCutoff.rawBranch u τ p y)) x‖ ^ 2) ≤ ∫ x in Polya26.ComponentCutoff.component u τ p, ‖gradient u x‖ ^ 2 := by intro ε hε have heq : Polya26.ComponentCutoff.smoothBranch ε u τ p = (fun x : Plane => ramp ε (Polya26.ComponentCutoff.rawBranch u τ p x)) := funext (Polya26.ComponentCutoff.smoothBranch_eq_ramp_raw hε τ p) refine ⟨?_, ?_, ?_⟩ · rw [← heq] exact Polya26.ComponentCutoff.hasCompactSupport_smoothBranch hu hε hτ p · rw [← heq] exact (Polya26.ComponentCutoff.contDiff_smoothBranch hf hε τ p).of_le (by simp) · rw [← heq] exact Polya26.ComponentCutoff.gradient_energy_smoothBranch_le hf hε τ p hq exact raw_branch_continuous_dual_of_ramps (component_rawBranch_measurable hf.continuous τ p) hramps hw hwc hwsupp hwnn theorem component_bounded_measurable_height_dual {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Plane) {J : Set ℝ} (hJ : IsOpen J) (hJb : Bornology.IsBounded J) (hJpos : J ⊆ Ioi 0) {w : ℝ → ℝ} (hw : Measurable w) (hwnn : ∀ t, 0 ≤ w t) (hwzero : ∀ t ∉ J, w t = 0) {L : ℝ} (hbound : ∀ t, ‖w t‖ ≤ L) : (∫ t in J, w t * Real.sqrt (Math30.Polya.area {x | t < Polya26.ComponentCutoff.rawBranch u τ p x})) ^ 2 ≤ ((∫ x in Polya26.ComponentCutoff.component u τ p, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂Measure.map (fun x : Plane => u x - τ) (volume.restrict (Polya26.ComponentCutoff.component u τ p))) := by let v : Plane → ℝ := Polya26.ComponentCutoff.rawBranch u τ p let ν : Measure ℝ := positiveValueMeasure v let σ : Measure ℝ := volume.restrict J let c : ℝ → ℝ := fun t => Real.sqrt (Math30.Polya.area {x | t < v x}) let q : ℝ := ∫ x in Polya26.ComponentCutoff.component u τ p, ‖gradient u x‖ ^ 2 have hvc : HasCompactSupport v := component_rawBranch_hasCompactSupport hu hτ p letI : IsFiniteMeasure ν := positiveValueMeasure_finite hvc letI : IsFiniteMeasure σ := isFiniteMeasure_restrict.mpr hJb.measure_lt_top.ne have hcmeas : Measurable c := Real.continuous_sqrt.measurable.comp (measurable_superlevel_area v) have hc : MemLp c 2 σ := by apply MemLp.of_bound hcmeas.aestronglyMeasurable (Real.sqrt (Math30.Polya.area (tsupport v))) apply ae_restrict_of_forall_mem hJ.measurableSet intro t ht have hsub : {x | t < v x} ⊆ tsupport v := by intro x hx exact subset_tsupport v (ne_of_gt ((mem_Ioi.mp (hJpos ht)).trans hx)) have harea : Math30.Polya.area {x | t < v x} ≤ Math30.Polya.area (tsupport v) := ENNReal.toReal_mono hvc.isCompact.measure_lt_top.ne (measure_mono hsub) dsimp [c] rw [abs_of_nonneg (Real.sqrt_nonneg _)] exact Real.sqrt_le_sqrt harea have hcontinuous : ∀ z : ℝ → ℝ, Continuous z → HasCompactSupport z → tsupport z ⊆ J → (∀ t, 0 ≤ z t) → (∫ t, z t * c t ∂σ) ^ 2 ≤ (q / (4 * Real.pi)) * (∫ t, (z t) ^ 2 ∂ν) := by intro z hz hzc hzJ hznn have hzpos : tsupport z ⊆ Ioi 0 := hzJ.trans hJpos have hzoutside : ∀ t ∉ J, z t = 0 := by intro t ht by_contra hne exact ht (hzJ (subset_tsupport z hne)) have hznonpos : ∀ t ≤ 0, z t = 0 := by intro t ht apply hzoutside t intro htJ exact (not_lt.mpr ht) (hJpos htJ) have hphysical := component_continuous_height_dual hu hf hτ p hz hzc hzpos hznn have hJint : (∫ t in J, z t * c t) = ∫ t, z t * c t := setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hzoutside t ht, zero_mul] have hposint : (∫ t in Ioi 0, z t * c t) = ∫ t, z t * c t := setIntegral_eq_integral_of_forall_compl_eq_zero fun t ht => by rw [hznonpos t (le_of_not_gt ht), zero_mul] change 4 * Real.pi * (∫ t in Ioi 0, z t * c t) ^ 2 ≤ q * (∫ t, (z t) ^ 2 ∂ν) at hphysical rw [hposint, ← hJint] at hphysical apply (mul_le_mul_iff_right₀ (by positivity : 0 < 4 * Real.pi)).mp calc _ ≤ q * (∫ t, (z t) ^ 2 ∂ν) := hphysical _ = 4 * Real.pi * ((q / (4 * Real.pi)) * (∫ t, (z t) ^ 2 ∂ν)) := by field_simp have hmain := continuous_height_dual_strict_support_extends_bounded_measurable ν σ hJ hc hcontinuous hw hwnn hwzero hbound change (∫ t in J, w t * c t) ^ 2 ≤ (q / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂positiveValueMeasure (Polya26.ComponentCutoff.rawBranch u τ p)) at hmain rw [component_rawBranch_valueMeasure_eq hf.continuous τ p] at hmain exact hmain end Polya26.Strike.Lead.Header.ComponentSupport end end /- END M042 -/ /- BEGIN M043 -/ section noncomputable section open Set MeasureTheory open scoped Topology ContDiff ENNReal namespace Polya26.PlanarIsoperimetric.PhaseBudgets open Math30.Polya variable {ι : Type*} [Fintype ι] def selectedUnion (D : ι → Set Plane) : Set Plane := ⋃ i, D i def high (u : Plane → ℝ) (τ : ℝ) : Set Plane := {x | τ ≤ u x} def strictHigh (u : Plane → ℝ) (τ : ℝ) : Set Plane := {x | τ < u x} def trunk (u : Plane → ℝ) (τ : ℝ) : Set Plane := {x | 0 < u x ∧ u x < τ} def negative (u : Plane → ℝ) : Set Plane := {x | u x < 0} def residual (u : Plane → ℝ) (τ : ℝ) (D : ι → Set Plane) : Set Plane := high u τ \ selectedUnion D def omitted (u : Plane → ℝ) (τ : ℝ) (D : ι → Set Plane) : Set Plane := strictHigh u τ \ selectedUnion D def excessValue (u : Plane → ℝ) (τ : ℝ) (x : Plane) : ℝ := max (u x - τ) 0 def residualArea (u : Plane → ℝ) (τ : ℝ) (D : ι → Set Plane) : ℝ := area (high u τ) - ∑ i, area (D i) def omittedExcess (u : Plane → ℝ) (τ : ℝ) (D : ι → Set Plane) : ℝ := ∫ x in omitted u τ D, (u x)^2 - τ^2 def omittedSquare (u : Plane → ℝ) (τ : ℝ) (D : ι → Set Plane) : ℝ := ∫ x in residual u τ D, (excessValue u τ x)^2 theorem selectedUnion_measurable {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) : MeasurableSet (selectedUnion D) := MeasurableSet.iUnion hD theorem selectedUnion_subset_high {u : Plane → ℝ} {τ : ℝ} {D : ι → Set Plane} (hD : ∀ i, D i ⊆ strictHigh u τ) : selectedUnion D ⊆ high u τ := by intro x hx rcases mem_iUnion.mp hx with ⟨i, hi⟩ exact (show τ < u x from hD i hi).le theorem high_measurable {u : Plane → ℝ} (hu : Continuous u) (τ : ℝ) : MeasurableSet (high u τ) := (isClosed_le continuous_const hu).measurableSet theorem strictHigh_measurable {u : Plane → ℝ} (hu : Continuous u) (τ : ℝ) : MeasurableSet (strictHigh u τ) := (isOpen_lt continuous_const hu).measurableSet theorem trunk_measurable {u : Plane → ℝ} (hu : Continuous u) (τ : ℝ) : MeasurableSet (trunk u τ) := (isOpen_lt continuous_const hu).measurableSet.inter (isOpen_lt hu continuous_const).measurableSet theorem negative_measurable {u : Plane → ℝ} (hu : Continuous u) : MeasurableSet (negative u) := (isOpen_lt hu continuous_const).measurableSet theorem high_volume_ne_top {u : Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) : volume (high u τ) ≠ ⊤ := by apply ne_top_of_le_ne_top (hu.isCompact.measure_lt_top (μ := volume)).ne apply measure_mono intro x hx exact subset_tsupport u (ne_of_gt (hτ.trans_le hx)) theorem finite_selected_area {u : Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) (hdis : Pairwise (fun i j => Disjoint (D i) (D j))) (hsub : ∀ i, D i ⊆ strictHigh u τ) : area (selectedUnion D) = ∑ i, area (D i) := by have hfinite : ∀ i, volume (D i) ≠ ⊤ := by intro i apply ne_top_of_le_ne_top (high_volume_ne_top hu hτ) exact measure_mono fun x hx => (show τ < u x from hsub i hx).le simpa only [selectedUnion, area, measureReal_def] using (measureReal_iUnion_fintype (μ := volume) hdis hD hfinite) theorem residual_area_eq {u : Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) (hdis : Pairwise (fun i j => Disjoint (D i) (D j))) (hsub : ∀ i, D i ⊆ strictHigh u τ) : area (residual u τ D) = residualArea u τ D := by have h := measureReal_sdiff (μ := volume) (selectedUnion_subset_high hsub) (selectedUnion_measurable hD) (high_volume_ne_top hu hτ) change area (residual u τ D) = area (high u τ) - area (selectedUnion D) at h rw [finite_selected_area hu hτ hD hdis hsub] at h exact h theorem residual_area_nonneg {u : Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) (hdis : Pairwise (fun i j => Disjoint (D i) (D j))) (hsub : ∀ i, D i ⊆ strictHigh u τ) : 0 ≤ residualArea u τ D := by rw [← residual_area_eq hu hτ hD hdis hsub] exact ENNReal.toReal_nonneg theorem residual_area_le_high {u : Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} : area (residual u τ D) ≤ area (high u τ) := ENNReal.toReal_mono (high_volume_ne_top hu hτ) (measure_mono sdiff_subset) theorem residual_excess_eq_omitted {u : Plane → ℝ} (hu : Continuous u) (τ : ℝ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) : (∫ x in residual u τ D, (u x)^2 - τ^2) = omittedExcess u τ D := by have hR := (high_measurable hu τ).diff (selectedUnion_measurable hD) have hO := (strictHigh_measurable hu τ).diff (selectedUnion_measurable hD) change (∫ x in high u τ \ selectedUnion D, (u x)^2 - τ^2) = ∫ x in strictHigh u τ \ selectedUnion D, (u x)^2 - τ^2 rw [← integral_indicator hR, ← integral_indicator hO] apply integral_congr_ae exact Filter.Eventually.of_forall fun x => by by_cases hU : x ∈ selectedUnion D · simp [residual, omitted, hU] · by_cases hlt : τ < u x · simp [residual, omitted, high, strictHigh, hU, hlt, hlt.le] · by_cases hle : τ ≤ u x · have heq : u x = τ := le_antisymm (le_of_not_gt hlt) hle simp [residual, omitted, high, strictHigh, hU, heq] · simp [residual, omitted, high, strictHigh, hU, hlt, hle] theorem omitted_excess_nonneg {u : Plane → ℝ} (hu : Continuous u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) : 0 ≤ omittedExcess u τ D := by apply integral_nonneg_of_ae filter_upwards [ae_restrict_mem ((strictHigh_measurable hu τ).diff (selectedUnion_measurable hD))] with x hx have hx' : τ < u x := hx.1 have hx0 : 0 < u x := hτ.trans hx' change 0 ≤ (u x)^2 - τ^2 nlinarith [mul_nonneg (sub_nonneg.mpr hx'.le) (add_nonneg hx0.le hτ.le)] theorem square_integrable {u : Plane → ℝ} (hu : HasCompactSupport u) (hc : Continuous u) : Integrable (fun x : Plane => (u x)^2) := by have hcs : HasCompactSupport (fun x : Plane => (u x)^2) := hu.comp_left (g := fun s : ℝ => s^2) (by norm_num) exact (hc.pow 2).integrable_of_hasCompactSupport hcs theorem finite_original_positive_mass {u : Plane → ℝ} (hu : HasCompactSupport u) (hc : Continuous u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) (hdis : Pairwise (fun i j => Disjoint (D i) (D j))) (hsub : ∀ i, D i ⊆ strictHigh u τ) : (∫ x in {x | 0 < u x}, (u x)^2) = (∑ i, ∫ x in D i, (u x)^2) + τ^2 * residualArea u τ D + (∫ x in trunk u τ, (u x)^2) + omittedExcess u τ D := by have hi := square_integrable hu hc have hH := high_measurable hc τ have hU := selectedUnion_measurable hD have hT := trunk_measurable hc τ have hR := hH.diff hU have hfiniteR : volume (residual u τ D) ≠ ⊤ := ne_top_of_le_ne_top (high_volume_ne_top hu hτ) (measure_mono sdiff_subset) have hbase : IntegrableOn (fun _ : Plane => τ^2) (residual u τ D) := integrableOn_const hfiniteR have hsplit : {x : Plane | 0 < u x} = high u τ ∪ trunk u τ := by ext x simp only [mem_setOf_eq, mem_union, high, trunk] constructor · intro hx by_cases h : τ ≤ u x · exact Or.inl h · exact Or.inr ⟨hx, lt_of_not_ge h⟩ · rintro (hx | hx) · exact hτ.trans_le hx · exact hx.1 have hHT : Disjoint (high u τ) (trunk u τ) := by apply disjoint_left.mpr intro x hxH hxT exact (not_lt_of_ge hxH) hxT.2 have hpos := setIntegral_union hHT hT hi.integrableOn hi.integrableOn rw [← hsplit] at hpos have hsum : (∫ x in selectedUnion D, (u x)^2) = ∑ i, ∫ x in D i, (u x)^2 := integral_iUnion_fintype hD hdis (fun _ => hi.integrableOn) have hres := setIntegral_sdiff hU hi.integrableOn (selectedUnion_subset_high hsub) have hsubint := integral_sub (hi.integrableOn (s := residual u τ D)) hbase have hconst : (∫ x in residual u τ D, τ^2) = τ^2 * residualArea u τ D := by rw [setIntegral_const, smul_eq_mul] rw [show volume.real (residual u τ D) = area (residual u τ D) from rfl] rw [residual_area_eq hu hτ hD hdis hsub] ring have hexc := residual_excess_eq_omitted hc τ hD rw [hconst, hexc] at hsubint rw [hsum] at hres change (∫ x in residual u τ D, (u x)^2) = (∫ x in high u τ, (u x)^2) - ∑ i, ∫ x in D i, (u x)^2 at hres linarith only [hpos, hres, hsubint] theorem finite_positive_phase_integral_budget {u : Plane → ℝ} (hc : Continuous u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) (hdis : Pairwise (fun i j => Disjoint (D i) (D j))) (hsub : ∀ i, D i ⊆ strictHigh u τ) {f : Plane → ℝ} (hf : Integrable f) (hnn : ∀ x, 0 ≤ f x) : (∑ i, ∫ x in D i, f x) + (∫ x in trunk u τ, f x) ≤ ∫ x in {x | 0 < u x}, f x := by have hUT : Disjoint (selectedUnion D) (trunk u τ) := by apply disjoint_left.mpr intro x hxU hxT exact (not_lt_of_ge (selectedUnion_subset_high hsub hxU)) hxT.2 have hsum : (∫ x in selectedUnion D, f x) = ∑ i, ∫ x in D i, f x := integral_iUnion_fintype hD hdis (fun _ => hf.integrableOn) have hfirst := setIntegral_union hUT (trunk_measurable hc τ) hf.integrableOn hf.integrableOn have hinclude : selectedUnion D ∪ trunk u τ ⊆ {x | 0 < u x} := by rintro x (hxU | hxT) · exact hτ.trans_le (selectedUnion_subset_high hsub hxU) · exact hxT.1 have hbound := setIntegral_mono_set (hf.integrableOn (s := {x | 0 < u x})) (Filter.Eventually.of_forall hnn) (Filter.Eventually.of_forall hinclude) rw [hfirst, hsum] at hbound exact hbound theorem finite_positive_phase_gradient_energy_budget {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) (hdis : Pairwise (fun i j => Disjoint (D i) (D j))) (hsub : ∀ i, D i ⊆ strictHigh u τ) : (∑ i, ∫ x in D i, ‖gradient u x‖^2) + (∫ x in trunk u τ, ‖gradient u x‖^2) ≤ ∫ x in {x | 0 < u x}, ‖fderiv ℝ u x‖^2 := by have hd : HasCompactSupport (fderiv ℝ u) := hu.fderiv ℝ have hqs : HasCompactSupport (fun x : Plane => ‖fderiv ℝ u x‖^2) := hd.comp_left (g := fun L : Plane →L[ℝ] ℝ => ‖L‖^2) (by simp) have hq : Integrable (fun x : Plane => ‖fderiv ℝ u x‖^2) := ((hf.continuous_fderiv one_ne_zero).norm.pow 2).integrable_of_hasCompactSupport hqs simpa only [Polya26.ComponentCutoff.norm_gradient_eq_norm_fderiv] using finite_positive_phase_integral_budget hf.continuous hτ hD hdis hsub hq (fun x => sq_nonneg _) theorem finite_selected_area_le_high {u : Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) (hdis : Pairwise (fun i j => Disjoint (D i) (D j))) (hsub : ∀ i, D i ⊆ strictHigh u τ) : (∑ i, area (D i)) ≤ area (high u τ) := by have h := residual_area_nonneg hu hτ hD hdis hsub change 0 ≤ area (high u τ) - ∑ i, area (D i) at h linarith only [h] end Polya26.PlanarIsoperimetric.PhaseBudgets end end /- END M043 -/ /- BEGIN M044 -/ section /-! Actual set mass is bounded by the first equal-area part of its genuine decreasing distribution profile. Atoms and constant-value plateaus are allowed. No energy or rearrangement inequality is assumed. -/ noncomputable section open Set MeasureTheory namespace Polya26.SortedMassConcentration theorem sorted_excess_integral {f : ℝ → ℝ} {a B : ℝ} (hf : Antitone f) (hf0 : ∀ s, 0 ≤ f s) (hB0 : 0 ≤ B) (hBa : B ≤ a) (hfi : IntegrableOn (fun s => (f s)^2) (Ioo 0 a)) : (∫ s in Ioo 0 a, max ((f s)^2 - (f B)^2) 0) = (∫ s in Ioo 0 B, (f s)^2) - B * (f B)^2 := by have hsub : Ioo 0 B ⊆ Ioo 0 a := by intro s hs exact ⟨hs.1, hs.2.trans_le hBa⟩ have hpoint : ∀ s ∈ Ioo 0 a, max ((f s)^2 - (f B)^2) 0 = (Ioo 0 B).indicator (fun s => (f s)^2 - (f B)^2) s := by intro s hs by_cases hsB : s < B · have hle := hf hsB.le have hsq : 0 ≤ (f s)^2 - (f B)^2 := by nlinarith [mul_nonneg (sub_nonneg.mpr hle) (add_nonneg (hf0 s) (hf0 B))] rw [max_eq_left hsq, indicator_of_mem (show s ∈ Ioo 0 B from ⟨hs.1, hsB⟩)] · have hle := hf (le_of_not_gt hsB) have hsq : (f s)^2 - (f B)^2 ≤ 0 := by nlinarith [mul_nonneg (sub_nonneg.mpr hle) (add_nonneg (hf0 B) (hf0 s))] rw [max_eq_right hsq, indicator_of_notMem (by simpa [mem_Ioo, hs.1] using hsB)] rw [setIntegral_congr_fun measurableSet_Ioo hpoint, setIntegral_indicator measurableSet_Ioo, inter_eq_right.mpr hsub] have hc : IntegrableOn (fun _ : ℝ => (f B)^2) (Ioo 0 B) := integrableOn_const (by simp [Real.volume_Ioo]) rw [integral_sub (hfi.mono_set hsub) hc, setIntegral_const] simp only [Measure.real, Real.volume_Ioo, sub_zero, ENNReal.toReal_ofReal hB0, smul_eq_mul] theorem actual_set_mass_le_sorted_prefix {X : Type*} [MeasurableSpace X] {μ : Measure X} {D K : Set X} {v : X → ℝ} {f : ℝ → ℝ} {a B : ℝ} (hv : Measurable v) (hf : Antitone f) (hf0 : ∀ s, 0 ≤ f s) (hK : MeasurableSet K) (hKD : K ⊆ D) (hDfinite : μ D ≠ ⊤) (hB : B = (μ K).toReal) (hBa : B ≤ a) (hvi : IntegrableOn (fun x => (v x)^2) D μ) (hfi : IntegrableOn (fun s => (f s)^2) (Ioo 0 a)) (hmap : Measure.map v (μ.restrict D) = Measure.map f (volume.restrict (Ioo 0 a))) : (∫ x in K, (v x)^2 ∂μ) ≤ ∫ s in Ioo 0 B, (f s)^2 := by have hB0 : 0 ≤ B := by rw [hB]; exact ENNReal.toReal_nonneg have hKfinite : μ K ≠ ⊤ := ne_top_of_le_ne_top hDfinite (measure_mono hKD) have hcD : IntegrableOn (fun _ : X => (f B)^2) D μ := integrableOn_const hDfinite have hcK : IntegrableOn (fun _ : X => (f B)^2) K μ := integrableOn_const hKfinite have heD : IntegrableOn (fun x => max ((v x)^2 - (f B)^2) 0) D μ := by exact (hvi.sub hcD).sup (integrable_zero _ _ _) have heK := heD.mono_set hKD have hfirst : (∫ x in K, (v x)^2 ∂μ) ≤ (∫ x in K, (f B)^2 + max ((v x)^2 - (f B)^2) 0 ∂μ) := by apply setIntegral_mono_on (hvi.mono_set hKD) (hcK.add heK) hK intro x hx change (v x)^2 ≤ (f B)^2 + max ((v x)^2 - (f B)^2) 0 linarith [le_max_left ((v x)^2 - (f B)^2) 0] have hsecond : (∫ x in K, max ((v x)^2 - (f B)^2) 0 ∂μ) ≤ (∫ x in D, max ((v x)^2 - (f B)^2) 0 ∂μ) := setIntegral_mono_set heD (Filter.Eventually.of_forall (fun _ => le_max_right _ _)) (Filter.Eventually.of_forall hKD) have hphi : StronglyMeasurable (fun z : ℝ => max (z^2 - (f B)^2) 0) := by fun_prop have heq : (∫ x in D, max ((v x)^2 - (f B)^2) 0 ∂μ) = (∫ s in Ioo 0 a, max ((f s)^2 - (f B)^2) 0) := by calc _ = ∫ z, max (z^2 - (f B)^2) 0 ∂Measure.map v (μ.restrict D) := (integral_map_of_stronglyMeasurable hv hphi).symm _ = ∫ z, max (z^2 - (f B)^2) 0 ∂Measure.map f (volume.restrict (Ioo 0 a)) := by rw [hmap] _ = _ := integral_map_of_stronglyMeasurable hf.measurable hphi rw [integral_add hcK heK, setIntegral_const] at hfirst change (∫ x in K, (v x)^2 ∂μ) ≤ (μ K).toReal * (f B)^2 + _ at hfirst rw [← hB] at hfirst rw [heq, sorted_excess_integral hf hf0 hB0 hBa hfi] at hsecond linarith end Polya26.SortedMassConcentration end end /- END M044 -/ /- BEGIN M045 -/ section /-! Actual planar positive-value normalization and ordinary radial transport. -/ noncomputable section open Set MeasureTheory ProbabilityTheory Math30.Polya open scoped ENNReal Topology ContDiff namespace Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.PlanarIsoperimetric open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot open Polya26.Strike.S05.Header.DirectCDF open Polya26.Strike.S05.Header.QuantileDistribution abbrev FiniteMeasure := Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure lemma finiteMeasure_normalize_null (m : FiniteMeasure ℝ) (hmass : 0 < (m.mass : ℝ)) {S : Set ℝ} (hS : (m : Measure ℝ) S = 0) : m.normalize S = 0 := Polya26.Strike.S05.Header.FiniteValues.finiteMeasure_normalize_null m hmass hS theorem finiteMeasure_cdf_endpoints (m : FiniteMeasure ℝ) (hmass : 0 < (m.mass : ℝ)) {U : ℝ} (hzero : (m : Measure ℝ) (Iic 0) = 0) (hbound : (m : Measure ℝ) (Ioi U) = 0) : cdf m.normalize 0 = 0 ∧ cdf m.normalize U = 1 := Polya26.Strike.S05.Header.FiniteValues.finiteMeasure_cdf_endpoints m hmass hzero hbound /-- Every rank outside the physical low-height band is outside its original rank window. -/ theorem newRank_outside_height_window (μ : Measure ℝ) {a b τ : ℝ} (h0cdf : cdf μ 0 = 0) (ha : 0 ≤ a) (_hb : 0 ≤ b) (hgate : areaRank μ a τ ≤ b) : ∀ t ∉ Ioo (0 : ℝ) τ, areaRank μ a t ∉ Ioo b a := by intro t ht hrank by_cases ht0 : t ≤ 0 · have hc : cdf μ t = 0 := by apply le_antisymm · simpa only [h0cdf] using (cdf μ).mono ht0 · exact cdf_nonneg μ t simp only [areaRank,hc,sub_zero,mul_one] at hrank exact (lt_irrefl a) hrank.2 · have hτt : τ ≤ t := by by_contra! h exact ht ⟨lt_of_not_ge ht0,h⟩ have hA : areaRank μ a t ≤ areaRank μ a τ := by unfold areaRank exact mul_le_mul_of_nonneg_left (sub_le_sub_left ((cdf μ).mono hτt) 1) ha exact (not_lt_of_ge (hA.trans hgate)) hrank.1 def positiveValueFinite (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) : FiniteMeasure ℝ := ⟨Polya26.Strike.S04.positiveValueMeasure u, Polya26.Strike.S04.positiveValueMeasure_finite hu⟩ lemma positiveValueFinite_mass {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) : ((positiveValueFinite u hu).mass : ℝ) = area {x : Math30.Polya.Plane | 0 < u x} := by rw [finiteMeasure_mass_real] change ((Polya26.Strike.S04.positiveValueMeasure u) univ).toReal = _ rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hf MeasurableSet.univ] simp only [preimage_univ, Measure.restrict_apply_univ] rfl lemma positiveValueFinite_zero {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) : (positiveValueFinite u hu : Measure ℝ) (Iic 0) = 0 := by change (Polya26.Strike.S04.positiveValueMeasure u) (Iic 0) = 0 rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hf measurableSet_Iic, Measure.restrict_apply (measurableSet_Iic.preimage hf)] have hset : u ⁻¹' Iic 0 ∩ {x : Math30.Polya.Plane | 0 < u x} = ∅ := by ext x simp only [mem_inter_iff, mem_preimage, mem_Iic, mem_setOf_eq, mem_empty_iff_false] exact ⟨fun h => (not_lt.mpr h.1) h.2, False.elim⟩ rw [hset, measure_empty] lemma positiveValueFinite_bound {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hbound : ∀ x, u x ≤ U) : (positiveValueFinite u hu : Measure ℝ) (Ioi U) = 0 := by change (Polya26.Strike.S04.positiveValueMeasure u) (Ioi U) = 0 rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hf measurableSet_Ioi, Measure.restrict_apply (measurableSet_Ioi.preimage hf)] have hset : u ⁻¹' Ioi U ∩ {x : Math30.Polya.Plane | 0 < u x} = ∅ := by ext x simp only [mem_inter_iff, mem_preimage, mem_Ioi, mem_setOf_eq, mem_empty_iff_false] exact ⟨fun h => (not_lt.mpr (hbound x)) h.1, False.elim⟩ rw [hset, measure_empty] lemma positiveValueFinite_areaRank {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {t : ℝ} (ht : 0 ≤ t) : areaRank ((positiveValueFinite u hu).normalize : Measure ℝ) (area {x : Math30.Polya.Plane | 0 < u x}) t = area {x : Math30.Polya.Plane | t < u x} := by rw [← positiveValueFinite_mass hu hf, finiteMeasure_areaRank] change ((Polya26.Strike.S04.positiveValueMeasure u) (Ioi t)).toReal = _ rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hf measurableSet_Ioi, Measure.restrict_apply (measurableSet_Ioi.preimage hf)] have hset : u ⁻¹' Ioi t ∩ {x : Math30.Polya.Plane | 0 < u x} = {x : Math30.Polya.Plane | t < u x} := by ext x constructor · exact fun h => h.1 · exact fun h => ⟨h, ht.trans_lt h⟩ rw [hset] rfl /-- No FK or rearrangement inequality is a premise: the actual positive value measure, genuine physical height dual and proved rank transport give this ordinary squared radial test bound. -/ theorem positive_profile_squared_dual_of_physical {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < area {x : Math30.Polya.Plane | 0 < u x}) {Q : ℝ} (hQ : 0 ≤ Q) (hphysical : ∀ w : ℝ → ℝ, Measurable w → (∀ t, 0 ≤ w t) → (∀ t ∉ Ioo (0 : ℝ) U, w t = 0) → (∃ L : ℝ, ∀ t, ‖w t‖ ≤ L) → (∫ t in Ioo (0 : ℝ) U, w t * Real.sqrt (area {x : Math30.Polya.Plane | t < u x})) ^ 2 ≤ (Q / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂Polya26.Strike.S04.positiveValueMeasure u)) (φ : RadialTest 0 (area {x : Math30.Polya.Plane | 0 < u x})) : (∫ s, areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U (area {x : Math30.Polya.Plane | 0 < u x}) s * deriv (φ : ℝ → ℝ) s) ^ 2 ≤ (Q / (4 * Real.pi)) * (∫ s in Ioo (0 : ℝ) (area {x : Math30.Polya.Plane | 0 < u x}), ((φ : ℝ → ℝ) s) ^ 2 / s) := by let m : FiniteMeasure ℝ := positiveValueFinite u hu let μ : Measure ℝ := m.normalize letI : IsProbabilityMeasure μ := Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure.normalize_isProbability m let a : ℝ := area {x : Math30.Polya.Plane | 0 < u x} have hmass : 0 < (m.mass : ℝ) := by rw [positiveValueFinite_mass hu hf] exact ha obtain ⟨h0cdf, hUcdf⟩ := finiteMeasure_cdf_endpoints m hmass (positiveValueFinite_zero hu hf) (positiveValueFinite_bound hu hf hbound) have hD : 0 ≤ Q / (4 * Real.pi) := div_nonneg hQ (by positivity) have hheight : ∀ w : ℝ → ℝ, Measurable w → (∀ t, 0 ≤ w t) → (∀ t ∉ Ioo (0 : ℝ) U, w t = 0) → (∃ L : ℝ, ∀ t, ‖w t‖ ≤ L) → (∫ t in Ioo (0 : ℝ) U, w t * Real.sqrt (areaRank μ a t)) ^ 2 ≤ (Q / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂(ENNReal.ofReal a • μ)) := by intro w hwm hwn hwzero hwb have h := hphysical w hwm hwn hwzero hwb have hN : (∫ t in Ioo (0 : ℝ) U, w t * Real.sqrt (areaRank μ a t)) = ∫ t in Ioo (0 : ℝ) U, w t * Real.sqrt (area {x : Math30.Polya.Plane | t < u x}) := by apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioo] with t ht rw [positiveValueFinite_areaRank hu hf ht.1.le] have hν : (Polya26.Strike.S04.positiveValueMeasure u) = ENNReal.ofReal a • μ := by have hn := finiteMeasure_normalize_exact m change Polya26.Strike.S04.positiveValueMeasure u = ENNReal.ofReal (m.mass : ℝ) • μ at hn have hmarea : (m.mass : ℝ) = a := positiveValueFinite_mass hu hf rw [hmarea] at hn exact hn rw [hN, ← hν] exact h have hgate : areaRank μ a U ≤ (0 : ℝ) := by change a * (1 - cdf m.normalize U) ≤ 0 rw [hUcdf] simp only [sub_self,mul_zero,le_refl] have hwindow : ∀ t ∉ Ioo (0 : ℝ) U, areaRank μ a t ∉ Ioo (0 : ℝ) a := newRank_outside_height_window (a := a) (b := 0) (τ := U) μ h0cdf ha.le le_rfl hgate have hheightNew : ∀ w : ℝ → ℝ, Measurable w → (∀ t, 0 ≤ w t) → (∀ t ∉ Ioo (0 : ℝ) U, w t = 0) → (∃ L : ℝ, ∀ t, ‖w t‖ ≤ L) → (∫ t in Ioo (0 : ℝ) U, w t * Real.sqrt (areaRank μ a t)) ^ 2 ≤ (Q/(4*Real.pi)) * (a * ∫ t, (w t)^2 ∂μ) := by intro w hwm hwn hwzero hwb have hrea : (ENNReal.ofReal a).toReal = a := ENNReal.toReal_ofReal ha.le simpa only [integral_smul_measure,hrea,smul_eq_mul] using hheight w hwm hwn hwzero hwb have htest := Polya26.Strike.S05.Header.PrimitivePhysical.inverse_profile_squared_dual μ hU ha h0cdf hUcdf le_rfl le_rfl hwindow continuous_id (fun s hs => hs.1) hD hheightNew φ simpa only [μ,m,a,id_eq] using htest /-- The actual smooth positive phase supplies the physical dual above. -/ theorem smooth_positive_profile_squared_dual {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < area {x : Math30.Polya.Plane | 0 < u x}) (φ : RadialTest 0 (area {x : Math30.Polya.Plane | 0 < u x})) : (∫ s, areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U (area {x : Math30.Polya.Plane | 0 < u x}) s * deriv (φ : ℝ → ℝ) s) ^ 2 ≤ ((∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) U}, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) * (∫ s in Ioo (0 : ℝ) (area {x : Math30.Polya.Plane | 0 < u x}), ((φ : ℝ → ℝ) s) ^ 2 / s) := by apply Polya26.Strike.S03.Header.PrimitiveProfileFactory.positive_profile_squared_dual_of_physical hu hf.continuous.measurable hU hbound ha (integral_nonneg fun x => sq_nonneg _) ?_ φ intro w hwm hwn hwzero hwb obtain ⟨L, hwb⟩ := hwb exact Polya26.Strike.S04.ordinary_height_band_bounded_measurable_dual hu hf isOpen_Ioo (Metric.isBounded_Ioo (0 : ℝ) U) (fun t ht => ht.1) hwm hwn hwzero hwb /-- Nodal and high-level component branches use the genuine original value measure and actual component energy. The raw branch is only measurable. -/ theorem component_profile_squared_dual {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < area (Polya26.ComponentCutoff.component u τ p)) (φ : RadialTest 0 (area {x : Math30.Polya.Plane | 0 < Polya26.ComponentCutoff.rawBranch u τ p x})) : (∫ s, areaProfile ((positiveValueFinite (Polya26.ComponentCutoff.rawBranch u τ p) (Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_hasCompactSupport hu hτ p)).normalize : Measure ℝ) U (area {x : Math30.Polya.Plane | 0 < Polya26.ComponentCutoff.rawBranch u τ p x}) s * deriv (φ : ℝ → ℝ) s) ^ 2 ≤ ((∫ x in Polya26.ComponentCutoff.component u τ p, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) * (∫ s in Ioo (0 : ℝ) (area {x : Math30.Polya.Plane | 0 < Polya26.ComponentCutoff.rawBranch u τ p x}), ((φ : ℝ → ℝ) s) ^ 2 / s) := by have hboundv : ∀ x, Polya26.ComponentCutoff.rawBranch u τ p x ≤ U := by intro x classical by_cases hx : x ∈ Polya26.ComponentCutoff.component u τ p · simp only [Polya26.ComponentCutoff.rawBranch, Polya26.LevelComponentBoundary.zeroExtension, if_pos hx] linarith [hbound x] · simp only [Polya26.ComponentCutoff.rawBranch, Polya26.LevelComponentBoundary.zeroExtension, if_neg hx] exact hU.le have hav : 0 < area {x : Math30.Polya.Plane | 0 < Polya26.ComponentCutoff.rawBranch u τ p x} := by rw [Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_positive_set] exact ha apply Polya26.Strike.S03.Header.PrimitiveProfileFactory.positive_profile_squared_dual_of_physical (Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_hasCompactSupport hu hτ p) (Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_measurable hf.continuous τ p) hU hboundv hav (integral_nonneg fun x => sq_nonneg _) ?_ φ intro w hwm hwn hwzero hwb obtain ⟨L, hwb⟩ := hwb have h := Polya26.Strike.Lead.Header.ComponentSupport.component_bounded_measurable_height_dual hu hf hτ p isOpen_Ioo (Metric.isBounded_Ioo (0 : ℝ) U) (fun t ht => ht.1) hwm hwn hwzero hwb rw [Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_valueMeasure_eq hf.continuous τ p] exact h end Polya26.Strike.S03.Header.PrimitiveProfileFactory end end /- END M045 -/ /- BEGIN M046 -/ section /-! The actual full-wrapping low-height band, with its original inclusive gate. -/ noncomputable section open Set MeasureTheory ProbabilityTheory open scoped ENNReal Topology ContDiff namespace Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.PlanarIsoperimetric Polya26.Strike.S03.Header.ScalarCarrierRadialPilot open Polya26.Strike.S05.Header.DirectCDF open Polya26.Strike.S05.Header.QuantileDistribution def fullWrapWeight (B s : ℝ) : ℝ := (Real.sqrt (s + B) + Real.sqrt B) ^ 2 lemma fullWrapWeight_continuous (B : ℝ) : Continuous (fullWrapWeight B) := ((Real.continuous_sqrt.comp (continuous_id.add_const B)).add continuous_const).pow 2 lemma fullWrapWeight_pos {B s : ℝ} (hB : 0 ≤ B) (hs : 0 < s) : 0 < fullWrapWeight B s := by have hp : 0 < Real.sqrt (s + B) := Real.sqrt_pos.2 (by linarith) exact sq_pos_of_pos (hp.trans_le (le_add_of_nonneg_right (Real.sqrt_nonneg B))) lemma sqrt_fullWrapWeight (B s : ℝ) : Real.sqrt (fullWrapWeight B s) = Real.sqrt (s + B) + Real.sqrt B := by exact Real.sqrt_sq (add_nonneg (Real.sqrt_nonneg _) (Real.sqrt_nonneg _)) lemma area_test_height_zero_outside_trunk (μ : Measure ℝ) {a b τ : ℝ} (h0cdf : cdf μ 0 = 0) (ha : 0 ≤ a) (hb : 0 ≤ b) (hgate : areaRank μ a τ ≤ b) {φ : ℝ → ℝ} (hφK : tsupport φ ⊆ Ioo b a) : ∀ t ∉ Ioo (0 : ℝ) τ, φ (areaRank μ a t) = 0 := by intro t ht apply image_eq_zero_of_notMem_tsupport intro hK have hrank := hφK hK by_cases ht0 : t ≤ 0 · have hc : cdf μ t = 0 := by apply le_antisymm · simpa only [h0cdf] using (cdf μ).mono ht0 · exact cdf_nonneg μ t simp only [areaRank, hc, sub_zero, mul_one] at hrank exact (lt_irrefl a) hrank.2 · have hτt : τ ≤ t := by by_contra! h exact ht ⟨lt_of_not_ge ht0, h⟩ have hA : areaRank μ a t ≤ areaRank μ a τ := by unfold areaRank exact mul_le_mul_of_nonneg_left (sub_le_sub_left ((cdf μ).mono hτt) 1) ha exact (not_lt_of_ge (hA.trans hgate)) hrank.1 /-- This spends only the actual low-height gradient energy. A physical bounded complementary component is required at each height in that band; no enclosure is assumed elsewhere and all original plateau moments remain. -/ theorem smooth_trunk_profile_squared_dual {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) {τ b B : ℝ} (hτ : 0 < τ) (hb : 0 ≤ b) (hB : 0 ≤ B) (hgate : Math30.Polya.area {x : Math30.Polya.Plane | τ < u x} ≤ b) (hwrap : ∀ t ∈ Ioo (0 : ℝ) τ, {x | t < u x}.Nonempty ∧ ∃ p : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {x | t < u x}ᶜ p) ∧ B ≤ Math30.Polya.area (connectedComponentIn {x | t < u x}ᶜ p)) (φ : RadialTest b (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x})) : (∫ s, areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) s * deriv (φ : ℝ → ℝ) s) ^ 2 ≤ ((∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) τ}, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) * (∫ s in Ioo b (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}), ((φ : ℝ → ℝ) s) ^ 2 / fullWrapWeight B s) := by let m : FiniteMeasure ℝ := positiveValueFinite u hu let μ : Measure ℝ := m.normalize letI : IsProbabilityMeasure μ := Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure.normalize_isProbability m let a : ℝ := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} have hmass : 0 < (m.mass : ℝ) := by rw [positiveValueFinite_mass hu hf.continuous.measurable] exact ha obtain ⟨h0cdf, hUcdf⟩ := finiteMeasure_cdf_endpoints m hmass (positiveValueFinite_zero hu hf.continuous.measurable) (positiveValueFinite_bound hu hf.continuous.measurable hbound) have hφ : ContDiff ℝ 1 (φ : ℝ → ℝ) := (Polya26.Strike.S04.Header.ScalarTestSubspace.contDiff φ).of_le (by simp) have hφK : tsupport (φ : ℝ → ℝ) ⊆ Ioo b a := (Polya26.Strike.S04.Header.ScalarTestSubspace.tsupport_subset φ) have hφK0 : tsupport (φ : ℝ → ℝ) ⊆ Ioo (0 : ℝ) a := fun s hs => ⟨hb.trans_lt (hφK hs).1, (hφK hs).2⟩ have hgate' : areaRank μ a τ ≤ b := by rw [positiveValueFinite_areaRank hu hf.continuous.measurable hτ.le] exact hgate have hWpos : ∀ s ∈ Ioo b a, 0 < fullWrapWeight B s := fun s hs => fullWrapWeight_pos hB (hb.trans_lt hs.1) have hD : 0 ≤ (∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) τ}, ‖gradient u x‖ ^ 2) / (4 * Real.pi) := div_nonneg (integral_nonneg fun x => sq_nonneg _) (by positivity) have hheight : ∀ w : ℝ → ℝ, Measurable w → (∀ t, 0 ≤ w t) → (∀ t ∉ Ioo (0 : ℝ) τ, w t = 0) → (∃ L : ℝ, ∀ t, ‖w t‖ ≤ L) → (∫ t in Ioo (0 : ℝ) τ, w t * Real.sqrt (fullWrapWeight B (areaRank μ a t))) ^ 2 ≤ ((∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) τ}, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) * (∫ t, (w t) ^ 2 ∂(ENNReal.ofReal a • μ)) := by intro w hwm hwn hwzero hwb obtain ⟨L, hwb⟩ := hwb have h := Polya26.Strike.S04.enclosed_height_band_bounded_measurable_dual hu hf isOpen_Ioo (Metric.isBounded_Ioo (0 : ℝ) τ) (fun t ht => ht.1) hwrap hwm hwn hwzero hwb have hN : (∫ t in Ioo (0 : ℝ) τ, w t * Real.sqrt (fullWrapWeight B (areaRank μ a t))) = ∫ t in Ioo (0 : ℝ) τ, w t * (Real.sqrt (Math30.Polya.area {x | t < u x} + B) + Real.sqrt B) := by apply integral_congr_ae filter_upwards [ae_restrict_mem measurableSet_Ioo] with t ht rw [sqrt_fullWrapWeight, positiveValueFinite_areaRank hu hf.continuous.measurable ht.1.le] have hν : (Polya26.Strike.S04.positiveValueMeasure u) = ENNReal.ofReal a • μ := by have hn := finiteMeasure_normalize_exact m change Polya26.Strike.S04.positiveValueMeasure u = ENNReal.ofReal (m.mass : ℝ) • μ at hn have hmarea : (m.mass : ℝ) = a := positiveValueFinite_mass hu hf.continuous.measurable rw [hmarea] at hn exact hn rw [hN, ← hν] exact h have hwindow := newRank_outside_height_window μ h0cdf ha.le hb hgate' have hheightNew : ∀ w : ℝ → ℝ, Measurable w → (∀ t, 0 ≤ w t) → (∀ t ∉ Ioo (0 : ℝ) τ, w t = 0) → (∃ L : ℝ, ∀ t, ‖w t‖ ≤ L) → (∫ t in Ioo (0 : ℝ) τ, w t * Real.sqrt (fullWrapWeight B (areaRank μ a t))) ^ 2 ≤ ((∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) τ}, ‖gradient u x‖^2)/(4*Real.pi)) * (a * ∫ t, (w t)^2 ∂μ) := by intro w hwm hwn hwzero hwb have hrea : (ENNReal.ofReal a).toReal = a := ENNReal.toReal_ofReal ha.le simpa only [integral_smul_measure,hrea,smul_eq_mul] using hheight w hwm hwn hwzero hwb have htest := Polya26.Strike.S05.Header.PrimitivePhysical.inverse_profile_squared_dual μ hU ha h0cdf hUcdf hb le_rfl hwindow (fullWrapWeight_continuous B) hWpos hD hheightNew φ simpa only [μ,m,a] using htest end Polya26.Strike.S03.Header.PrimitiveProfileFactory end end /- END M046 -/ /- BEGIN M047 -/ section /-! Actual endpoint volume hypotheses for the area quantiles. The profiles are the original distribution inverses; no smoothness of an inverse and no regularity of a level component boundary is assumed. -/ noncomputable section open Set MeasureTheory Filter ProbabilityTheory open scoped Topology ENNReal namespace Polya26.Strike.S03.Header.PrimitiveProfileFactory.Gates open Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.Strike.S05.Header.DirectCDF open Polya26.Strike.S05.Header.QuantileDistribution section ActualGeometry variable {X : Type*} [NormedAddCommGroup X] [NormedSpace ℝ X] [Nontrivial X] /-- A genuine compactly supported function on a nontrivial real normed space has an actual zero outside its compact support. -/ theorem exists_zero_of_compact_support {u : X → ℝ} (hu : HasCompactSupport u) : ∃ q : X, u q = 0 := by obtain ⟨R, hR⟩ := hu.isCompact.isBounded.exists_norm_le obtain ⟨q, hq⟩ := NormedSpace.exists_lt_norm ℝ X R refine ⟨q, image_eq_zero_of_notMem_tsupport ?_⟩ intro hqs exact hq.not_ge (hR q hqs) /-- The actual all-lower-level enclosure contract supplies a physical point at least at its gate, even when the strict-high branches are empty. Compactness retains a possible maximal-height plateau. -/ theorem exists_ge_gate_of_all_lower_levels {u : X → ℝ} (hu : Continuous u) (huc : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) (hlevels : ∀ t ∈ Ioo (0 : ℝ) τ, {x : X | t < u x}.Nonempty) : ∃ p : X, τ ≤ u p := by obtain ⟨y, hy⟩ := hlevels (τ / 2) (by constructor <;> linarith) change τ / 2 < u y at hy have hyS : y ∈ tsupport u := subset_tsupport u (ne_of_gt (by linarith : 0 < u y)) obtain ⟨p, _, hmax⟩ := huc.isCompact.exists_isMaxOn ⟨y, hyS⟩ hu.continuousOn have hup : 0 < u p := lt_of_lt_of_le (by linarith : 0 < u y) (hmax hyS) refine ⟨p, ?_⟩ by_contra! hpτ obtain ⟨x, hx⟩ := hlevels ((u p + τ) / 2) (by constructor <;> linarith) change (u p + τ) / 2 < u x at hx have hxS : x ∈ tsupport u := subset_tsupport u (ne_of_gt (by linarith : 0 < u x)) have hxmax : u x ≤ u p := hmax hxS have hmid : u p < (u p + τ) / 2 := by linarith exact (hmid.trans hx).not_ge hxmax variable [MeasurableSpace X] (μ : Measure X) [Measure.IsOpenPosMeasure μ] /-- Every actual nonempty positive level component has positive measure at values arbitrarily close to its own physical gate. Singular level boundaries cause no gap: continuity and an actual frontier point suffice. -/ theorem level_component_near_gate_measure_pos {u : X → ℝ} (hu : Continuous u) (huc : HasCompactSupport u) {τ : ℝ} (hτ : 0 ≤ τ) {p : X} (hp : τ < u p) {ε : ℝ} (hε : 0 < ε) : 0 < μ (connectedComponentIn {x : X | τ < u x} p ∩ u ⁻¹' Ioo τ (τ + ε)) := by let D : Set X := connectedComponentIn {x : X | τ < u x} p have hDopen : IsOpen D := (isOpen_lt continuous_const hu).connectedComponentIn have hDne : D.Nonempty := ⟨p, mem_connectedComponentIn hp⟩ have hDsub : D ⊆ tsupport u := by intro x hx have hux : τ < u x := connectedComponentIn_subset _ p hx exact subset_tsupport u (ne_of_gt (hτ.trans_lt hux)) have hDb : Bornology.IsBounded D := huc.isCompact.isBounded.subset hDsub have hDnu : D ≠ univ := by intro heq exact NormedSpace.unbounded_univ ℝ X (heq ▸ hDb) obtain ⟨x, hx⟩ := nonempty_frontier_iff.mpr ⟨hDne, hDnu⟩ have hxgate : u x = τ := Polya26.LevelComponentBoundary.value_on_frontier_level_component hu τ p hx let V : Set X := u ⁻¹' Iio (τ + ε) have hV : IsOpen V := isOpen_Iio.preimage hu have hxV : x ∈ V := by change u x < τ + ε rw [hxgate] linarith obtain ⟨y, hyV, hyD⟩ := mem_closure_iff.mp hx.1 V hV hxV have hygate : τ < u y := connectedComponentIn_subset _ p hyD have hyW : y ∈ D ∩ u ⁻¹' Ioo τ (τ + ε) := ⟨hyD, hygate, hyV⟩ exact (hDopen.inter (isOpen_Ioo.preimage hu)).measure_pos μ ⟨y, hyW⟩ /-- An actual height at least tau and an actual physical zero force a positive-measure band just below tau. This uses the real ambient IVT, not connectivity or smoothness of the inverse quantile. -/ theorem below_gate_measure_pos {u : X → ℝ} (hu : Continuous u) (huc : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) {p : X} (hp : τ ≤ u p) {ε : ℝ} (hε : 0 < ε) : 0 < μ (u ⁻¹' Ioo (max 0 (τ - ε)) τ) := by obtain ⟨q, hq⟩ := exists_zero_of_compact_support huc let δ : ℝ := min ε τ / 2 let t : ℝ := τ - δ have hδ : 0 < δ := by dsimp [δ]; positivity have hδε : δ ≤ ε / 2 := by dsimp [δ]; exact div_le_div_of_nonneg_right (min_le_left _ _) (by norm_num) have hδτ : δ ≤ τ / 2 := by dsimp [δ]; exact div_le_div_of_nonneg_right (min_le_right _ _) (by norm_num) have ht0 : 0 < t := by dsimp [t]; linarith have htl : τ - ε < t := by dsimp [t]; linarith have htτ : t < τ := by dsimp [t]; linarith have htb : t ∈ Icc (u q) (u p) := by rw [hq]; exact ⟨ht0.le, htτ.le.trans hp⟩ obtain ⟨x, _, hxt⟩ := isPreconnected_univ.intermediate_value (mem_univ q) (mem_univ p) hu.continuousOn htb have hx : x ∈ u ⁻¹' Ioo (max 0 (τ - ε)) τ := by change max 0 (τ - ε) < u x ∧ u x < τ rw [hxt] exact ⟨max_lt_iff.mpr ⟨ht0, htl⟩, htτ⟩ exact (isOpen_Ioo.preimage hu).measure_pos μ ⟨x, hx⟩ end ActualGeometry section FiniteValueCDF /-- Positive actual finite value mass below a height gives a positive CDF after the original finite measure is normalized. -/ theorem cdf_normalize_pos_of_measure_pos (m : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) {t : ℝ} (ht : 0 < (m : Measure ℝ) (Iic t)) : 0 < cdf (m.normalize : Measure ℝ) t := by letI : IsProbabilityMeasure m.normalize := Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure.normalize_isProbability m by_contra! hn have hz : cdf (m.normalize : Measure ℝ) t = 0 := le_antisymm hn (cdf_nonneg _ _) have hnorm : (m.normalize : Measure ℝ) (Iic t) = 0 := by rw [← ofReal_cdf, hz] simp have hm := congrArg (fun ν : Measure ℝ => ν (Iic t)) (finiteMeasure_normalize_exact m) simp only [Measure.smul_apply, smul_eq_mul, hnorm, mul_zero] at hm exact ht.ne' hm /-- A zero original value set remains zero under genuine finite-measure normalization. The positive mass premise is the original total area. -/ theorem normalize_measure_zero_of_measure_zero (m : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) (hmass : 0 < (m.mass : ℝ)) {S : Set ℝ} (hS : (m : Measure ℝ) S = 0) : (m.normalize : Measure ℝ) S = 0 := by have hm := congrArg (fun ν : Measure ℝ => ν S) (finiteMeasure_normalize_exact m) simp only [Measure.smul_apply, smul_eq_mul, hS] at hm exact (mul_eq_zero.mp hm.symm).resolve_left (ne_of_gt (ENNReal.ofReal_pos.mpr hmass)) /-- The actual positive-value support supplies the CDF's zero endpoint. -/ theorem cdf_normalize_zero_of_measure_zero (m : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) (hmass : 0 < (m.mass : ℝ)) (hzero : (m : Measure ℝ) (Iic 0) = 0) : cdf (m.normalize : Measure ℝ) 0 = 0 := by letI : IsProbabilityMeasure m.normalize := Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure.normalize_isProbability m rw [cdf_eq_real, measureReal_def, normalize_measure_zero_of_measure_zero m hmass hzero] simp /-- The actual bounded-value support supplies the CDF's upper endpoint. -/ theorem cdf_normalize_one_of_tail_zero (m : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) (hmass : 0 < (m.mass : ℝ)) {U : ℝ} (hzero : (m : Measure ℝ) (Ioi U) = 0) : cdf (m.normalize : Measure ℝ) U = 1 := by letI : IsProbabilityMeasure m.normalize := Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure.normalize_isProbability m have htail := normalize_measure_zero_of_measure_zero m hmass hzero have hsum := measure_add_measure_compl (μ := (m.normalize : Measure ℝ)) (s := Iic U) measurableSet_Iic rw [compl_Iic, htail, add_zero, measure_univ] at hsum rw [cdf_eq_real, measureReal_def, hsum] simp /-- The inclusive plateau rank is strictly below each actual lower superlevel rank when the original intermediate band has positive mass. -/ theorem inclusive_high_lt_lower_rank (m : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) {t τ : ℝ} (htτ : t < τ) (hband : 0 < (m : Measure ℝ) (Ioo t τ)) : (m : Measure ℝ).real (Ici τ) < areaRank (m.normalize : Measure ℝ) (m.mass : ℝ) t := by letI : IsFiniteMeasure (m : Measure ℝ) := m.property rw [finiteMeasure_areaRank] have hset : Ioi t = Ioo t τ ∪ Ici τ := by ext x constructor · intro hx by_cases hxτ : x < τ · exact Or.inl ⟨hx, hxτ⟩ · exact Or.inr (le_of_not_gt hxτ) · rintro (hx | hx) · exact hx.1 · exact htτ.trans_le hx have hd : Disjoint (Ioo t τ) (Ici τ) := by apply disjoint_left.mpr intro x hx hy exact (not_lt_of_ge hy) hx.2 have hr : 0 < (m : Measure ℝ).real (Ioo t τ) := ENNReal.toReal_pos hband.ne' (by finiteness) rw [hset, measureReal_union hd measurableSet_Ici] linarith end FiniteValueCDF section ActualPositiveValues open Polya26.PlanarIsoperimetric /-- The canonical ORIGINAL finite positive-value law. -/ def originalPositiveValues (u : Math30.Polya.Plane → ℝ) (huc : HasCompactSupport u) : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ := ⟨Polya26.Strike.S04.positiveValueMeasure u, Polya26.Strike.S04.positiveValueMeasure_finite huc⟩ theorem originalPositiveValues_mass_pos {u : Math30.Polya.Plane → ℝ} (huc : HasCompactSupport u) (hu : Measurable u) (hphase : 0 < volume {x : Math30.Polya.Plane | 0 < u x}) : 0 < ((originalPositiveValues u huc).mass : ℝ) := by rw [finiteMeasure_mass_real, measureReal_def] have hm : (originalPositiveValues u huc : Measure ℝ) univ = volume {x : Math30.Polya.Plane | 0 < u x} := by change Polya26.Strike.S04.positiveValueMeasure u univ = _ rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hu MeasurableSet.univ] simp rw [hm] apply ENNReal.toReal_pos hphase.ne' haveI := Polya26.Strike.S04.positiveValueMeasure_finite huc rw [← hm] change Polya26.Strike.S04.positiveValueMeasure u univ ≠ (⊤ : ℝ≥0∞) exact measure_ne_top _ _ theorem originalPositiveValues_zero {u : Math30.Polya.Plane → ℝ} (huc : HasCompactSupport u) (hu : Measurable u) : (originalPositiveValues u huc : Measure ℝ) (Iic 0) = 0 := by change Polya26.Strike.S04.positiveValueMeasure u (Iic 0) = 0 rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hu measurableSet_Iic, Measure.restrict_apply (measurableSet_Iic.preimage hu)] have hset : u ⁻¹' Iic 0 ∩ {x : Math30.Polya.Plane | 0 < u x} = ∅ := by ext x change (u x ≤ 0 ∧ 0 < u x) ↔ False exact ⟨fun h => (not_lt_of_ge h.1) h.2, False.elim⟩ rw [hset, measure_empty] theorem originalPositiveValues_tail_zero {u : Math30.Polya.Plane → ℝ} (huc : HasCompactSupport u) (hu : Measurable u) {U : ℝ} (hbound : ∀ x, u x ≤ U) : (originalPositiveValues u huc : Measure ℝ) (Ioi U) = 0 := by change Polya26.Strike.S04.positiveValueMeasure u (Ioi U) = 0 rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hu measurableSet_Ioi, Measure.restrict_apply (measurableSet_Ioi.preimage hu)] have hset : u ⁻¹' Ioi U ∩ {x : Math30.Polya.Plane | 0 < u x} = ∅ := by ext x change (U < u x ∧ 0 < u x) ↔ False exact ⟨fun h => (not_lt_of_ge (hbound x)) h.1, False.elim⟩ rw [hset, measure_empty] /-- Actual continuity supplies nonzero finite value mass below every positive height. This is the physical outer-gate premise, not a property postulated about an inverse profile. -/ theorem positiveValueMeasure_near_zero_pos {u : Math30.Polya.Plane → ℝ} (hu : Continuous u) (huc : HasCompactSupport u) {p : Math30.Polya.Plane} (hp : 0 < u p) {ε : ℝ} (hε : 0 < ε) : 0 < Polya26.Strike.S04.positiveValueMeasure u (Iic ε) := by let τ : ℝ := min ε (u p) have hτ : 0 < τ := by dsimp [τ]; positivity have hτp : τ ≤ u p := min_le_right _ _ have hband : 0 < volume (u ⁻¹' Ioo 0 τ) := by simpa only [sub_self, max_self] using below_gate_measure_pos volume hu huc hτ hτp hτ rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hu.measurable measurableSet_Iic, Measure.restrict_apply (measurableSet_Iic.preimage hu.measurable)] apply hband.trans_le apply measure_mono intro x hx exact ⟨hx.2.le.trans (min_le_left _ _), hx.1⟩ /-- Physical continuity discharges the trunk's strictly lower rank hypothesis, including an arbitrary original plateau at tau. -/ theorem positiveValueMeasure_below_gate_pos {u : Math30.Polya.Plane → ℝ} (hu : Continuous u) (huc : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) {p : Math30.Polya.Plane} (hp : τ ≤ u p) {ε : ℝ} (hε : 0 < ε) : 0 < Polya26.Strike.S04.positiveValueMeasure u (Ioo (τ - ε) τ) := by rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hu.measurable measurableSet_Ioo, Measure.restrict_apply (measurableSet_Ioo.preimage hu.measurable)] have hset : u ⁻¹' Ioo (τ - ε) τ ∩ {x : Math30.Polya.Plane | 0 < u x} = u ⁻¹' Ioo (max 0 (τ - ε)) τ := by ext x simp only [mem_inter_iff, mem_preimage, mem_Ioo, mem_setOf_eq, max_lt_iff] tauto rw [hset] exact below_gate_measure_pos volume hu huc hτ hp hε /-- The genuine global inverse has its zero outer trace. Every endpoint hypothesis is discharged by the original continuous bounded function. -/ theorem positive_inverse_outer_trace {u : Math30.Polya.Plane → ℝ} (hu : Continuous u) (huc : HasCompactSupport u) {p : Math30.Polya.Plane} (hp : 0 < u p) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) : Tendsto (areaProfile ((originalPositiveValues u huc).normalize : Measure ℝ) U ((originalPositiveValues u huc).mass : ℝ)) (𝓝[<] ((originalPositiveValues u huc).mass : ℝ)) (𝓝 0) := by let m := originalPositiveValues u huc letI : IsFiniteMeasure (m : Measure ℝ) := m.property have hm : 0 < (m.mass : ℝ) := originalPositiveValues_mass_pos huc hu.measurable ((isOpen_lt continuous_const hu).measure_pos volume ⟨p, hp⟩) have h0 := cdf_normalize_zero_of_measure_zero m hm (originalPositiveValues_zero huc hu.measurable) have hUc := cdf_normalize_one_of_tail_zero m hm (originalPositiveValues_tail_zero huc hu.measurable hbound) have hnear : ∀ t > 0, 0 < cdf (m.normalize : Measure ℝ) t := by intro t ht exact cdf_normalize_pos_of_measure_pos m (positiveValueMeasure_near_zero_pos hu huc hp ht) apply Polya26.Strike.S03.Header.ScalarCarrierRadialPilot.outer_gate_trace hm ((areaProfile_antitone (m.normalize : Measure ℝ) hU.le hm).antitoneOn _) · intro s hs exact (areaProfile_bounds (m.normalize : Measure ℝ) hU.le _ s).1 · simpa only [zero_add] using areaProfile_outer_approx (m.normalize : Measure ℝ) hU hm h0 hUc hnear /-- The actual inclusive high rank, including its plateau, has the shared tau inner trace. No mass is assigned to a strict-high branch here. -/ theorem positive_inverse_trunk_inner_trace {u : Math30.Polya.Plane → ℝ} (hu : Continuous u) (huc : HasCompactSupport u) {τ : ℝ} (hτ : 0 < τ) {p : Math30.Polya.Plane} (hp : τ ≤ u p) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) : Tendsto (areaProfile ((originalPositiveValues u huc).normalize : Measure ℝ) U ((originalPositiveValues u huc).mass : ℝ)) (𝓝[>] (Polya26.Strike.S04.positiveValueMeasure u).real (Ici τ)) (𝓝 τ) := by let m := originalPositiveValues u huc letI : IsFiniteMeasure (m : Measure ℝ) := m.property let b : ℝ := (Polya26.Strike.S04.positiveValueMeasure u).real (Ici τ) have hm : 0 < (m.mass : ℝ) := originalPositiveValues_mass_pos huc hu.measurable ((isOpen_lt continuous_const hu).measure_pos volume ⟨p, hτ.trans_le hp⟩) have h0 := cdf_normalize_zero_of_measure_zero m hm (originalPositiveValues_zero huc hu.measurable) have hUc := cdf_normalize_one_of_tail_zero m hm (originalPositiveValues_tail_zero huc hu.measurable hbound) have hb : 0 ≤ b := measureReal_nonneg have hnear : ∀ ε > 0, b < areaRank (m.normalize : Measure ℝ) (m.mass : ℝ) (τ - ε) := by intro ε hε exact inclusive_high_lt_lower_rank m (by linarith) (positiveValueMeasure_below_gate_pos hu huc hτ hp hε) have hba : b < (m.mass : ℝ) := by have h := hnear τ hτ simpa only [sub_self, areaRank, h0, sub_zero, mul_one] using h have hgate : areaRank (m.normalize : Measure ℝ) (m.mass : ℝ) τ ≤ b := by rw [finiteMeasure_areaRank] exact measureReal_mono Ioi_subset_Ici_self apply Polya26.Strike.S03.Header.ScalarCarrierRadialPilot.inner_gate_trace hba ((areaProfile_antitone (m.normalize : Measure ℝ) hU.le hm).antitoneOn _) · exact areaProfile_trunk_gate_upper (m.normalize : Measure ℝ) hU hm h0 hUc hb hgate · exact areaProfile_trunk_gate_approx (m.normalize : Measure ℝ) hU hm h0 hUc hb hnear section ActualComponents open Polya26.ComponentCutoff /-- The actual raw component has positive values arbitrarily close to zero in its ORIGINAL value law; no raw C1 assertion is used. -/ theorem raw_component_value_near_zero_pos {u : Math30.Polya.Plane → ℝ} (hu : Continuous u) (huc : HasCompactSupport u) {τ : ℝ} (hτ : 0 ≤ τ) {p : Math30.Polya.Plane} (hp : τ < u p) {ε : ℝ} (hε : 0 < ε) : 0 < Polya26.Strike.S04.positiveValueMeasure (rawBranch u τ p) (Iic ε) := by have hshift : Measurable (fun x : Math30.Polya.Plane => u x - τ) := hu.measurable.sub measurable_const rw [Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_valueMeasure_eq hu τ p, Measure.map_apply hshift measurableSet_Iic, Measure.restrict_apply (measurableSet_Iic.preimage hshift)] apply (level_component_near_gate_measure_pos volume hu huc hτ hp hε).trans_le apply measure_mono intro x hx refine ⟨?_, hx.1⟩ change u x - τ ≤ ε linarith [hx.2.2] /-- High and nodal inverse branches have their actual zero outer trace. Adding the ORIGINAL tau then gives the common star gate tau. -/ theorem component_inverse_outer_trace {u : Math30.Polya.Plane → ℝ} (hu : Continuous u) (huc : HasCompactSupport u) {τ : ℝ} (hτ : 0 ≤ τ) {p : Math30.Polya.Plane} (hp : τ < u p) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) : let v := rawBranch u τ p let hv := Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_hasCompactSupport huc hτ p Tendsto (areaProfile ((originalPositiveValues v hv).normalize : Measure ℝ) U ((originalPositiveValues v hv).mass : ℝ)) (𝓝[<] ((originalPositiveValues v hv).mass : ℝ)) (𝓝 0) := by let v := rawBranch u τ p let hv := Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_hasCompactSupport huc hτ p let m := originalPositiveValues v hv letI : IsFiniteMeasure (m : Measure ℝ) := m.property have hvm : Measurable v := Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_measurable hu τ p have hphase : 0 < volume {x : Math30.Polya.Plane | 0 < v x} := by rw [Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_positive_set] exact (component_isOpen hu τ p).measure_pos volume ⟨p, mem_connectedComponentIn hp⟩ have hm : 0 < (m.mass : ℝ) := originalPositiveValues_mass_pos hv hvm hphase have hvbound : ∀ x, v x ≤ U := by intro x classical by_cases hx : x ∈ component u τ p · change Polya26.LevelComponentBoundary.zeroExtension (component u τ p) (fun y => u y - τ) x ≤ U rw [Polya26.LevelComponentBoundary.zeroExtension, if_pos hx] linarith [hbound x] · change Polya26.LevelComponentBoundary.zeroExtension (component u τ p) (fun y => u y - τ) x ≤ U rw [Polya26.LevelComponentBoundary.zeroExtension, if_neg hx] exact hU.le have h0 := cdf_normalize_zero_of_measure_zero m hm (originalPositiveValues_zero hv hvm) have hUc := cdf_normalize_one_of_tail_zero m hm (originalPositiveValues_tail_zero hv hvm hvbound) have hnear : ∀ t > 0, 0 < cdf (m.normalize : Measure ℝ) t := by intro t ht exact cdf_normalize_pos_of_measure_pos m (raw_component_value_near_zero_pos hu huc hτ hp ht) apply Polya26.Strike.S03.Header.ScalarCarrierRadialPilot.outer_gate_trace hm ((areaProfile_antitone (m.normalize : Measure ℝ) hU.le hm).antitoneOn _) · intro s hs exact (areaProfile_bounds (m.normalize : Measure ℝ) hU.le _ s).1 · simpa only [zero_add] using areaProfile_outer_approx (m.normalize : Measure ℝ) hU hm h0 hUc hnear end ActualComponents end ActualPositiveValues end Polya26.Strike.S03.Header.PrimitiveProfileFactory.Gates end end /- END M047 -/ /- BEGIN M048 -/ section /-! Original component moments, including the nonzero common gate. -/ noncomputable section open Set MeasureTheory open scoped ENNReal Topology ContDiff namespace Polya26.Strike.S01.Header.QuantileAlgebra open Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.Strike.S05.Header.DirectCDF Polya26.Strike.S05.Header.FiniteValues Polya26.Strike.S05.Header.QuantileDistribution open Polya26.PlanarIsoperimetric def componentValueFinite (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) (τ : ℝ) (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ := positiveValueFinite (Polya26.ComponentCutoff.rawBranch u τ p) (Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_hasCompactSupport hu hτ p) def componentRadialResidual (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) (τ : ℝ) (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) (U : ℝ) : ℝ → ℝ := Polya26.Strike.S05.Header.QuantileDistribution.areaProfile ((componentValueFinite u hu τ hτ p).normalize : Measure ℝ) U (Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)) lemma componentValueFinite_mass {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) : ((componentValueFinite u hu τ hτ p).mass : ℝ) = Math30.Polya.area (Polya26.ComponentCutoff.component u τ p) := by rw [componentValueFinite, positiveValueFinite_mass _ (Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_measurable hf τ p), Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_positive_set] lemma component_rawBranch_upper_bound {u : Math30.Polya.Plane → ℝ} {τ U : ℝ} (hτ : 0 ≤ τ) (hU : 0 ≤ U) (hbound : ∀ x, u x ≤ U) (p : Math30.Polya.Plane) : ∀ x, Polya26.ComponentCutoff.rawBranch u τ p x ≤ U := by intro x classical by_cases hx : x ∈ Polya26.ComponentCutoff.component u τ p · simp only [Polya26.ComponentCutoff.rawBranch, Polya26.LevelComponentBoundary.zeroExtension, if_pos hx] linarith [hbound x] · simp only [Polya26.ComponentCutoff.rawBranch, Polya26.LevelComponentBoundary.zeroExtension, if_neg hx] exact hU theorem componentValueFinite_cdf_endpoints {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)) : Polya26.Strike.S05.Header.DirectCDF.cdf ((componentValueFinite u hu τ hτ p).normalize : Measure ℝ) 0 = 0 ∧ Polya26.Strike.S05.Header.DirectCDF.cdf ((componentValueFinite u hu τ hτ p).normalize : Measure ℝ) U = 1 := by have hmass : 0 < ((componentValueFinite u hu τ hτ p).mass : ℝ) := by rw [componentValueFinite_mass hu hf hτ p] exact ha exact Polya26.Strike.S05.Header.FiniteValues.finiteMeasure_cdf_endpoints _ hmass (positiveValueFinite_zero _ (Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_measurable hf τ p)) (positiveValueFinite_bound _ (Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_measurable hf τ p) (component_rawBranch_upper_bound hτ hU.le hbound p)) /-- The residual inverse has the original shifted component law exactly. -/ theorem componentRadialResidual_map {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)) : (volume.restrict (Ioo (0 : ℝ) (Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)))).map (componentRadialResidual u hu τ hτ p U) = (volume.restrict (Polya26.ComponentCutoff.component u τ p)).map (fun x => u x - τ) := by obtain ⟨h0cdf, hUcdf⟩ := componentValueFinite_cdf_endpoints hu hf hτ p hU hbound ha have hmass : 0 < ((componentValueFinite u hu τ hτ p).mass : ℝ) := by rw [componentValueFinite_mass hu hf hτ p] exact ha have h := Polya26.Strike.S05.Header.QuantileDistribution.finiteMeasure_areaProfile_map (componentValueFinite u hu τ hτ p) hU hmass h0cdf hUcdf rw [componentValueFinite_mass hu hf hτ p] at h change _ = Polya26.Strike.S04.positiveValueMeasure (Polya26.ComponentCutoff.rawBranch u τ p) at h rw [Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_valueMeasure_eq hf τ p] at h exact h /-- Arbitrary original moments are preserved before any branch truncation. -/ theorem componentRadialResidual_integral {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)) {H : ℝ → ℝ} (hH : StronglyMeasurable H) : (∫ s in Ioo (0 : ℝ) (Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)), H (componentRadialResidual u hu τ hτ p U s)) = ∫ x in Polya26.ComponentCutoff.component u τ p, H (u x - τ) := by have hm : Measurable (componentRadialResidual u hu τ hτ p U) := Polya26.Strike.S05.Header.QuantileDistribution.areaProfile_measurable _ hU.le ha have hshift : Measurable (fun x : Math30.Polya.Plane => u x - τ) := hf.measurable.sub measurable_const rw [← integral_map_of_stronglyMeasurable hm hH, componentRadialResidual_map hu hf hτ p hU hbound ha, integral_map_of_stronglyMeasurable hshift hH] /-- This is the ORIGINAL branch mass, not the mass above its gate. -/ theorem componentRadialResidual_original_mass {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)) : (∫ s in Ioo (0 : ℝ) (Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)), (τ + componentRadialResidual u hu τ hτ p U s) ^ 2) = ∫ x in Polya26.ComponentCutoff.component u τ p, (u x) ^ 2 := by have h := componentRadialResidual_integral hu hf hτ p hU hbound ha (H := fun t => (τ + t) ^ 2) ((continuous_const.add continuous_id).pow 2).stronglyMeasurable rw [h] apply integral_congr_ae filter_upwards [] with x ring end Polya26.Strike.S01.Header.QuantileAlgebra end end /- END M048 -/ /- BEGIN M049 -/ section /-! Inclusive area gates and original trunk moments; plateau atoms are retained. -/ noncomputable section open Set MeasureTheory open scoped ENNReal Topology namespace Polya26.Strike.S01.Header.QuantileAlgebra open Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.Strike.S05.Header.DirectCDF Polya26.Strike.S05.Header.FiniteValues Polya26.Strike.S05.Header.QuantileDistribution /-- An antitone actual profile cuts its lower values at the inclusive area rank. The sole possible disagreement is the one area endpoint. -/ theorem antitone_inclusive_gate_partition (m : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) {f : ℝ → ℝ} {a τ : ℝ} (ha : 0 < a) (hf : Antitone f) (hm : Measurable f) (hmap : (volume.restrict (Ioo (0 : ℝ) a)).map f = (m : Measure ℝ)) : let b := (m : Measure ℝ).real (Ici τ) 0 ≤ b ∧ b ≤ a ∧ (∀ s ∈ Ioo (0 : ℝ) b, τ ≤ f s) ∧ (∀ s ∈ Ioo b a, f s < τ) ∧ (f ⁻¹' Iio τ ∩ Ioo (0 : ℝ) a =ᵐ[volume] Ioo b a) := by letI : IsFiniteMeasure (m : Measure ℝ) := m.property let b : ℝ := (m : Measure ℝ).real (Ici τ) have hb0 : 0 ≤ b := ENNReal.toReal_nonneg have hvola : volume (Ioo (0 : ℝ) a) = ENNReal.ofReal a := by simp have hlevel : volume (f ⁻¹' Ici τ ∩ Ioo (0 : ℝ) a) = (m : Measure ℝ) (Ici τ) := by have h := congrArg (fun ν : Measure ℝ => ν (Ici τ)) hmap rwa [Measure.map_apply hm measurableSet_Ici, Measure.restrict_apply (measurableSet_Ici.preimage hm)] at h have hbA : b ≤ a := by have h : (m : Measure ℝ) (Ici τ) ≤ ENNReal.ofReal a := by rw [← hlevel, ← hvola] exact measure_mono inter_subset_right have hr := ENNReal.toReal_mono ENNReal.ofReal_ne_top h simpa only [b, measureReal_def, ENNReal.toReal_ofReal ha.le] using hr have hprefix (s : ℝ) (hs : s ∈ Ioo (0 : ℝ) a) (hτs : τ ≤ f s) : s ≤ b := by have hsub : Ioo (0 : ℝ) s ⊆ f ⁻¹' Ici τ ∩ Ioo (0 : ℝ) a := by intro r hr exact ⟨hτs.trans (hf hr.2.le), ⟨hr.1, hr.2.trans hs.2⟩⟩ have h : ENNReal.ofReal s ≤ (m : Measure ℝ) (Ici τ) := by have hvols : volume (Ioo (0 : ℝ) s) = ENNReal.ofReal s := by simp rw [← hlevel, ← hvols] exact measure_mono hsub have hr := ENNReal.toReal_mono (measure_ne_top (m : Measure ℝ) (Ici τ)) h simpa only [b, measureReal_def, ENNReal.toReal_ofReal hs.1.le] using hr have hsmall (s : ℝ) (hs : s ∈ Ioo (0 : ℝ) b) : τ ≤ f s := by by_contra! hτs have hsub : f ⁻¹' Ici τ ∩ Ioo (0 : ℝ) a ⊆ Ioo (0 : ℝ) s := by intro r hr refine ⟨hr.2.1, ?_⟩ by_contra! hsr exact (not_lt_of_ge hr.1) ((hf hsr).trans_lt hτs) have h : (m : Measure ℝ) (Ici τ) ≤ ENNReal.ofReal s := by have hvols : volume (Ioo (0 : ℝ) s) = ENNReal.ofReal s := by simp rw [← hlevel, ← hvols] exact measure_mono hsub have hr := ENNReal.toReal_mono ENNReal.ofReal_ne_top h have hbs : b ≤ s := by simpa only [b, measureReal_def, ENNReal.toReal_ofReal hs.1.le] using hr exact (not_lt_of_ge hbs) hs.2 have hlarge (s : ℝ) (hs : s ∈ Ioo b a) : f s < τ := by by_contra! hτs exact (not_lt_of_ge (hprefix s ⟨hb0.trans_lt hs.1, hs.2⟩ hτs)) hs.1 refine ⟨hb0, hbA, hsmall, hlarge, ?_⟩ filter_upwards [volume.ae_ne b] with s hsb apply propext change (f s < τ ∧ s ∈ Ioo (0 : ℝ) a) ↔ s ∈ Ioo b a constructor · rintro ⟨hfτ, hs⟩ refine ⟨?_, hs.2⟩ by_contra! hsb' have hsb'' : s < b := lt_of_le_of_ne hsb' hsb exact (not_lt_of_ge (hsmall s ⟨hs.1, hsb''⟩)) hfτ · intro hs exact ⟨hlarge s hs, ⟨hb0.trans_lt hs.1, hs.2⟩⟩ /-- Original lower-value moments are exactly the inclusive-gate trunk moments. No atom is allocated to the open trunk. -/ theorem antitone_trunk_integral (m : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) {f : ℝ → ℝ} {a τ : ℝ} (ha : 0 < a) (hf : Antitone f) (hm : Measurable f) (hmap : (volume.restrict (Ioo (0 : ℝ) a)).map f = (m : Measure ℝ)) {H : ℝ → ℝ} (hH : StronglyMeasurable H) : (∫ s in Ioo ((m : Measure ℝ).real (Ici τ)) a, H (f s)) = ∫ t in Iio τ, H t ∂(m : Measure ℝ) := by letI : IsFiniteMeasure (m : Measure ℝ) := m.property have hpart := antitone_inclusive_gate_partition m (τ := τ) ha hf hm hmap have hmoment : (∫ s in Ioo (0 : ℝ) a, (Iio τ).indicator H (f s)) = ∫ t in Iio τ, H t ∂(m : Measure ℝ) := by rw [← integral_map_of_stronglyMeasurable hm (hH.indicator measurableSet_Iio), hmap, integral_indicator measurableSet_Iio] have hfun : (fun s => (Iio τ).indicator H (f s)) = (f ⁻¹' Iio τ).indicator (fun s => H (f s)) := by funext s by_cases hs : f s < τ · simp only [indicator_of_mem (show f s ∈ Iio τ from hs), indicator_of_mem (show s ∈ f ⁻¹' Iio τ from hs)] · simp only [indicator_of_notMem (show f s ∉ Iio τ from hs), indicator_of_notMem (show s ∉ f ⁻¹' Iio τ from hs)] rw [hfun, setIntegral_indicator (measurableSet_Iio.preimage hm), Set.inter_comm, setIntegral_congr_set hpart.2.2.2.2] at hmoment exact hmoment theorem areaProfile_trunk_integral (m : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) {U : ℝ} (hU : 0 < U) (hmass : 0 < (m.mass : ℝ)) (h0cdf : Polya26.Strike.S05.Header.DirectCDF.cdf (m.normalize : Measure ℝ) 0 = 0) (hUcdf : Polya26.Strike.S05.Header.DirectCDF.cdf (m.normalize : Measure ℝ) U = 1) (τ : ℝ) {H : ℝ → ℝ} (hH : StronglyMeasurable H) : (∫ s in Ioo ((m : Measure ℝ).real (Ici τ)) (m.mass : ℝ), H (Polya26.Strike.S05.Header.QuantileDistribution.areaProfile (m.normalize : Measure ℝ) U (m.mass : ℝ) s)) = ∫ t in Iio τ, H t ∂(m : Measure ℝ) := antitone_trunk_integral m hmass (Polya26.Strike.S05.Header.QuantileDistribution.areaProfile_antitone _ hU.le hmass) (Polya26.Strike.S05.Header.QuantileDistribution.areaProfile_measurable _ hU.le hmass) (Polya26.Strike.S05.Header.QuantileDistribution.finiteMeasure_areaProfile_map m hU hmass h0cdf hUcdf) hH lemma positiveValueFinite_inclusive_rank {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {τ : ℝ} (hτ : 0 < τ) : (positiveValueFinite u hu : Measure ℝ).real (Ici τ) = Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x} := by change ((Polya26.Strike.S04.positiveValueMeasure u) (Ici τ)).toReal = _ rw [Polya26.Strike.S04.positiveValueMeasure, Measure.map_apply hf measurableSet_Ici, Measure.restrict_apply (measurableSet_Ici.preimage hf)] have hset : u ⁻¹' Ici τ ∩ {x : Math30.Polya.Plane | 0 < u x} = {x : Math30.Polya.Plane | τ ≤ u x} := by ext x exact ⟨fun h => h.1, fun h => ⟨h, hτ.trans_le h⟩⟩ rw [hset] rfl /-- The physical inclusive high area is the exact beginning of the ORIGINAL low-height mass window. The threshold plateau is excluded. -/ theorem positiveProfile_trunk_original_mass {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) {τ : ℝ} (hτ : 0 < τ) : (∫ s in Ioo (Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x}) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}), (Polya26.Strike.S05.Header.QuantileDistribution.areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) s) ^ 2) = ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, (u x) ^ 2 := by let m := positiveValueFinite u hu have hmass : 0 < (m.mass : ℝ) := by rw [positiveValueFinite_mass hu hf] exact ha obtain ⟨h0cdf, hUcdf⟩ := Polya26.Strike.S05.Header.FiniteValues.finiteMeasure_cdf_endpoints m hmass (positiveValueFinite_zero hu hf) (positiveValueFinite_bound hu hf hbound) have h := areaProfile_trunk_integral m hU hmass h0cdf hUcdf τ (H := fun t => t ^ 2) ((continuous_id.pow 2).stronglyMeasurable) rw [positiveValueFinite_mass hu hf, positiveValueFinite_inclusive_rank hu hf hτ] at h change _ = ∫ t in Iio τ, t ^ 2 ∂Polya26.Strike.S04.positiveValueMeasure u at h have hsq : StronglyMeasurable (fun t : ℝ => t ^ 2) := (continuous_id.pow 2).stronglyMeasurable rw [← integral_indicator measurableSet_Iio, Polya26.Strike.S04.positiveValueMeasure, integral_map_of_stronglyMeasurable hf (hsq.indicator measurableSet_Iio)] at h have hfun : (fun x => (Iio τ).indicator (fun t : ℝ => t ^ 2) (u x)) = (u ⁻¹' Iio τ).indicator (fun x => (u x) ^ 2) := by funext x by_cases hx : u x < τ · simp only [indicator_of_mem (show u x ∈ Iio τ from hx), indicator_of_mem (show x ∈ u ⁻¹' Iio τ from hx)] · simp only [indicator_of_notMem (show u x ∉ Iio τ from hx), indicator_of_notMem (show x ∉ u ⁻¹' Iio τ from hx)] rw [hfun, setIntegral_indicator (measurableSet_Iio.preimage hf)] at h have hset : {x : Math30.Polya.Plane | 0 < u x} ∩ u ⁻¹' Iio τ = {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ} := rfl rw [hset] at h exact h end Polya26.Strike.S01.Header.QuantileAlgebra end end /- END M049 -/ /- BEGIN M050 -/ section /-! Genuine positive-value profile law and actual terminal-core concentration. -/ noncomputable section open Set MeasureTheory open scoped ENNReal Topology namespace Polya26.Strike.S01.Header.QuantileAlgebra open Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.Strike.S05.Header.DirectCDF Polya26.Strike.S05.Header.FiniteValues Polya26.Strike.S05.Header.QuantileDistribution def positiveRadialProfile (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) (U : ℝ) : ℝ → ℝ := Polya26.Strike.S05.Header.QuantileDistribution.areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) theorem positiveRadialProfile_map {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) : (volume.restrict (Ioo (0 : ℝ) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}))).map (positiveRadialProfile u hu U) = (volume.restrict {x : Math30.Polya.Plane | 0 < u x}).map u := by let m := positiveValueFinite u hu have hmass : 0 < (m.mass : ℝ) := by rw [positiveValueFinite_mass hu hf] exact ha obtain ⟨h0cdf, hUcdf⟩ := Polya26.Strike.S05.Header.FiniteValues.finiteMeasure_cdf_endpoints m hmass (positiveValueFinite_zero hu hf) (positiveValueFinite_bound hu hf hbound) have h := Polya26.Strike.S05.Header.QuantileDistribution.finiteMeasure_areaProfile_map m hU hmass h0cdf hUcdf rw [positiveValueFinite_mass hu hf] at h exact h theorem positiveRadialProfile_mass {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) : (∫ s in Ioo (0 : ℝ) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}), (positiveRadialProfile u hu U s) ^ 2) = ∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x) ^ 2 := by have hm : Measurable (positiveRadialProfile u hu U) := Polya26.Strike.S05.Header.QuantileDistribution.areaProfile_measurable _ hU.le ha have hsq : StronglyMeasurable (fun t : ℝ => t ^ 2) := (continuous_id.pow 2).stronglyMeasurable rw [← integral_map_of_stronglyMeasurable hm hsq, positiveRadialProfile_map hu hf hU hbound ha, integral_map_of_stronglyMeasurable hf hsq] lemma positiveRadialProfile_mass_integrable {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) {U : ℝ} (hU : 0 < U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) : IntegrableOn (fun s => (positiveRadialProfile u hu U s) ^ 2) (Ioo (0 : ℝ) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x})) volume := by have hm : Measurable (positiveRadialProfile u hu U) := Polya26.Strike.S05.Header.QuantileDistribution.areaProfile_measurable _ hU.le ha apply IntegrableOn.of_bound (by simp) (hm.pow_const 2).aestronglyMeasurable (U ^ 2) filter_upwards [] with s have hb := Polya26.Strike.S05.Header.QuantileDistribution.areaProfile_bounds ((positiveValueFinite u hu).normalize : Measure ℝ) hU.le (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) s rw [Real.norm_of_nonneg (sq_nonneg _)] exact pow_le_pow_left₀ hb.1 hb.2 2 lemma positive_phase_mass_integrable {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 ≤ U) (hbound : ∀ x, u x ≤ U) : IntegrableOn (fun x => (u x) ^ 2) {x : Math30.Polya.Plane | 0 < u x} volume := by apply IntegrableOn.of_bound (lt_top_iff_ne_top.mpr (Polya26.Strike.S04.positive_superlevel_volume_ne_top hu le_rfl)) (hf.pow_const 2).aestronglyMeasurable (U ^ 2) filter_upwards [ae_restrict_mem (hf measurableSet_Ioi)] with x hx rw [Real.norm_of_nonneg (sq_nonneg _)] exact pow_le_pow_left₀ (show 0 ≤ u x from hx.le) (hbound x) 2 /-- Any actual positive core has at most the mass of its equal-area sorted prefix. Applying this to `-u` is the actual negative-core adapter. All value atoms are retained by the genuine pushforward identity. -/ theorem positiveRadialProfile_core_mass_le_prefix {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) {K : Set Math30.Polya.Plane} (hK : MeasurableSet K) (hKD : K ⊆ {x : Math30.Polya.Plane | 0 < u x}) : (∫ x in K, (u x) ^ 2) ≤ ∫ s in Ioo (0 : ℝ) (Math30.Polya.area K), (positiveRadialProfile u hu U s) ^ 2 := by have hDfinite := Polya26.Strike.S04.positive_superlevel_volume_ne_top hu le_rfl have hBa : Math30.Polya.area K ≤ Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} := ENNReal.toReal_mono hDfinite (measure_mono hKD) exact Polya26.SortedMassConcentration.actual_set_mass_le_sorted_prefix hf (Polya26.Strike.S05.Header.QuantileDistribution.areaProfile_antitone _ hU.le ha) (fun s => (Polya26.Strike.S05.Header.QuantileDistribution.areaProfile_bounds _ hU.le _ s).1) hK hKD hDfinite rfl hBa (positive_phase_mass_integrable hu hf hU.le hbound) (positiveRadialProfile_mass_integrable hu hU ha) (positiveRadialProfile_map hu hf hU hbound ha).symm end Polya26.Strike.S01.Header.QuantileAlgebra end end /- END M050 -/ /- BEGIN M051 -/ section /-! Genuine gate representatives preserve original moments and ordered profiles. -/ noncomputable section open Set MeasureTheory open scoped Topology namespace Polya26.Strike.S03.Header.PrimitiveProfileFactory.GateMoments open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot open Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.Strike.S01.Header.QuantileAlgebra open Polya26.Strike.S05.Header.DirectCDF open Polya26.Strike.S05.Header.QuantileDistribution theorem gateExtension_setIntegral_eq (f H : ℝ → ℝ) (b a L R : ℝ) (S : Set ℝ) : (∫ s in S, H (gateExtension f b a L R s)) = ∫ s in S, H (f s) := by apply integral_congr_ae filter_upwards [ae_restrict_of_ae (gateExtension_ae_eq f b a L R)] with s hs rw [hs] theorem gateExtension_bounds {f : ℝ → ℝ} {b a τ : ℝ} (hab : b < a) (hτ : 0 ≤ τ) (hinterior : ∀ s ∈ Ioo b a, f s ∈ Icc (0 : ℝ) τ) : ∀ s ∈ Icc b a, gateExtension f b a τ 0 s ∈ Icc (0 : ℝ) τ := by intro s hs by_cases hsb : s = b · simp only [gateExtension, if_pos hsb] exact ⟨hτ, le_rfl⟩ · by_cases hsa : s = a · simp only [gateExtension, if_neg hsb, if_pos hsa] exact ⟨le_rfl, hτ⟩ · simp only [gateExtension, if_neg hsb, if_neg hsa] exact hinterior s ⟨lt_of_le_of_ne hs.1 (Ne.symm hsb), lt_of_le_of_ne hs.2 hsa⟩ theorem gateExtension_antitoneOn {f : ℝ → ℝ} {b a τ : ℝ} (hab : b < a) (hf : Antitone f) (hτ : 0 ≤ τ) (hinterior : ∀ s ∈ Ioo b a, f s ∈ Icc (0 : ℝ) τ) : AntitoneOn (gateExtension f b a τ 0) (Icc b a) := by intro x hx y hy hxy by_cases hxb : x = b · rw [hxb] simpa only [gateExtension, if_pos] using (gateExtension_bounds hab hτ hinterior y hy).2 · by_cases hya : y = a · rw [hya] have habne : a ≠ b := ne_of_gt hab simpa only [gateExtension, if_neg habne, if_pos] using (gateExtension_bounds hab hτ hinterior x hx).1 · have hyb : y ≠ b := by intro h have hxle : x ≤ b := hxy.trans_eq h exact hxb (le_antisymm hxle hx.1) have hxa : x ≠ a := by intro h have hyle : a ≤ y := h ▸ hxy exact hya (le_antisymm hy.2 hyle) simp only [gateExtension, if_neg hxb, if_neg hxa, if_neg hyb, if_neg hya] exact hf hxy theorem outer_gateExtension_antitoneOn {f : ℝ → ℝ} {a : ℝ} (ha : 0 < a) (hf : Antitone f) (hf0 : ∀ s, 0 ≤ f s) : AntitoneOn (gateExtension f 0 a (f 0) 0) (Icc (0 : ℝ) a) := by apply gateExtension_antitoneOn ha hf (hf0 0) intro s hs exact ⟨hf0 s, hf hs.1.le⟩ /-- Endpoint replacement retains both gate cross terms in the ORIGINAL branch mass. -/ theorem component_gate_original_mass {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)) : let f := componentRadialResidual u hu τ hτ p U let a := Math30.Polya.area (Polya26.ComponentCutoff.component u τ p) (∫ s in Ioo (0 : ℝ) a, (τ + gateExtension f 0 a (f 0) 0 s) ^ 2) = ∫ x in Polya26.ComponentCutoff.component u τ p, (u x) ^ 2 := by dsimp only rw [gateExtension_setIntegral_eq (componentRadialResidual u hu τ hτ p U) (fun s => (τ + s) ^ 2) 0 (Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)) (componentRadialResidual u hu τ hτ p U 0) 0 (Ioo (0 : ℝ) (Math30.Polya.area (Polya26.ComponentCutoff.component u τ p)))] exact componentRadialResidual_original_mass hu hf hτ p hU hbound ha theorem trunk_gate_original_mass {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) {τ : ℝ} (hτ : 0 < τ) : let f := positiveRadialProfile u hu U let b := Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x} let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} (∫ s in Ioo b a, (gateExtension f b a τ 0 s) ^ 2) = ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, (u x) ^ 2 := by dsimp only rw [gateExtension_setIntegral_eq (positiveRadialProfile u hu U) (fun s => s ^ 2) (Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x}) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) τ 0 (Ioo (Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x}) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}))] exact positiveProfile_trunk_original_mass hu hf hU hbound ha hτ theorem positive_gate_core_mass_le_prefix {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) {K : Set Math30.Polya.Plane} (hK : MeasurableSet K) (hKD : K ⊆ {x : Math30.Polya.Plane | 0 < u x}) : let f := positiveRadialProfile u hu U let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} (∫ x in K, (u x) ^ 2) ≤ ∫ s in Ioo (0 : ℝ) (Math30.Polya.area K), (gateExtension f 0 a (f 0) 0 s) ^ 2 := by dsimp only rw [gateExtension_setIntegral_eq (positiveRadialProfile u hu U) (fun s => s ^ 2) 0 (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) (positiveRadialProfile u hu U 0) 0 (Ioo (0 : ℝ) (Math30.Polya.area K))] exact positiveRadialProfile_core_mass_le_prefix hu hf hU hbound ha hK hKD /-- Every original trunk moment is transported from the strict low-height phase. The threshold plateau remains in the high junction. -/ theorem positiveProfile_trunk_original_integral {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) {τ : ℝ} (hτ : 0 < τ) {H : ℝ → ℝ} (hH : StronglyMeasurable H) : (∫ s in Ioo (Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x}) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}), H (positiveRadialProfile u hu U s)) = ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, H (u x) := by let m := positiveValueFinite u hu have hmass : 0 < (m.mass : ℝ) := by rw [positiveValueFinite_mass hu hf] exact ha obtain ⟨h0cdf, hUcdf⟩ := finiteMeasure_cdf_endpoints m hmass (positiveValueFinite_zero hu hf) (positiveValueFinite_bound hu hf hbound) have h := areaProfile_trunk_integral m hU hmass h0cdf hUcdf τ hH rw [positiveValueFinite_mass hu hf, positiveValueFinite_inclusive_rank hu hf hτ] at h change _ = ∫ t in Iio τ, H t ∂Polya26.Strike.S04.positiveValueMeasure u at h rw [← integral_indicator measurableSet_Iio, Polya26.Strike.S04.positiveValueMeasure, integral_map_of_stronglyMeasurable hf (hH.indicator measurableSet_Iio)] at h have hfun : (fun x => (Iio τ).indicator H (u x)) = (u ⁻¹' Iio τ).indicator (fun x => H (u x)) := by funext x by_cases hx : u x < τ · simp only [indicator_of_mem (show u x ∈ Iio τ from hx), indicator_of_mem (show x ∈ u ⁻¹' Iio τ from hx)] · simp only [indicator_of_notMem (show u x ∉ Iio τ from hx), indicator_of_notMem (show x ∉ u ⁻¹' Iio τ from hx)] rw [hfun, setIntegral_indicator (measurableSet_Iio.preimage hf)] at h exact h theorem trunk_gate_original_firstMoment {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) {τ : ℝ} (hτ : 0 < τ) : let f := positiveRadialProfile u hu U let b := Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x} let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} (∫ s in Ioo b a, gateExtension f b a τ 0 s) = ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, u x := by dsimp only have hgate := gateExtension_setIntegral_eq (positiveRadialProfile u hu U) id (Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x}) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) τ 0 (Ioo (Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x}) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x})) have hphysical := positiveProfile_trunk_original_integral hu hf hU hbound ha hτ stronglyMeasurable_id exact hgate.trans hphysical end Polya26.Strike.S03.Header.PrimitiveProfileFactory.GateMoments end end /- END M051 -/ /- BEGIN M052 -/ section /-! Original physical quantiles, their represented derivatives, and actual closed-gate absolute continuity. Endpoint patches change only null sets; there is no smoothness premise on a rearranged profile. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology ContDiff namespace Polya26.Strike.S03.Header.PrimitiveProfiles open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot Polya26.Strike.S03.Header.PrimitiveProfileFactory.Gates open Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.Strike.S05.Header.QuantileDistribution open Polya26.PlanarIsoperimetric /-- The weighted energy and ordinary derivative of the ORIGINAL inverse profile. All fields are derived from the physical test dual below. -/ structure WeightedProfile (f W : ℝ → ℝ) (a b D : ℝ) (h : ℝ → ℝ) : Prop where locally_integrable : LocallyIntegrableOn h (Ioo a b) volume energy_integrable : IntegrableOn (fun s => W s * (h s) ^ 2) (Ioo a b) volume energy_le : (∫ s in Ioo a b, W s * (h s) ^ 2) ≤ D primitive : ∃ d : ℝ, ∀ s ∈ Ioo a b, f s = d + ∫ t in ((a + b) / 2)..s, h t hasDerivAt_ae : ∀ᵐ s, s ∈ Ioo a b → HasDerivAt f (h s) s nonpos_ae : ∀ᵐ s, s ∈ Ioo a b → h s ≤ 0 theorem exists_weightedProfile_of_squared_dual {f W : ℝ → ℝ} {a b D : ℝ} (hab : a < b) (hf : Antitone f) (hW : Continuous W) (hpos : ∀ s ∈ Ioo a b, 0 < W s) (hD : 0 ≤ D) (hdual : ∀ φ : RadialTest a b, (∫ s, f s * deriv (φ : ℝ → ℝ) s) ^ 2 ≤ D * (∫ s in Ioo a b, ((φ : ℝ → ℝ) s) ^ 2 / W s)) : ∃ h : ℝ → ℝ, WeightedProfile f W a b D h := by obtain ⟨h, hloc, hint, henergy, hweak, d, hprimitive⟩ := radial_profile_of_dual_bound hab hf hW hpos (Real.sqrt_nonneg D) (radial_dual_bound_of_squared hW hpos hD hdual) have hc : (a + b) / 2 ∈ Ioo a b := by constructor <;> linarith have hder := ae_hasDerivAt_on_open_of_local_primitive hloc hc hprimitive refine ⟨h, hloc, hint, ?_, ⟨d, hprimitive⟩, hder, ?_⟩ · simpa only [Real.sq_sqrt hD] using henergy · filter_upwards [hder] with s hs hsu exact (hs hsu).nonpos_of_antitone hf theorem WeightedProfile.continuousOn {f W h : ℝ → ℝ} {a b D : ℝ} (hp : WeightedProfile f W a b D h) (hab : a < b) : ContinuousOn f (Ioo a b) := by obtain ⟨d, hd⟩ := hp.primitive have hc : (a + b) / 2 ∈ Ioo a b := by constructor <;> linarith have hG : ContinuousOn (fun s => d + ∫ t in ((a + b) / 2)..s, h t) (Ioo a b) := continuousOn_const.add (continuousOn_local_primitive hp.locally_integrable hc) exact hG.congr (fun s hs => hd s hs) theorem WeightedProfile.intervalIntegrable {f W h : ℝ → ℝ} {a b D l r m : ℝ} (hp : WeightedProfile f W a b D h) (hlr : l ≤ r) (hsub : Ioo l r ⊆ Ioo a b) (hm : 0 < m) (hlower : ∀ s ∈ Ioo l r, m ≤ W s) : IntervalIntegrable h volume l r := by apply intervalIntegrable_of_weighted_sq hlr hm (hp.locally_integrable.mono_set hsub).aestronglyMeasurable (hp.energy_integrable.mono_set hsub) hlower /-- A finite endpoint patch leaves the ordinary derivative unchanged at every interior point where the original derivative exists. -/ theorem gateExtension_hasDerivAt {f : ℝ → ℝ} {a b L R v s : ℝ} (hs : s ∈ Ioo a b) (hd : HasDerivAt f v s) : HasDerivAt (gateExtension f a b L R) v s := by apply hd.congr_of_eventuallyEq filter_upwards [isOpen_Ioo.mem_nhds hs] with t ht simp only [gateExtension, if_neg (ne_of_gt ht.1), if_neg (ne_of_lt ht.2)] /-- The exact AE identification consumed by compact-window prefix IBP. It includes the outer gate in uIoc because its singleton has zero volume. -/ theorem WeightedProfile.gateExtension_deriv_ae {f W h : ℝ → ℝ} {a b D L R l r : ℝ} (hp : WeightedProfile f W a b D h) (hsub : Ioc l r ⊆ Ioc a b) : deriv (gateExtension f a b L R) =ᵐ[volume.restrict (Ioc l r)] h := by filter_upwards [ae_restrict_of_ae hp.hasDerivAt_ae, ae_restrict_mem measurableSet_Ioc, ae_restrict_of_ae (ae_iff.mpr (by simp : volume {s : ℝ | ¬s ≠ b} = 0))] with s hs hslr hsb have hsab := hsub hslr have hsU : s ∈ Ioo a b := ⟨hsab.1, lt_of_le_of_ne hsab.2 hsb⟩ exact (gateExtension_hasDerivAt hsU (hs hsU)).deriv /-- Positive weight at both gates gives genuine AC on the entire closed trunk, with its actual common gate values. -/ theorem WeightedProfile.closed_gate_ac {f W h : ℝ → ℝ} {a b D L R m : ℝ} (hp : WeightedProfile f W a b D h) (hab : a < b) (hm : 0 < m) (hlower : ∀ s ∈ Ioo a b, m ≤ W s) (hleft : Tendsto f (𝓝[>] a) (𝓝 L)) (hright : Tendsto f (𝓝[<] b) (𝓝 R)) : Polya26.Strike.S02.Header.PrimitiveOn (gateExtension f a b L R) a b := by obtain ⟨d, hd⟩ := hp.primitive apply absolutelyContinuous_gateExtension hab (hp.intervalIntegrable hab.le subset_rfl hm hlower) ?_ hd hleft hright rw [uIcc_of_le hab.le] constructor <;> linarith /-- Branches need AC only on [epsilon,area], never at their natural center. The lower weight bound is paid by that actual positive epsilon. -/ theorem WeightedProfile.outer_gate_ac {f W h : ℝ → ℝ} {a D R : ℝ} (hp : WeightedProfile f W 0 a D h) (ha : 0 < a) (hlower : ∀ l > 0, ∀ s ∈ Ioo l a, l ≤ W s) (hright : Tendsto f (𝓝[<] a) (𝓝 R)) {ε : ℝ} (hε : 0 < ε) (hεa : ε < a) : Polya26.Strike.S02.Header.PrimitiveOn (gateExtension f 0 a (f 0) R) ε a := by let c : ℝ := (0 + a) / 2 let l : ℝ := min ε c have hc : c ∈ Ioo (0 : ℝ) a := by dsimp [c]; constructor <;> linarith have hl : 0 < l := lt_min hε hc.1 have hla : l < a := (min_le_right _ _).trans_lt hc.2 have hsub : Ioo l a ⊆ Ioo (0 : ℝ) a := fun s hs => ⟨hl.trans hs.1, hs.2⟩ have hint : IntervalIntegrable h volume l a := hp.intervalIntegrable hla.le hsub hl (hlower l hl) obtain ⟨d, hd⟩ := hp.primitive have hlcont : ContinuousAt f l := (hp.continuousOn ha l ⟨hl, hla⟩).continuousAt (isOpen_Ioo.mem_nhds ⟨hl, hla⟩) have hleft : Tendsto f (𝓝[>] l) (𝓝 (f l)) := hlcont.tendsto.mono_left nhdsWithin_le_nhds have hlocal : ∀ s ∈ Ioo l a, f s = d + ∫ t in c..s, h t := fun s hs => hd s (hsub hs) have hac : Polya26.Strike.S02.Header.PrimitiveOn (gateExtension f l a (f l) R) l a := by apply absolutelyContinuous_gateExtension hla hint ?_ hlocal hleft hright rw [uIcc_of_le hla.le] exact ⟨min_le_right _ _, hc.2.le⟩ have hsmall : uIcc ε a ⊆ uIcc l a := by rw [uIcc_of_le hεa.le, uIcc_of_le hla.le] intro s hs exact ⟨(min_le_left _ _).trans hs.1, hs.2⟩ apply (hac.mono hsmall).congr intro s hs rw [uIcc_of_le hεa.le] at hs have hs0 : s ≠ 0 := ne_of_gt (hε.trans_le hs.1) by_cases hsa : s = a · subst s simp [gateExtension, ha.ne', hla.ne'] · by_cases hsl : s = l · subst s simp [gateExtension, hs0, hsa] · simp [gateExtension, hs0, hsa, hsl] section PhysicalProfiles open Polya26.ComponentCutoff /-- Actual smooth positive phase: represented radial energy and closed outer-gate AC, retaining its original positive-value law. -/ theorem smooth_positive_weighted_profile {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {p : Math30.Polya.Plane} (hp : 0 < u p) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) : let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} let f := areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U a let Q := ∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) U}, ‖gradient u x‖ ^ 2 ∃ h : ℝ → ℝ, WeightedProfile f id 0 a (Q / (4 * Real.pi)) h ∧ (∀ ε : ℝ, 0 < ε → ε < a → Polya26.Strike.S02.Header.PrimitiveOn (gateExtension f 0 a (f 0) 0) ε a) := by letI : IsFiniteMeasure (Polya26.Strike.S04.positiveValueMeasure u) := Polya26.Strike.S04.positiveValueMeasure_finite hu letI : IsFiniteMeasure ((positiveValueFinite u hu : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) : Measure ℝ) := (positiveValueFinite u hu).property let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} let f := areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U a let Q := ∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) U}, ‖gradient u x‖ ^ 2 have hmass : 0 < ((positiveValueFinite u hu).mass : ℝ) := originalPositiveValues_mass_pos hu hf.continuous.measurable ((isOpen_lt continuous_const hf.continuous).measure_pos volume ⟨p, hp⟩) have ha : 0 < a := by dsimp [a] rw [← positiveValueFinite_mass hu hf.continuous.measurable] exact hmass obtain ⟨h, hprofile⟩ := exists_weightedProfile_of_squared_dual ha (areaProfile_antitone _ hU.le ha) continuous_id (fun s hs => hs.1) (div_nonneg (integral_nonneg fun x => sq_nonneg _) (by positivity)) (smooth_positive_profile_squared_dual hu hf hU hbound ha) have hgate : Tendsto f (𝓝[<] a) (𝓝 (0 : ℝ)) := by have hg := positive_inverse_outer_trace hf.continuous hu hp hU hbound change Tendsto (areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U ((positiveValueFinite u hu).mass : ℝ)) (𝓝[<] ((positiveValueFinite u hu).mass : ℝ)) (𝓝 (0 : ℝ)) at hg rw [positiveValueFinite_mass hu hf.continuous.measurable] at hg exact hg refine ⟨h, hprofile, ?_⟩ intro ε hε hεa exact hprofile.outer_gate_ac ha (fun l hl s hs => hs.1.le) hgate hε hεa /-- Actual high/nodal component: no C1 assumption on the raw branch. The energy is the original component gradient energy. -/ theorem component_weighted_profile {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {τ : ℝ} (hτ : 0 ≤ τ) {p : Math30.Polya.Plane} (hp : τ < u p) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) : let v := rawBranch u τ p let hv := Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_hasCompactSupport hu hτ p let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < v x} let f := areaProfile ((positiveValueFinite v hv).normalize : Measure ℝ) U a let Q := ∫ x in component u τ p, ‖gradient u x‖ ^ 2 ∃ h : ℝ → ℝ, WeightedProfile f id 0 a (Q / (4 * Real.pi)) h ∧ (∀ ε : ℝ, 0 < ε → ε < a → Polya26.Strike.S02.Header.PrimitiveOn (gateExtension f 0 a (f 0) 0) ε a) := by letI : IsFiniteMeasure (Polya26.Strike.S04.positiveValueMeasure u) := Polya26.Strike.S04.positiveValueMeasure_finite hu letI : IsFiniteMeasure ((positiveValueFinite u hu : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) : Measure ℝ) := (positiveValueFinite u hu).property let v := rawBranch u τ p let hv := Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_hasCompactSupport hu hτ p let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < v x} let f := areaProfile ((positiveValueFinite v hv).normalize : Measure ℝ) U a let Q := ∫ x in component u τ p, ‖gradient u x‖ ^ 2 have hvm : Measurable v := Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_measurable hf.continuous τ p have hphase : 0 < volume {x : Math30.Polya.Plane | 0 < v x} := by rw [Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_positive_set] exact (component_isOpen hf.continuous τ p).measure_pos volume ⟨p, mem_connectedComponentIn hp⟩ have hmass : 0 < ((positiveValueFinite v hv).mass : ℝ) := originalPositiveValues_mass_pos hv hvm hphase have ha : 0 < a := by dsimp [a] rw [← positiveValueFinite_mass hv hvm] exact hmass have haD : 0 < Math30.Polya.area (component u τ p) := by simpa only [a, v, Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_positive_set] using ha obtain ⟨h, hprofile⟩ := exists_weightedProfile_of_squared_dual ha (areaProfile_antitone _ hU.le ha) continuous_id (fun s hs => hs.1) (div_nonneg (integral_nonneg fun x => sq_nonneg _) (by positivity)) (component_profile_squared_dual hu hf hτ p hU hbound haD) have hgate : Tendsto f (𝓝[<] a) (𝓝 (0 : ℝ)) := by have hg := component_inverse_outer_trace hf.continuous hu hτ hp hU hbound change Tendsto (areaProfile ((positiveValueFinite v hv).normalize : Measure ℝ) U ((positiveValueFinite v hv).mass : ℝ)) (𝓝[<] ((positiveValueFinite v hv).mass : ℝ)) (𝓝 (0 : ℝ)) at hg rw [positiveValueFinite_mass hv hvm] at hg exact hg refine ⟨h, hprofile, ?_⟩ intro ε hε hεa exact hprofile.outer_gate_ac ha (fun l hl s hs => hs.1.le) hgate hε hεa theorem fullWrapWeight_ge_add {B s : ℝ} (hB : 0 ≤ B) (hs : 0 ≤ s) : s + B ≤ fullWrapWeight B s := by have hsB : 0 ≤ s + B := add_nonneg hs hB have hprod : 0 ≤ Real.sqrt (s + B) * Real.sqrt B := mul_nonneg (Real.sqrt_nonneg _) (Real.sqrt_nonneg _) unfold fullWrapWeight nlinarith [Real.sq_sqrt hsB, Real.sq_sqrt hB] /-- The genuine wrapping trunk, with inclusive original plateau rank. The enclosure supplies a physical gate point, even if strict-high branches are empty. Positive B pays full closed-gate integrability. -/ theorem smooth_trunk_weighted_profile {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) {τ B : ℝ} (hτ : 0 < τ) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) τ, {x | t < u x}.Nonempty ∧ ∃ p : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {x | t < u x}ᶜ p) ∧ B ≤ Math30.Polya.area (connectedComponentIn {x | t < u x}ᶜ p)) : let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} let b := (Polya26.Strike.S04.positiveValueMeasure u).real (Ici τ) let f := areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U a let Q := ∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) τ}, ‖gradient u x‖ ^ 2 b < a ∧ ∃ h : ℝ → ℝ, WeightedProfile f (fullWrapWeight B) b a (Q / (4 * Real.pi)) h ∧ Polya26.Strike.S02.Header.PrimitiveOn (gateExtension f b a τ 0) b a := by letI : IsFiniteMeasure (Polya26.Strike.S04.positiveValueMeasure u) := Polya26.Strike.S04.positiveValueMeasure_finite hu letI : IsFiniteMeasure ((positiveValueFinite u hu : Polya26.Strike.S05.Header.FiniteValues.FiniteMeasure ℝ) : Measure ℝ) := (positiveValueFinite u hu).property let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} let b := (Polya26.Strike.S04.positiveValueMeasure u).real (Ici τ) let f := areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U a let Q := ∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) τ}, ‖gradient u x‖ ^ 2 obtain ⟨p, hp⟩ := exists_ge_gate_of_all_lower_levels hf.continuous hu hτ (fun t ht => (hwrap t ht).1) have hband : 0 < Polya26.Strike.S04.positiveValueMeasure u (Ioo (0 : ℝ) τ) := by simpa only [sub_self] using positiveValueMeasure_below_gate_pos hf.continuous hu hτ hp hτ have hba : b < a := by have hr := inclusive_high_lt_lower_rank (positiveValueFinite u hu) hτ hband rw [positiveValueFinite_mass hu hf.continuous.measurable, positiveValueFinite_areaRank hu hf.continuous.measurable le_rfl] at hr exact hr have hb : 0 ≤ b := measureReal_nonneg have ha : 0 < a := hb.trans_lt hba have hgate : Math30.Polya.area {x : Math30.Polya.Plane | τ < u x} ≤ b := by rw [← positiveValueFinite_areaRank hu hf.continuous.measurable hτ.le, ← positiveValueFinite_mass hu hf.continuous.measurable, finiteMeasure_areaRank] exact measureReal_mono Ioi_subset_Ici_self have hWpos : ∀ s ∈ Ioo b a, 0 < fullWrapWeight B s := fun s hs => fullWrapWeight_pos hB.le (hb.trans_lt hs.1) obtain ⟨h, hprofile⟩ := exists_weightedProfile_of_squared_dual hba (areaProfile_antitone _ hU.le ha) (fullWrapWeight_continuous B) hWpos (div_nonneg (integral_nonneg fun x => sq_nonneg _) (by positivity)) (smooth_trunk_profile_squared_dual hu hf hU hbound ha hτ hb hB.le hgate hwrap) have hleft : Tendsto f (𝓝[>] b) (𝓝 τ) := by have hg := positive_inverse_trunk_inner_trace hf.continuous hu hτ hp hU hbound change Tendsto (areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U ((positiveValueFinite u hu).mass : ℝ)) (𝓝[>] b) (𝓝 τ) at hg rw [positiveValueFinite_mass hu hf.continuous.measurable] at hg exact hg have hright : Tendsto f (𝓝[<] a) (𝓝 (0 : ℝ)) := by have hg := positive_inverse_outer_trace hf.continuous hu (hτ.trans_le hp) hU hbound change Tendsto (areaProfile ((positiveValueFinite u hu).normalize : Measure ℝ) U ((positiveValueFinite u hu).mass : ℝ)) (𝓝[<] ((positiveValueFinite u hu).mass : ℝ)) (𝓝 (0 : ℝ)) at hg rw [positiveValueFinite_mass hu hf.continuous.measurable] at hg exact hg refine ⟨hba, h, hprofile, ?_⟩ apply hprofile.closed_gate_ac hba hB ?_ hleft hright intro s hs exact (le_add_of_nonneg_left (hb.trans_lt hs.1).le).trans (fullWrapWeight_ge_add hB.le (hb.trans_lt hs.1).le) end PhysicalProfiles end Polya26.Strike.S03.Header.PrimitiveProfiles end end /- END M052 -/ /- BEGIN M053 -/ section /-! Integral and endpoint adapters for the ORIGINAL weak radial profiles. No center absolute continuity or additional energy premise is introduced. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology namespace Polya26.Strike.S03.Header.PrimitiveProfiles open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.Strike.S05.Header.QuantileDistribution theorem gateExtension_left (f : ℝ → ℝ) (a b L R : ℝ) : gateExtension f a b L R a = L := by simp [gateExtension] theorem gateExtension_right (f : ℝ → ℝ) {a b : ℝ} (hab : a < b) (L R : ℝ) : gateExtension f a b L R b = R := by simp [gateExtension, ne_of_gt hab] theorem gateExtension_add_const (f : ℝ → ℝ) (a b L R τ : ℝ) : gateExtension (fun s => τ + f s) a b (τ + L) (τ + R) = fun s => τ + gateExtension f a b L R s := by funext s by_cases hsa : s = a · simp only [gateExtension, if_pos hsa] · by_cases hsb : s = b · simp only [gateExtension, if_neg hsa, if_pos hsb] · simp only [gateExtension, if_neg hsa, if_neg hsb] /-- Every ORIGINAL quadratic area integral is unchanged by the finite endpoint representatives used to make the gate values literal. -/ theorem gateExtension_sq_integral (f : ℝ → ℝ) (a b L R : ℝ) (S : Set ℝ) : (∫ s in S, (gateExtension f a b L R s) ^ 2) = ∫ s in S, (f s) ^ 2 := by apply integral_congr_ae filter_upwards [ae_restrict_of_ae (gateExtension_ae_eq f a b L R)] with s hs rw [hs] theorem gateExtension_bounds {f : ℝ → ℝ} {a b L R U : ℝ} (hf : ∀ s, 0 ≤ f s ∧ f s ≤ U) (hL : 0 ≤ L ∧ L ≤ U) (hR : 0 ≤ R ∧ R ≤ U) : ∀ s, 0 ≤ gateExtension f a b L R s ∧ gateExtension f a b L R s ≤ U := by intro s by_cases hsa : s = a · simpa only [gateExtension, if_pos hsa] using hL · by_cases hsb : s = b · simpa only [gateExtension, if_neg hsa, if_pos hsb] using hR · simpa only [gateExtension, if_neg hsa, if_neg hsb] using hf s theorem areaProfile_outer_patch_bounds (μ : Measure ℝ) {U : ℝ} (hU : 0 ≤ U) (a : ℝ) : ∀ s, 0 ≤ gateExtension (areaProfile μ U a) 0 a (areaProfile μ U a 0) 0 s ∧ gateExtension (areaProfile μ U a) 0 a (areaProfile μ U a 0) 0 s ≤ U := gateExtension_bounds (areaProfile_bounds μ hU a) (areaProfile_bounds μ hU a 0) ⟨le_rfl, hU⟩ /-- The represented derivative agrees with the actual patched-profile ordinary derivative on its whole open area window. -/ theorem WeightedProfile.gateExtension_deriv_ae_open {f W h : ℝ → ℝ} {a b D L R : ℝ} (hp : WeightedProfile f W a b D h) : deriv (gateExtension f a b L R) =ᵐ[volume.restrict (Ioo a b)] h := ae_restrict_of_ae_restrict_of_subset Ioo_subset_Ioc_self (hp.gateExtension_deriv_ae (L := L) (R := R) subset_rfl) theorem WeightedProfile.gateExtension_deriv_ae_uIoc {f W h : ℝ → ℝ} {a b D L R l r : ℝ} (hp : WeightedProfile f W a b D h) (hlr : l ≤ r) (hsub : Ioc l r ⊆ Ioc a b) : deriv (gateExtension f a b L R) =ᵐ[volume.restrict (uIoc l r)] h := by simpa only [uIoc_of_le hlr] using hp.gateExtension_deriv_ae (L := L) (R := R) hsub theorem WeightedProfile.gateExtension_energy_integrable {f W h : ℝ → ℝ} {a b D L R : ℝ} (hp : WeightedProfile f W a b D h) : IntegrableOn (fun s => W s * (deriv (gateExtension f a b L R) s) ^ 2) (Ioo a b) volume := by apply hp.energy_integrable.congr filter_upwards [hp.gateExtension_deriv_ae_open (L := L) (R := R)] with s hs rw [hs] theorem WeightedProfile.gateExtension_energy_le {f W h : ℝ → ℝ} {a b D L R : ℝ} (hp : WeightedProfile f W a b D h) : (∫ s in Ioo a b, W s * (deriv (gateExtension f a b L R) s) ^ 2) ≤ D := by calc _ = ∫ s in Ioo a b, W s * (h s) ^ 2 := by apply integral_congr_ae filter_upwards [hp.gateExtension_deriv_ae_open (L := L) (R := R)] with s hs rw [hs] _ ≤ D := hp.energy_le /-- Actual L2 membership needed by weighted prefix Cauchy. -/ theorem WeightedProfile.gateExtension_memLp {f W h : ℝ → ℝ} {a b D L R : ℝ} (hp : WeightedProfile f W a b D h) (hW : Continuous W) (hpos : ∀ s ∈ Ioo a b, 0 ≤ W s) : MemLp (fun s => Real.sqrt (W s) * deriv (gateExtension f a b L R) s) 2 (volume.restrict (Ioo a b)) := by have hmeas : AEStronglyMeasurable (deriv (gateExtension f a b L R)) (volume.restrict (Ioo a b)) := hp.locally_integrable.aestronglyMeasurable.congr (hp.gateExtension_deriv_ae_open (L := L) (R := R)).symm apply memLp_sqrt_mul_of_integrable_weighted_sq hmeas hW.measurable.aemeasurable ?_ hp.gateExtension_energy_integrable filter_upwards [ae_restrict_mem measurableSet_Ioo] with s hs using hpos s hs theorem WeightedProfile.gateExtension_deriv_nonpos {f W h : ℝ → ℝ} {a b D L R : ℝ} (hp : WeightedProfile f W a b D h) : ∀ᵐ s ∂volume.restrict (Ioo a b), deriv (gateExtension f a b L R) s ≤ 0 := by filter_upwards [hp.gateExtension_deriv_ae_open (L := L) (R := R), ae_restrict_of_ae hp.nonpos_ae, ae_restrict_mem measurableSet_Ioo] with s hs hn hsu rw [hs] exact hn hsu end Polya26.Strike.S03.Header.PrimitiveProfiles end end /- END M053 -/ /- BEGIN M054 -/ section /-! Canonical genuine physical high branches and trunk. The profiles are the original inverse laws, with only null endpoint representatives changed. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology ContDiff namespace Polya26.Strike.S03.Header.PrimitiveProfiles open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot Polya26.Strike.S03.Header.PrimitiveProfileFactory.Gates open Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.Strike.S05.Header.QuantileDistribution open Polya26.Strike.S01.Header.QuantileAlgebra open Polya26.Strike.S03.Header.PrimitiveProfileFactory.GateMoments Polya26.PlanarIsoperimetric Polya26.ComponentCutoff theorem gateExtension_measurable {f : ℝ → ℝ} (hf : Measurable f) (a b L R : ℝ) : Measurable (gateExtension f a b L R) := by classical exact Measurable.ite (measurableSet_singleton a) measurable_const (Measurable.ite (measurableSet_singleton b) measurable_const hf) theorem WeightedProfile.add_const {f W h : ℝ → ℝ} {a b D : ℝ} (hp : WeightedProfile f W a b D h) (τ : ℝ) : WeightedProfile (fun s => τ + f s) W a b D h := by obtain ⟨d, hd⟩ := hp.primitive refine ⟨hp.locally_integrable, hp.energy_integrable, hp.energy_le, ⟨τ + d, ?_⟩, ?_, hp.nonpos_ae⟩ · intro s hs rw [hd s hs] ring · filter_upwards [hp.hasDerivAt_ae] with s hs hsu exact (hs hsu).const_add τ theorem WeightedProfile.gateExtension {f W h : ℝ → ℝ} {a b D : ℝ} (hp : WeightedProfile f W a b D h) (L R : ℝ) : WeightedProfile (gateExtension f a b L R) W a b D h := by obtain ⟨d, hd⟩ := hp.primitive refine ⟨hp.locally_integrable, hp.energy_integrable, hp.energy_le, ⟨d, ?_⟩, ?_, hp.nonpos_ae⟩ · intro s hs simpa only [Polya26.Strike.S03.Header.ScalarCarrierRadialPilot.gateExtension, if_neg (ne_of_gt hs.1), if_neg (ne_of_lt hs.2)] using hd s hs · filter_upwards [hp.hasDerivAt_ae] with s hs hsu exact gateExtension_hasDerivAt hsu (hs hsu) theorem component_area_pos {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) {p : Math30.Polya.Plane} (hp : τ < u p) : 0 < Math30.Polya.area (component u τ p) := by have hphase : 0 < volume {x : Math30.Polya.Plane | 0 < rawBranch u τ p x} := by rw [Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_positive_set] exact (component_isOpen hf τ p).measure_pos volume ⟨p, mem_connectedComponentIn hp⟩ have hm : 0 < ((componentValueFinite u hu τ hτ p).mass : ℝ) := originalPositiveValues_mass_pos (Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_hasCompactSupport hu hτ p) (Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_measurable hf τ p) hphase rwa [componentValueFinite_mass hu hf hτ p] at hm def genuineBranch (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) (τ : ℝ) (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) (U : ℝ) : ℝ → ℝ := let g := componentRadialResidual u hu τ hτ p U let ai := Math30.Polya.area (component u τ p) fun s => τ + gateExtension g 0 ai (g 0) 0 s def genuineTrunk (u : Math30.Polya.Plane → ℝ) (hu : HasCompactSupport u) (τ U : ℝ) : ℝ → ℝ := gateExtension (positiveRadialProfile u hu U) (Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x}) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) τ 0 theorem genuineBranch_profile {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {τ : ℝ} (hτ : 0 ≤ τ) {p : Math30.Polya.Plane} (hp : τ < u p) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) : let ai := Math30.Polya.area (component u τ p) let F := genuineBranch u hu τ hτ p U let Q := ∫ x in component u τ p, ‖gradient u x‖ ^ 2 ∃ h : ℝ → ℝ, WeightedProfile F id 0 ai (Q / (4 * Real.pi)) h ∧ (∀ ε : ℝ, 0 < ε → ε ≤ ai → Polya26.Strike.S02.Header.PrimitiveOn F ε ai) := by let ai := Math30.Polya.area (component u τ p) let g := componentRadialResidual u hu τ hτ p U have hs : ∃ h : ℝ → ℝ, WeightedProfile g id 0 ai ((∫ x in component u τ p, ‖gradient u x‖ ^ 2) / (4 * Real.pi)) h ∧ (∀ ε : ℝ, 0 < ε → ε < ai → Polya26.Strike.S02.Header.PrimitiveOn (gateExtension g 0 ai (g 0) 0) ε ai) := by simpa only [g, ai, Polya26.Strike.Lead.Header.ComponentSupport.component_rawBranch_positive_set, componentRadialResidual, componentValueFinite] using component_weighted_profile hu hf hτ hp hU hbound obtain ⟨h, hprofile, hac⟩ := hs refine ⟨h, (hprofile.gateExtension (g 0) 0).add_const τ, ?_⟩ intro ε hε hεai by_cases heq : ε = ai · subst ε exact Polya26.Strike.S02.Header.PrimitiveOn.rfl · have hsmall := hac ε hε (lt_of_le_of_ne hεai heq) have hconst : Polya26.Strike.S02.Header.PrimitiveOn (fun _ : ℝ => τ) ε ai := Polya26.Strike.S02.Header.PrimitiveOn.const τ _ _ exact hconst.add hsmall theorem genuineBranch_measurable {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) {p : Math30.Polya.Plane} (hp : τ < u p) {U : ℝ} (hU : 0 < U) : Measurable (genuineBranch u hu τ hτ p U) := by have ha := component_area_pos hu hf hτ hp exact measurable_const.add (gateExtension_measurable (areaProfile_measurable _ hU.le ha) _ _ _ _) theorem genuineBranch_bounds {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 ≤ τ) (p : Math30.Polya.Plane) {U : ℝ} (hU : 0 ≤ U) : ∀ s, 0 ≤ genuineBranch u hu τ hτ p U s ∧ genuineBranch u hu τ hτ p U s ≤ τ + U := by intro s have hb := areaProfile_outer_patch_bounds ((componentValueFinite u hu τ hτ p).normalize : Measure ℝ) hU (Math30.Polya.area (component u τ p)) s exact ⟨add_nonneg hτ hb.1, add_le_add le_rfl hb.2⟩ theorem genuineBranch_gate {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) {p : Math30.Polya.Plane} (hp : τ < u p) (U : ℝ) : genuineBranch u hu τ hτ p U (Math30.Polya.area (component u τ p)) = τ := by dsimp only [genuineBranch] rw [gateExtension_right _ (component_area_pos hu hf hτ hp), add_zero] theorem genuineBranch_original_mass {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) {p : Math30.Polya.Plane} (hp : τ < u p) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) : (∫ s in Ioo (0 : ℝ) (Math30.Polya.area (component u τ p)), (genuineBranch u hu τ hτ p U s) ^ 2) = ∫ x in component u τ p, (u x) ^ 2 := component_gate_original_mass hu hf hτ p hU hbound (component_area_pos hu hf hτ hp) theorem genuineBranch_original_firstMoment {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) {τ : ℝ} (hτ : 0 ≤ τ) {p : Math30.Polya.Plane} (hp : τ < u p) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) : (∫ s in Ioo (0 : ℝ) (Math30.Polya.area (component u τ p)), genuineBranch u hu τ hτ p U s) = ∫ x in component u τ p, u x := by unfold genuineBranch rw [gateExtension_setIntegral_eq (componentRadialResidual u hu τ hτ p U) (fun s => τ + s) 0 (Math30.Polya.area (component u τ p)) (componentRadialResidual u hu τ hτ p U 0) 0] rw [componentRadialResidual_integral hu hf hτ p hU hbound (component_area_pos hu hf hτ hp) (H := fun s => τ + s) (continuous_const.add continuous_id).stronglyMeasurable] apply integral_congr_ae filter_upwards with x ring theorem bounded_sq_intervalIntegrable {F : ℝ → ℝ} {C l r : ℝ} (hlr : l ≤ r) (hF : Measurable F) (hbound : ∀ s, |F s| ≤ C) : IntervalIntegrable (fun s => (F s) ^ 2) volume l r := by have hLp : MemLp F 2 (volume.restrict (Ioo l r)) := MemLp.of_bound hF.aestronglyMeasurable C (Eventually.of_forall (fun s => by simpa only [Real.norm_eq_abs] using hbound s)) exact (intervalIntegrable_iff_integrableOn_Ioo_of_le hlr).mpr ((memLp_two_iff_integrable_sq hLp.aestronglyMeasurable).mp hLp) theorem genuineTrunk_profile {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {τ B : ℝ} (hτ : 0 < τ) (hB : 0 < B) {U : ℝ} (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (hwrap : ∀ t ∈ Ioo (0 : ℝ) τ, {x | t < u x}.Nonempty ∧ ∃ p : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {x | t < u x}ᶜ p) ∧ B ≤ Math30.Polya.area (connectedComponentIn {x | t < u x}ᶜ p)) : let a := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} let b := Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x} let Q := ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, ‖gradient u x‖ ^ 2 b < a ∧ ∃ h : ℝ → ℝ, WeightedProfile (genuineTrunk u hu τ U) (fullWrapWeight B) b a (Q / (4 * Real.pi)) h ∧ Polya26.Strike.S02.Header.PrimitiveOn (genuineTrunk u hu τ U) b a := by have hf1 : ContDiff ℝ 1 u := hf.of_le (by simp) have hs := smooth_trunk_weighted_profile hu hf1 hU hbound hτ hB hwrap have hb : (Polya26.Strike.S04.positiveValueMeasure u).real (Ici τ) = Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x} := positiveValueFinite_inclusive_rank hu hf.continuous.measurable hτ dsimp only at hs rw [hb] at hs obtain ⟨hba, h, hprofile, hac⟩ := hs have hlow : {x : Math30.Polya.Plane | u x ∈ Ioo (0 : ℝ) τ} = {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ} := rfl rw [hlow] at hprofile exact ⟨hba, h, hprofile.gateExtension τ 0, hac⟩ theorem genuineTrunk_measurable {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) {τ U : ℝ} (hU : 0 < U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) : Measurable (genuineTrunk u hu τ U) := gateExtension_measurable (areaProfile_measurable _ hU.le ha) _ _ _ _ theorem genuineTrunk_bounds {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) {τ U : ℝ} (hτ : 0 ≤ τ) (hτU : τ ≤ U) : ∀ s, 0 ≤ genuineTrunk u hu τ U s ∧ genuineTrunk u hu τ U s ≤ U := by have hU : 0 ≤ U := hτ.trans hτU exact Polya26.Strike.S03.Header.PrimitiveProfiles.gateExtension_bounds (areaProfile_bounds _ hU _) ⟨hτ, hτU⟩ ⟨le_rfl, hU⟩ theorem genuineTrunk_original_mass {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {τ U : ℝ} (hτ : 0 < τ) (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) : (∫ s in Ioo (Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x}) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}), (genuineTrunk u hu τ U s) ^ 2) = ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, (u x) ^ 2 := trunk_gate_original_mass hu hf hU hbound ha hτ theorem genuineTrunk_original_firstMoment {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : Measurable u) {τ U : ℝ} (hτ : 0 < τ) (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (ha : 0 < Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) : (∫ s in Ioo (Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x}) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}), genuineTrunk u hu τ U s) = ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, u x := trunk_gate_original_firstMoment hu hf hU hbound ha hτ end Polya26.Strike.S03.Header.PrimitiveProfiles end end /- END M054 -/ /- BEGIN M055 -/ section /-! Closed-window AC and AE derivative transport for the checked star dilation. Mass and energy identities are imported, not reproved here. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology namespace Polya26.Strike.S03.Header.PrimitiveProfiles open Polya26.Strike.S01.Header.PureKernelSupport /-- Affine dilation of an actual AC profile remains AC. The proof uses the actual AC FTC and an interval-integrable dilated derivative. -/ theorem dilatedProfile_ac {F : ℝ → ℝ} {a l r : ℝ} (ha : 0 < a) (hlr : l ≤ r) (hF : Polya26.Strike.S02.Header.PrimitiveOn F l r) : Polya26.Strike.S02.Header.PrimitiveOn (dilatedProfile a F) (l / a) (r / a) := by have hscaled : IntervalIntegrable (fun x => a * Real.sqrt a * deriv F (a * x)) volume (l / a) (r / a) := by convert (hF.intervalIntegrable_deriv.comp_mul_left (c := a)).const_mul (a * Real.sqrt a) using 1 let G : ℝ → ℝ := fun x => Real.sqrt a * F l + ∫ t in (l / a)..x, a * Real.sqrt a * deriv F (a * t) have hG : Polya26.Strike.S02.Header.PrimitiveOn G (l / a) (r / a) := by have hconst : Polya26.Strike.S02.Header.PrimitiveOn (fun _ : ℝ => Real.sqrt a * F l) (l / a) (r / a) := Polya26.Strike.S02.Header.PrimitiveOn.const (Real.sqrt a * F l) _ _ exact hconst.add (Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral hscaled left_mem_uIcc) apply hG.congr intro x hx have hscaledlr : l / a ≤ r / a := div_le_div_of_nonneg_right hlr ha.le rw [uIcc_of_le hscaledlr] at hx have hlx : l ≤ a * x := by simpa only [mul_comm] using (div_le_iff₀ ha).mp hx.1 have hxr : a * x ≤ r := by simpa only [mul_comm] using (le_div_iff₀ ha).mp hx.2 have hsmall : uIcc l (a * x) ⊆ uIcc l r := by rw [uIcc_of_le hlx, uIcc_of_le hlr] exact fun s hs => ⟨hs.1, hs.2.trans hxr⟩ have hFTC := (hF.mono hsmall).integral_deriv_eq_sub have hi := integral_dilation (deriv F) ha l (a * x) have hax : (a * x) / a = x := by field_simp rw [hax] at hi change Real.sqrt a * F l + (∫ t in (l / a)..x, a * Real.sqrt a * deriv F (a * t)) = Real.sqrt a * F (a * x) rw [intervalIntegral.integral_const_mul] calc _ = Real.sqrt a * F l + Real.sqrt a * (a * (∫ t in (l / a)..x, deriv F (a * t))) := by ring _ = Real.sqrt a * F l + Real.sqrt a * (F (a * x) - F l) := by rw [hi, hFTC] _ = _ := by ring theorem dilatedProfile_hasDerivAt {F h : ℝ → ℝ} {a x : ℝ} (hF : HasDerivAt F (h (a * x)) (a * x)) : HasDerivAt (dilatedProfile a F) (dilatedDerivative a h x) x := by have hd := (hF.comp x ((hasDerivAt_id x).const_mul a)).const_mul (Real.sqrt a) have hd' : HasDerivAt (fun y => Real.sqrt a * F (a * y)) (Real.sqrt a * (h (a * x) * a)) x := by simpa only [Function.comp_apply, mul_one] using hd unfold dilatedProfile dilatedDerivative convert hd' using 1 <;> ring /-- AE physical derivatives are transported by the actual nonzero linear map, preserving null sets rather than assuming formal substitution. -/ theorem dilatedProfile_deriv_ae {F h : ℝ → ℝ} {a l r : ℝ} (ha : 0 < a) (hF : ∀ᵐ s, s ∈ Ioo l r → HasDerivAt F (h s) s) : deriv (dilatedProfile a F) =ᵐ[volume.restrict (Ioc (l / a) (r / a))] dilatedDerivative a h := by have hq : Measure.QuasiMeasurePreserving (fun x : ℝ => a * x) volume volume := by convert Measure.quasiMeasurePreserving_smul (E := ℝ) volume ha.ne' using 1 have hcomp := hq.ae hF filter_upwards [ae_restrict_of_ae hcomp, ae_restrict_mem measurableSet_Ioc, ae_restrict_of_ae (volume.ae_ne (r / a))] with x hx hxI hxr have hxlt : x < r / a := lt_of_le_of_ne hxI.2 hxr have hxl : l < a * x := by have h := (div_lt_iff₀ ha).mp hxI.1 simpa only [mul_comm] using h have hxr' : a * x < r := by have h := (lt_div_iff₀ ha).mp hxlt simpa only [mul_comm] using h exact (dilatedProfile_hasDerivAt (hx ⟨hxl, hxr'⟩)).deriv theorem dilatedProfile_measurable {F : ℝ → ℝ} (hF : Measurable F) (a : ℝ) : Measurable (dilatedProfile a F) := measurable_const.mul (hF.comp (measurable_const.mul measurable_id)) theorem dilatedProfile_bound {F : ℝ → ℝ} {C a : ℝ} (hF : ∀ s, |F s| ≤ C) : ∀ x, |dilatedProfile a F x| ≤ Real.sqrt a * C := by intro x unfold dilatedProfile rw [abs_mul, abs_of_nonneg (Real.sqrt_nonneg _)] exact mul_le_mul_of_nonneg_left (hF _) (Real.sqrt_nonneg _) theorem dilatedProfile_nonneg {F : ℝ → ℝ} (hF : ∀ s, 0 ≤ F s) (a : ℝ) : ∀ x, 0 ≤ dilatedProfile a F x := fun x => mul_nonneg (Real.sqrt_nonneg _) (hF _) theorem dilatedDerivative_radialEnergy_integrable {h : ℝ → ℝ} {a l r : ℝ} (ha : 0 < a) (hh : IntervalIntegrable (fun s => s * (h s) ^ 2) volume l r) : IntervalIntegrable (fun x => x * (dilatedDerivative a h x) ^ 2) volume (l / a) (r / a) := by convert (hh.comp_mul_left (c := a)).const_mul (a ^ 2) using 1 funext x unfold dilatedDerivative rw [mul_pow, mul_pow, Real.sq_sqrt ha.le] ring theorem dilatedDerivative_affineEnergy_integrable {h : ℝ → ℝ} {a l r : ℝ} (ha : 0 < a) (alpha B : ℝ) (hh : IntervalIntegrable (fun s => (alpha * s + 4 * a * B) * (h s) ^ 2) volume l r) : IntervalIntegrable (fun x => (alpha * x + 4 * B) * (dilatedDerivative a h x) ^ 2) volume (l / a) (r / a) := by convert (hh.comp_mul_left (c := a)).const_mul (a ^ 2) using 1 funext x unfold dilatedDerivative rw [mul_pow, mul_pow, Real.sq_sqrt ha.le] ring /-- First moments retain their actual physical units. Together with the shared sqrt(a)*tau gate this preserves every original gate flux. -/ theorem dilatedProfile_firstMoment (F : ℝ → ℝ) {a : ℝ} (ha : 0 < a) (l r : ℝ) : Real.sqrt a * (∫ x in (l / a)..(r / a), dilatedProfile a F x) = ∫ s in l..r, F s := by rw [show (dilatedProfile a F) = (fun x => Real.sqrt a * F (a * x)) from rfl, intervalIntegral.integral_const_mul, ← mul_assoc, ← pow_two, Real.sq_sqrt ha.le] exact integral_dilation F ha l r end Polya26.Strike.S03.Header.PrimitiveProfiles end end /- END M055 -/ /- BEGIN M056 -/ section /-! A normalized finite star constructed from selected GENUINE high components and the ORIGINAL inclusive-gate trunk of one physical u. The unselected high components retain their original constant gate area; only their explicit original excess is lost. -/ noncomputable section open Set MeasureTheory Filter open scoped Topology BigOperators ContDiff namespace Polya26.Strike.S03.Header.PrimitiveProfiles open Polya26.Strike.S03.Header.ScalarCarrierRadialPilot Polya26.Strike.S03.Header.PrimitiveProfileFactory.Gates open Polya26.Strike.S03.Header.PrimitiveProfileFactory open Polya26.Strike.S05.Header.QuantileDistribution open Polya26.Strike.S01.Header.QuantileAlgebra open Polya26.Strike.S03.Header.PrimitiveProfileFactory.GateMoments Polya26.PlanarIsoperimetric Polya26.ComponentCutoff open Polya26.Strike.S01.Header.PureKernelSupport open Polya26.Strike.S06.Header.PrimitiveStar QuantileFiniteCertificate /- The actual affine-weight minorant, copied under this unique producer namespace. -/ theorem fullWrapWeight_affine_at_config {p : QuantileFiniteCertificate.Params} (hp : QuantileFiniteCertificate.GoodParams p) {x s : ℝ} (hx : (p.x : ℝ) ≤ x) (hs0 : 0 ≤ s) (hs1 : s ≤ 1) : (p.alpha : ℝ) * s + 4 * (p.x : ℝ) ≤ fullWrapWeight x s := by have hx0 : 0 ≤ x := ((Rat.cast_pos (K := ℝ)).mpr hp.1).le.trans hx have hsx : 0 ≤ s + x := add_nonneg hs0 hx0 let z : ℝ := Real.sqrt x * Real.sqrt (s + x) have hz : 0 ≤ z := mul_nonneg (Real.sqrt_nonneg _) (Real.sqrt_nonneg _) have hzsq : x * (s + x) ≤ z ^ 2 := by dsimp [z] rw [mul_pow, Real.sq_sqrt hx0, Real.sq_sqrt hsx] have h := QuantileFiniteCertificate.affineWeight_lower_at_config hp x s z hx hs0 hs1 hz hzsq have he : fullWrapWeight x s = s + 2 * x + 2 * z := by unfold fullWrapWeight rw [add_sq, Real.sq_sqrt hsx, Real.sq_sqrt hx0] dsimp [z] ring rwa [he] /-- Exact homogeneity in physical area, without changing original masses. -/ theorem fullWrapWeight_physical_scale {a : ℝ} (ha : 0 < a) (B s : ℝ) : fullWrapWeight B s = a * fullWrapWeight (B / a) (s / a) := by have h1 : s + B = a * (s / a + B / a) := by field_simp have h2 : B = a * (B / a) := by field_simp have hS : Real.sqrt (s + B) = Real.sqrt a * Real.sqrt (s / a + B / a) := by calc _ = Real.sqrt (a * (s / a + B / a)) := congrArg Real.sqrt h1 _ = _ := Real.sqrt_mul ha.le _ have hB : Real.sqrt B = Real.sqrt a * Real.sqrt (B / a) := by calc _ = Real.sqrt (a * (B / a)) := congrArg Real.sqrt h2 _ = _ := Real.sqrt_mul ha.le _ unfold fullWrapWeight rw [hS, hB, ← mul_add, mul_pow, Real.sq_sqrt ha.le] theorem fullWrapWeight_physical_affine {p : QuantileFiniteCertificate.Params} (hp : QuantileFiniteCertificate.GoodParams p) {a B s : ℝ} (ha : 0 < a) (hx : (p.x : ℝ) ≤ B / a) (hs0 : 0 ≤ s) (hsa : s ≤ a) : (p.alpha : ℝ) * s + 4 * a * (p.x : ℝ) ≤ fullWrapWeight B s := by have h := fullWrapWeight_affine_at_config hp hx (div_nonneg hs0 ha.le) ((div_le_one ha).mpr hsa) calc _ = a * ((p.alpha : ℝ) * (s / a) + 4 * (p.x : ℝ)) := by field_simp _ ≤ a * fullWrapWeight (B / a) (s / a) := mul_le_mul_of_nonneg_left h ha.le _ = fullWrapWeight B s := (fullWrapWeight_physical_scale ha B s).symm /-- The genuine weighted profile energy controls its certificate affine energy, with integrability established by the same pointwise majorant. -/ theorem physical_affine_profile_energy {p : QuantileFiniteCertificate.Params} (hp : QuantileFiniteCertificate.GoodParams p) {a b B : ℝ} (ha : 0 < a) (hb : 0 ≤ b) (hx : (p.x : ℝ) ≤ B / a) {h : ℝ → ℝ} (hh : AEStronglyMeasurable h (volume.restrict (Ioo b a))) (henergy : IntegrableOn (fun s => fullWrapWeight B s * (h s) ^ 2) (Ioo b a) volume) : IntegrableOn (fun s => ((p.alpha : ℝ) * s + 4 * a * (p.x : ℝ)) * (h s) ^ 2) (Ioo b a) volume ∧ (∫ s in Ioo b a, ((p.alpha : ℝ) * s + 4 * a * (p.x : ℝ)) * (h s) ^ 2) ≤ ∫ s in Ioo b a, fullWrapWeight B s * (h s) ^ 2 := by have hα : 0 ≤ (p.alpha : ℝ) := ((Rat.cast_le (K := ℝ)).mpr hp.2.2.2.1).trans' (by norm_num) have hpx : 0 ≤ (p.x : ℝ) := ((Rat.cast_pos (K := ℝ)).mpr hp.1).le have hmeas : AEStronglyMeasurable (fun s => ((p.alpha : ℝ) * s + 4 * a * (p.x : ℝ)) * (h s) ^ 2) (volume.restrict (Ioo b a)) := by exact ((continuous_const.mul continuous_id).add continuous_const).aestronglyMeasurable.mul (hh.aemeasurable.pow_const 2).aestronglyMeasurable have hpoint : ∀ s ∈ Ioo b a, 0 ≤ ((p.alpha : ℝ) * s + 4 * a * (p.x : ℝ)) * (h s) ^ 2 ∧ ((p.alpha : ℝ) * s + 4 * a * (p.x : ℝ)) * (h s) ^ 2 ≤ fullWrapWeight B s * (h s) ^ 2 := by intro s hs have hs0 : 0 ≤ s := (hb.trans_lt hs.1).le constructor · exact mul_nonneg (add_nonneg (mul_nonneg hα hs0) (mul_nonneg (mul_nonneg (by norm_num) ha.le) hpx)) (sq_nonneg _) · exact mul_le_mul_of_nonneg_right (fullWrapWeight_physical_affine hp ha hx hs0 hs.2.le) (sq_nonneg _) have hi : IntegrableOn (fun s => ((p.alpha : ℝ) * s + 4 * a * (p.x : ℝ)) * (h s) ^ 2) (Ioo b a) volume := by apply henergy.mono' hmeas filter_upwards [ae_restrict_mem measurableSet_Ioo] with s hs rw [Real.norm_of_nonneg (hpoint s hs).1] exact (hpoint s hs).2 refine ⟨hi, ?_⟩ apply integral_mono_ae hi henergy filter_upwards [ae_restrict_mem measurableSet_Ioo] with s hs exact (hpoint s hs).2 theorem intervalIntegral_eq_setIntegral_Ioo (F : ℝ → ℝ) {l r : ℝ} (hlr : l ≤ r) : (∫ s in l..r, F s) = ∫ s in Ioo l r, F s := by rw [intervalIntegral.integral_of_le hlr, integral_Ioc_eq_integral_Ioo] /-- All physical identities accompany the analytic finite-star data. None of its mass or energy conclusions is an input to the constructor. -/ structure ActualFiniteStarFrame (ι : Type*) [Fintype ι] (u : Math30.Polya.Plane → ℝ) (τ : ℝ) (points : ι → Math30.Polya.Plane) (cfg : Params) where data : FiniteStarData ι (cfg.alpha : ℝ) (cfg.x : ℝ) area_eq : ∀ i, data.area i = Math30.Polya.area (component u τ (points i)) / Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} junction_eq : data.junction = Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x} / Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} plateau_eq : data.plateau = Polya26.PlanarIsoperimetric.PhaseBudgets.residualArea u τ (fun i => component u τ (points i)) / Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} gate_eq : data.gate = Real.sqrt (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) * τ original_branch_mass : ∀ i, data.branchMass i = ∫ x in component u τ (points i), (u x) ^ 2 original_trunk_mass : data.trunkMass = ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, (u x) ^ 2 original_mass : data.mass = (∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x) ^ 2) - Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u τ (fun i => component u τ (points i)) original_branch_firstMoment : ∀ i, Real.sqrt (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) * (∫ s in 0..data.area i, data.branch i s) = ∫ x in component u τ (points i), u x original_trunk_firstMoment : Real.sqrt (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) * (∫ s in data.junction..1, data.trunk s) = ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, u x physical_energy_budget : data.radialEnergy ≤ Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} * (∫ x in {x : Math30.Polya.Plane | 0 < u x}, ‖fderiv ℝ u x‖ ^ 2) / (4 * Real.pi) /-- Construct the actual normalized frame at the certificate row x, which may be BELOW the actual hole-area ratio B/a. Affine credit, rather than changing any profile or original mass, supplies that comparison. -/ theorem exists_actual_finiteStarFrame {ι : Type*} [Fintype ι] {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {τ B U : ℝ} (hτ : 0 < τ) (hB : 0 < B) (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (points : ι → Math30.Polya.Plane) (hpoints : ∀ i, τ < u (points i)) (hdis : Pairwise (fun i j => Disjoint (component u τ (points i)) (component u τ (points j)))) (hwrap : ∀ t ∈ Ioo (0 : ℝ) τ, {x | t < u x}.Nonempty ∧ ∃ p : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {x | t < u x}ᶜ p) ∧ B ≤ Math30.Polya.area (connectedComponentIn {x | t < u x}ᶜ p)) (cfg : Params) (hcfg : GoodParams cfg) (hx : (cfg.x : ℝ) ≤ B / Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) : Nonempty (ActualFiniteStarFrame ι u τ points cfg) := by classical let a : ℝ := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} let a0 : ℝ := Math30.Polya.area {x : Math30.Polya.Plane | τ ≤ u x} let D : ι → Set Math30.Polya.Plane := fun i => component u τ (points i) let ai : ι → ℝ := fun i => Math30.Polya.area (D i) let Fi : ι → ℝ → ℝ := fun i => genuineBranch u hu τ hτ.le (points i) U let T : ℝ → ℝ := genuineTrunk u hu τ U let Qi : ι → ℝ := fun i => ∫ x in D i, ‖gradient u x‖ ^ 2 let Qt : ℝ := ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, ‖gradient u x‖ ^ 2 have hai : ∀ i, 0 < ai i := fun i => component_area_pos hu hf.continuous hτ.le (hpoints i) have hbranches : ∀ i, ∃ h : ℝ → ℝ, WeightedProfile (Fi i) id 0 (ai i) (Qi i / (4 * Real.pi)) h ∧ (∀ ε : ℝ, 0 < ε → ε ≤ ai i → Polya26.Strike.S02.Header.PrimitiveOn (Fi i) ε (ai i)) := fun i => genuineBranch_profile hu hf hτ.le (hpoints i) hU hbound choose hi hpi haci using hbranches obtain ⟨ha0a, ht, hpt, hacT⟩ := genuineTrunk_profile hu hf hτ hB hU hbound hwrap change a0 < a at ha0a change WeightedProfile T (fullWrapWeight B) a0 a (Qt / (4 * Real.pi)) ht at hpt change Polya26.Strike.S02.Header.PrimitiveOn T a0 a at hacT have ha0 : 0 ≤ a0 := ENNReal.toReal_nonneg have ha : 0 < a := ha0.trans_lt ha0a have hf1 : ContDiff ℝ 1 u := hf.of_le (by simp) have hDm : ∀ i, MeasurableSet (D i) := fun i => (component_isOpen hf.continuous τ (points i)).measurableSet have hDhigh : ∀ i, D i ⊆ Polya26.PlanarIsoperimetric.PhaseBudgets.strictHigh u τ := fun i => connectedComponentIn_subset _ _ have hsum : (∑ i, ai i) ≤ a0 := Polya26.PlanarIsoperimetric.PhaseBudgets.finite_selected_area_le_high hu hτ hDm hdis hDhigh let p0 : ℝ := a0 - ∑ i, ai i have hp0 : 0 ≤ p0 := sub_nonneg.mpr hsum obtain ⟨p, hp⟩ := exists_ge_gate_of_all_lower_levels hf.continuous hu hτ (fun t ht => (hwrap t ht).1) have hτU : τ ≤ U := hp.trans (hbound p) have hFmeas : ∀ i, Measurable (Fi i) := fun i => genuineBranch_measurable hu hf.continuous hτ.le (hpoints i) hU have hTmeas : Measurable T := genuineTrunk_measurable hu hU ha have hFbound : ∀ i s, |Fi i s| ≤ τ + U := by intro i s have hb := genuineBranch_bounds hu hτ.le (points i) hU.le s rw [abs_of_nonneg hb.1] exact hb.2 have hTbound : ∀ s, |T s| ≤ τ + U := by intro s have hb := genuineTrunk_bounds hu hτ.le hτU s rw [abs_of_nonneg hb.1] exact hb.2.trans (le_add_of_nonneg_left hτ.le) have hFiGate : ∀ i, Fi i (ai i) = τ := fun i => genuineBranch_gate hu hf.continuous hτ.le (hpoints i) U have hTinner : T a0 = τ := gateExtension_left _ _ _ _ _ have hTouter : T a = 0 := gateExtension_right _ ha0a _ _ have hhiInt : ∀ i, IntervalIntegrable (fun s => s * (hi i s) ^ 2) volume 0 (ai i) := by intro i exact (intervalIntegrable_iff_integrableOn_Ioo_of_le (hai i).le).mpr (hpi i).energy_integrable obtain ⟨hAffineInt, hAffineLe⟩ := physical_affine_profile_energy hcfg ha ha0 hx hpt.locally_integrable.aestronglyMeasurable hpt.energy_integrable have hAffineInterval : IntervalIntegrable (fun s => ((cfg.alpha : ℝ) * s + 4 * a * (cfg.x : ℝ)) * (ht s) ^ 2) volume a0 a := (intervalIntegrable_iff_integrableOn_Ioo_of_le ha0a.le).mpr hAffineInt let d : FiniteStarData ι (cfg.alpha : ℝ) (cfg.x : ℝ) := { area := fun i => ai i / a area_pos := fun i => div_pos (hai i) ha plateau := p0 / a plateau_nonneg := div_nonneg hp0 ha.le junction := a0 / a junction_area := by rw [← Finset.sum_div] dsimp [p0] field_simp ring junction_nonneg := div_nonneg ha0 ha.le junction_lt_one := (div_lt_one ha).mpr ha0a gate := Real.sqrt a * τ gate_nonneg := mul_nonneg (Real.sqrt_nonneg _) hτ.le heightBound := Real.sqrt a * (τ + U) heightBound_nonneg := mul_nonneg (Real.sqrt_nonneg _) (add_nonneg hτ.le hU.le) branch := fun i => dilatedProfile a (Fi i) branchDerivative := fun i => dilatedDerivative a (hi i) branch_measurable := fun i => dilatedProfile_measurable (hFmeas i) a branch_bound := fun i => dilatedProfile_bound (hFbound i) branch_local_ac := by intro i e he hea have hleft : 0 < a * e := mul_pos ha he have hright : a * e ≤ ai i := by simpa only [mul_comm] using (le_div_iff₀ ha).mp hea have hc := dilatedProfile_ac ha hright (haci i (a * e) hleft hright) simpa only [mul_div_cancel_left₀ e ha.ne'] using hc branch_deriv_ae := by intro i simpa only [zero_div] using dilatedProfile_deriv_ae ha (hpi i).hasDerivAt_ae branch_gate := by intro i rw [dilatedProfile_gate _ ha, hFiGate i] branch_energy_integrable := by intro i simpa only [zero_div] using dilatedDerivative_radialEnergy_integrable ha (hhiInt i) trunk := dilatedProfile a T trunkDerivative := dilatedDerivative a ht trunk_measurable := dilatedProfile_measurable hTmeas a trunk_bound := dilatedProfile_bound hTbound trunk_ac := by simpa only [div_self ha.ne'] using dilatedProfile_ac ha ha0a.le hacT trunk_deriv_ae := by simpa only [div_self ha.ne'] using dilatedProfile_deriv_ae ha hpt.hasDerivAt_ae trunk_inner_gate := by rw [dilatedProfile_gate _ ha, hTinner] trunk_outer_gate := by rw [show (1 : ℝ) = a / a from (div_self ha.ne').symm, dilatedProfile_gate _ ha, hTouter, mul_zero] trunk_energy_integrable := by simpa only [div_self ha.ne'] using dilatedDerivative_affineEnergy_integrable ha (cfg.alpha : ℝ) (cfg.x : ℝ) hAffineInterval } have hbranchMass : ∀ i, d.branchMass i = ∫ x in D i, (u x) ^ 2 := by intro i change (∫ s in 0..(ai i / a), (dilatedProfile a (Fi i) s) ^ 2) = _ have hm := dilatedProfile_mass (Fi i) ha 0 (ai i) simp only [zero_div] at hm rw [hm, intervalIntegral_eq_setIntegral_Ioo _ (hai i).le] exact genuineBranch_original_mass hu hf.continuous hτ.le (hpoints i) hU hbound have htrunkMass : d.trunkMass = ∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, (u x) ^ 2 := by change (∫ s in (a0 / a)..1, (dilatedProfile a T s) ^ 2) = _ have hm := dilatedProfile_mass T ha a0 a rw [div_self ha.ne'] at hm rw [hm, intervalIntegral_eq_setIntegral_Ioo _ ha0a.le] exact genuineTrunk_original_mass hu hf.continuous.measurable hτ hU hbound ha have hplateau : d.plateau * d.gate ^ 2 = p0 * τ ^ 2 := dilatedProfile_plateau ha p0 τ have hmass : d.mass = (∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x) ^ 2) - Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u τ D := by change (∑ i, d.branchMass i) + d.plateau * d.gate ^ 2 + d.trunkMass = _ rw [Finset.sum_congr rfl (fun i hi => hbranchMass i), hplateau, htrunkMass] have hm := Polya26.PlanarIsoperimetric.PhaseBudgets.finite_original_positive_mass hu hf.continuous hτ hDm hdis hDhigh change (∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x) ^ 2) = (∑ i, ∫ x in D i, (u x) ^ 2) + τ ^ 2 * p0 + (∫ x in {x : Math30.Polya.Plane | 0 < u x ∧ u x < τ}, (u x) ^ 2) + Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u τ D at hm linarith only [hm] have hbranchEnergy : ∀ i, (∫ s in 0..(ai i / a), s * (dilatedDerivative a (hi i) s) ^ 2) ≤ a * (Qi i / (4 * Real.pi)) := by intro i have he := dilatedDerivative_radialEnergy (hi i) ha 0 (ai i) simp only [zero_div] at he rw [he, intervalIntegral_eq_setIntegral_Ioo _ (hai i).le] exact mul_le_mul_of_nonneg_left (hpi i).energy_le ha.le have htrunkEnergy : (∫ s in (a0 / a)..1, ((cfg.alpha : ℝ) * s + 4 * (cfg.x : ℝ)) * (dilatedDerivative a ht s) ^ 2) ≤ a * (Qt / (4 * Real.pi)) := by have he := dilatedDerivative_affineEnergy ht ha (cfg.alpha : ℝ) (cfg.x : ℝ) a0 a rw [div_self ha.ne'] at he rw [he, intervalIntegral_eq_setIntegral_Ioo _ ha0a.le] exact mul_le_mul_of_nonneg_left (hAffineLe.trans hpt.energy_le) ha.le have henergy : d.radialEnergy ≤ a * (∫ x in {x : Math30.Polya.Plane | 0 < u x}, ‖fderiv ℝ u x‖ ^ 2) / (4 * Real.pi) := by have hbudget := Polya26.PlanarIsoperimetric.PhaseBudgets.finite_positive_phase_gradient_energy_budget hu hf1 hτ hDm hdis hDhigh change (∑ i, Qi i) + Qt ≤ ∫ x in {x : Math30.Polya.Plane | 0 < u x}, ‖fderiv ℝ u x‖ ^ 2 at hbudget calc d.radialEnergy ≤ (∑ i, a * (Qi i / (4 * Real.pi))) + a * (Qt / (4 * Real.pi)) := add_le_add (Finset.sum_le_sum (fun i hi => hbranchEnergy i)) htrunkEnergy _ = a * ((∑ i, Qi i) + Qt) / (4 * Real.pi) := by rw [← Finset.mul_sum, ← Finset.sum_div] ring _ ≤ _ := div_le_div_of_nonneg_right (mul_le_mul_of_nonneg_left hbudget ha.le) (by positivity) refine ⟨{ data := d area_eq := fun i => rfl junction_eq := rfl plateau_eq := rfl gate_eq := rfl original_branch_mass := hbranchMass original_trunk_mass := htrunkMass original_mass := hmass original_branch_firstMoment := ?_ original_trunk_firstMoment := ?_ physical_energy_budget := henergy }⟩ · intro i change Real.sqrt a * (∫ s in 0..(ai i / a), dilatedProfile a (Fi i) s) = ∫ x in D i, u x have hm := dilatedProfile_firstMoment (Fi i) ha 0 (ai i) simp only [zero_div] at hm rw [hm, intervalIntegral_eq_setIntegral_Ioo _ (hai i).le] exact genuineBranch_original_firstMoment hu hf.continuous hτ.le (hpoints i) hU hbound · change Real.sqrt a * (∫ s in (a0 / a)..1, dilatedProfile a T s) = _ have hm := dilatedProfile_firstMoment T ha a0 a rw [div_self ha.ne'] at hm rw [hm, intervalIntegral_eq_setIntegral_Ioo _ ha0a.le] exact genuineTrunk_original_firstMoment hu hf.continuous.measurable hτ hU hbound ha end Polya26.Strike.S03.Header.PrimitiveProfiles end end /- END M056 -/ /- BEGIN M057 -/ section /- BEGIN PlaneAlias -/ section namespace Polya26.MedianObjective abbrev Plane := EuclideanSpace ℝ (Fin 2) end Polya26.MedianObjective end /- END PlaneAlias -/ /- BEGIN SphereSupport -/ section /- Canonical support selected from Mathlib's Apache-2.0 sources. BallSphere: copyright2022 Yury Kudryashov; Yury Kudryashov/Heather Macbeth. AffineSpace.FiniteDimensional: copyright2020 Joseph Myers; Joseph Myers. Registered dictionaries are ordinary abbreviations, supplied locally. -/ noncomputable section open Metric Set Topology abbrev w10SphereNeg.{w10u} {E : Type w10u} [SeminormedAddCommGroup E] {r : ℝ} : InvolutiveNeg (sphere (0 : E) r) where neg := Subtype.map Neg.neg fun w => by simp neg_neg x := Subtype.ext <| neg_neg x.1 theorem coe_neg_sphere.{w10u} {E : Type w10u} [SeminormedAddCommGroup E] {r : ℝ} (v : sphere (0 : E) r) : (letI := @w10SphereNeg.{w10u} ↑(-v) = (-(v : E))) := by letI := @w10SphereNeg.{w10u} rfl end noncomputable section open Metric abbrev w10SphereContinuousNeg.{w10u} {E : Type w10u} [SeminormedAddCommGroup E] {r : ℝ} : (letI := @w10SphereNeg.{w10u} ContinuousNeg (sphere (0 : E) r)) := by letI := @w10SphereNeg.{w10u} refine ⟨?_⟩ exact continuous_induced_rng.mpr (continuous_neg.comp continuous_subtype_val) end /- Exact dictionary-local adaptation of Mathlib.Analysis.Normed.Module.Ball.Action. Copyright 2022 Yury Kudryashov / Heather Macbeth. Apache 2.0. -/ noncomputable section open Metric Set variable {𝕜 E : Type*} [NormedField 𝕜] [SeminormedAddCommGroup E] [NormedSpace 𝕜 E] [CharZero 𝕜] theorem ne_neg_of_mem_sphere (𝕜 : Type*) [NormedField 𝕜] [CharZero 𝕜] {E : Type*} [SeminormedAddCommGroup E] [NormedSpace 𝕜 E] : (letI := @w10SphereNeg ∀ {r : ℝ}, r ≠ 0 → ∀ x : sphere (0 : E) r, x ≠ -x) := no_implicit_lambda% ( letI := @w10SphereNeg fun {r} hr x => have : IsAddTorsionFree E := .of_isTorsionFree 𝕜 E fun h => ne_zero_of_mem_sphere hr x (self_eq_neg.mp (by (conv_lhs => rw [h]); rfl)) ) theorem ne_neg_of_mem_unit_sphere (𝕜 : Type*) [NormedField 𝕜] [CharZero 𝕜] {E : Type*} [SeminormedAddCommGroup E] [NormedSpace 𝕜 E] : (letI := @w10SphereNeg ∀ x : sphere (0 : E) 1, x ≠ -x) := no_implicit_lambda% ( letI := @w10SphereNeg fun x => ne_neg_of_mem_sphere 𝕜 one_ne_zero x ) end end /- END SphereSupport -/ /- BEGIN MedianSelector -/ section noncomputable section open Set Filter MeasureTheory Metric open scoped Topology ContDiff namespace Polya26.MedianSelector open MedianObjective section Force variable {V : Type*} [NormedAddCommGroup V] [InnerProductSpace ℝ V] [MeasurableSpace V] [BorelSpace V] [SecondCountableTopology V] [CompleteSpace V] end Force abbrev Plane := MedianObjective.Plane /- A total choice of center. All subsequent theorems restrict it to actual nonnegative positive-mass densities, where the minimizer exists and is unique. -/ theorem compact_family_integrable {T : Type*} [TopologicalSpace T] (g : T → Plane → ℝ) {K : Set Plane} (hK : IsCompact K) (hcont : Continuous (Function.uncurry g)) {B : ℝ} (hzero : ∀ t x, x ∉ K → g t x = 0) (hbound : ∀ t x, x ∈ K → ‖g t x‖ ≤ B) (t : T) : Integrable (g t) := by have hmajorant : Integrable (K.indicator (fun _ : Plane => B)) := (integrableOn_const hK.measure_ne_top).integrable_indicator hK.measurableSet have hm : AEStronglyMeasurable (g t) volume := by simpa only [Function.uncurry,Function.comp_def,id_eq] using (hcont.comp (continuous_const.prodMk continuous_id)).measurable.aestronglyMeasurable apply hmajorant.mono' hm apply Eventually.of_forall intro x by_cases hx : x ∈ K · simpa only [Set.indicator_of_mem hx] using hbound t x hx · simp only [hzero t x hx,norm_zero,Set.indicator_of_notMem hx,le_refl] theorem compact_family_l1_convergence {T : Type*} [TopologicalSpace T] (g : T → Plane → ℝ) {K : Set Plane} (hK : IsCompact K) (hcont : Continuous (Function.uncurry g)) {B : ℝ} (hzero : ∀ t x, x ∉ K → g t x = 0) (hbound : ∀ t x, x ∈ K → ‖g t x‖ ≤ B) (ts : ℕ → T) (t : T) (ht : Tendsto ts atTop (𝓝 t)) : Tendsto (fun n => ∫ x, ‖g (ts n) x-g t x‖) atTop (𝓝 0) := by let bound : Plane → ℝ := K.indicator (fun _ => 2*B) have hboundint : Integrable bound := (integrableOn_const hK.measure_ne_top).integrable_indicator hK.measurableSet have hmeas (n : ℕ) : AEStronglyMeasurable (fun x => ‖g (ts n) x-g t x‖) volume := ((compact_family_integrable g hK hcont hzero hbound (ts n)).sub (compact_family_integrable g hK hcont hzero hbound t)).norm.aestronglyMeasurable have hdom (n : ℕ) : ∀ᵐ x : Plane, ‖‖g (ts n) x-g t x‖‖ ≤ bound x := by apply Eventually.of_forall intro x rw [norm_norm] by_cases hx : x ∈ K · dsimp [bound] rw [Set.indicator_of_mem hx] have h1 := hbound (ts n) x hx have h2 := hbound t x hx have h3 := norm_sub_le (g (ts n) x) (g t x) have hv : ‖g (ts n) x-g t x‖ ≤ 2*B := by linarith only [h1,h2,h3] simpa only [Real.norm_eq_abs] using hv · simp [bound,hzero (ts n) x hx,hzero t x hx,hx] have hconv : ∀ᵐ x : Plane, Tendsto (fun n => ‖g (ts n) x-g t x‖) atTop (𝓝 (0 : ℝ)) := by apply Eventually.of_forall intro x have hc : Continuous (fun t => g t x) := hcont.comp (continuous_id.prodMk continuous_const) simpa only [sub_self,norm_zero,Function.comp_def] using (((hc.tendsto t).comp ht).sub (tendsto_const_nhds : Tendsto (fun _ : ℕ => g t x) atTop (𝓝 (g t x)))).norm simpa only [integral_zero] using tendsto_integral_of_dominated_convergence bound hmeas hboundint hdom hconv /- For a compact continuous family with common compact support, actual planar median continuity follows without an assumed density-convergence theorem. -/ theorem continuous_integral_of_compact_family {T : Type*} [TopologicalSpace T] [CompactSpace T] [SequentialSpace T] (g : T → Plane → ℝ) {K : Set Plane} (hK : IsCompact K) (hcont : Continuous (Function.uncurry g)) (hzero : ∀ t x, x ∉ K → g t x = 0) : Continuous (fun t => ∫ x, g t x) := by have himage : IsCompact (Function.uncurry g '' ((univ : Set T) ×ˢ K)) := (isCompact_univ.prod hK).image hcont obtain ⟨B,hB,hBK⟩ := himage.isBounded.exists_pos_norm_le have hbound : ∀ t x, x ∈ K → ‖g t x‖ ≤ B := by intro t x hx exact hBK (g t x) ⟨(t,x),⟨mem_univ _,hx⟩,rfl⟩ apply SeqContinuous.continuous intro ts t ht have hL1 := compact_family_l1_convergence g hK hcont hzero hbound ts t ht have he : Tendsto (fun n => (∫ x, g (ts n) x)-(∫ x, g t x)) atTop (𝓝 0) := by apply tendsto_zero_iff_norm_tendsto_zero.mpr refine squeeze_zero (fun n => norm_nonneg _) (fun n => ?_) hL1 rw [← integral_sub (compact_family_integrable g hK hcont hzero hbound (ts n)) (compact_family_integrable g hK hcont hzero hbound t)] exact norm_integral_le_integral_norm _ simpa only [sub_add_cancel,zero_add,Function.comp_def] using he.add (tendsto_const_nhds : Tendsto (fun _ : ℕ => ∫ x, g t x) atTop (𝓝 (∫ x, g t x))) /- The odd three-coordinate selector before the Borsuk--Ulam step. Its center is the unique geometric median of the total squared density. -/ theorem sign_square_identities (a : ℝ) : (max a 0)^2+(max (-a) 0)^2 = a^2 ∧ (max a 0)^2-(max (-a) 0)^2 = a*|a| := by by_cases ha : 0 ≤ a · simp only [max_eq_left ha,max_eq_right (neg_nonpos.mpr ha),abs_of_nonneg ha] constructor <;> ring · have hn : a ≤ 0 := le_of_not_ge ha simp only [max_eq_right hn,max_eq_left (neg_nonneg.mpr hn),abs_of_nonpos hn] constructor <;> ring /- A selector zero gives equal positive sign masses and two separate zero forces, rather than only a signed cancellation. -/ abbrev Coeff := EuclideanSpace ℝ (Fin 4) abbrev Sphere3 := sphere (0 : Coeff) 1 def coreCombination (basis : Fin 4 → Plane → ℝ) (c : Coeff) (x : Plane) : ℝ := ∑ i, c i * basis i x theorem coreCombination_joint_continuous (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) : Continuous (Function.uncurry (fun c : Sphere3 => coreCombination basis c.val)) := by change Continuous (fun z : Sphere3 × Plane => ∑ i, z.1.val i * basis i z.2) apply continuous_finsetSum intro i hi exact (((PiLp.continuous_apply 2 (fun _ : Fin 4 => ℝ) i).comp continuous_subtype_val).comp continuous_fst).mul ((hcont i).comp continuous_snd) theorem coreCombination_nonzero (basis : Fin 4 → Plane → ℝ) (hind : LinearIndependent ℝ basis) {c : Coeff} (hc : c ≠ 0) : ∃ x, coreCombination basis c x ≠ 0 := by by_contra hnone push_neg at hnone have hsum : (∑ i, c i • basis i) = (0 : Plane → ℝ) := by funext x simpa only [Finset.sum_apply,Pi.smul_apply,smul_eq_mul,Pi.zero_apply,coreCombination] using hnone x have hcoeff : ∀ i : Fin 4, c i = 0 := by intro i exact (linearIndependent_iff'.mp hind) Finset.univ (fun i => c i) hsum i (Finset.mem_univ i) exact hc (by ext i; simpa only [PiLp.zero_apply] using hcoeff i) theorem coreCombination_hasCompactSupport (basis : Fin 4 → Plane → ℝ) (hcompact : ∀ i, HasCompactSupport (basis i)) (c : Coeff) : HasCompactSupport (coreCombination basis c) := by have hi (i : Fin 4) : HasCompactSupport (fun x => c i * basis i x) := by convert (hcompact i).smul_left (f := fun _ : Plane => c i) using 1 have hsum := HasCompactSupport.finset_sum (s := Finset.univ) (fun i hi' => hi i) convert hsum using 1 funext x simp only [Finset.sum_apply,coreCombination] theorem coreCombination_square_mass_pos (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (hind : LinearIndependent ℝ basis) (c : Sphere3) : 0 < ∫ x, (coreCombination basis c.val x)^2 := by have hc : c.val ≠ 0 := by intro hz have hs := c.property simp only [hz,mem_sphere,dist_self] at hs norm_num at hs obtain ⟨x,hx⟩ := coreCombination_nonzero basis hind hc have hcx : Continuous (coreCombination basis c.val) := by exact continuous_finsetSum _ (fun i hi => continuous_const.mul (hcont i)) have hcs := coreCombination_hasCompactSupport basis hcompact c.val have hsq : HasCompactSupport (fun x => (coreCombination basis c.val x)^2) := by convert hcs.mul_left (f := coreCombination basis c.val) using 1 funext x simp only [pow_two,Pi.mul_apply] exact (hcx.pow 2).integral_pos_of_hasCompactSupport_nonneg_nonzero hsq (fun y => sq_nonneg _) (pow_ne_zero 2 hx) /- The complete analytic S3 odd-map reduction for four actual smooth compact core functions. The only external topological input is the displayed ordinary Borsuk--Ulam zero statement; no median-energy estimate is an assumption here. -/ end Polya26.MedianSelector end end /- END MedianSelector -/ /- BEGIN ConnectedBall -/ section noncomputable section open Set Metric namespace Metric variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] theorem isConnected_closedBall {x : E} {r : ℝ} (hr : 0 ≤ r) : IsConnected (closedBall x r) := ⟨⟨x, by simpa only [mem_closedBall, dist_self] using hr⟩, (convex_closedBall x r).isPreconnected⟩ end Metric end end /- END ConnectedBall -/ /- BEGIN QuantileCoreFamily -/ section /-! Actual compact smooth-core level and original squared-mass quantities. This prefix stages the finite-coefficient mass continuity interface; the component witness equivalence and threshold limit are separate obligations. -/ noncomputable section open Set Filter MeasureTheory Topology open scoped BigOperators namespace Polya26.QuantileCoreFamily open Polya26.MedianSelector def originalMass (u : Plane → ℝ) (D : Set Plane) : ℝ := ∫ x in D, (u x)^2 def levelSet (u : Plane → ℝ) (t : ℝ) : Set Plane := {x | t < u x} def levelComponent (u : Plane → ℝ) (t : ℝ) (p : Plane) : Set Plane := connectedComponentIn (levelSet u t) p def compactHeavyWitness (u : Plane → ℝ) (κ t : ℝ) (K : Set Plane) : Prop := IsCompact K ∧ IsConnected K ∧ K ⊆ levelSet u t ∧ κ * originalMass u univ < originalMass u K def admissibleLevel (u : Plane → ℝ) (κ t : ℝ) : Prop := ∃ K, compactHeavyWitness u κ t K /- Union of actual compact connected original-mass witnesses. In a balanced family with kappa>=1/4, witness overlap identifies the unique heavy level component; that equivalence is a separate actual mass lemma. -/ def heavyCore (u : Plane → ℝ) (κ t : ℝ) : Set Plane := ⋃ K : Set Plane, ⋃ (_ : compactHeavyWitness u κ t K), K def quantileThreshold (u : Plane → ℝ) (κ : ℝ) : ℝ := sSup {t | 0 ≤ t ∧ admissibleLevel u κ t} theorem levelSet_isOpen {u : Plane → ℝ} (hu : Continuous u) (t : ℝ) : IsOpen (levelSet u t) := isOpen_lt continuous_const hu theorem levelComponent_isOpen {u : Plane → ℝ} (hu : Continuous u) (t : ℝ) (p : Plane) : IsOpen (levelComponent u t p) := (levelSet_isOpen hu t).connectedComponentIn theorem compactHeavyWitness_mono {u : Plane → ℝ} {κ s t : ℝ} {K : Set Plane} (h : compactHeavyWitness u κ t K) (hst : s ≤ t) : compactHeavyWitness u κ s K := by refine ⟨h.1,h.2.1,?_,h.2.2.2⟩ intro x hx exact lt_of_le_of_lt hst (h.2.2.1 hx) theorem admissibleLevel_mono {u : Plane → ℝ} {κ s t : ℝ} (h : admissibleLevel u κ t) (hst : s ≤ t) : admissibleLevel u κ s := by obtain ⟨K,hK⟩ := h exact ⟨K,compactHeavyWitness_mono hK hst⟩ theorem basis_product_integrableOn (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (D : Set Plane) (i j : Fin 4) : IntegrableOn (fun x => basis i x*basis j x) D := by have hc : HasCompactSupport (fun x => basis i x*basis j x) := (hcompact i).mul_right exact ((hcont i).mul (hcont j)).integrable_of_hasCompactSupport hc |>.integrableOn /- Fixed-set original mass is a quadratic polynomial in the ACTUAL four coefficients. No parameter-dependent component or density model is used. -/ theorem originalMass_core_eq (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (c : Coeff) (D : Set Plane) : originalMass (coreCombination basis c) D = ∑ i, ∑ j, (c i*c j)*(∫ x in D, basis i x*basis j x) := by have he : (fun x => (coreCombination basis c x)^2) = fun x => ∑ i, ∑ j, (c i*c j)*(basis i x*basis j x) := by funext x dsimp only [coreCombination] rw [pow_two,Finset.sum_mul_sum] apply Finset.sum_congr rfl intro i hi apply Finset.sum_congr rfl intro j hj ring have hij (i j : Fin 4) : Integrable (fun x => (c i*c j)*(basis i x*basis j x)) (volume.restrict D) := (basis_product_integrableOn basis hcont hcompact D i j).const_mul _ unfold originalMass rw [he, integral_finsetSum] · apply Finset.sum_congr rfl intro i hi rw [integral_finsetSum] · apply Finset.sum_congr rfl intro j hj exact integral_const_mul _ _ · intro j hj exact hij i j · intro i hi exact integrable_finsetSum _ (fun j hj => hij i j) theorem originalMass_core_continuous (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (D : Set Plane) : Continuous (fun c : Coeff => originalMass (coreCombination basis c) D) := by simp_rw [originalMass_core_eq basis hcont hcompact] apply continuous_finsetSum intro i hi apply continuous_finsetSum intro j hj exact ((PiLp.continuous_apply 2 (fun _ : Fin 4 => ℝ) i).mul (PiLp.continuous_apply 2 (fun _ : Fin 4 => ℝ) j)).mul continuous_const /- The compact positive tree and its strict original mass margin persist JOINTLY in actual coefficients and the scalar level. -/ theorem compactHeavyWitness_isOpen (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (κ : ℝ) (K : Set Plane) : IsOpen {z : Sphere3 × ℝ | compactHeavyWitness (coreCombination basis z.1.val) κ z.2 K} := by apply isOpen_iff_mem_nhds.mpr intro z hz obtain ⟨hKc,hKcon,hKlev,hKmass⟩ := hz have hcomb := coreCombination_joint_continuous basis hcont have hopen : IsOpen {p : (Sphere3 × ℝ) × Plane | p.1.2 < coreCombination basis p.1.1.val p.2} := isOpen_lt continuous_fst.snd (hcomb.comp (continuous_fst.fst.prodMk continuous_snd)) have hcontain : ({z} : Set (Sphere3 × ℝ)) ×ˢ K ⊆ {p : (Sphere3 × ℝ) × Plane | p.1.2 < coreCombination basis p.1.1.val p.2} := by rintro ⟨z',x⟩ ⟨(rfl : z'=z),hx⟩ exact hKlev hx obtain ⟨U,V,hU,hV,hzU,hKV,hUV⟩ := generalized_tube_lemma isCompact_singleton hKc hopen hcontain have hlev : ∀ᶠ y in 𝓝 z, K ⊆ levelSet (coreCombination basis y.1.val) y.2 := by filter_upwards [hU.mem_nhds (singleton_subset_iff.mp hzU)] with y hy intro x hx exact hUV (show (y,x) ∈ U ×ˢ V from ⟨hy,hKV hx⟩) have hM : Continuous (fun y : Sphere3 × ℝ => originalMass (coreCombination basis y.1.val) univ) := (originalMass_core_continuous basis hcont hcompact univ).comp (continuous_subtype_val.comp continuous_fst) have hMK : Continuous (fun y : Sphere3 × ℝ => originalMass (coreCombination basis y.1.val) K) := (originalMass_core_continuous basis hcont hcompact K).comp (continuous_subtype_val.comp continuous_fst) have hmopen : IsOpen {y : Sphere3 × ℝ | κ * originalMass (coreCombination basis y.1.val) univ < originalMass (coreCombination basis y.1.val) K} := isOpen_lt (continuous_const.mul hM) hMK filter_upwards [hlev,hmopen.mem_nhds hKmass] with y hylev hymass exact ⟨hKc,hKcon,hylev,hymass⟩ theorem admissibleLevel_isOpen (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (κ : ℝ) : IsOpen {z : Sphere3 × ℝ | admissibleLevel (coreCombination basis z.1.val) κ z.2} := by have he : {z : Sphere3 × ℝ | admissibleLevel (coreCombination basis z.1.val) κ z.2} = ⋃ K : Set Plane, {z : Sphere3 × ℝ | compactHeavyWitness (coreCombination basis z.1.val) κ z.2 K} := by ext z simp only [mem_setOf_eq,mem_iUnion,admissibleLevel] rw [he] exact isOpen_iUnion (fun K => compactHeavyWitness_isOpen basis hcont hcompact κ K) theorem originalMass_nonneg (u : Plane → ℝ) (D : Set Plane) : 0 ≤ originalMass u D := integral_nonneg (fun x => sq_nonneg (u x)) theorem originalMass_mono {u : Plane → ℝ} (hu : Integrable (fun x => (u x)^2)) {D E : Set Plane} (hDE : D ⊆ E) : originalMass u D ≤ originalMass u E := setIntegral_mono_set hu.integrableOn (Eventually.of_forall (fun x => sq_nonneg (u x))) (Eventually.of_forall hDE) theorem core_square_integrable (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (c : Coeff) : Integrable (fun x => (coreCombination basis c x)^2) := by have hc : Continuous (coreCombination basis c) := by change Continuous (fun x => ∑ i, c i*basis i x) apply continuous_finsetSum intro i hi exact continuous_const.mul (hcont i) have hs : HasCompactSupport (fun x => (coreCombination basis c x)^2) := by convert (coreCombination_hasCompactSupport basis hcompact c).mul_left (f := coreCombination basis c) using 1 funext x simp only [pow_two,Pi.mul_apply] exact (hc.pow 2).integrable_of_hasCompactSupport hs theorem compactHeavyWitness_enlarge {u : Plane → ℝ} {κ t : ℝ} {K L : Set Plane} (hu : Integrable (fun x => (u x)^2)) (hK : compactHeavyWitness u κ t K) (hLc : IsCompact L) (hLcon : IsConnected L) (hKL : K ⊆ L) (hLlev : L ⊆ levelSet u t) : compactHeavyWitness u κ t L := ⟨hLc,hLcon,hLlev,hK.2.2.2.trans_le (originalMass_mono hu hKL)⟩ theorem mem_heavyCore_iff (u : Plane → ℝ) (κ t : ℝ) (x : Plane) : x ∈ heavyCore u κ t ↔ ∃ K, compactHeavyWitness u κ t K ∧ x ∈ K := by simp only [heavyCore,mem_iUnion,exists_prop] theorem heavyCore_subset_levelSet (u : Plane → ℝ) (κ t : ℝ) : heavyCore u κ t ⊆ levelSet u t := by intro x hx obtain ⟨K,hK,hxK⟩ := (mem_heavyCore_iff u κ t x).mp hx exact hK.2.2.1 hxK /- This is the actual open graph of the original-mass heavy core. A compact witness through the spatial point can be enlarged by a closed ball before using its strict mass margin. No component selection or topological regularity of the zero set is an input. -/ theorem heavyCore_graph_isOpen (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (κ : ℝ) : IsOpen {z : (Sphere3 × ℝ) × Plane | z.2 ∈ heavyCore (coreCombination basis z.1.1.val) κ z.1.2} := by apply isOpen_iff_mem_nhds.mpr intro z hz obtain ⟨K,hK,hxK⟩ := (mem_heavyCore_iff _ _ _ _).mp hz have huc : Continuous (coreCombination basis z.1.1.val) := by change Continuous (fun x => ∑ i, z.1.1.val i*basis i x) apply continuous_finsetSum intro i hi exact continuous_const.mul (hcont i) obtain ⟨r,hr,hball⟩ := Metric.nhds_basis_closedBall.mem_iff.mp ((levelSet_isOpen huc z.1.2).mem_nhds (hK.2.2.1 hxK)) let L := K ∪ Metric.closedBall z.2 r have hL : compactHeavyWitness (coreCombination basis z.1.1.val) κ z.1.2 L := by apply compactHeavyWitness_enlarge (core_square_integrable basis hcont hcompact _) hK (hK.1.union (isCompact_closedBall _ _)) (hK.2.1.union ⟨z.2,hxK,Metric.mem_closedBall_self hr.le⟩ (Metric.isConnected_closedBall hr.le)) (subset_union_left) ?_ exact union_subset hK.2.2.1 hball have hparameter : IsOpen {y : (Sphere3 × ℝ) × Plane | compactHeavyWitness (coreCombination basis y.1.1.val) κ y.1.2 L} := (compactHeavyWitness_isOpen basis hcont hcompact κ L).preimage continuous_fst have hspace : IsOpen {y : (Sphere3 × ℝ) × Plane | y.2 ∈ Metric.ball z.2 r} := Metric.isOpen_ball.preimage continuous_snd filter_upwards [hparameter.mem_nhds hL, hspace.mem_nhds (Metric.mem_ball_self hr)] with y hyL hyball exact (mem_heavyCore_iff _ _ _ _).mpr ⟨L,hyL,Or.inr (Metric.ball_subset_closedBall hyball)⟩ theorem heavyCore_selected_graph_isOpen {X : Type*} [TopologicalSpace X] (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (κ : ℝ) (c : X → Sphere3) (hc : Continuous c) (t : X → ℝ) (ht : Continuous t) : IsOpen {z : X × Plane | z.2 ∈ heavyCore (coreCombination basis (c z.1).val) κ (t z.1)} := by let g : X × Plane → (Sphere3 × ℝ) × Plane := fun z => ((c z.1,t z.1),z.2) have hg : Continuous g := ((hc.comp continuous_fst).prodMk (ht.comp continuous_fst)).prodMk continuous_snd exact (heavyCore_graph_isOpen basis hcont hcompact κ).preimage hg theorem compactPersistence_of_open_graph {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] (D : X → Set Y) (hgraph : IsOpen {z : X × Y | z.2 ∈ D z.1}) (x : X) (K : Set Y) (hK : IsCompact K) (hKD : K ⊆ D x) : ∀ᶠ y in 𝓝 x, K ⊆ D y := by have hcontain : ({x} : Set X) ×ˢ K ⊆ {z : X × Y | z.2 ∈ D z.1} := by rintro ⟨y,z⟩ ⟨(rfl : y=x),hz⟩ exact hKD hz obtain ⟨U,V,hU,hV,hxU,hKV,hUV⟩ := generalized_tube_lemma isCompact_singleton hK hgraph hcontain filter_upwards [hU.mem_nhds (singleton_subset_iff.mp hxU)] with y hy intro z hz exact hUV (show (y,z) ∈ U ×ˢ V from ⟨hy,hKV hz⟩) /- Actual compact-subset persistence along any continuous coefficient and strictly selected-level maps, including maps on the closed BU zero set. It follows from the actual open graph by the native tube lemma. -/ theorem heavyCore_compact_persistence {X : Type*} [TopologicalSpace X] (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (κ : ℝ) (c : X → Sphere3) (hc : Continuous c) (t : X → ℝ) (ht : Continuous t) (x : X) (K : Set Plane) (hK : IsCompact K) (hKD : K ⊆ heavyCore (coreCombination basis (c x).val) κ (t x)) : ∀ᶠ y in 𝓝 x, K ⊆ heavyCore (coreCombination basis (c y).val) κ (t y) := by let D : X → Set Plane := fun y => heavyCore (coreCombination basis (c y).val) κ (t y) have hgraph : IsOpen {z : X × Plane | z.2 ∈ D z.1} := heavyCore_selected_graph_isOpen basis hcont hcompact κ c hc t ht exact compactPersistence_of_open_graph D hgraph x K hK hKD /- In a balanced sign, two strict witnesses of more than one quarter of the total original squared mass necessarily overlap. -/ theorem compactHeavyWitness_overlap {u : Plane → ℝ} {κ t : ℝ} {K J : Set Plane} (hu : Integrable (fun x => (u x)^2)) (hκ : (1:ℝ)/4 ≤ κ) (ht : 0 ≤ t) (hsign : originalMass u (levelSet u 0) ≤ originalMass u univ/2) (hK : compactHeavyWitness u κ t K) (hJ : compactHeavyWitness u κ t J) : (K ∩ J).Nonempty := by by_contra hn have hdis : Disjoint K J := disjoint_left.mpr (fun x hx hy => hn ⟨x,hx,hy⟩) have hunion : originalMass u (K ∪ J) = originalMass u K+originalMass u J := setIntegral_union hdis hJ.1.isClosed.measurableSet hu.integrableOn hu.integrableOn have hlev : K ∪ J ⊆ levelSet u 0 := by rintro x (hx | hx) · exact lt_of_le_of_lt ht (hK.2.2.1 hx) · exact lt_of_le_of_lt ht (hJ.2.2.1 hx) have hsum : originalMass u K+originalMass u J ≤ originalMass u univ/2 := by rw [← hunion] exact (originalMass_mono hu hlev).trans hsign have hM := originalMass_nonneg u univ have hkM : originalMass u univ/4 ≤ κ*originalMass u univ := by nlinarith have hKm := hK.2.2.2 have hJm := hJ.2.2.2 linarith theorem heavyCore_isConnected {u : Plane → ℝ} {κ t : ℝ} (hu : Integrable (fun x => (u x)^2)) (hκ : (1:ℝ)/4 ≤ κ) (ht : 0 ≤ t) (hsign : originalMass u (levelSet u 0) ≤ originalMass u univ/2) (hadm : admissibleLevel u κ t) : IsConnected (heavyCore u κ t) := by classical let W := {K : Set Plane // compactHeavyWitness u κ t K} obtain ⟨K,hK⟩ := hadm letI : Nonempty W := ⟨⟨K,hK⟩⟩ have he : heavyCore u κ t = ⋃ w : W, w.val := by ext x simp only [mem_heavyCore_iff,mem_iUnion] constructor · rintro ⟨J,hJ,hx⟩ exact ⟨⟨J,hJ⟩,hx⟩ · rintro ⟨J,hx⟩ exact ⟨J.val,J.property,hx⟩ rw [he] exact IsConnected.iUnion_of_reflTransGen (fun w : W => w.property.2.1) (fun w z => Relation.ReflTransGen.single (compactHeavyWitness_overlap hu hκ ht hsign w.property z.property)) theorem heavyCore_isOpen {u : Plane → ℝ} {κ t : ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) : IsOpen (heavyCore u κ t) := by apply Metric.isOpen_iff.mpr intro x hx obtain ⟨K,hK,hxK⟩ := (mem_heavyCore_iff u κ t x).mp hx obtain ⟨r,hr,hball⟩ := Metric.nhds_basis_closedBall.mem_iff.mp ((levelSet_isOpen hu t).mem_nhds (hK.2.2.1 hxK)) let L := K ∪ Metric.closedBall x r have hL : compactHeavyWitness u κ t L := by apply compactHeavyWitness_enlarge hui hK (hK.1.union (isCompact_closedBall _ _)) (hK.2.1.union ⟨x,hxK,Metric.mem_closedBall_self hr.le⟩ (Metric.isConnected_closedBall hr.le)) subset_union_left ?_ exact union_subset hK.2.2.1 hball refine ⟨r,hr,?_⟩ intro y hy exact (mem_heavyCore_iff u κ t y).mpr ⟨L,hL,Or.inr (Metric.ball_subset_closedBall hy)⟩ theorem heavyCore_isPathConnected {u : Plane → ℝ} {κ t : ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (hκ : (1:ℝ)/4 ≤ κ) (ht : 0 ≤ t) (hsign : originalMass u (levelSet u 0) ≤ originalMass u univ/2) (hadm : admissibleLevel u κ t) : IsPathConnected (heavyCore u κ t) := (heavyCore_isOpen hu hui).isConnected_iff_isPathConnected.mp (heavyCore_isConnected hui hκ ht hsign hadm) /- Witness union is exactly the unique genuine level component, rather than an abstract core or a model support. Joining any point of that component to a compact witness adds no mass restriction. -/ theorem heavyCore_eq_levelComponent {u : Plane → ℝ} {κ t : ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (hκ : (1:ℝ)/4 ≤ κ) (ht : 0 ≤ t) (hsign : originalMass u (levelSet u 0) ≤ originalMass u univ/2) {p : Plane} (hp : p ∈ heavyCore u κ t) : heavyCore u κ t = levelComponent u t p := by obtain ⟨K,hK,hpK⟩ := (mem_heavyCore_iff u κ t p).mp hp have hadm : admissibleLevel u κ t := ⟨K,hK⟩ have hplev := hK.2.2.1 hpK have hpc : IsPathConnected (levelComponent u t p) := (levelComponent_isOpen hu t p).isConnected_iff_isPathConnected.mp (isConnected_connectedComponentIn_iff.mpr hplev) apply Subset.antisymm · exact IsPreconnected.subset_connectedComponentIn (heavyCore_isConnected hui hκ ht hsign hadm).isPreconnected hp (heavyCore_subset_levelSet u κ t) · intro x hx have hpp : p ∈ levelComponent u t p := mem_connectedComponentIn hplev let γ : Path p x := (hpc.joinedIn p hpp x hx).somePath have hγ : Set.range γ ⊆ levelSet u t := by rintro z ⟨s,rfl⟩ exact connectedComponentIn_subset _ _ ((hpc.joinedIn p hpp x hx).somePath_mem s) let L := K ∪ Set.range γ have hL : compactHeavyWitness u κ t L := by apply compactHeavyWitness_enlarge hui hK (hK.1.union (isCompact_range γ.continuous)) (hK.2.1.union ⟨p,hpK,⟨0,γ.source⟩⟩ (isConnected_range γ.continuous)) subset_union_left (union_subset hK.2.2.1 hγ) exact (mem_heavyCore_iff u κ t x).mpr ⟨L,hL,Or.inr ⟨1,γ.target⟩⟩ end Polya26.QuantileCoreFamily end end /- END QuantileCoreFamily -/ /- BEGIN QuantileCoreThreshold -/ section /-! Actual original-mass thresholds for the compact smooth core family. This continuation preserves the separately checked QuantileCoreFamily prefix. It is source work pending its first coordinated kernel check. -/ noncomputable section open Set Filter MeasureTheory Topology open scoped BigOperators namespace Polya26.QuantileCoreThreshold open Polya26.MedianSelector Polya26.QuantileCoreFamily theorem originalMass_change_bound {u v : Plane → ℝ} (hu : Integrable (fun x => (u x)^2)) (hv : Integrable (fun x => (v x)^2)) (D : Set Plane) : |originalMass u D-originalMass v D| ≤ ∫ x, |(u x)^2-(v x)^2| := by have hi : Integrable (fun x => |(u x)^2-(v x)^2|) := by simpa only [Real.norm_eq_abs,Pi.sub_apply] using (hu.sub hv).norm calc |originalMass u D-originalMass v D| = ‖∫ x in D, (u x)^2-(v x)^2‖ := by rw [integral_sub hu.integrableOn hv.integrableOn,Real.norm_eq_abs] rfl _ ≤ ∫ x in D, ‖(u x)^2-(v x)^2‖ := norm_integral_le_integral_norm _ _ = ∫ x in D, |(u x)^2-(v x)^2| := by simp only [Real.norm_eq_abs] _ ≤ ∫ x, |(u x)^2-(v x)^2| := setIntegral_le_integral hi (Eventually.of_forall (fun x => abs_nonneg _)) /- Real original squared mass is inner regular on every measurable set. The native finite weighted measure supplies an actual compact subset. -/ theorem exists_compact_mass_gt {u : Plane → ℝ} (hu : Integrable (fun x => (u x)^2)) {D : Set Plane} (hD : MeasurableSet D) {r : ℝ} (hr : 0 ≤ r) (hmass : r < originalMass u D) : ∃ K, K ⊆ D ∧ IsCompact K ∧ r < originalMass u K := by let ν : Measure Plane := volume.withDensity (fun x => ENNReal.ofReal ((u x)^2)) letI : IsFiniteMeasure ν := isFiniteMeasure_withDensity_ofReal hu.2 have hν (S : Set Plane) (hS : MeasurableSet S) : ν S = ENNReal.ofReal (originalMass u S) := by dsimp only [ν] rw [withDensity_apply _ hS] exact (ofReal_integral_eq_lintegral_ofReal hu.integrableOn (Eventually.of_forall (fun x => sq_nonneg (u x)))).symm have hrν : ENNReal.ofReal r < ν D := by rw [hν D hD] exact (ENNReal.ofReal_lt_ofReal_iff_of_nonneg hr).mpr hmass obtain ⟨K,hKD,hK,hrK⟩ := hD.exists_lt_isCompact_of_ne_top (by simp) hrν refine ⟨K,hKD,hK,?_⟩ rw [hν K hK.isClosed.measurableSet] at hrK exact (ENNReal.ofReal_lt_ofReal_iff_of_nonneg hr).mp hrK /- Every compact subset of an actual open path-connected planar region lies inside a compact connected subset of that same region. Only finitely many small balls and actual connecting paths are used. -/ theorem compact_connected_superset {D K : Set Plane} (hDo : IsOpen D) (hDp : IsPathConnected D) (hK : IsCompact K) (hKD : K ⊆ D) : ∃ L : Set Plane, IsCompact L ∧ IsConnected L ∧ K ⊆ L ∧ L ⊆ D := by classical obtain ⟨b,hb⟩ := hDp.nonempty have hball (x : D) : ∃ r > 0, Metric.closedBall x.val r ⊆ D := Metric.nhds_basis_closedBall.mem_iff.mp (hDo.mem_nhds x.property) choose r hr hBD using hball let U : D → Set Plane := fun x => Metric.ball x.val (r x) have hU (x : D) : IsOpen (U x) := Metric.isOpen_ball have hcover : K ⊆ ⋃ x : D, U x := by intro x hx exact mem_iUnion.mpr ⟨⟨x,hKD hx⟩,Metric.mem_ball_self (hr _)⟩ obtain ⟨s,hs⟩ := hK.elim_finite_subcover U hU hcover let γ (x : D) : Path b x.val := (hDp.joinedIn b hb x.val x.property).somePath let A (x : D) : Set Plane := Metric.closedBall x.val (r x) ∪ Set.range (γ x) have hAc (x : D) : IsCompact (A x) := (isCompact_closedBall _ _).union (isCompact_range (γ x).continuous) have hAcon (x : D) : IsConnected (A x) := (Metric.isConnected_closedBall (hr x).le).union ⟨x.val,Metric.mem_closedBall_self (hr x).le,⟨1,(γ x).target⟩⟩ (isConnected_range (γ x).continuous) have hAb (x : D) : b ∈ A x := Or.inr ⟨0,(γ x).source⟩ have hAD (x : D) : A x ⊆ D := by rintro y (hy | ⟨t,rfl⟩) · exact hBD x hy · exact (hDp.joinedIn b hb x.val x.property).somePath_mem t let T : Option s → Set Plane := fun i => i.elim {b} (fun x => A x.val) let L : Set Plane := ⋃ i : Option s, T i have hbT (i : Option s) : b ∈ T i := by cases i with | none => exact mem_singleton b | some x => exact hAb x.val have hcT (i : Option s) : IsCompact (T i) := by cases i with | none => exact isCompact_singleton | some x => exact hAc x.val have hconT (i : Option s) : IsConnected (T i) := by cases i with | none => exact isConnected_singleton | some x => exact hAcon x.val refine ⟨L,isCompact_iUnion hcT,⟨⟨b,mem_iUnion.mpr ⟨none,hbT none⟩⟩, isPreconnected_iUnion ⟨b,mem_iInter.mpr hbT⟩ (fun i => (hconT i).isPreconnected)⟩,?_,?_⟩ · intro x hx obtain ⟨y,hys,hxy⟩ := mem_iUnion₂.mp (hs hx) exact mem_iUnion.mpr ⟨some ⟨y,hys⟩,Or.inl (Metric.ball_subset_closedBall hxy)⟩ · intro x hx obtain ⟨i,hxi⟩ := mem_iUnion.mp hx cases i with | none => exact (mem_singleton_iff.mp hxi).symm ▸ hb | some y => exact hAD y.val hxi /- A genuine heavy level component gives the compact connected strict witness used by the checked persistent-core definition. -/ theorem compactHeavyWitness_of_component_mass {u : Plane → ℝ} {κ t : ℝ} {p : Plane} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (hr : 0 ≤ κ*originalMass u univ) (hp : p ∈ levelSet u t) (hheavy : κ*originalMass u univ < originalMass u (levelComponent u t p)) : admissibleLevel u κ t := by have hDo := levelComponent_isOpen hu t p have hDp : IsPathConnected (levelComponent u t p) := hDo.isConnected_iff_isPathConnected.mp (isConnected_connectedComponentIn_iff.mpr hp) obtain ⟨K,hKD,hK,hKm⟩ := exists_compact_mass_gt hui hDo.measurableSet hr hheavy obtain ⟨L,hLc,hLcon,hKL,hLD⟩ := compact_connected_superset hDo hDp hK hKD exact ⟨L,hLc,hLcon,hLD.trans (connectedComponentIn_subset _ _), hKm.trans_le (originalMass_mono hui hKL)⟩ theorem admissibleLevels_bddAbove {u : Plane → ℝ} {κ R : ℝ} (hR : ∀ x, u x ≤ R) : BddAbove {t | 0 ≤ t ∧ admissibleLevel u κ t} := by refine ⟨R,?_⟩ rintro t ⟨ht,K,hK⟩ obtain ⟨x,hx⟩ := hK.2.1.nonempty exact le_of_lt (lt_of_lt_of_le (hK.2.2.1 hx) (hR x)) theorem compactHeavyWitness_raise_level {u : Plane → ℝ} {κ t : ℝ} {K : Set Plane} (hu : Continuous u) (hK : compactHeavyWitness u κ t K) : ∃ s, t < s ∧ compactHeavyWitness u κ s K := by obtain ⟨x,hx,hxmin⟩ := hK.1.exists_isMinOn hK.2.1.nonempty hu.continuousOn have htx : t < u x := hK.2.2.1 hx obtain ⟨s,hts,hsx⟩ := exists_between htx refine ⟨s,hts,hK.1,hK.2.1,?_,hK.2.2.2⟩ intro y hy exact hsx.trans_le (hxmin hy) theorem admissibleLevel_iff_lt_threshold {u : Plane → ℝ} {κ R t : ℝ} (hu : Continuous u) (hR : ∀ x, u x ≤ R) (hadm0 : admissibleLevel u κ 0) (ht : 0 ≤ t) : admissibleLevel u κ t ↔ t < quantileThreshold u κ := by have hb := admissibleLevels_bddAbove (κ := κ) hR have hne : ({s | 0 ≤ s ∧ admissibleLevel u κ s} : Set ℝ).Nonempty := ⟨0,le_rfl,hadm0⟩ constructor · rintro ⟨K,hK⟩ obtain ⟨s,hts,hKs⟩ := compactHeavyWitness_raise_level hu hK exact lt_of_lt_of_le hts (le_csSup hb ⟨ht.trans hts.le,⟨K,hKs⟩⟩) · intro hτ obtain ⟨s,hs,hts⟩ := exists_lt_of_lt_csSup hne hτ exact admissibleLevel_mono hs.2 hts.le theorem quantileThreshold_pos {u : Plane → ℝ} {κ R : ℝ} (hu : Continuous u) (hR : ∀ x, u x ≤ R) (hadm0 : admissibleLevel u κ 0) : 0 < quantileThreshold u κ := (admissibleLevel_iff_lt_threshold hu hR hadm0 le_rfl).mp hadm0 theorem core_upper_bound (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (c : Coeff) : ∃ R : ℝ, ∀ x, coreCombination basis c x ≤ R := by have hc : Continuous (coreCombination basis c) := continuous_finsetSum _ (fun i hi => continuous_const.mul (hcont i)) obtain ⟨R,hR⟩ := hc.bddAbove_range_of_hasCompactSupport (coreCombination_hasCompactSupport basis hcompact c) exact ⟨R,fun x => hR (mem_range_self x)⟩ /- The actual original-mass threshold is LSC on any continuous coefficient family that has a genuine strict witness at level zero. -/ theorem quantileThreshold_lowerSemicontinuous {X : Type*} [TopologicalSpace X] (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (κ : ℝ) (c : X → Sphere3) (hc : Continuous c) (hadm0 : ∀ x, admissibleLevel (coreCombination basis (c x).val) κ 0) : LowerSemicontinuous (fun x => quantileThreshold (coreCombination basis (c x).val) κ) := by classical choose R hR using fun x => core_upper_bound basis hcont hcompact (c x).val have huc (x : X) : Continuous (coreCombination basis (c x).val) := continuous_finsetSum _ (fun i hi => continuous_const.mul (hcont i)) have hpos (x : X) : 0 < quantileThreshold (coreCombination basis (c x).val) κ := quantileThreshold_pos (huc x) (hR x) (hadm0 x) apply lowerSemicontinuous_iff_isOpen_preimage.mpr intro b apply isOpen_iff_mem_nhds.mpr intro x hx by_cases hb : b < 0 · exact Eventually.of_forall (fun y => hb.trans (hpos y)) · have hb0 : 0 ≤ b := le_of_not_gt hb have hxadm : admissibleLevel (coreCombination basis (c x).val) κ b := (admissibleLevel_iff_lt_threshold (huc x) (hR x) (hadm0 x) hb0).mpr hx have hopen : IsOpen {y : X | admissibleLevel (coreCombination basis (c y).val) κ b} := (admissibleLevel_isOpen basis hcont hcompact κ).preimage (hc.prodMk continuous_const) filter_upwards [hopen.mem_nhds hxadm] with y hy exact (admissibleLevel_iff_lt_threshold (huc y) (hR y) (hadm0 y) hb0).mp hy end Polya26.QuantileCoreThreshold end end /- END QuantileCoreThreshold -/ /- BEGIN QuantileTerminalCore -/ section /-! Original squared mass of the actual terminal quantile core. No connectedness theorem for the compact intersection is required: strict lower actual components already contain the entire intersection. Source pending its first coordinated kernel check. -/ noncomputable section open Set Filter MeasureTheory Topology namespace Polya26.QuantileTerminalCore open Polya26.MedianSelector Polya26.QuantileCoreFamily Polya26.QuantileCoreThreshold theorem heavyCore_antitone (u : Plane → ℝ) (κ : ℝ) : Antitone (heavyCore u κ) := by intro s t hst x hx obtain ⟨K,hK,hxK⟩ := (mem_heavyCore_iff u κ t x).mp hx exact (mem_heavyCore_iff u κ s x).mpr ⟨K,compactHeavyWitness_mono hK hst,hxK⟩ theorem heavyCore_mass_gt {u : Plane → ℝ} {κ t : ℝ} (hu : Integrable (fun x => (u x)^2)) (hadm : admissibleLevel u κ t) : κ*originalMass u univ < originalMass u (heavyCore u κ t) := by obtain ⟨K,hK⟩ := hadm have hKD : K ⊆ heavyCore u κ t := fun x hx => (mem_heavyCore_iff u κ t x).mpr ⟨K,hK,hx⟩ exact hK.2.2.2.trans_le (originalMass_mono hu hKD) theorem closure_heavyCore_subset_closed_level {u : Plane → ℝ} {κ t : ℝ} (hu : Continuous u) : closure (heavyCore u κ t) ⊆ {x | t ≤ u x} := by apply closure_minimal _ (isClosed_le continuous_const hu) intro x hx have hxt : t < u x := heavyCore_subset_levelSet u κ t hx exact hxt.le /- The closure of a higher genuine heavy component lies inside the lower actual component whenever the levels have a strict gap. -/ theorem closure_heavyCore_subset_lower {u : Plane → ℝ} {κ s t : ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (hκ : (1:ℝ)/4 ≤ κ) (ht : 0 ≤ t) (hts : t < s) (hsign : originalMass u (levelSet u 0) ≤ originalMass u univ/2) (hadm : admissibleLevel u κ s) : closure (heavyCore u κ s) ⊆ heavyCore u κ t := by obtain ⟨K,hK⟩ := hadm obtain ⟨p,hpK⟩ := hK.2.1.nonempty have hps : p ∈ heavyCore u κ s := (mem_heavyCore_iff u κ s p).mpr ⟨K,hK,hpK⟩ have hpt : p ∈ heavyCore u κ t := heavyCore_antitone u κ hts.le hps have hC : IsConnected (closure (heavyCore u κ s)) := (heavyCore_isConnected hui hκ (ht.trans hts.le) hsign ⟨K,hK⟩).closure have hlev : closure (heavyCore u κ s) ⊆ levelSet u t := fun x hx => hts.trans_le (closure_heavyCore_subset_closed_level hu hx) rw [heavyCore_eq_levelComponent hu hui hκ ht hsign hpt] exact hC.isPreconnected.subset_connectedComponentIn (subset_closure hps) hlev def cofinalLevels (τ : ℝ) (n : ℕ) : ℝ := τ-τ/((n:ℝ)+2) theorem cofinalLevels_properties {τ : ℝ} (hτ : 0 < τ) : Monotone (cofinalLevels τ) ∧ (∀ n, 0 < cofinalLevels τ n ∧ cofinalLevels τ n < τ) ∧ Tendsto (cofinalLevels τ) atTop (𝓝 τ) := by have hden (n : ℕ) : 0 < (n:ℝ)+2 := by positivity have hden1 (n : ℕ) : 1 < (n:ℝ)+2 := by have hn := Nat.cast_nonneg (α := ℝ) n; linarith refine ⟨?_,?_,?_⟩ · intro i j hij have hij' : (i:ℝ)+2 ≤ (j:ℝ)+2 := by exact_mod_cast Nat.add_le_add_right hij 2 have hdiv : τ/((j:ℝ)+2) ≤ τ/((i:ℝ)+2) := div_le_div_of_nonneg_left hτ.le (hden i) hij' exact sub_le_sub_left hdiv τ · intro n have hdiv : τ/((n:ℝ)+2) < τ := (div_lt_iff₀ (hden n)).mpr (by nlinarith [hden1 n]) exact ⟨sub_pos.mpr hdiv,sub_lt_self τ (div_pos hτ (hden n))⟩ · have hdiv : Tendsto (fun n : ℕ => τ/((n:ℝ)+2)) atTop (𝓝 0) := by have h := (tendsto_add_atTop_iff_nat 2).2 (tendsto_const_div_atTop_nhds_zero_nat (𝕜 := ℝ) τ) simpa only [Nat.cast_add,Nat.cast_ofNat] using h change Tendsto (fun n : ℕ => τ-τ/((n:ℝ)+2)) atTop (𝓝 τ) simpa only [sub_zero] using tendsto_const_nhds.sub hdiv theorem quantile_cofinalLevels_admissible {u : Plane → ℝ} {κ R : ℝ} (hu : Continuous u) (hR : ∀ x, u x ≤ R) (hadm0 : admissibleLevel u κ 0) : ∀ n, admissibleLevel u κ (cofinalLevels (quantileThreshold u κ) n) := by have hτ := quantileThreshold_pos hu hR hadm0 intro n have hn := (cofinalLevels_properties hτ).2.1 n exact (admissibleLevel_iff_lt_threshold hu hR hadm0 hn.1.le).mpr hn.2 def terminalCore (u : Plane → ℝ) (κ : ℝ) (t : ℕ → ℝ) : Set Plane := ⋂ n, closure (heavyCore u κ (t n)) theorem terminalCore_isCompact {u : Plane → ℝ} {κ : ℝ} {t : ℕ → ℝ} (hcompact : HasCompactSupport u) (ht0 : 0 < t 0) : IsCompact (terminalCore u κ t) := by have hsupport : closure (heavyCore u κ (t 0)) ⊆ tsupport u := by apply closure_minimal _ (isClosed_tsupport u) intro x hx exact subset_tsupport u (ne_of_gt (ht0.trans (heavyCore_subset_levelSet u κ (t 0) hx))) exact hcompact.isCompact.of_isClosed_subset (isClosed_iInter (fun n => isClosed_closure)) ((iInter_subset (fun n => closure (heavyCore u κ (t n))) 0).trans hsupport) /- Nested nonempty compact connected planar sets have a connected intersection. Compactness supplies an actual finite stage inside each open neighborhood of the intersection. -/ theorem isConnected_iInter_of_antitone_compact (S : ℕ → Set Plane) (hmono : Antitone S) (hcompact : IsCompact (S 0)) (hclosed : ∀ n, IsClosed (S n)) (hconn : ∀ n, IsConnected (S n)) : IsConnected (⋂ n, S n) := by have hne : (⋂ n, S n).Nonempty := IsCompact.nonempty_iInter_of_sequence_nonempty_isCompact_isClosed S (fun n => hmono (Nat.le_succ n)) (fun n => (hconn n).nonempty) hcompact hclosed refine ⟨hne,?_⟩ rw [isPreconnected_iff_subset_of_fully_disjoint_closed (isClosed_iInter hclosed)] intro A B hA hB hAB hdis obtain ⟨U,V,hU,hV,hAU,hBV,hUV⟩ := normal_separation hA hB hdis have hstage : ∃ n, S n ⊆ U ∪ V := by by_contra hn let T : ℕ → Set Plane := fun n => S n ∩ (U ∪ V)ᶜ have hTnonempty (n : ℕ) : (T n).Nonempty := by have hnot : ¬ S n ⊆ U ∪ V := fun h => hn ⟨n,h⟩ obtain ⟨x,hx,hout⟩ := Set.not_subset.mp hnot exact ⟨x,hx,hout⟩ have hTc (n : ℕ) : IsClosed (T n) := (hclosed n).inter (hU.union hV).isClosed_compl obtain ⟨x,hx⟩ := IsCompact.nonempty_iInter_of_sequence_nonempty_isCompact_isClosed T (fun n => inter_subset_inter_left _ (hmono (Nat.le_succ n))) hTnonempty (hcompact.inter_right (hU.union hV).isClosed_compl) hTc have hxS : x ∈ ⋂ n, S n := mem_iInter.mpr (fun n => (mem_iInter.mp hx n).1) have hxout : x ∉ U ∪ V := (mem_iInter.mp hx 0).2 exact hxout ((union_subset_union hAU hBV) (hAB hxS)) obtain ⟨n,hn⟩ := hstage have hKsub : (⋂ n, S n) ⊆ S n := iInter_subset S n obtain hSU | hSV := (hconn n).isPreconnected.subset_or_subset hU hV hUV hn · left intro x hx obtain hxA | hxB := hAB hx · exact hxA · exact False.elim (disjoint_left.mp hUV (hSU (hKsub hx)) (hBV hxB)) · right intro x hx obtain hxA | hxB := hAB hx · exact False.elim (disjoint_left.mp hUV (hAU hxA) (hSV (hKsub hx))) · exact hxB theorem terminalCore_isConnected {u : Plane → ℝ} {κ : ℝ} {t : ℕ → ℝ} (hu : Integrable (fun x => (u x)^2)) (hcompact : HasCompactSupport u) (hκ : (1:ℝ)/4 ≤ κ) (ht0 : 0 < t 0) (ht : Monotone t) (hsign : originalMass u (levelSet u 0) ≤ originalMass u univ/2) (hadm : ∀ n, admissibleLevel u κ (t n)) : IsConnected (terminalCore u κ t) := by have hsupport : closure (heavyCore u κ (t 0)) ⊆ tsupport u := by apply closure_minimal _ (isClosed_tsupport u) intro x hx exact subset_tsupport u (ne_of_gt (ht0.trans (heavyCore_subset_levelSet u κ (t 0) hx))) have hC0 : IsCompact (closure (heavyCore u κ (t 0))) := hcompact.isCompact.of_isClosed_subset isClosed_closure hsupport exact isConnected_iInter_of_antitone_compact (fun n => closure (heavyCore u κ (t n))) (fun i j hij => closure_mono (heavyCore_antitone u κ (ht hij))) hC0 (fun n => isClosed_closure) (fun n => (heavyCore_isConnected hu hκ (ht0.le.trans (ht (Nat.zero_le n))) hsign (hadm n)).closure) /- Continuity from above of the native finite original-mass measure retains the threshold mass, including any actual terminal plateau. -/ theorem terminalCore_mass_ge {u : Plane → ℝ} {κ : ℝ} {t : ℕ → ℝ} (hu : Integrable (fun x => (u x)^2)) (ht : Monotone t) (hadm : ∀ n, admissibleLevel u κ (t n)) : κ*originalMass u univ ≤ originalMass u (terminalCore u κ t) := by let ν : Measure Plane := volume.withDensity (fun x => ENNReal.ofReal ((u x)^2)) letI : IsFiniteMeasure ν := isFiniteMeasure_withDensity_ofReal hu.2 let S : ℕ → Set Plane := fun n => closure (heavyCore u κ (t n)) have hS : Antitone S := fun i j hij => closure_mono (heavyCore_antitone u κ (ht hij)) have hν (D : Set Plane) (hD : MeasurableSet D) : ν D = ENNReal.ofReal (originalMass u D) := by dsimp only [ν] rw [withDensity_apply _ hD] exact (ofReal_integral_eq_lintegral_ofReal hu.integrableOn (Eventually.of_forall (fun x => sq_nonneg (u x)))).symm have hSM (n : ℕ) : κ*originalMass u univ ≤ originalMass u (S n) := (heavyCore_mass_gt hu (hadm n)).le.trans (originalMass_mono hu subset_closure) have hμ : ENNReal.ofReal (κ*originalMass u univ) ≤ ν (terminalCore u κ t) := by change ENNReal.ofReal (κ*originalMass u univ) ≤ ν (⋂ n, S n) rw [hS.measure_iInter (fun n => isClosed_closure.measurableSet.nullMeasurableSet) ⟨0,by simp⟩] apply le_iInf intro n rw [hν (S n) isClosed_closure.measurableSet] exact ENNReal.ofReal_le_ofReal (hSM n) rw [hν (terminalCore u κ t) (isClosed_iInter (fun n => isClosed_closure)).measurableSet] at hμ exact (ENNReal.ofReal_le_ofReal_iff (originalMass_nonneg u _)).mp hμ theorem terminalCore_subset_closed_terminal_level {u : Plane → ℝ} {κ τ : ℝ} {t : ℕ → ℝ} (hu : Continuous u) (ht : Tendsto t atTop (𝓝 τ)) : terminalCore u κ t ⊆ {x | τ ≤ u x} := by intro x hx have hn (n : ℕ) : t n ≤ u x := closure_heavyCore_subset_closed_level hu (mem_iInter.mp hx n) exact le_of_tendsto ht (Eventually.of_forall hn) theorem terminalCore_subset_strict_core {u : Plane → ℝ} {κ τ : ℝ} {t : ℕ → ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (hκ : (1:ℝ)/4 ≤ κ) (hsign : originalMass u (levelSet u 0) ≤ originalMass u univ/2) (hadm : ∀ n, admissibleLevel u κ (t n)) (ht : Tendsto t atTop (𝓝 τ)) {s : ℝ} (hs0 : 0 ≤ s) (hsτ : s < τ) : terminalCore u κ t ⊆ heavyCore u κ s := by obtain ⟨n,hn⟩ := (ht.eventually (Ioi_mem_nhds hsτ)).exists exact (iInter_subset (fun n => closure (heavyCore u κ (t n))) n).trans (closure_heavyCore_subset_lower hu hui hκ hs0 hn hsign (hadm n)) theorem compact_original_mass_pos_implies_area_pos {u : Plane → ℝ} {K : Set Plane} (hK : IsCompact K) (hm : 0 < originalMass u K) : 0 < volume.real K := by have hv : volume K ≠ 0 := by intro hz have hm0 : originalMass u K = 0 := by unfold originalMass rw [Measure.restrict_eq_zero.mpr hz] simp only [integral_zero_measure] linarith exact ENNReal.toReal_pos hv hK.measure_lt_top.ne /- Actual positive terminal area and original terminal mass: these are the inner concentration inputs consumed by the coarea/star proof. -/ theorem terminalCore_area_mass {u : Plane → ℝ} {κ : ℝ} {t : ℕ → ℝ} (hu : Integrable (fun x => (u x)^2)) (hcompact : HasCompactSupport u) (ht0 : 0 < t 0) (ht : Monotone t) (hadm : ∀ n, admissibleLevel u κ (t n)) (hm : 0 < κ*originalMass u univ) : IsCompact (terminalCore u κ t) ∧ 0 < volume.real (terminalCore u κ t) ∧ κ*originalMass u univ ≤ originalMass u (terminalCore u κ t) := by have hK := terminalCore_isCompact (κ := κ) hcompact ht0 have hmass := terminalCore_mass_ge hu ht hadm exact ⟨hK,compact_original_mass_pos_implies_area_pos hK (hm.trans_le hmass),hmass⟩ end Polya26.QuantileTerminalCore end end /- END QuantileTerminalCore -/ /- BEGIN AssemblyContracts -/ section /-! Exact, deliberately conditional assembly contracts for the robust quantile route. These definitions use the actual planar function, level components, Lebesgue masses, areas and energy. No median premise, amplitude relation, nonatomic distribution, Lipschitz component boundary, or profile smoothness is added. The universally quantified selection and energy inputs are OPEN. -/ noncomputable section open Set MeasureTheory open scoped ContDiff Topology namespace Polya26.Strike.S06 open Math30.Polya Polya26.MedianSelector def OrdinaryBU : Prop := letI := @_root_.w10SphereNeg.{0} ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0 /-- Actual lower-level enclosure, with an actual level component and an actual bounded complementary component containing the whole terminal set. There is no assertion about levels at or above the selected threshold. -/ theorem selected_profile_whole_level_enclosure {u : Plane → ℝ} {tau : ℝ} {K : Set Plane} (h : SelectedProfileConditions u tau K) {t : ℝ} (ht0 : 0 < t) (ht : t < tau) : ∃ q ∈ K, K ⊆ connectedComponentIn (PositiveLevel u t)ᶜ q ∧ Bornology.IsBounded (connectedComponentIn (PositiveLevel u t)ᶜ q) := by obtain ⟨p,hp,q,hq,hK,hbound⟩ := h.lower_level_enclosure t ht0 ht have hKcomp : K ⊆ (PositiveLevel u t)ᶜ := by intro x hx hxt have hxneg := h.terminal_negative hx change u x < 0 at hxneg change t < u x at hxt exact (not_lt_of_ge (le_of_lt ht0)) (lt_trans hxt hxneg) refine ⟨q,hq,h.terminal_connected.isPreconnected.subset_connectedComponentIn hq hKcomp,?_⟩ exact hbound.subset (connectedComponentIn_mono q (compl_subset_compl.mpr (connectedComponentIn_subset (PositiveLevel u t) p))) /-- The actual physical coefficient's forbidden area is the actual area of K; measure monotonicity gives its lower bound in the bounded WHOLE-level component, without a measurable choice of components. -/ theorem selected_profile_physical_enclosure {u : Plane → ℝ} {tau : ℝ} {K : Set Plane} (h : SelectedProfileConditions u tau K) {t : ℝ} (ht0 : 0 < t) (ht : t < tau) : (PositiveLevel u t).Nonempty ∧ ∃ q : Plane, Bornology.IsBounded (connectedComponentIn (PositiveLevel u t)ᶜ q) ∧ area K ≤ area (connectedComponentIn (PositiveLevel u t)ᶜ q) := by obtain ⟨p,hp,q,hq,hK,hbound⟩ := h.lower_level_enclosure t ht0 ht obtain ⟨z,hz,hKwhole,hwhole⟩ := selected_profile_whole_level_enclosure h ht0 ht refine ⟨⟨p,hp⟩,z,hwhole,?_⟩ exact ENNReal.toReal_mono hwhole.measure_lt_top.ne (measure_mono hKwhole) /-- D02 actual FK/heavy-component output. Generic finite mass grouping is not this theorem: its component restriction and analytic FK inputs remain explicit work. The two signs are separate genuine nodal components. -/ def HeavyComponentsFromSubcritical : Prop := ∀ (Ω : PlanarLipschitzDomain) (u : Plane → ℝ), IsTestFunction Ω.carrier u → 0 < OriginalMass u → (∫ x, positiveSquared u x) = (∫ x, negativeSquared u x) → area Ω.carrier * OriginalEnergy u < 16 * Real.pi * OriginalMass u → (∃ p ∈ PositiveLevel u 0, (3 : ℝ) * OriginalMass u / 8 < OriginalSetMass u (connectedComponentIn (PositiveLevel u 0) p)) ∧ (∃ p ∈ NegativeSupport u, (3 : ℝ) * OriginalMass u / 8 < OriginalSetMass u (connectedComponentIn (NegativeSupport u) p)) /-- D03--D04 output required only under the uniform strict trial ceiling. Demanding such geometry for every high-energy family would be unnecessary. The coefficient orientation has already been chosen positive around negative. -/ def SubcriticalFamilyQuantileSelection : Prop := ∀ (Ω : PlanarLipschitzDomain) (basis : Fin 4 → Plane → ℝ), (∀ i, IsTestFunction Ω.carrier (basis i)) → LinearIndependent ℝ basis → (∀ c : Sphere3, area Ω.carrier * OriginalEnergy (coreCombination basis c.val) < 16 * Real.pi * OriginalMass (coreCombination basis c.val)) → ∃ (c : Sphere3) (tau : ℝ) (K : Set Plane), SelectedProfileConditions (coreCombination basis c.val) tau K /-- The topology-side assembly obligation. BU and actual heavy nodal mass are inputs to the threshold/minorant/log/enclosure/terminal-limit chain. -/ def QuantileSelectionFromBUAndHeavy : Prop := OrdinaryBU → HeavyComponentsFromSubcritical → SubcriticalFamilyQuantileSelection end Polya26.Strike.S06 end end /- END AssemblyContracts -/ /- BEGIN CubicalBU -/ section namespace Polya26.Strike.S01.CubicalBU abbrev Label := Fin 3 × Bool def opposite (a : Label) : Label := (a.1, !a.2) theorem opposite_opposite (a : Label) : opposite (opposite a) = a := by rcases a with ⟨i,b⟩ cases b <;> rfl theorem opposite_ne (a : Label) : opposite a ≠ a := by rcases a with ⟨i,b⟩ cases b <;> simp [opposite] abbrev Grid (N : ℕ) := Fin 3 → Fin (2*N+1) def reflect (N : ℕ) (v : Grid N) : Grid N := fun i => ⟨2*N-(v i).val, by omega⟩ def OnBoundary (N : ℕ) (v : Grid N) : Prop := ∃ i, (v i).val = 0 ∨ (v i).val = 2*N def Adjacent (N : ℕ) (v w : Grid N) : Prop := ∀ i, |((v i).val : ℤ)-((w i).val : ℤ)| ≤ 1 theorem reflect_reflect (N : ℕ) (v : Grid N) : reflect N (reflect N v) = v := by funext i apply Fin.ext simp only [reflect] have hi := (v i).isLt omega theorem onBoundary_reflect (N : ℕ) (v : Grid N) : OnBoundary N (reflect N v) ↔ OnBoundary N v := by constructor · rintro ⟨i, hi⟩ refine ⟨i, ?_⟩ simp only [reflect] at hi have hv := (v i).isLt omega · rintro ⟨i, hi⟩ refine ⟨i, ?_⟩ simp only [reflect] omega theorem adjacent_symm (N : ℕ) (v w : Grid N) : Adjacent N v w ↔ Adjacent N w v := by simp only [Adjacent, abs_sub_comm] def AntipodalBoundary (N : ℕ) (L : Grid N → Label) : Prop := ∀ v, OnBoundary N v → L (reflect N v) = opposite (L v) def ComplementaryPair (N : ℕ) (L : Grid N → Label) : Prop := ∃ v w, Adjacent N v w ∧ L v = opposite (L w) def TuckerThreeStatement : Prop := ∀ N : ℕ, 0 < N → ∀ L : Grid N → Label, AntipodalBoundary N L → ComplementaryPair N L def radius (t : Fin 3 → ℝ) : ℝ := max |t 0| (max |t 1| |t 2|) def rawLift (t : Fin 3 → ℝ) : Fin 4 → ℝ := Fin.cases (1-radius t) t theorem radius_neg (t : Fin 3 → ℝ) : radius (-t) = radius t := by simp [radius] theorem radius_zero : radius 0 = 0 := by norm_num [radius] theorem rawLift_ne_zero (t : Fin 3 → ℝ) : rawLift t ≠ 0 := by intro h have ht : t = 0 := by funext i exact congrFun h i.succ have hzero := congrFun h 0 simp only [rawLift, Fin.cases_zero] at hzero rw [ht, radius_zero] at hzero norm_num at hzero theorem rawLift_boundary_neg (t : Fin 3 → ℝ) (ht : radius t = 1) : rawLift (-t) = -rawLift t := by funext i refine Fin.cases ?_ (fun j => ?_) i · simp [rawLift, radius_neg, ht] · rfl end Polya26.Strike.S01.CubicalBU namespace Polya26.Strike.S01.CubicalBU abbrev Bit := ZMod 2 def Compatible (a b : Label) : Prop := a ≠ opposite b def positiveVertex (a : Label) : Bit := if a.2 then 1 else 0 def positiveEdge (a b : Label) : Bit := if (a.1 < b.1 ∧ a.2 = true ∧ b.2 = false) ∨ (b.1 < a.1 ∧ b.2 = true ∧ a.2 = false) then 1 else 0 def positiveTriangle (a b c : Label) : Bit := if ({a,b,c} : Finset Label) = {((0 : Fin 3),true),((1 : Fin 3),false),((2 : Fin 3),true)} then 1 else 0 theorem positiveVertex_opposite : ∀ a : Label, positiveVertex a + positiveVertex (opposite a) = 1 := by decide theorem positiveEdge_symm : ∀ a b : Label, positiveEdge a b = positiveEdge b a := by decide theorem positiveTriangle_swap : ∀ a b c : Label, positiveTriangle a b c = positiveTriangle b a c := by decide theorem positiveTriangle_rotate : ∀ a b c : Label, positiveTriangle a b c = positiveTriangle b c a := by decide theorem vertex_coboundary : ∀ a b : Label, Compatible a b → positiveVertex a + positiveVertex b = positiveEdge a b + positiveEdge (opposite a) (opposite b) := by unfold Compatible decide theorem edge_coboundary : ∀ a b c : Label, Compatible a b → Compatible a c → Compatible b c → positiveEdge a b + positiveEdge a c + positiveEdge b c = positiveTriangle a b c + positiveTriangle (opposite a) (opposite b) (opposite c) := by unfold Compatible decide theorem triangle_coboundary : ∀ a b c d : Label, Compatible a b → Compatible a c → Compatible a d → Compatible b c → Compatible b d → Compatible c d → positiveTriangle a b c + positiveTriangle a b d + positiveTriangle a c d + positiveTriangle b c d = 0 := by intro a b fin_cases a <;> fin_cases b <;> unfold Compatible <;> decide end Polya26.Strike.S01.CubicalBU namespace Polya26.Strike.S01.CubicalBU theorem bit_add_self (a : Bit) : a+a = 0 := by simpa only [sub_eq_add_neg, ZMod.neg_eq_self_mod_two] using (sub_self a) def positiveSquare (a b c d : Label) : Bit := positiveTriangle a b d + positiveTriangle a c d theorem positiveSquare_swap (a b c d : Label) : positiveSquare a b c d = positiveSquare a c b d := by exact add_comm _ _ theorem positiveSquare_reverse (a b c d : Label) : positiveSquare a b c d = positiveSquare d c b a := by unfold positiveSquare rw [positiveTriangle_rotate d c a, positiveTriangle_swap c a d, positiveTriangle_rotate d b a, positiveTriangle_swap b a d] exact add_comm _ _ theorem square_coboundary (a b c d : Label) (hab : Compatible a b) (hac : Compatible a c) (had : Compatible a d) (hbd : Compatible b d) (hcd : Compatible c d) : positiveEdge a b + positiveEdge b d + positiveEdge a c + positiveEdge c d = positiveSquare a b c d + positiveSquare (opposite a) (opposite b) (opposite c) (opposite d) := by have h₁ := edge_coboundary a b d hab had hbd have h₂ := edge_coboundary a c d hac had hcd have htwo : (2 : Bit) = 0 := by decide unfold positiveSquare linear_combination h₁ + h₂ - htwo * positiveEdge a d theorem cube_coboundary (a b c d e f g h : Label) (hc : ∀ u ∈ ({a,b,c,d,e,f,g,h} : Finset Label), ∀ v ∈ ({a,b,c,d,e,f,g,h} : Finset Label), Compatible u v) : positiveSquare a b c e + positiveSquare d f g h + positiveSquare a b d f + positiveSquare c e g h + positiveSquare a c d g + positiveSquare b e f h = 0 := by have h₁ := triangle_coboundary a b e h (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) have h₂ := triangle_coboundary a b f h (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) have h₃ := triangle_coboundary a c e h (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) have h₄ := triangle_coboundary a c g h (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) have h₅ := triangle_coboundary a d f h (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) have h₆ := triangle_coboundary a d g h (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) (hc _ (by simp) _ (by simp)) have htwo : (2 : Bit) = 0 := by decide unfold positiveSquare linear_combination h₁ + h₂ + h₃ + h₄ + h₅ + h₆ - htwo * (positiveTriangle a b h + positiveTriangle a c h + positiveTriangle a d h + positiveTriangle a e h + positiveTriangle a f h + positiveTriangle a g h) end Polya26.Strike.S01.CubicalBU namespace Polya26.Strike.S01.CubicalBU open scoped BigOperators def finiteSum (n : ℕ) (f : Fin n → Bit) : Bit := Finset.univ.sum f theorem sum_adjacent (n : ℕ) (f : Fin (n+1) → Bit) : (∑ i : Fin n, (f i.castSucc + f i.succ)) = f 0 + f (Fin.last n) := by rw [Finset.sum_add_distrib] have h₁ := Fin.sum_univ_castSucc f have h₂ := Fin.sum_univ_succ f have htwo : (2 : Bit) = 0 := by decide linear_combination h₂ - h₁ + htwo * ((∑ i : Fin n, f i.succ) - f (Fin.last n)) theorem sum_reverse (n : ℕ) (f : Fin n → Bit) : (∑ i : Fin n, f i.rev) = ∑ i : Fin n, f i := by exact Equiv.sum_comp (Fin.revPerm) f theorem finiteSum_swap (m n : ℕ) (f : Fin m → Fin n → Bit) : finiteSum m (fun i => finiteSum n (fun j => f i j)) = finiteSum n (fun j => finiteSum m (fun i => f i j)) := by exact Finset.sum_comm theorem rectangle_stokes (m n : ℕ) (P : Fin m → Fin (n+1) → Bit) (Q : Fin (m+1) → Fin n → Bit) : finiteSum m (fun i => finiteSum n (fun j => (P i j.castSucc + P i j.succ) + (Q i.castSucc j + Q i.succ j))) = finiteSum m (fun i => P i 0 + P i (Fin.last n)) + finiteSum n (fun j => Q 0 j + Q (Fin.last m) j) := by calc _ = finiteSum m (fun i => finiteSum n (fun j => P i j.castSucc + P i j.succ)) + finiteSum m (fun i => finiteSum n (fun j => Q i.castSucc j + Q i.succ j)) := by simp only [finiteSum,Finset.sum_add_distrib] _ = finiteSum m (fun i => P i 0 + P i (Fin.last n)) + finiteSum m (fun i => finiteSum n (fun j => Q i.castSucc j + Q i.succ j)) := by simp only [finiteSum,sum_adjacent] _ = finiteSum m (fun i => P i 0 + P i (Fin.last n)) + finiteSum n (fun j => finiteSum m (fun i => Q i.castSucc j + Q i.succ j)) := by congr 1 exact finiteSum_swap m n _ _ = _ := by congr 1 apply Finset.sum_congr rfl intro j hj exact sum_adjacent m (fun x => Q x j) theorem box_stokes (m n k : ℕ) (A : Fin m → Fin n → Fin (k+1) → Bit) (B : Fin m → Fin (n+1) → Fin k → Bit) (C : Fin (m+1) → Fin n → Fin k → Bit) (hc : ∀ (i : Fin m) (j : Fin n) (l : Fin k), (A i j l.castSucc + A i j l.succ) + (B i j.castSucc l + B i j.succ l) + (C i.castSucc j l + C i.succ j l) = 0) : finiteSum m (fun i => finiteSum n (fun j => A i j 0 + A i j (Fin.last k))) + finiteSum m (fun i => finiteSum k (fun l => B i 0 l + B i (Fin.last n) l)) + finiteSum n (fun j => finiteSum k (fun l => C 0 j l + C (Fin.last m) j l)) = 0 := by have hA : finiteSum m (fun i => finiteSum n (fun j => finiteSum k (fun l => A i j l.castSucc + A i j l.succ))) = finiteSum m (fun i => finiteSum n (fun j => A i j 0 + A i j (Fin.last k))) := by simp only [finiteSum,sum_adjacent] have hB : finiteSum m (fun i => finiteSum n (fun j => finiteSum k (fun l => B i j.castSucc l + B i j.succ l))) = finiteSum m (fun i => finiteSum k (fun l => B i 0 l + B i (Fin.last n) l)) := by apply Finset.sum_congr rfl intro i hi rw [finiteSum_swap n k] apply Finset.sum_congr rfl intro l hl exact sum_adjacent n (fun y => B i y l) have hC : finiteSum m (fun i => finiteSum n (fun j => finiteSum k (fun l => C i.castSucc j l + C i.succ j l))) = finiteSum n (fun j => finiteSum k (fun l => C 0 j l + C (Fin.last m) j l)) := by rw [finiteSum_swap m n] apply Finset.sum_congr rfl intro j hj rw [finiteSum_swap m k] apply Finset.sum_congr rfl intro l hl exact sum_adjacent m (fun x => C x j l) rw [← hA,← hB,← hC] calc _ = finiteSum m (fun i => finiteSum n (fun j => finiteSum k (fun l => (A i j l.castSucc + A i j l.succ) + (B i j.castSucc l + B i j.succ l) + (C i.castSucc j l + C i.succ j l)))) := by simp only [finiteSum,Finset.sum_add_distrib] _ = 0 := by simp only [hc,finiteSum,Finset.sum_const_zero] end Polya26.Strike.S01.CubicalBU namespace Polya26.Strike.S01.CubicalBU abbrev BoxLabeling (n : ℕ) := Fin (n+1) → Fin (n+1) → Fin (n+1) → Label def flipLabels {n : ℕ} (L : BoxLabeling n) : BoxLabeling n := fun x y z => opposite (L x y z) def Nearby {n : ℕ} (x y : Fin (n+1)) : Prop := |((x.val : ℤ)-(y.val : ℤ))| ≤ 1 def LocallyCompatible {n : ℕ} (L : BoxLabeling n) : Prop := ∀ x x' y y' z z', Nearby x x' → Nearby y y' → Nearby z z' → Compatible (L x y z) (L x' y' z') def BoxAntipodal {n : ℕ} (L : BoxLabeling n) : Prop := ∀ x y z, (x = 0 ∨ x = Fin.last n ∨ y = 0 ∨ y = Fin.last n ∨ z = 0 ∨ z = Fin.last n) → L x.rev y.rev z.rev = opposite (L x y z) def edgeX {n : ℕ} (L : BoxLabeling n) (i : Fin n) (y z : Fin (n+1)) : Bit := positiveEdge (L i.castSucc y z) (L i.succ y z) def edgeY {n : ℕ} (L : BoxLabeling n) (x : Fin (n+1)) (j : Fin n) (z : Fin (n+1)) : Bit := positiveEdge (L x j.castSucc z) (L x j.succ z) def edgeZ {n : ℕ} (L : BoxLabeling n) (x y : Fin (n+1)) (k : Fin n) : Bit := positiveEdge (L x y k.castSucc) (L x y k.succ) def squareXY {n : ℕ} (L : BoxLabeling n) (i j : Fin n) (z : Fin (n+1)) : Bit := positiveSquare (L i.castSucc j.castSucc z) (L i.succ j.castSucc z) (L i.castSucc j.succ z) (L i.succ j.succ z) def squareXZ {n : ℕ} (L : BoxLabeling n) (i : Fin n) (y : Fin (n+1)) (k : Fin n) : Bit := positiveSquare (L i.castSucc y k.castSucc) (L i.succ y k.castSucc) (L i.castSucc y k.succ) (L i.succ y k.succ) def squareYZ {n : ℕ} (L : BoxLabeling n) (x : Fin (n+1)) (j k : Fin n) : Bit := positiveSquare (L x j.castSucc k.castSucc) (L x j.succ k.castSucc) (L x j.castSucc k.succ) (L x j.succ k.succ) theorem grid_squareXY_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (i j : Fin n) (z : Fin (n+1)) : (edgeX L i j.castSucc z + edgeX L i j.succ z) + (edgeY L i.castSucc j z + edgeY L i.succ j z) = squareXY L i j z + squareXY (flipLabels L) i j z := by have h := square_coboundary (L i.castSucc j.castSucc z) (L i.succ j.castSucc z) (L i.castSucc j.succ z) (L i.succ j.succ z) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) simpa only [edgeX,edgeY,squareXY,flipLabels,add_assoc,add_left_comm,add_comm] using h theorem grid_squareXZ_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (i k : Fin n) (y : Fin (n+1)) : (edgeX L i y k.castSucc + edgeX L i y k.succ) + (edgeZ L i.castSucc y k + edgeZ L i.succ y k) = squareXZ L i y k + squareXZ (flipLabels L) i y k := by have h := square_coboundary (L i.castSucc y k.castSucc) (L i.succ y k.castSucc) (L i.castSucc y k.succ) (L i.succ y k.succ) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) simpa only [edgeX,edgeZ,squareXZ,flipLabels,add_assoc,add_left_comm,add_comm] using h theorem grid_squareYZ_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (j k : Fin n) (x : Fin (n+1)) : (edgeY L x j k.castSucc + edgeY L x j k.succ) + (edgeZ L x j.castSucc k + edgeZ L x j.succ k) = squareYZ L x j k + squareYZ (flipLabels L) x j k := by have h := square_coboundary (L x j.castSucc k.castSucc) (L x j.succ k.castSucc) (L x j.castSucc k.succ) (L x j.succ k.succ) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) (by apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) simpa only [edgeY,edgeZ,squareYZ,flipLabels,add_assoc,add_left_comm,add_comm] using h theorem grid_cube_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (i j k : Fin n) : (squareXY L i j k.castSucc + squareXY L i j k.succ) + (squareXZ L i j.castSucc k + squareXZ L i j.succ k) + (squareYZ L i.castSucc j k + squareYZ L i.succ j k) = 0 := by have h := cube_coboundary (L i.castSucc j.castSucc k.castSucc) (L i.succ j.castSucc k.castSucc) (L i.castSucc j.succ k.castSucc) (L i.castSucc j.castSucc k.succ) (L i.succ j.succ k.castSucc) (L i.succ j.castSucc k.succ) (L i.castSucc j.succ k.succ) (L i.succ j.succ k.succ) (by intro u hu v hv simp only [Finset.mem_insert,Finset.mem_singleton] at hu hv rcases hu with rfl|rfl|rfl|rfl|rfl|rfl|rfl|rfl <;> rcases hv with rfl|rfl|rfl|rfl|rfl|rfl|rfl|rfl all_goals apply hc <;> simp only [Nearby, abs_le, Fin.val_castSucc, Fin.val_succ, Nat.cast_add, Nat.cast_one] <;> omega) simpa only [squareXY,squareXZ,squareYZ,add_assoc] using h end Polya26.Strike.S01.CubicalBU namespace Polya26.Strike.S01.CubicalBU open scoped BigOperators def lineX {n : ℕ} (L : BoxLabeling n) (y z : Fin (n+1)) : Bit := ∑ i : Fin n, edgeX L i y z def lineY {n : ℕ} (L : BoxLabeling n) (x z : Fin (n+1)) : Bit := ∑ j : Fin n, edgeY L x j z def lineZ {n : ℕ} (L : BoxLabeling n) (x y : Fin (n+1)) : Bit := ∑ k : Fin n, edgeZ L x y k def faceXY {n : ℕ} (L : BoxLabeling n) (z : Fin (n+1)) : Bit := ∑ i : Fin n, ∑ j : Fin n, squareXY L i j z def faceXZ {n : ℕ} (L : BoxLabeling n) (y : Fin (n+1)) : Bit := ∑ i : Fin n, ∑ k : Fin n, squareXZ L i y k def faceYZ {n : ℕ} (L : BoxLabeling n) (x : Fin (n+1)) : Bit := ∑ j : Fin n, ∑ k : Fin n, squareYZ L x j k theorem box_flux_zero {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) : (faceXY L 0 + faceXY L (Fin.last n)) + (faceXZ L 0 + faceXZ L (Fin.last n)) + (faceYZ L 0 + faceYZ L (Fin.last n)) = 0 := by have h := box_stokes n n n (squareXY L) (squareXZ L) (squareYZ L) (grid_cube_boundary L hc) simpa only [finiteSum,faceXY,faceXZ,faceYZ,Finset.sum_add_distrib,add_assoc] using h theorem faceXY_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (z : Fin (n+1)) : faceXY L z + faceXY (flipLabels L) z = lineX L 0 z + lineX L (Fin.last n) z + lineY L 0 z + lineY L (Fin.last n) z := by calc _ = finiteSum n (fun (i : Fin n) => finiteSum n (fun (j : Fin n) => squareXY L i j z + squareXY (flipLabels L) i j z)) := by simp only [finiteSum,faceXY,Finset.sum_add_distrib] _ = finiteSum n (fun (i : Fin n) => finiteSum n (fun (j : Fin n) => (edgeX L i j.castSucc z + edgeX L i j.succ z) + (edgeY L i.castSucc j z + edgeY L i.succ j z))) := by apply Finset.sum_congr rfl intro i hi apply Finset.sum_congr rfl intro j hj exact (grid_squareXY_boundary L hc i j z).symm _ = _ := by simpa only [finiteSum,lineX,lineY,Finset.sum_add_distrib,add_assoc] using rectangle_stokes n n (fun i j => edgeX L i j z) (fun i j => edgeY L i j z) theorem faceXZ_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (y : Fin (n+1)) : faceXZ L y + faceXZ (flipLabels L) y = lineX L y 0 + lineX L y (Fin.last n) + lineZ L 0 y + lineZ L (Fin.last n) y := by calc _ = finiteSum n (fun (i : Fin n) => finiteSum n (fun (k : Fin n) => squareXZ L i y k + squareXZ (flipLabels L) i y k)) := by simp only [finiteSum,faceXZ,Finset.sum_add_distrib] _ = finiteSum n (fun (i : Fin n) => finiteSum n (fun (k : Fin n) => (edgeX L i y k.castSucc + edgeX L i y k.succ) + (edgeZ L i.castSucc y k + edgeZ L i.succ y k))) := by apply Finset.sum_congr rfl intro i hi apply Finset.sum_congr rfl intro k hk exact (grid_squareXZ_boundary L hc i k y).symm _ = _ := by simpa only [finiteSum,lineX,lineZ,Finset.sum_add_distrib,add_assoc] using rectangle_stokes n n (fun i k => edgeX L i y k) (fun i k => edgeZ L i y k) theorem faceYZ_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (x : Fin (n+1)) : faceYZ L x + faceYZ (flipLabels L) x = lineY L x 0 + lineY L x (Fin.last n) + lineZ L x 0 + lineZ L x (Fin.last n) := by calc _ = finiteSum n (fun (j : Fin n) => finiteSum n (fun (k : Fin n) => squareYZ L x j k + squareYZ (flipLabels L) x j k)) := by simp only [finiteSum,faceYZ,Finset.sum_add_distrib] _ = finiteSum n (fun (j : Fin n) => finiteSum n (fun (k : Fin n) => (edgeY L x j k.castSucc + edgeY L x j k.succ) + (edgeZ L x j.castSucc k + edgeZ L x j.succ k))) := by apply Finset.sum_congr rfl intro j hj apply Finset.sum_congr rfl intro k hk exact (grid_squareYZ_boundary L hc j k x).symm _ = _ := by simpa only [finiteSum,lineY,lineZ,Finset.sum_add_distrib,add_assoc] using rectangle_stokes n n (fun j k => edgeY L x j k) (fun j k => edgeZ L x j k) theorem lineX_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (y z : Fin (n+1)) : lineX L y z + lineX (flipLabels L) y z = positiveVertex (L 0 y z) + positiveVertex (L (Fin.last n) y z) := by calc _ = finiteSum n (fun (i : Fin n) => positiveVertex (L i.castSucc y z) + positiveVertex (L i.succ y z)) := by rw [lineX,lineX,← Finset.sum_add_distrib] apply Finset.sum_congr rfl intro i hi apply (vertex_coboundary _ _ ?_).symm apply hc <;> simp only [Nearby,abs_le,Fin.val_castSucc,Fin.val_succ, Nat.cast_add,Nat.cast_one] <;> omega _ = _ := sum_adjacent n (fun x => positiveVertex (L x y z)) theorem lineY_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (x z : Fin (n+1)) : lineY L x z + lineY (flipLabels L) x z = positiveVertex (L x 0 z) + positiveVertex (L x (Fin.last n) z) := by calc _ = finiteSum n (fun (j : Fin n) => positiveVertex (L x j.castSucc z) + positiveVertex (L x j.succ z)) := by rw [lineY,lineY,← Finset.sum_add_distrib] apply Finset.sum_congr rfl intro j hj apply (vertex_coboundary _ _ ?_).symm apply hc <;> simp only [Nearby,abs_le,Fin.val_castSucc,Fin.val_succ, Nat.cast_add,Nat.cast_one] <;> omega _ = _ := sum_adjacent n (fun y => positiveVertex (L x y z)) theorem lineZ_boundary {n : ℕ} (L : BoxLabeling n) (hc : LocallyCompatible L) (x y : Fin (n+1)) : lineZ L x y + lineZ (flipLabels L) x y = positiveVertex (L x y 0) + positiveVertex (L x y (Fin.last n)) := by calc _ = finiteSum n (fun (k : Fin n) => positiveVertex (L x y k.castSucc) + positiveVertex (L x y k.succ)) := by rw [lineZ,lineZ,← Finset.sum_add_distrib] apply Finset.sum_congr rfl intro k hk apply (vertex_coboundary _ _ ?_).symm apply hc <;> simp only [Nearby,abs_le,Fin.val_castSucc,Fin.val_succ, Nat.cast_add,Nat.cast_one] <;> omega _ = _ := sum_adjacent n (fun z => positiveVertex (L x y z)) end Polya26.Strike.S01.CubicalBU namespace Polya26.Strike.S01.CubicalBU open scoped BigOperators theorem sum_reverse_two (n : ℕ) (f : Fin n → Fin n → Bit) : finiteSum n (fun i => finiteSum n (fun j => f i.rev j.rev)) = finiteSum n (fun i => finiteSum n (fun j => f i j)) := by calc _ = finiteSum n (fun i => finiteSum n (fun j => f i.rev j)) := by apply Finset.sum_congr rfl intro i hi exact sum_reverse n (fun j => f i.rev j) _ = _ := sum_reverse n (fun i => finiteSum n (fun j => f i j)) theorem squareXY_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) (i j : Fin n) : squareXY L i.rev j.rev 0 = squareXY (flipLabels L) i j (Fin.last n) := by have hp : ∀ x y : Fin (n+1), L x.rev y.rev 0 = opposite (L x y (Fin.last n)) := by intro x y simpa only [Fin.rev_last] using ho x y (Fin.last n) (by simp) simp only [squareXY,flipLabels,← Fin.rev_succ,← Fin.rev_castSucc,hp] exact (positiveSquare_reverse _ _ _ _).symm theorem squareXZ_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) (i k : Fin n) : squareXZ L i.rev 0 k.rev = squareXZ (flipLabels L) i (Fin.last n) k := by have hp : ∀ x z : Fin (n+1), L x.rev 0 z.rev = opposite (L x (Fin.last n) z) := by intro x z simpa only [Fin.rev_last] using ho x (Fin.last n) z (by simp) simp only [squareXZ,flipLabels,← Fin.rev_succ,← Fin.rev_castSucc,hp] exact (positiveSquare_reverse _ _ _ _).symm theorem squareYZ_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) (j k : Fin n) : squareYZ L 0 j.rev k.rev = squareYZ (flipLabels L) (Fin.last n) j k := by have hp : ∀ y z : Fin (n+1), L 0 y.rev z.rev = opposite (L (Fin.last n) y z) := by intro y z simpa only [Fin.rev_last] using ho (Fin.last n) y z (by simp) simp only [squareYZ,flipLabels,← Fin.rev_succ,← Fin.rev_castSucc,hp] exact (positiveSquare_reverse _ _ _ _).symm theorem faceXY_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) : faceXY L 0 = faceXY (flipLabels L) (Fin.last n) := by calc _ = ∑ i : Fin n, ∑ j : Fin n, squareXY L i.rev j.rev 0 := by exact (sum_reverse_two n (fun i j => squareXY L i j 0)).symm _ = _ := by simp only [squareXY_reflection L ho,faceXY] theorem faceXZ_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) : faceXZ L 0 = faceXZ (flipLabels L) (Fin.last n) := by calc _ = ∑ i : Fin n, ∑ k : Fin n, squareXZ L i.rev 0 k.rev := by exact (sum_reverse_two n (fun i k => squareXZ L i 0 k)).symm _ = _ := by simp only [squareXZ_reflection L ho,faceXZ] theorem faceYZ_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) : faceYZ L 0 = faceYZ (flipLabels L) (Fin.last n) := by calc _ = ∑ j : Fin n, ∑ k : Fin n, squareYZ L 0 j.rev k.rev := by exact (sum_reverse_two n (fun j k => squareYZ L 0 j k)).symm _ = _ := by simp only [squareYZ_reflection L ho,faceYZ] theorem edgeX_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) (i : Fin n) : edgeX L i.rev (Fin.last n) 0 = edgeX (flipLabels L) i 0 (Fin.last n) := by have hp : ∀ x : Fin (n+1), L x.rev (Fin.last n) 0 = opposite (L x 0 (Fin.last n)) := by intro x simpa only [Fin.rev_last,Fin.rev_zero] using ho x 0 (Fin.last n) (by simp) simp only [edgeX,flipLabels,← Fin.rev_succ,← Fin.rev_castSucc,hp] exact positiveEdge_symm _ _ theorem edgeY_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) (j : Fin n) : edgeY L 0 j.rev (Fin.last n) = edgeY (flipLabels L) (Fin.last n) j 0 := by have hp : ∀ y : Fin (n+1), L 0 y.rev (Fin.last n) = opposite (L (Fin.last n) y 0) := by intro y simpa only [Fin.rev_last,Fin.rev_zero] using ho (Fin.last n) y 0 (by simp) simp only [edgeY,flipLabels,← Fin.rev_succ,← Fin.rev_castSucc,hp] exact positiveEdge_symm _ _ theorem edgeZ_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) (k : Fin n) : edgeZ L 0 (Fin.last n) k.rev = edgeZ (flipLabels L) (Fin.last n) 0 k := by have hp : ∀ z : Fin (n+1), L 0 (Fin.last n) z.rev = opposite (L (Fin.last n) 0 z) := by intro z simpa only [Fin.rev_last,Fin.rev_zero] using ho (Fin.last n) 0 z (by simp) simp only [edgeZ,flipLabels,← Fin.rev_succ,← Fin.rev_castSucc,hp] exact positiveEdge_symm _ _ theorem lineX_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) : lineX L (Fin.last n) 0 = lineX (flipLabels L) 0 (Fin.last n) := by calc _ = ∑ i : Fin n, edgeX L i.rev (Fin.last n) 0 := by exact (sum_reverse n (fun i => edgeX L i (Fin.last n) 0)).symm _ = _ := by simp only [edgeX_reflection L ho,lineX] theorem lineY_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) : lineY L 0 (Fin.last n) = lineY (flipLabels L) (Fin.last n) 0 := by calc _ = ∑ j : Fin n, edgeY L 0 j.rev (Fin.last n) := by exact (sum_reverse n (fun j => edgeY L 0 j (Fin.last n))).symm _ = _ := by simp only [edgeY_reflection L ho,lineY] theorem lineZ_reflection {n : ℕ} (L : BoxLabeling n) (ho : BoxAntipodal L) : lineZ L 0 (Fin.last n) = lineZ (flipLabels L) (Fin.last n) 0 := by calc _ = ∑ k : Fin n, edgeZ L 0 (Fin.last n) k.rev := by exact (sum_reverse n (fun k => edgeZ L 0 (Fin.last n) k)).symm _ = _ := by simp only [edgeZ_reflection L ho,lineZ] end Polya26.Strike.S01.CubicalBU namespace Polya26.Strike.S01.CubicalBU theorem no_locallyCompatible_antipodal (n : ℕ) (L : BoxLabeling n) (hc : LocallyCompatible L) (ho : BoxAntipodal L) : False := by have hF := box_flux_zero L hc rw [faceXY_reflection L ho,faceXZ_reflection L ho,faceYZ_reflection L ho] at hF have hA := faceXY_boundary L hc (Fin.last n) have hB := faceXZ_boundary L hc (Fin.last n) have hC := faceYZ_boundary L hc (Fin.last n) rw [lineY_reflection L ho] at hA rw [lineX_reflection L ho,lineZ_reflection L ho] at hB have htwo : (2 : Bit) = 0 := by decide have hE : (lineX L 0 (Fin.last n) + lineX (flipLabels L) 0 (Fin.last n)) + (lineY L (Fin.last n) 0 + lineY (flipLabels L) (Fin.last n) 0) + (lineZ L (Fin.last n) 0 + lineZ (flipLabels L) (Fin.last n) 0) = 0 := by linear_combination hF - hA - hB - hC - htwo * (lineX L (Fin.last n) (Fin.last n) + lineY L (Fin.last n) (Fin.last n) + lineZ L (Fin.last n) (Fin.last n)) have hP := lineX_boundary L hc 0 (Fin.last n) have hQ := lineY_boundary L hc (Fin.last n) 0 have hR := lineZ_boundary L hc (Fin.last n) 0 have hV : positiveVertex (L 0 0 (Fin.last n)) + positiveVertex (L (Fin.last n) (Fin.last n) 0) = 0 := by linear_combination hE - hP - hQ - hR - htwo * (positiveVertex (L (Fin.last n) 0 (Fin.last n)) + positiveVertex (L (Fin.last n) 0 0)) have hv : L (Fin.last n) (Fin.last n) 0 = opposite (L 0 0 (Fin.last n)) := by simpa only [Fin.rev_zero,Fin.rev_last] using ho 0 0 (Fin.last n) (by simp) rw [hv,positiveVertex_opposite] at hV exact one_ne_zero hV def vertex {n : ℕ} (x y z : Fin (n+1)) : Fin 3 → Fin (n+1) := Fin.cases x (Fin.cases y (fun _ => z)) theorem reflect_vertex (N : ℕ) (x y z : Fin (2*N+1)) : reflect N (vertex x y z) = vertex x.rev y.rev z.rev := by funext i fin_cases i · apply Fin.ext change 2*N-x.val = x.rev.val simp [Fin.rev] · apply Fin.ext change 2*N-y.val = y.rev.val simp [Fin.rev] · apply Fin.ext change 2*N-z.val = z.rev.val simp [Fin.rev] theorem tuckerThree : TuckerThreeStatement := by intro N hN L ho by_contra hbad have hcompat : ∀ v w : Grid N, Adjacent N v w → Compatible (L v) (L w) := by intro v w hnear heq exact hbad ⟨v,w,hnear,heq⟩ let B : BoxLabeling (2*N) := fun x y z => L (vertex x y z) have hc : LocallyCompatible B := by intro x x' y y' z z' hx hy hz apply hcompat (vertex x y z) (vertex x' y' z') intro i fin_cases i · exact hx · exact hy · exact hz have hb : BoxAntipodal B := by intro x y z hboundary change L (vertex x.rev y.rev z.rev) = opposite (L (vertex x y z)) have hv : OnBoundary N (vertex x y z) := by rcases hboundary with hx|hx|hy|hy|hz|hz · subst x exact ⟨0,Or.inl rfl⟩ · subst x exact ⟨0,Or.inr rfl⟩ · subst y exact ⟨1,Or.inl rfl⟩ · subst y exact ⟨1,Or.inr rfl⟩ · subst z exact ⟨2,Or.inl rfl⟩ · subst z exact ⟨2,Or.inr rfl⟩ have h := ho (vertex x y z) hv rw [reflect_vertex] at h exact h exact no_locallyCompatible_antipodal (2*N) B hc hb end Polya26.Strike.S01.CubicalBU namespace Polya26.Strike.Lead.CubicalBU open Polya26.Strike.S01.CubicalBU abbrev Cube := Fin 3 → Set.Icc (-1 : ℝ) 1 def coords (x : Cube) : Fin 3 → ℝ := fun i => x i def cubeNeg (x : Cube) : Cube := fun i => ⟨-(x i : ℝ), by constructor <;> linarith [(x i).property.1, (x i).property.2]⟩ theorem coords_cubeNeg (x : Cube) : coords (cubeNeg x) = -coords x := rfl theorem continuous_coords : Continuous coords := by exact continuous_pi fun i => (continuous_apply i).subtype_val theorem continuous_radius : Continuous radius := by exact (continuous_apply 0).abs.max ((continuous_apply 1).abs.max (continuous_apply 2).abs) noncomputable def maxIndex (y : Fin 3 → ℝ) : Fin 3 := if |y 0| ≥ |y 1| ∧ |y 0| ≥ |y 2| then 0 else if |y 1| ≥ |y 2| then 1 else 2 theorem maxIndex_neg (y : Fin 3 → ℝ) : maxIndex (-y) = maxIndex y := by simp [maxIndex] theorem maxIndex_abs (y : Fin 3 → ℝ) : |y (maxIndex y)| = radius y := by unfold maxIndex split_ifs with h0 h1 · simp only [radius, max_eq_left (max_le h0.1 h0.2)] · have h01 : |y 0| ≤ |y 1| := by by_contra h have h10 : |y 1| ≤ |y 0| := le_of_lt (lt_of_not_ge h) exact h0 ⟨h10, h1.trans h10⟩ simp only [radius, max_eq_left h1, max_eq_right h01] · have h02 : |y 0| ≤ |y 2| := by by_contra h have h20 : |y 2| ≤ |y 0| := le_of_lt (lt_of_not_ge h) exact h0 ⟨(le_of_lt (lt_of_not_ge h1)).trans h20, h20⟩ simp only [radius, max_eq_right (le_of_lt (lt_of_not_ge h1)), max_eq_right h02] theorem radius_nonneg (y : Fin 3 → ℝ) : 0 ≤ radius y := by exact (abs_nonneg (y 0)).trans (le_max_left _ _) theorem radius_eq_zero_iff (y : Fin 3 → ℝ) : radius y = 0 ↔ y = 0 := by constructor · intro h funext i have h0 : |y 0| ≤ 0 := by rw [← h]; exact le_max_left _ _ have h1 : |y 1| ≤ 0 := by rw [← h]; exact (le_max_left _ _).trans (le_max_right _ _) have h2 : |y 2| ≤ 0 := by rw [← h]; exact (le_max_right _ _).trans (le_max_right _ _) fin_cases i · exact abs_nonpos_iff.mp h0 · exact abs_nonpos_iff.mp h1 · exact abs_nonpos_iff.mp h2 · rintro rfl exact radius_zero theorem radius_pos (y : Fin 3 → ℝ) (hy : y ≠ 0) : 0 < radius y := by exact lt_of_le_of_ne (radius_nonneg y) (Ne.symm (mt (radius_eq_zero_iff y).mp hy)) noncomputable def labelOf (y : Fin 3 → ℝ) : Label := (maxIndex y, decide (0 < y (maxIndex y))) theorem labelOf_neg (y : Fin 3 → ℝ) (hy : y ≠ 0) : labelOf (-y) = opposite (labelOf y) := by have hne : y (maxIndex y) ≠ 0 := by have hpos := radius_pos y hy rw [← maxIndex_abs y] at hpos exact abs_pos.mp hpos simp only [labelOf, maxIndex_neg, Pi.neg_apply, opposite, Prod.mk.injEq, true_and] by_cases h : 0 < y (maxIndex y) · simp [h, show ¬ 0 < -y (maxIndex y) by linarith] · have hn : y (maxIndex y) < 0 := lt_of_le_of_ne (le_of_not_gt h) hne simp [h, show 0 < -y (maxIndex y) by linarith] noncomputable def gridCube (N : ℕ) (hN : 0 < N) (v : Grid N) : Cube := fun i => ⟨((v i).val : ℝ) / N - 1, by have hn : (0 : ℝ) < N := by exact_mod_cast hN have hi : ((v i).val : ℝ) ≤ 2 * N := by exact_mod_cast (Nat.le_of_lt_succ (v i).isLt) constructor · have hp : (0 : ℝ) ≤ ((v i).val : ℝ) / N := div_nonneg (Nat.cast_nonneg _) hn.le linarith · have hp : ((v i).val : ℝ) / N ≤ 2 := (div_le_iff₀ hn).mpr (by simpa using hi) linarith⟩ theorem gridCube_reflect (N : ℕ) (hN : 0 < N) (v : Grid N) : gridCube N hN (reflect N v) = cubeNeg (gridCube N hN v) := by funext i apply Subtype.ext change (((2*N-(v i).val : ℕ) : ℝ) / N - 1) = -(((v i).val : ℝ) / N - 1) rw [Nat.cast_sub (Nat.le_of_lt_succ (v i).isLt)] have hn : (N : ℝ) ≠ 0 := by exact_mod_cast (ne_of_gt hN) push_cast field_simp <;> ring theorem gridCube_boundary (N : ℕ) (hN : 0 < N) (v : Grid N) (hv : OnBoundary N v) : radius (coords (gridCube N hN v)) = 1 := by have hle : radius (coords (gridCube N hN v)) ≤ 1 := by apply max_le · exact abs_le.mpr (gridCube N hN v 0).property · exact max_le (abs_le.mpr (gridCube N hN v 1).property) (abs_le.mpr (gridCube N hN v 2).property) rcases hv with ⟨i, hi⟩ have hcoord : |coords (gridCube N hN v) i| = 1 := by have hn : (N : ℝ) ≠ 0 := by exact_mod_cast (ne_of_gt hN) rcases hi with hi | hi · simp [coords, gridCube, hi] · norm_num [coords, gridCube, hi, hn] have hge : 1 ≤ radius (coords (gridCube N hN v)) := by rw [← hcoord] fin_cases i · exact le_max_left _ _ · exact (le_max_left _ _).trans (le_max_right _ _) · exact (le_max_right _ _).trans (le_max_right _ _) exact le_antisymm hle hge theorem gridCube_adjacent_dist (N : ℕ) (hN : 0 < N) (v w : Grid N) (hvw : Adjacent N v w) : dist (gridCube N hN v) (gridCube N hN w) ≤ 1 / (N : ℝ) := by have hn : (0 : ℝ) < N := by exact_mod_cast hN apply (dist_pi_le_iff (div_nonneg zero_le_one hn.le)).mpr intro i change |((v i).val : ℝ) / N - 1 - (((w i).val : ℝ) / N - 1)| ≤ 1 / N have hi : |((v i).val : ℝ) - ((w i).val : ℝ)| ≤ 1 := by exact_mod_cast (hvw i) have heq : ((v i).val : ℝ) / N - 1 - (((w i).val : ℝ) / N - 1) = (((v i).val : ℝ) - ((w i).val : ℝ)) / N := by ring rw [heq, abs_div, abs_of_pos hn] exact (div_le_div_iff_of_pos_right hn).mpr hi theorem complementary_separated (y z : Fin 3 → ℝ) (η : ℝ) (hy : η ≤ radius y) (hz : η ≤ radius z) (hl : labelOf y = opposite (labelOf z)) : 2 * η ≤ dist y z := by have hi : maxIndex y = maxIndex z := congrArg Prod.fst hl have hs : decide (0 < y (maxIndex y)) = !decide (0 < z (maxIndex z)) := congrArg Prod.snd hl rw [← maxIndex_abs y, hi] at hy rw [← maxIndex_abs z] at hz rw [hi] at hs have hd : |y (maxIndex z) - z (maxIndex z)| ≤ dist y z := dist_le_pi_dist y z (maxIndex z) by_cases hp : 0 < y (maxIndex z) · have hn : ¬ 0 < z (maxIndex z) := by intro hzpos simp [hp, hzpos] at hs rw [abs_of_pos hp] at hy rw [abs_of_nonpos (le_of_not_gt hn)] at hz exact (show 2 * η ≤ |y (maxIndex z) - z (maxIndex z)| from (le_abs_self _).trans' (by linarith)).trans hd · have hpz : 0 < z (maxIndex z) := by by_contra hn simp [hp, hn] at hs rw [abs_of_nonpos (le_of_not_gt hp)] at hy rw [abs_of_pos hpz] at hz exact (show 2 * η ≤ |y (maxIndex z) - z (maxIndex z)| from (neg_le_abs _).trans' (by linarith)).trans hd theorem cube_zero_of_tucker (hT : TuckerThreeStatement) (G : Cube → (Fin 3 → ℝ)) (hG : Continuous G) (hodd : ∀ x, radius (coords x) = 1 → G (cubeNeg x) = -G x) : ∃ x, G x = 0 := by classical by_contra hzero have hnz : ∀ x, G x ≠ 0 := by simpa only [not_exists] using hzero obtain ⟨η, hη, hlower⟩ := isCompact_univ.exists_forall_le' (continuous_radius.comp hG).continuousOn (fun x _ => radius_pos (G x) (hnz x)) have huc := CompactSpace.uniformContinuous_of_continuous hG obtain ⟨δ, hδ, hclose⟩ := Metric.uniformContinuous_iff.mp huc (2 * η) (by positivity) obtain ⟨n, hn⟩ := exists_nat_one_div_lt hδ let N := n + 1 have hN : 0 < N := Nat.zero_lt_succ n let L : Grid N → Label := fun v => labelOf (G (gridCube N hN v)) have hanti : AntipodalBoundary N L := by intro v hv change labelOf (G (gridCube N hN (reflect N v))) = opposite (labelOf (G (gridCube N hN v))) rw [gridCube_reflect, hodd _ (gridCube_boundary N hN v hv)] exact labelOf_neg _ (hnz _) obtain ⟨v, w, hvw, hlabels⟩ := hT N hN L hanti have hsmall : dist (G (gridCube N hN v)) (G (gridCube N hN w)) < 2 * η := hclose ((gridCube_adjacent_dist N hN v w hvw).trans_lt (by simpa [N] using hn)) have hlarge := complementary_separated (G (gridCube N hN v)) (G (gridCube N hN w)) η (hlower _ (Set.mem_univ _)) (hlower _ (Set.mem_univ _)) hlabels exact (not_lt_of_ge hlarge) hsmall end Polya26.Strike.Lead.CubicalBU namespace Polya26.Strike.Lead.CubicalBU open Polya26.Strike.S01.CubicalBU abbrev Coeff := EuclideanSpace ℝ (Fin 4) abbrev Sphere3 := Metric.sphere (0 : Coeff) 1 abbrev Plane := EuclideanSpace ℝ (Fin 2) def sphereNeg (c : Sphere3) : Sphere3 := ⟨-c.val, by simpa only [Metric.mem_sphere, dist_zero_right, norm_neg] using c.property⟩ noncomputable def lift (t : Fin 3 → ℝ) : Coeff := WithLp.toLp 2 (rawLift t) theorem lift_ne_zero (t : Fin 3 → ℝ) : lift t ≠ 0 := by intro h apply rawLift_ne_zero t funext i exact congrArg (fun y : Coeff => y i) h theorem continuous_lift : Continuous lift := by apply (PiLp.continuous_toLp 2 (fun _ : Fin 4 => ℝ)).comp apply continuous_pi intro i refine Fin.cases ?_ (fun j => ?_) i · exact continuous_const.sub continuous_radius · exact continuous_apply j theorem lift_boundary_neg (t : Fin 3 → ℝ) (ht : radius t = 1) : lift (-t) = -lift t := by simp only [lift, rawLift_boundary_neg t ht, WithLp.toLp_neg] noncomputable def cubeSphere (x : Cube) : Sphere3 := ⟨‖lift (coords x)‖⁻¹ • lift (coords x), by simp only [Metric.mem_sphere, dist_zero_right, norm_smul, Real.norm_eq_abs, abs_inv, abs_norm] exact inv_mul_cancel₀ (norm_ne_zero_iff.mpr (lift_ne_zero _))⟩ theorem continuous_cubeSphere : Continuous cubeSphere := by apply Continuous.subtype_mk exact ((continuous_lift.comp continuous_coords).norm.inv₀ (fun x => norm_ne_zero_iff.mpr (lift_ne_zero _))).smul (continuous_lift.comp continuous_coords) theorem cubeSphere_boundary_neg (x : Cube) (hx : radius (coords x) = 1) : cubeSphere (cubeNeg x) = sphereNeg (cubeSphere x) := by apply Subtype.ext change ‖lift (coords (cubeNeg x))‖⁻¹ • lift (coords (cubeNeg x)) = -(‖lift (coords x)‖⁻¹ • lift (coords x)) rw [coords_cubeNeg, lift_boundary_neg _ hx, norm_neg, smul_neg] def codomainCoords (y : ℝ × Plane) : Fin 3 → ℝ := Fin.cases y.1 (fun i => y.2 i) theorem continuous_codomainCoords : Continuous codomainCoords := by apply continuous_pi intro i refine Fin.cases ?_ (fun j => ?_) i · exact continuous_fst · exact (PiLp.continuous_apply 2 (fun _ : Fin 2 => ℝ) j).comp continuous_snd theorem codomainCoords_neg (y : ℝ × Plane) : codomainCoords (-y) = -codomainCoords y := by funext i refine Fin.cases ?_ (fun j => ?_) i <;> rfl theorem codomainCoords_eq_zero (y : ℝ × Plane) : codomainCoords y = 0 ↔ y = 0 := by constructor · intro h apply Prod.ext · exact congrFun h 0 · apply PiLp.ext intro i exact congrFun h i.succ · rintro rfl funext i refine Fin.cases ?_ (fun j => ?_) i <;> rfl theorem sphere_zero_of_tucker (hT : TuckerThreeStatement) (F : Sphere3 → ℝ × Plane) (hF : Continuous F) (hodd : ∀ c, F (sphereNeg c) = -F c) : ∃ c, F c = 0 := by let G : Cube → (Fin 3 → ℝ) := codomainCoords ∘ F ∘ cubeSphere have hG : Continuous G := continuous_codomainCoords.comp (hF.comp continuous_cubeSphere) have hGodd : ∀ x, radius (coords x) = 1 → G (cubeNeg x) = -G x := by intro x hx change codomainCoords (F (cubeSphere (cubeNeg x))) = -codomainCoords (F (cubeSphere x)) rw [cubeSphere_boundary_neg x hx, hodd, codomainCoords_neg] obtain ⟨x, hx⟩ := cube_zero_of_tucker hT G hG hGodd exact ⟨cubeSphere x, (codomainCoords_eq_zero _).mp hx⟩ end Polya26.Strike.Lead.CubicalBU namespace Polya26.Strike.Lead.CubicalBU open Polya26.Strike.S01.CubicalBU def sphereInvolutiveNeg : InvolutiveNeg Sphere3 where neg := sphereNeg neg_neg c := Subtype.ext (neg_neg c.val) theorem borsukUlamThree_of_tucker (hT : TuckerThreeStatement) : letI : InvolutiveNeg Sphere3 := sphereInvolutiveNeg ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0 := by letI : InvolutiveNeg Sphere3 := sphereInvolutiveNeg exact fun F hF hodd => sphere_zero_of_tucker hT F hF hodd end Polya26.Strike.Lead.CubicalBU namespace Polya26.Strike.S01.CubicalBU theorem borsukUlamThree_formula : letI : InvolutiveNeg Polya26.Strike.Lead.CubicalBU.Sphere3 := Polya26.Strike.Lead.CubicalBU.sphereInvolutiveNeg ∀ F : Polya26.Strike.Lead.CubicalBU.Sphere3 → ℝ × Polya26.Strike.Lead.CubicalBU.Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0 := Polya26.Strike.Lead.CubicalBU.borsukUlamThree_of_tucker tuckerThree end Polya26.Strike.S01.CubicalBU end /- END CubicalBU -/ /- BEGIN CubicalCompatibility -/ section noncomputable section namespace Polya26.ProductionSphere abbrev Coeff := EuclideanSpace ℝ (Fin 4) abbrev Sphere3 := Metric.sphere (0 : Coeff) 1 abbrev Plane := EuclideanSpace ℝ (Fin 2) theorem continuous_sphere_antipode : (letI := @_root_.w10SphereNeg Continuous (fun c : Sphere3 => -c)) := by letI := @_root_.w10SphereNeg letI := @_root_.w10SphereContinuousNeg exact continuous_neg theorem cubical_sphereNeg_eq (c : Sphere3) : (letI := @_root_.w10SphereNeg Polya26.Strike.Lead.CubicalBU.sphereNeg c = -c) := by letI := @_root_.w10SphereNeg rfl /-- The checked cubical formula on the unchanged actual coefficient sphere, with the same dictionary used at the original MedianSelector callers. -/ theorem cubicalBorsukUlam : (letI := @_root_.w10SphereNeg ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg Polya26.Strike.S01.CubicalBU.borsukUlamThree_formula ) end Polya26.ProductionSphere end end /- END CubicalCompatibility -/ /- BEGIN ProductionBUContract -/ section namespace Polya26.ProductionSelection theorem ordinaryBU : (letI := @_root_.w10SphereNeg.{0} Polya26.Strike.S06.OrdinaryBU) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} Polya26.ProductionSphere.cubicalBorsukUlam ) end Polya26.ProductionSelection end /- END ProductionBUContract -/ /- BEGIN CoreLogBundle -/ section /-! Genuine endpoint-fixed homotopies represented by paths in the actual space of continuous paths. This lower API needs no homotopy quotient. -/ noncomputable section namespace Polya26.Strike.S04.Header.PathHomotopy open unitInterval universe u v w variable {X : Type u} {Y : Type v} {Z : Type w} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {x y z : X} abbrev BasedHomotopy (p q : Path x y) := Path p q def BasedHomotopic (p q : Path x y) : Prop := Nonempty (BasedHomotopy p q) def square {p q : Path x y} (H : BasedHomotopy p q) : C(I × I, X) := ⟨fun ts => H ts.1 ts.2, Path.continuous_uncurry_iff.mpr H.continuous⟩ theorem square_zero {p q : Path x y} (H : BasedHomotopy p q) (s : I) : square H (0, s) = p s := congrArg (fun r : Path x y => r s) H.source theorem square_one {p q : Path x y} (H : BasedHomotopy p q) (s : I) : square H (1, s) = q s := congrArg (fun r : Path x y => r s) H.target theorem square_source {p q : Path x y} (H : BasedHomotopy p q) (t : I) : square H (t, 0) = x := (H t).source theorem square_target {p q : Path x y} (H : BasedHomotopy p q) (t : I) : square H (t, 1) = y := (H t).target def ofSquare {p q : Path x y} (H : C(I × I, X)) (hzero : ∀ s, H (0, s) = p s) (hone : ∀ s, H (1, s) = q s) (hsource : ∀ t, H (t, 0) = x) (htarget : ∀ t, H (t, 1) = y) : BasedHomotopy p q := ⟨⟨fun t => ⟨⟨fun s => H (t, s), H.continuous.comp (continuous_const.prodMk continuous_id)⟩, hsource t, htarget t⟩, Path.continuous_uncurry_iff.mp H.continuous⟩, Path.ext (funext hzero), Path.ext (funext hone)⟩ def refl (p : Path x y) : BasedHomotopy p p := Path.refl p def symm {p q : Path x y} (H : BasedHomotopy p q) : BasedHomotopy q p := H.symm def trans {p q r : Path x y} (H : BasedHomotopy p q) (K : BasedHomotopy q r) : BasedHomotopy p r := H.trans K def map {p q : Path x y} (H : BasedHomotopy p q) (f : C(X, Y)) : BasedHomotopy (p.map f.continuous) (q.map f.continuous) := ⟨⟨fun t => (H t).map f.continuous, Path.continuous_uncurry_iff.mp (f.continuous.comp (square H).continuous)⟩, congrArg (fun r : Path x y => r.map f.continuous) H.source, congrArg (fun r : Path x y => r.map f.continuous) H.target⟩ def hcomp {p q : Path x y} {r s : Path y z} (H : BasedHomotopy p q) (K : BasedHomotopy r s) : BasedHomotopy (p.trans r) (q.trans s) := ⟨⟨fun t => (H t).trans (K t), H.continuous.path_trans K.continuous⟩, congrArg₂ Path.trans H.source K.source, congrArg₂ Path.trans H.target K.target⟩ def prod {a b : Y} {p q : Path x y} {r s : Path a b} (H : BasedHomotopy p q) (K : BasedHomotopy r s) : BasedHomotopy (p.prod r) (q.prod s) := ⟨⟨fun t => (H t).prod (K t), Path.continuous_uncurry_iff.mp ((square H).continuous.prodMk (square K).continuous)⟩, congrArg₂ Path.prod H.source K.source, congrArg₂ Path.prod H.target K.target⟩ end Polya26.Strike.S04.Header.PathHomotopy namespace Polya26.Strike.S04.Header.PathHomotopy open unitInterval universe u v w variable {X : Type u} {Y : Type v} {Z : Type w} [TopologicalSpace X] [TopologicalSpace Y] [TopologicalSpace Z] {x y : X} def rightUnit (p : Path x y) : BasedHomotopy p (p.trans (Path.refl y)) := by let H : C(I × I, X) := ⟨fun ts => p.extend ((1 + (ts.1 : ℝ)) * (ts.2 : ℝ)), by fun_prop⟩ apply ofSquare H · intro s change p.extend ((1 + (0 : ℝ)) * (s : ℝ)) = p s simpa only [add_zero, one_mul] using p.extend_extends' s · intro s change p.extend ((1 + (1 : ℝ)) * (s : ℝ)) = (p.trans (Path.refl y)) s rw [show (1 : ℝ) + 1 = 2 by norm_num] change p.extend (2 * (s : ℝ)) = if (s : ℝ) ≤ 1 / 2 then p.extend (2 * (s : ℝ)) else (Path.refl y).extend (2 * (s : ℝ) - 1) split_ifs with hs · rfl · rw [p.extend_of_one_le (by linarith)] rfl · intro t change p.extend ((1 + (t : ℝ)) * 0) = x simpa only [mul_zero] using p.extend_zero · intro t change p.extend ((1 + (t : ℝ)) * 1) = y rw [mul_one] exact p.extend_of_one_le (by linarith [t.property.1]) def leftUnit (p : Path x y) : BasedHomotopy p ((Path.refl x).trans p) := by let H : C(I × I, X) := ⟨fun ts => p.extend ((1 + (ts.1 : ℝ)) * (ts.2 : ℝ) - (ts.1 : ℝ)), by fun_prop⟩ apply ofSquare H · intro s change p.extend ((1 + (0 : ℝ)) * (s : ℝ) - 0) = p s simpa only [add_zero, one_mul, sub_zero] using p.extend_extends' s · intro s change p.extend ((1 + (1 : ℝ)) * (s : ℝ) - 1) = ((Path.refl x).trans p) s rw [show (1 : ℝ) + 1 = 2 by norm_num] change p.extend (2 * (s : ℝ) - 1) = if (s : ℝ) ≤ 1 / 2 then (Path.refl x).extend (2 * (s : ℝ)) else p.extend (2 * (s : ℝ) - 1) split_ifs with hs · rw [p.extend_of_le_zero (by linarith)] rfl · rfl · intro t change p.extend ((1 + (t : ℝ)) * 0 - (t : ℝ)) = x rw [mul_zero, zero_sub] exact p.extend_of_le_zero (by linarith [t.property.1]) · intro t change p.extend ((1 + (t : ℝ)) * 1 - (t : ℝ)) = y have he : (1 + (t : ℝ)) * 1 - (t : ℝ) = 1 := by ring rw [he] exact p.extend_one def productSplit {a : X} {b : Y} (p : Path (a, b) (a, b)) : BasedHomotopy p (((p.map continuous_fst).prod (Path.refl b)).trans ((Path.refl a).prod (p.map continuous_snd))) := by have H := prod (rightUnit (p.map continuous_fst)) (leftUnit (p.map continuous_snd)) rw [← Path.trans_prod_eq_prod_trans] at H have hp : (p.map continuous_fst).prod (p.map continuous_snd) = p := by apply Path.ext funext t rfl rw [hp] at H exact H theorem product_loops_nullhomotopic (f : C(X × Y, Z)) (a : X) (b : Y) (hleft : ∀ p : Path a a, BasedHomotopic ((p.prod (Path.refl b)).map f.continuous) (Path.refl (f (a, b)))) (hright : ∀ q : Path b b, BasedHomotopic (((Path.refl a).prod q).map f.continuous) (Path.refl (f (a, b)))) (p : Path (a, b) (a, b)) : BasedHomotopic (p.map f.continuous) (Path.refl (f (a, b))) := by obtain ⟨HL⟩ := hleft (p.map continuous_fst) obtain ⟨HR⟩ := hright (p.map continuous_snd) have H := map (productSplit p) f rw [Path.map_trans] at H have K := hcomp HL HR rw [Path.refl_trans_refl] at K exact ⟨H.trans K⟩ theorem closedLift_nullhomotopic {z : {z : ℂ // z ≠ 0}} (p : Path z z) (L : C(I, ℂ)) (hL : ∀ t, Complex.exp (L t) = (p t).val) (hLend : L 0 = L 1) : BasedHomotopic p (Path.refl z) := by have hbase : Complex.exp (L 0) = z.val := (hL 0).trans (congrArg Subtype.val p.source) let H : C(I × I, {z : ℂ // z ≠ 0}) := ⟨fun ts => ⟨Complex.exp (((1 - (ts.1 : ℝ) : ℝ) : ℂ) * L ts.2 + ((ts.1 : ℝ) : ℂ) * L 0), Complex.exp_ne_zero _⟩, by fun_prop⟩ refine ⟨ofSquare H ?_ ?_ ?_ ?_⟩ · intro s apply Subtype.ext change Complex.exp (((1 - (0 : ℝ) : ℝ) : ℂ) * L s + ((0 : ℝ) : ℂ) * L 0) = _ simpa only [sub_zero, Complex.ofReal_zero, Complex.ofReal_one, one_mul, zero_mul, add_zero] using hL s · intro s apply Subtype.ext change Complex.exp (((1 - (1 : ℝ) : ℝ) : ℂ) * L s + ((1 : ℝ) : ℂ) * L 0) = z.val simpa only [sub_self, Complex.ofReal_zero, Complex.ofReal_one, zero_mul, one_mul, zero_add] using hbase · intro t apply Subtype.ext change Complex.exp (((1 - (t : ℝ) : ℝ) : ℂ) * L 0 + ((t : ℝ) : ℂ) * L 0) = _ have he : (((1 - (t : ℝ) : ℝ) : ℂ) * L 0 + ((t : ℝ) : ℂ) * L 0) = L 0 := by push_cast ring rw [he] exact hbase · intro t apply Subtype.ext change Complex.exp (((1 - (t : ℝ) : ℝ) : ℂ) * L 1 + ((t : ℝ) : ℂ) * L 0) = _ rw [← hLend] have he : (((1 - (t : ℝ) : ℝ) : ℂ) * L 0 + ((t : ℝ) : ℂ) * L 0) = L 0 := by push_cast ring rw [he] exact hbase end Polya26.Strike.S04.Header.PathHomotopy end namespace Bounty end Bounty /-! An explicit logarithm on an actual zero-free complex disc. -/ noncomputable section namespace Polya26.Strike.S04.Header.DiscLog open Set Metric theorem disc_log_exists {c : ℂ} {r : ℝ} (hr : 0 < r) (hzero : 0 ∉ ball c r) : ∃ L : ℂ → ℂ, ContinuousOn L (ball c r) ∧ ∀ z ∈ ball c r, Complex.exp (L z) = z := by have hrc : r ≤ ‖c‖ := by have hh : ¬ dist (0 : ℂ) c < r := hzero simpa only [dist_zero_left] using le_of_not_gt hh have hc : c ≠ 0 := norm_pos_iff.mp (hr.trans_le hrc) have hratio (z : ℂ) (hz : z ∈ ball c r) : ‖z / c - 1‖ < 1 := by have he : z / c - 1 = (z - c) / c := by field_simp [hc] rw [he, norm_div] apply (div_lt_one (norm_pos_iff.mpr hc)).mpr have hzc : ‖z - c‖ < r := by simpa only [mem_ball, dist_eq_norm] using hz exact hzc.trans_le hrc have hslit (z : ℂ) (hz : z ∈ ball c r) : z / c ∈ Complex.slitPlane := by apply Complex.mem_slitPlane_iff.mpr apply Or.inl have hh : |(z / c - 1).re| < 1 := (Complex.abs_re_le_norm _).trans_lt (hratio z hz) have hlo := (abs_lt.mp hh).1 simp only [Complex.sub_re, Complex.one_re] at hlo linarith refine ⟨fun z => Complex.log c + Complex.log (z / c), ?_, ?_⟩ · apply continuousOn_const.add intro z hz exact ((continuousAt_clog (hslit z hz)).comp (f := fun w : ℂ => w / c) (continuous_id.div_const c).continuousAt).continuousWithinAt · intro z hz have hz0 : z ≠ 0 := by intro he subst z exact hzero hz rw [Complex.exp_add, Complex.exp_log hc, Complex.exp_log (div_ne_zero hz0 hc)] field_simp end Polya26.Strike.S04.Header.DiscLog end namespace Bounty end Bounty /-! Closed logarithmic lifts are locally constant off a compact loop. The source is the actual continuous loop in the complex plane. -/ noncomputable section open Set Filter Topology Metric unitInterval namespace Polya26.Strike.S04.Header.CoreLoopLog def HasClosedLog (γ : C(I,ℂ)) (w : ℂ) : Prop := ∃ L : C(I,ℂ), (∀ t, Complex.exp (L t) = γ t-w) ∧ L 0 = L 1 theorem disc_log_exists {c : ℂ} {r : ℝ} (hr : 0 < r) (hzero : 0 ∉ ball c r) : ∃ L : ℂ → ℂ, ContinuousOn L (ball c r) ∧ ∀ z ∈ ball c r, Complex.exp (L z) = z := Polya26.Strike.S04.Header.DiscLog.disc_log_exists hr hzero /-- A logarithm of a uniformly small ratio transfers closed lifts in both directions; neither loop is replaced by a surrogate model. -/ theorem closedLog_iff_of_ratio (γ : C(I,ℂ)) (hγ : γ 0 = γ 1) (w z : ℂ) (hne : ∀ t, γ t-w ≠ 0) (hratio : ∀ t, (γ t-z)/(γ t-w) ∈ ball (1 : ℂ) 1) : HasClosedLog γ w ↔ HasClosedLog γ z := by let ratio : C(I,ℂ) := ⟨fun t => (γ t-z)/(γ t-w), (γ.continuous.sub continuous_const).div (γ.continuous.sub continuous_const) hne⟩ obtain ⟨N,hNc,hNe⟩ := disc_log_exists (c := (1 : ℂ)) (r := 1) (by norm_num) (by simp [mem_ball]) let R : C(I,ℂ) := ⟨fun t => N (ratio t), by apply continuous_iff_continuousAt.mpr intro t exact (hNc.continuousAt (isOpen_ball.mem_nhds (hratio t))).comp (f := fun q : I => ratio q) ratio.continuous.continuousAt⟩ have hR (t : I) : Complex.exp (R t) = (γ t-z)/(γ t-w) := hNe _ (hratio t) have hRend : R 0 = R 1 := by change N ((γ 0-z)/(γ 0-w)) = N ((γ 1-z)/(γ 1-w)) rw [hγ] have hzne (t : I) : γ t-z ≠ 0 := by intro hz have hh := Complex.exp_ne_zero (R t) rw [hR,hz,zero_div] at hh exact hh rfl constructor · rintro ⟨L,hL,hLend⟩ refine ⟨⟨fun t => L t+R t,L.continuous.add R.continuous⟩,?_,?_⟩ · intro t change Complex.exp (L t+R t) = γ t-z rw [Complex.exp_add,hL t,hR t] field_simp [hne t] · change L 0+R 0 = L 1+R 1 rw [hLend,hRend] · rintro ⟨L,hL,hLend⟩ refine ⟨⟨fun t => L t-R t,L.continuous.sub R.continuous⟩,?_,?_⟩ · intro t change Complex.exp (L t-R t) = γ t-w rw [Complex.exp_sub,hL t,hR t] field_simp [hne t,hzne t] · change L 0-R 0 = L 1-R 1 rw [hLend,hRend] theorem closedLog_local_equivalence (γ : C(I,ℂ)) (hγ : γ 0 = γ 1) {w : ℂ} (hw : w ∉ range γ) : ∃ δ > 0, ∀ z, dist z w < δ → (HasClosedLog γ w ↔ HasClosedLog γ z) := by let K : Set ℂ := range γ have hKc : IsCompact K := isCompact_range γ.continuous have hKne : K.Nonempty := ⟨γ 0,0,rfl⟩ let δ := infDist w K have hδ : 0 < δ := (hKc.isClosed.notMem_iff_infDist_pos hKne).mp hw have hnorm (t : I) : δ ≤ ‖γ t-w‖ := by have hh := infDist_le_dist_of_mem (x := w) (mem_range_self t : γ t ∈ K) simpa only [dist_eq_norm,norm_sub_rev] using hh have hne (t : I) : γ t-w ≠ 0 := norm_pos_iff.mp (hδ.trans_le (hnorm t)) refine ⟨δ,hδ,?_⟩ intro z hz apply closedLog_iff_of_ratio γ hγ w z hne intro t have he : (γ t-z)/(γ t-w)-1 = (w-z)/(γ t-w) := by field_simp [hne t] ring rw [mem_ball,dist_eq_norm,he,norm_div] apply (div_lt_one (hδ.trans_le (hnorm t))).mpr have hwz : ‖w-z‖ < δ := by simpa only [dist_eq_norm,norm_sub_rev] using hz exact hwz.trans_le (hnorm t) theorem closedLog_isLocallyConstant (γ : C(I,ℂ)) (hγ : γ 0 = γ 1) : IsLocallyConstant (fun w : {z : ℂ // z ∉ range γ} => HasClosedLog γ w.val) := by apply (IsLocallyConstant.iff_eventually_eq _).mpr intro w obtain ⟨δ,hδ,heq⟩ := closedLog_local_equivalence γ hγ w.property filter_upwards [(isOpen_ball.preimage continuous_subtype_val).mem_nhds (mem_ball_self hδ : w.val ∈ ball w.val δ)] with z hz apply propext change dist z.val w.val < δ at hz exact (heq z.val hz).symm theorem hasClosedLog_of_disc_range (γ : C(I,ℂ)) (hγ : γ 0 = γ 1) (w c : ℂ) {r : ℝ} (hr : 0 < r) (hzero : 0 ∉ ball c r) (himage : ∀ t, γ t-w ∈ ball c r) : HasClosedLog γ w := by obtain ⟨N,hNc,hNe⟩ := disc_log_exists hr hzero refine ⟨⟨fun t => N (γ t-w),?_⟩,?_,?_⟩ · apply continuous_iff_continuousAt.mpr intro t exact (hNc.continuousAt (isOpen_ball.mem_nhds (himage t))).comp (f := fun q : I => γ q-w) (γ.continuous.sub continuous_const).continuousAt · intro t exact hNe _ (himage t) · change N (γ 0-w) = N (γ 1-w) rw [hγ] theorem hasClosedLog_far_point (γ : C(I,ℂ)) (hγ : γ 0 = γ 1) {r : ℝ} (hr : 0 < r) (hbound : ∀ t, ‖γ t‖ < r) {w : ℂ} (hw : r < ‖w‖) : HasClosedLog γ w := by apply hasClosedLog_of_disc_range γ hγ w (-w) hr · simpa only [mem_ball,dist_zero_left,norm_neg] using (not_lt_of_ge hw.le) · intro t simpa only [mem_ball,dist_eq_norm,sub_neg_eq_add,sub_add_cancel] using hbound t /-- No path in the complement is required: local constancy transfers a closed logarithmic lift across a preconnected unbounded actual set. -/ theorem hasClosedLog_on_unbounded_preconnected (γ : C(I,ℂ)) (hγ : γ 0 = γ 1) {F : Set ℂ} (hFc : IsPreconnected F) (hFu : ¬ Bornology.IsBounded F) (hFdis : F ⊆ (range γ)ᶜ) {w : ℂ} (hw : w ∈ F) : HasClosedLog γ w := by have hγc : IsCompact (range γ) := isCompact_range γ.continuous obtain ⟨r,hrange⟩ := hγc.isBounded.subset_ball (0 : ℂ) have hbound (t : I) : ‖γ t‖ < r := by simpa only [mem_ball,dist_zero_right] using hrange (mem_range_self t) have hr : 0 < r := (norm_nonneg (γ 0)).trans_lt (hbound 0) have hfar : ∃ z ∈ F, r < ‖z‖ := by by_contra hn push_neg at hn apply hFu exact (Metric.isBounded_closedBall (x := (0 : ℂ)) (r := r)).subset (fun z hz => by simpa only [mem_closedBall,dist_zero_right] using hn z hz) obtain ⟨z,hz,hzr⟩ := hfar letI : PreconnectedSpace F := isPreconnected_iff_preconnectedSpace.mp hFc let inc : F → {z : ℂ // z ∉ range γ} := fun x => ⟨x.val,hFdis x.property⟩ have hinc : Continuous inc := by fun_prop have hloc := (closedLog_isLocallyConstant γ hγ).comp_continuous hinc have heq : HasClosedLog γ w = HasClosedLog γ z := hloc.apply_eq_of_preconnectedSpace ⟨w,hw⟩ ⟨z,hz⟩ rw [heq] exact hasClosedLog_far_point γ hγ hr hbound hzr end Polya26.Strike.S04.Header.CoreLoopLog end namespace Bounty end Bounty /- Local lifting ports from Mathlib.Topology.Homotopy.Lifting. Copyright (c) 2025 Junyan Xu. Apache-2.0. Only the trusted two-import header is used. -/ noncomputable section open Function Topology unitInterval namespace Polya26.Strike.S03.Header.CoveringLifting.Local variable {E X A : Type*} [TopologicalSpace E] [TopologicalSpace X] [TopologicalSpace A] {p : E → X} variable (homeo : IsLocalHomeomorph p) include homeo theorem local_lift_nhds {f : C(I × A, X)} {g : I × A → E} (g_lifts : p ∘ g = f) (cont_0 : Continuous (g ⟨0, ·⟩)) (a : A) (cont_a : Continuous (g ⟨·, a⟩)) : ∃ N ∈ 𝓝 a, ∃ g' : I × A → E, ContinuousOn g' (Set.univ ×ˢ N) ∧ p ∘ g' = f ∧ (∀ a, g' (0, a) = g (0, a)) ∧ ∀ t, g' (t, a) = g (t, a) := by -- For every `e : E`, upgrade `p` to a LocalHomeomorph `q e` around `e`. choose q mem_source hpq using homeo /- Using the hypothesis `cont_a`, we partition the unit interval so that for each subinterval `[tₙ, tₙ₊₁]`, the image `g ([tₙ, tₙ₊₁] × {a})` is contained in the domain of some local homeomorphism `q e`. -/ obtain ⟨t, t_0, t_mono, ⟨n_max, h_max⟩, t_sub⟩ := exists_monotone_Icc_subset_open_cover_unitInterval (fun e ↦ (q e).open_source.preimage cont_a) fun t _ ↦ Set.mem_iUnion.mpr ⟨g (t, a), mem_source _⟩ /- We aim to inductively prove the existence of Nₙ and g' continuous on [0, tₙ] × Nₙ for each n, and get the desired result by taking some n with tₙ = 1. -/ suffices ∀ n, ∃ N, a ∈ N ∧ IsOpen N ∧ ∃ g' : I × A → E, ContinuousOn g' (Set.Icc 0 (t n) ×ˢ N) ∧ p ∘ g' = f ∧ (∀ a, g' (0, a) = g (0, a)) ∧ ∀ t' ≤ t n, g' (t', a) = g (t', a) by obtain ⟨N, haN, N_open, hN⟩ := this n_max simp_rw [h_max _ le_rfl] at hN refine ⟨N, N_open.mem_nhds haN, ?_⟩; convert! hN · rw [eq_comm, Set.eq_univ_iff_forall]; exact fun t ↦ ⟨bot_le, le_top⟩ · rw [imp_iff_right]; exact le_top refine Nat.rec ⟨_, Set.mem_univ a, isOpen_univ, g, ?_, g_lifts, fun a ↦ rfl, fun _ _ ↦ rfl⟩ (fun n ⟨N, haN, N_open, g', cont_g', g'_lifts, g'_0, g'_a⟩ ↦ ?_) · -- the n = 0 case is covered by the hypothesis cont_0. refine (cont_0.comp continuous_snd).continuousOn.congr (fun ta ⟨ht, _⟩ ↦ ?_) rw [t_0, Set.Icc_self, Set.mem_singleton_iff] at ht; rw [← ta.eta, ht]; rfl /- Since g ([tₙ, tₙ₊₁] × {a}) is contained in the domain of some local homeomorphism `q e` and g lifts f, f ([tₙ, tₙ₊₁] × {a}) is contained in the codomain (`target`) of `q e`. -/ obtain ⟨e, h_sub⟩ := t_sub n have : Set.Icc (t n) (t (n + 1)) ×ˢ {a} ⊆ f ⁻¹' (q e).target := by rintro ⟨t0, a'⟩ ⟨ht, ha⟩ rw [Set.mem_singleton_iff] at ha; dsimp only at ha rw [← g_lifts, hpq e, ha] exact (q e).map_source (h_sub ht) /- Using compactness of [tₙ, tₙ₊₁], we can find a neighborhood v of a such that f ([tₙ, tₙ₊₁] × v) is contained in the codomain of `q e`. -/ obtain ⟨u, v, -, v_open, hu, hav, huv⟩ := generalized_tube_lemma isClosed_Icc.isCompact isCompact_singleton ((q e).open_target.preimage f.continuous) this classical /- Use the inverse of `q e` to extend g' from [0, tₙ] × Nₙ₊₁ to [0, tₙ₊₁] × Nₙ₊₁, where Nₙ₊₁ ⊆ v ∩ Nₙ is such that {tₙ} × Nₙ₊₁ is mapped to the domain (`source`) of `q e` by `g'`. -/ refine ⟨_, ?_, v_open.inter <| (cont_g'.comp (Continuous.prodMk_right <| t n).continuousOn fun a ha ↦ ⟨?_, ha⟩).isOpen_inter_preimage N_open (q e).open_source, fun ta ↦ if ta.1 ≤ t n then g' ta else if f ta ∈ (q e).target then (q e).symm (f ta) else g ta, .if (fun ta ⟨⟨_, hav, _, ha⟩, hfr⟩ ↦ ?_) (cont_g'.mono fun ta ⟨hta, ht⟩ ↦ ?_) ?_, ?_, fun a ↦ ?_, fun t0 htn1 ↦ ?_⟩ · refine ⟨Set.singleton_subset_iff.mp hav, haN, ?_⟩ change g' (t n, a) ∈ (q e).source; rw [g'_a _ le_rfl] exact h_sub ⟨le_rfl, t_mono n.le_succ⟩ · rw [← t_0]; exact ⟨t_mono n.zero_le, le_rfl⟩ · have ht := Set.mem_ofPred.mp (frontier_le_subset_eq continuous_fst continuous_const hfr) have : f ta ∈ (q e).target := huv ⟨hu (by rw [ht]; exact ⟨le_rfl, t_mono n.le_succ⟩), hav⟩ rw [ite_eq_left this] -- here we use that {tₙ} × Nₙ₊₁ is mapped to the domain of `q e` apply (q e).injOn (by rwa [← ta.eta, ht]) ((q e).map_target this) rw [(q e).right_inv this, ← hpq e]; exact congr($g'_lifts ta) · rw [closure_le_eq continuous_fst continuous_const] at ht exact ⟨⟨hta.1.1, ht⟩, hta.2.2.1⟩ · simp_rw [not_le]; exact (ContinuousOn.congr ((q e).continuousOn_invFun.comp f.2.continuousOn fun _ h ↦ huv ⟨hu ⟨h.2, h.1.1.2⟩, h.1.2.1⟩) fun _ h ↦ ite_eq_left <| huv ⟨hu ⟨h.2, h.1.1.2⟩, h.1.2.1⟩).mono (Set.inter_subset_inter_right _ <| closure_lt_subset_le continuous_const continuous_fst) · ext ta; rw [Function.comp_apply]; split_ifs with _ hv · exact congr($g'_lifts ta) · rw [hpq e, (q e).right_inv hv] · exact congr($g_lifts ta) · rw [← g'_0]; exact ite_eq_left bot_le · dsimp only; split_ifs with htn hf · exact g'_a t0 htn · apply (q e).injOn ((q e).map_target hf) (h_sub ⟨le_of_not_ge htn, htn1⟩) rw [(q e).right_inv hf, ← hpq e]; exact congr($g_lifts _).symm · rfl variable (sep : IsSeparatedMap p) include sep theorem continuous_lift (f : C(I × A, X)) {g : I × A → E} (g_lifts : p ∘ g = f) (cont_0 : Continuous (g ⟨0, ·⟩)) (cont_A : ∀ a, Continuous (g ⟨·, a⟩)) : Continuous g := by rw [continuous_iff_continuousAt] intro ⟨t, a⟩ obtain ⟨N, haN, g', cont_g', g'_lifts, g'_0, -⟩ := local_lift_nhds homeo g_lifts cont_0 a (cont_A a) refine (cont_g'.congr fun ⟨t, a⟩ ⟨_, ha⟩ ↦ ?_).continuousAt (prod_mem_nhds Filter.univ_mem haN) refine congr_fun (sep.eq_of_comp_eq homeo.isLocallyInjective (cont_A a) (cont_g'.comp_continuous (.prodMk_left a) fun _ ↦ ⟨⟨⟩, ha⟩) ?_ 0 (g'_0 a).symm) t ext t; apply congr_fun (g_lifts.trans g'_lifts.symm) omit sep open PathConnectedSpace (somePath) in /-- A map `f` from a path-connected, locally path-connected space `A` to another space `X` lifts uniquely through a local homeomorphism `p : E → X` if for every path `γ` in `A`, the composed path `f ∘ γ` in `X` lifts to `E` with endpoint only dependent on the endpoint of `γ` and independent of the path chosen. In this theorem, we require that a specific point `a₀ : A` is lifted to a specific point `e₀ : E` over `a₀`. -/ theorem exists_unique_lift [PathConnectedSpace A] [LocallyPathConnectedSpace A] (f : C(A, X)) (a₀ : A) (e₀ : E) (he : p e₀ = f a₀) (ex : ∀ γ : C(I, A), γ 0 = a₀ → ∃ Γ : C(I, E), Γ 0 = e₀ ∧ p ∘ Γ = f.comp γ) (uniq : ∀ γ γ' : C(I, A), ∀ Γ Γ' : C(I, E), γ 0 = a₀ → γ' 0 = a₀ → Γ 0 = e₀ → Γ' 0 = e₀ → p ∘ Γ = f.comp γ → p ∘ Γ' = f.comp γ' → γ 1 = γ' 1 → Γ 1 = Γ' 1) : ∃! F : C(A, E), F a₀ = e₀ ∧ p ∘ F = f := by choose Γ Γ_0 Γ_lifts using ex let F (a : A) : E := Γ _ (somePath a₀ a).source 1 have (a : A) : p (F a) = f a := by simpa using congr_fun (Γ_lifts _ (Path.source _)) 1 refine ⟨⟨F, continuous_iff_continuousAt.mpr fun a ↦ ?_⟩, ⟨?_, funext this⟩, fun F' ⟨F'_0, hpF'⟩ ↦ DFunLike.ext _ _ fun a ↦ ?_⟩ · obtain ⟨p, hep, rfl⟩ := homeo (F a) have hfap : f a ∈ p.target := by rw [← this]; exact p.map_source hep refine ContinuousAt.congr (f := p.symm ∘ f) ((p.continuousAt_symm hfap).comp f.2.continuousAt) ?_ have ⟨U, ⟨haU, U_conn⟩, hUp⟩ := (path_connected_basis a).mem_iff.mp ((p.open_target.preimage f.continuous).mem_nhds hfap) refine Filter.mem_of_superset haU fun x hxU ↦ ?_ have ⟨γ, hγ⟩ := U_conn.joinedIn _ (mem_of_mem_nhds haU) _ hxU let Γ' : Path e₀ ((p.symm ∘ f) a) := ⟨Γ _ (somePath a₀ a).source, Γ_0 .., by simp [← this, hep, F]⟩ specialize uniq ((somePath a₀ a).trans γ) _ (Γ'.trans <| γ.map' <| p.continuousOn_symm.comp f.2.continuousOn <| by rintro _ ⟨t, rfl⟩; exact hUp (hγ _)) _ (by simp) (somePath a₀ x).source (by simp) (Γ_0 _ (somePath a₀ x).source) _ (Γ_lifts ..) (by simp) · ext simp only [Function.comp, ContinuousMap.coe_coe, Path.trans_apply, ContinuousMap.coe_comp] split_ifs · apply congr_fun (Γ_lifts ..) · simp [Path.map', p.right_inv (hUp (hγ _))] simpa using uniq · exact uniq _ (.const I a₀) _ (.const I e₀) (somePath a₀ a₀).source rfl (Γ_0 ..) rfl (Γ_lifts ..) (by simpa) (Path.target _) · let γ := somePath a₀ a simpa using uniq _ _ (F'.comp γ) (Γ _ γ.source) γ.source γ.source (by simpa) (Γ_0 ..) (by simp [← Function.comp_assoc, hpF']) (Γ_lifts ..) rfl end Polya26.Strike.S03.Header.CoveringLifting.Local namespace Polya26.Strike.S03.Header.CoveringLifting theorem exp_localHomeomorph : IsLocalHomeomorph Complex.exp := by intro z let hf := (Complex.hasStrictDerivAt_exp z).hasStrictFDerivAt_equiv (Complex.exp_ne_zero z) exact ⟨hf.toOpenPartialHomeomorph Complex.exp, hf.mem_toOpenPartialHomeomorph_source, rfl⟩ end Polya26.Strike.S03.Header.CoveringLifting end /- Elementary complex exponential path lifting, using local principal logarithms. The compact interval subdivision follows Mathlib.Topology.Homotopy.Lifting (Junyan Xu, Apache-2.0), with explicit additive logarithm patches. -/ noncomputable section open Function Set Topology unitInterval namespace Polya26.Strike.S03.Header.CoveringLifting.ExpPaths theorem exp_log_patch {v w c e : ℂ} (hv : v ≠ 0) (hw : w ≠ 0) (hc : c ≠ 0) (he : Complex.exp e = v) : Complex.exp (e + Complex.log (w / c) - Complex.log (v / c)) = w := by rw [Complex.exp_sub, Complex.exp_add, Complex.exp_log (div_ne_zero hw hc), Complex.exp_log (div_ne_zero hv hc), he] field_simp theorem exists_path_lift (γ : C(I, ℂ)) (hne : ∀ t, γ t ≠ 0) (e : ℂ) (he : Complex.exp e = γ 0) : ∃ Γ : C(I, ℂ), (∀ t, Complex.exp (Γ t) = γ t) ∧ Γ 0 = e := by let U (a : I) : Set I := {t | γ t / γ a ∈ Complex.slitPlane} have hU (a : I) : IsOpen (U a) := Complex.isOpen_slitPlane.preimage (γ.continuous.div_const (γ a)) have hUa (a : I) : a ∈ U a := by change γ a / γ a ∈ Complex.slitPlane simp [hne a] obtain ⟨t, t_0, t_mono, ⟨n_max, h_max⟩, t_sub⟩ := exists_monotone_Icc_subset_open_cover_unitInterval hU (fun a _ => Set.mem_iUnion.2 ⟨a, hUa a⟩) suffices ∀ n, ∃ Γ : I → ℂ, ContinuousOn Γ (Set.Icc 0 (t n)) ∧ (∀ s ∈ Set.Icc 0 (t n), Complex.exp (Γ s) = γ s) ∧ Γ 0 = e by obtain ⟨Γ, cont, eqOn, Γ_0⟩ := this n_max rw [h_max _ le_rfl] at cont eqOn refine ⟨⟨Γ, continuousOn_univ.mp ?_⟩, fun s => eqOn s ⟨bot_le, le_top⟩, Γ_0⟩ convert cont rw [eq_comm, Set.eq_univ_iff_forall] exact fun s => ⟨bot_le, le_top⟩ intro n induction n with | zero => refine ⟨fun _ => e, continuous_const.continuousOn, fun s hs => ?_, rfl⟩ rw [t_0, Set.Icc_self, Set.mem_singleton_iff] at hs subst hs exact he | succ n ih => obtain ⟨Γ, cont, eqOn, Γ_0⟩ := ih obtain ⟨a, hsub⟩ := t_sub n have htn : t n ∈ Set.Icc 0 (t n) := ⟨bot_le, le_rfl⟩ let P : I → ℂ := fun s => Γ (t n) + Complex.log (γ s / γ a) - Complex.log (γ (t n) / γ a) have hP (s : I) : Complex.exp (P s) = γ s := exp_log_patch (hne (t n)) (hne s) (hne a) (eqOn _ htn) have hPeq : P (t n) = Γ (t n) := by simp [P] have hPcont : ContinuousOn P (Set.Icc (t n) (t (n+1))) := by exact (continuous_const.continuousOn.add ((γ.continuous.div_const (γ a)).continuousOn.clog (fun s hs => hsub hs))).sub continuous_const.continuousOn refine ⟨fun s => if s ≤ t n then Γ s else P s, .if (fun s hs => ?_) (cont.mono fun s hs => ?_) ?_, fun s hs => ?_, ?_⟩ · cases frontier_Iic_subset _ hs.2 exact hPeq.symm · rw [closure_le_eq continuous_id' continuous_const] at hs exact ⟨hs.1.1, hs.2⟩ · simp_rw [not_le] exact hPcont.mono (fun s hs => ⟨closure_lt_subset_le continuous_const continuous_subtype_val hs.2, hs.1.2⟩) · dsimp only split_ifs with hsold · exact eqOn s ⟨hs.1, hsold⟩ · exact hP s · dsimp only rwa [ite_eq_left (t_0 ▸ t_mono n.zero_le)] end Polya26.Strike.S03.Header.CoveringLifting.ExpPaths end namespace Polya26.Strike.S03.Header.CoveringLifting open Function Set Topology unitInterval theorem lift_endpoints_equal (H : C(I × I, ℂ)) (hne : ∀ q, H q ≠ 0) (e : ℂ) (hsource : ∀ t, H (t, 0) = Complex.exp e) (htarget : ∀ t, H (t, 1) = H (0, 1)) (Γ₀ Γ₁ : C(I, ℂ)) (hΓ₀ : ∀ s, Complex.exp (Γ₀ s) = H (0, s)) (hΓ₁ : ∀ s, Complex.exp (Γ₁ s) = H (1, s)) (h₀ : Γ₀ 0 = e) (h₁ : Γ₁ 0 = e) : Γ₀ 1 = Γ₁ 1 := by have ex (t : I) : ∃ Γ : C(I, ℂ), (∀ s, Complex.exp (Γ s) = H (t, s)) ∧ Γ 0 = e := ExpPaths.exists_path_lift ⟨fun s => H (t, s), H.continuous.comp (Continuous.prodMk_right t)⟩ (fun s => hne (t, s)) e (hsource t).symm choose Γ hΓ hΓzero using ex have hc : Continuous (fun st : I × I => Γ st.2 st.1) := by apply Local.continuous_lift exp_localHomeomorph (T2Space.isSeparatedMap Complex.exp) (H.comp ContinuousMap.prodSwap) · ext ⟨s, t⟩ exact hΓ t s · simpa only [hΓzero] using (continuous_const : Continuous (fun _ : I => e)) · exact fun t => (Γ t).continuous have hends (t : I) : Γ t 1 = Γ 0 1 := by apply (T2Space.isSeparatedMap Complex.exp).const_of_comp exp_localHomeomorph.isLocallyInjective (hc.comp (Continuous.prodMk_right 1)) intro s t change Complex.exp (Γ s 1) = Complex.exp (Γ t 1) exact (hΓ s 1).trans ((htarget s).trans ((htarget t).symm.trans (hΓ t 1).symm)) have heq₀ : (Γ 0 : I → ℂ) = Γ₀ := by apply (T2Space.isSeparatedMap Complex.exp).eq_of_comp_eq exp_localHomeomorph.isLocallyInjective (Γ 0).continuous Γ₀.continuous (funext fun s => (hΓ 0 s).trans (hΓ₀ s).symm) 0 exact (hΓzero 0).trans h₀.symm have heq₁ : (Γ 1 : I → ℂ) = Γ₁ := by apply (T2Space.isSeparatedMap Complex.exp).eq_of_comp_eq exp_localHomeomorph.isLocallyInjective (Γ 1).continuous Γ₁.continuous (funext fun s => (hΓ 1 s).trans (hΓ₁ s).symm) 0 exact (hΓzero 1).trans h₁.symm exact (congrFun heq₀ 1).symm.trans ((hends 1).symm.trans (congrFun heq₁ 1)) theorem null_square_lift_closed (H : C(I × I, ℂ)) (hne : ∀ q, H q ≠ 0) (z : ℂ) (hsource : ∀ t, H (t, 0) = z) (htarget : ∀ t, H (t, 1) = z) (hone : ∀ s, H (1, s) = z) (Γ : C(I, ℂ)) (hΓ : ∀ s, Complex.exp (Γ s) = H (0, s)) : Γ 0 = Γ 1 := by have he : Complex.exp (Γ 0) = z := (hΓ 0).trans (hsource 0) exact (lift_endpoints_equal H hne (Γ 0) (fun t => (hsource t).trans he.symm) (fun t => (htarget t).trans (htarget 0).symm) Γ (.const I (Γ 0)) hΓ (fun s => he.trans (hone s).symm) rfl rfl).symm theorem exists_log_of_closed_loop_lifts {A : Type*} [TopologicalSpace A] [PathConnectedSpace A] [LocallyPathConnectedSpace A] (f : C(A, ℂ)) (hne : ∀ x, f x ≠ 0) (a : A) (hloops : ∀ p : Path a a, ∀ Γ : C(I, ℂ), (∀ t, Complex.exp (Γ t) = f (p t)) → Γ 0 = Γ 1) : ∃ L : C(A, ℂ), ∀ x, Complex.exp (L x) = f x := by let e := Complex.log (f a) have he : Complex.exp e = f a := Complex.exp_log (hne a) have hex : ∀ γ : C(I, A), γ 0 = a → ∃ Γ : C(I, ℂ), Γ 0 = e ∧ Complex.exp ∘ Γ = f.comp γ := by intro γ γ_0 obtain ⟨Γ, hΓ, hΓ0⟩ := ExpPaths.exists_path_lift (f.comp γ) (fun t => hne (γ t)) e (by simpa only [ContinuousMap.comp_apply, γ_0] using he) exact ⟨Γ, hΓ0, funext hΓ⟩ have huniq : ∀ γ γ' : C(I, A), ∀ Γ Γ' : C(I, ℂ), γ 0 = a → γ' 0 = a → Γ 0 = e → Γ' 0 = e → Complex.exp ∘ Γ = f.comp γ → Complex.exp ∘ Γ' = f.comp γ' → γ 1 = γ' 1 → Γ 1 = Γ' 1 := by intro γ γ' Γ Γ' γ_0 γ'_0 Γ_0 Γ'_0 Γ_lifts Γ'_lifts γγ'1 have hΓ (t : I) : Complex.exp (Γ t) = f (γ t) := congrFun Γ_lifts t have hΓ' (t : I) : Complex.exp (Γ' t) = f (γ' t) := congrFun Γ'_lifts t let d := Γ 1 - Γ' 1 have hdexp : Complex.exp d = 1 := by rw [Complex.exp_sub, hΓ, hΓ', γγ'1, div_self (hne _)] let p₀ : Path a (γ 1) := ⟨γ, γ_0, rfl⟩ let p₁ : Path a (γ 1) := ⟨γ', γ'_0, γγ'1.symm⟩ let q₀ : Path e (Γ 1) := ⟨Γ, Γ_0, rfl⟩ let qr : C(I, ℂ) := ⟨fun t => Γ' (σ t) + d, (Γ'.continuous.comp unitInterval.continuous_symm).add continuous_const⟩ have hqr₀ : qr 0 = Γ 1 := by change Γ' (σ 0) + (Γ 1 - Γ' 1) = Γ 1 rw [unitInterval.symm_zero] abel have hqr₁ : qr 1 = e + d := by change Γ' (σ 1) + d = e + d rw [unitInterval.symm_one, Γ'_0] let q₁ : Path (Γ 1) (e + d) := ⟨qr, hqr₀, hqr₁⟩ have hleft (t : I) : Complex.exp (q₀ t) = f (p₀ t) := hΓ t have hright (t : I) : Complex.exp (q₁ t) = f (p₁.symm t) := by change Complex.exp (Γ' (σ t) + d) = f (γ' (σ t)) rw [Complex.exp_add, hdexp, mul_one, hΓ'] have hall (t : I) : Complex.exp ((q₀.trans q₁) t) = f ((p₀.trans p₁.symm) t) := by simp only [Path.trans_apply] split_ifs · exact hleft _ · exact hright _ have hclose := hloops (p₀.trans p₁.symm) (q₀.trans q₁).toContinuousMap hall have hclose' : e = e + d := by exact (q₀.trans q₁).source.symm.trans (hclose.trans (q₀.trans q₁).target) have hd : d = 0 := by apply add_left_cancel (a := e) simpa only [add_zero] using hclose'.symm exact sub_eq_zero.mp hd obtain ⟨L, ⟨hLa, hL⟩, hUnique⟩ := Local.exists_unique_lift exp_localHomeomorph f a e he hex huniq exact ⟨L, fun x => congrFun hL x⟩ end Polya26.Strike.S03.Header.CoveringLifting namespace Polya26.Strike.S03.Header.CoveringLifting open Function Set Topology unitInterval abbrev NonzeroComplex := {z : ℂ // z ≠ 0} theorem exists_log_of_null_squares {A : Type*} [TopologicalSpace A] [PathConnectedSpace A] [LocallyPathConnectedSpace A] (f : C(A, NonzeroComplex)) (a : A) (hloops : ∀ p : Path a a, ∃ H : C(I × I, NonzeroComplex), (∀ s, H (0, s) = f (p s)) ∧ (∀ s, H (1, s) = f a) ∧ (∀ t, H (t, 0) = f a) ∧ (∀ t, H (t, 1) = f a)) : ∃ L : C(A, ℂ), ∀ x, Complex.exp (L x) = (f x).val := by let fc : C(A, ℂ) := ⟨fun x => (f x).val, continuous_subtype_val.comp f.continuous⟩ apply exists_log_of_closed_loop_lifts fc (fun x => (f x).property) a intro p Γ hΓ obtain ⟨H, hH0, hH1, hHs, hHt⟩ := hloops p let Hc : C(I × I, ℂ) := ⟨fun q => (H q).val, continuous_subtype_val.comp H.continuous⟩ apply null_square_lift_closed Hc (fun q => (H q).property) (f a).val · exact fun t => congrArg Subtype.val (hHs t) · exact fun t => congrArg Subtype.val (hHt t) · exact fun s => congrArg Subtype.val (hH1 s) · intro s exact (hΓ s).trans (congrArg Subtype.val (hH0 s)).symm end Polya26.Strike.S03.Header.CoveringLifting namespace Bounty end Bounty /- Actual unfilled-core product logarithm, consuming only compact header ports. The domain, complementary components, and continuous difference map are unchanged. -/ noncomputable section open Set Filter Topology Metric unitInterval namespace Polya26.Strike.S03.Header.CoreProductLog open Polya26.Strike.S04.Header.CoreLoopLog abbrev NonzeroComplex := {z : ℂ // z ≠ 0} theorem exists_log_of_null_loops {A : Type*} [TopologicalSpace A] [PathConnectedSpace A] [LocallyPathConnectedSpace A] (f : C(A, NonzeroComplex)) (a : A) (hloops : ∀ p : Path a a, Polya26.Strike.S04.Header.PathHomotopy.BasedHomotopic (p.map f.continuous) (Path.refl (f a))) : ∃ L : C(A, ℂ), ∀ x, Complex.exp (L x) = (f x).val := by apply Polya26.Strike.S03.Header.CoveringLifting.exists_log_of_null_squares f a intro p obtain ⟨H⟩ := hloops p refine ⟨Polya26.Strike.S04.Header.PathHomotopy.square H, ?_, ?_, ?_, ?_⟩ · exact fun s => Polya26.Strike.S04.Header.PathHomotopy.square_zero H s · exact fun s => Polya26.Strike.S04.Header.PathHomotopy.square_one H s · exact fun t => Polya26.Strike.S04.Header.PathHomotopy.square_source H t · exact fun t => Polya26.Strike.S04.Header.PathHomotopy.square_target H t def differenceMap (D E : Set ℂ) (hdis : Disjoint D E) : C(D × E,NonzeroComplex) := ⟨fun z => ⟨z.1.val-z.2.val,by intro hz have heq := sub_eq_zero.mp hz exact Set.disjoint_left.mp hdis z.1.property (heq.symm ▸ z.2.property)⟩, by fun_prop⟩ theorem product_log_of_unbounded_complements {D E : Set ℂ} (hDo : IsOpen D) (hEo : IsOpen E) (hD : IsPathConnected D) (hE : IsPathConnected E) (hdis : Disjoint D E) (q : D) (p : E) (hDu : ¬ Bornology.IsBounded (connectedComponentIn Dᶜ p.val)) (hEu : ¬ Bornology.IsBounded (connectedComponentIn Eᶜ q.val)) : ∃ L : C(D × E,ℂ), ∀ z, Complex.exp (L z) = z.1.val-z.2.val := by letI : PathConnectedSpace D := isPathConnected_iff_pathConnectedSpace.mp hD letI : PathConnectedSpace E := isPathConnected_iff_pathConnectedSpace.mp hE letI : LocallyPathConnectedSpace D := hDo.locallyPathConnectedSpace letI : LocallyPathConnectedSpace E := hEo.locallyPathConnectedSpace let f := differenceMap D E hdis apply exists_log_of_null_loops f (q,p) intro γpath apply Polya26.Strike.S04.Header.PathHomotopy.product_loops_nullhomotopic f q p · intro d let γ : C(I,ℂ) := ⟨fun t => (d t).val,by fun_prop⟩ have hγ : γ 0 = γ 1 := by exact (congrArg Subtype.val d.source).trans (congrArg Subtype.val d.target).symm have hgap : connectedComponentIn Dᶜ p.val ⊆ (range γ)ᶜ := by rintro x hx ⟨t,ht⟩ exact connectedComponentIn_subset Dᶜ p.val hx (ht ▸ (d t).property) have hp : p.val ∈ connectedComponentIn Dᶜ p.val := mem_connectedComponentIn (fun hd => Set.disjoint_left.mp hdis hd p.property) obtain ⟨L,hL,hLend⟩ := hasClosedLog_on_unbounded_preconnected γ hγ isPreconnected_connectedComponentIn hDu hgap hp exact Polya26.Strike.S04.Header.PathHomotopy.closedLift_nullhomotopic _ L hL hLend · intro d let γ : C(I,ℂ) := ⟨fun t => (d t).val,by fun_prop⟩ have hγ : γ 0 = γ 1 := by exact (congrArg Subtype.val d.source).trans (congrArg Subtype.val d.target).symm have hgap : connectedComponentIn Eᶜ q.val ⊆ (range γ)ᶜ := by rintro x hx ⟨t,ht⟩ exact connectedComponentIn_subset Eᶜ q.val hx (ht ▸ (d t).property) have hq : q.val ∈ connectedComponentIn Eᶜ q.val := mem_connectedComponentIn (fun he => Set.disjoint_left.mp hdis q.property he) obtain ⟨L,hL,hLend⟩ := hasClosedLog_on_unbounded_preconnected γ hγ isPreconnected_connectedComponentIn hEu hgap hq apply Polya26.Strike.S04.Header.PathHomotopy.closedLift_nullhomotopic _ ⟨fun t => L t+(Real.pi : ℂ)*Complex.I,L.continuous.add continuous_const⟩ · intro t change Complex.exp (L t+(Real.pi : ℂ)*Complex.I) = q.val-(d t).val rw [Complex.exp_add,hL t,Complex.exp_pi_mul_I] change ((d t).val-q.val)*(-1) = q.val-(d t).val ring · change L 0+(Real.pi : ℂ)*Complex.I = L 1+(Real.pi : ℂ)*Complex.I rw [hLend] end Polya26.Strike.S03.Header.CoreProductLog end namespace Bounty end Bounty /- Uniqueness of actual logarithm differences on a preconnected set. This replaces covering-map uniqueness with trusted separated local injectivity. -/ noncomputable section open Set Topology namespace Polya26.Strike.S03.Header.LogUniqueness theorem log_difference_constant {X : Type*} [TopologicalSpace X] {K : Set X} (hK : IsPreconnected K) (f g : X → ℂ) (hf : ContinuousOn f K) (hg : ContinuousOn g K) (he : ∀ x ∈ K, Complex.exp (f x) = Complex.exp (g x)) {x y : X} (hx : x ∈ K) (hy : y ∈ K) : f x-g x = f y-g y := by letI : PreconnectedSpace K := isPreconnected_iff_preconnectedSpace.mp hK let d : K → ℂ := fun z => f z.val-g z.val have hd : Continuous d := continuousOn_iff_continuous_domRestrict.mp (hf.sub hg) have hexp (z : K) : Complex.exp (d z) = 1 := by rw [Complex.exp_sub, he z.val z.property] exact div_self (Complex.exp_ne_zero _) exact (T2Space.isSeparatedMap Complex.exp).const_of_comp Polya26.Strike.S03.Header.CoveringLifting.exp_localHomeomorph.isLocallyInjective hd (fun a b => (hexp a).trans (hexp b).symm) ⟨x,hx⟩ ⟨y,hy⟩ end Polya26.Strike.S03.Header.LogUniqueness end namespace Bounty end Bounty /- Public replacement endpoints for the actual CoreLog lane. -/ namespace Polya26.Strike.S03.Header.CoreLogBundle open Set Topology theorem product_log_of_unbounded_complements {D E : Set ℂ} (hDo : IsOpen D) (hEo : IsOpen E) (hD : IsPathConnected D) (hE : IsPathConnected E) (hdis : Disjoint D E) (q : D) (p : E) (hDu : ¬ Bornology.IsBounded (connectedComponentIn Dᶜ p.val)) (hEu : ¬ Bornology.IsBounded (connectedComponentIn Eᶜ q.val)) : ∃ L : C(D × E,ℂ), ∀ z, Complex.exp (L z) = z.1.val-z.2.val := Polya26.Strike.S03.Header.CoreProductLog.product_log_of_unbounded_complements hDo hEo hD hE hdis q p hDu hEu theorem log_difference_constant {X : Type*} [TopologicalSpace X] {K : Set X} (hK : IsPreconnected K) (f g : X → ℂ) (hf : ContinuousOn f K) (hg : ContinuousOn g K) (he : ∀ x ∈ K, Complex.exp (f x) = Complex.exp (g x)) {x y : X} (hx : x ∈ K) (hy : y ∈ K) : f x-g x = f y-g y := Polya26.Strike.S03.Header.LogUniqueness.log_difference_constant hK f g hf hg he hx hy end Polya26.Strike.S03.Header.CoreLogBundle namespace Bounty end Bounty /- Minimal actual downstream enclosure-to-logarithm consumer. -/ noncomputable section open Set Filter Topology namespace Polya26.Strike.S03.Header.EnclosureLogProvider def BoundedEnclosure {X : Type*} [TopologicalSpace X] [Bornology X] (D E : Set X) : Prop := ∃ p ∈ E, E ⊆ connectedComponentIn Dᶜ p ∧ Bornology.IsBounded (connectedComponentIn Dᶜ p) theorem boundedEnclosure_of_component {X : Type*} [TopologicalSpace X] [Bornology X] {D E : Set X} (hE : IsPreconnected E) (hdis : Disjoint D E) {p : X} (hp : p ∈ E) (hb : Bornology.IsBounded (connectedComponentIn Dᶜ p)) : BoundedEnclosure D E := ⟨p,hp,hE.subset_connectedComponentIn hp (fun x hx hd => Set.disjoint_left.mp hdis hd hx),hb⟩ def ambientLog {D E : Set ℂ} (L : C(D × E,ℂ)) (z : ℂ × ℂ) : ℂ := by classical exact if h : z.1 ∈ D ∧ z.2 ∈ E then L (⟨z.1,h.1⟩,⟨z.2,h.2⟩) else 0 theorem ambientLog_continuousOn {D E : Set ℂ} (L : C(D × E,ℂ)) : ContinuousOn (ambientLog L) (D ×ˢ E) := by classical apply continuousOn_iff_continuous_domRestrict.mpr have hc : Continuous (fun z : (D ×ˢ E) => L (⟨z.val.1,z.property.1⟩,⟨z.val.2,z.property.2⟩)) := by fun_prop convert hc using 1 funext z change (if h : z.val.1 ∈ D ∧ z.val.2 ∈ E then L (⟨z.val.1,h.1⟩,⟨z.val.2,h.2⟩) else 0) = _ have hz : z.val.1 ∈ D ∧ z.val.2 ∈ E := z.property rw [dite_eq_left hz] theorem ambientLog_exp {D E : Set ℂ} (L : C(D × E,ℂ)) (hL : ∀ z, Complex.exp (L z) = z.1.val-z.2.val) : ∀ z ∈ D, ∀ w ∈ E, Complex.exp (ambientLog L (z,w)) = z-w := by intro z hz w hw dsimp only [ambientLog] rw [dif_pos ⟨hz,hw⟩] exact hL (⟨z,hz⟩,⟨w,hw⟩) /-- Absence of enclosure in both directions supplies the actual product-difference logarithm accepted by the checked phase selector. -/ theorem ambient_product_log_of_no_enclosure {D E : Set ℂ} (hDo : IsOpen D) (hEo : IsOpen E) (hD : IsPathConnected D) (hE : IsPathConnected E) (hdis : Disjoint D E) (hDE : ¬ BoundedEnclosure D E) (hED : ¬ BoundedEnclosure E D) : ∃ L : ℂ × ℂ → ℂ, ContinuousOn L (D ×ˢ E) ∧ ∀ z ∈ D, ∀ w ∈ E, Complex.exp (L (z,w)) = z-w := by obtain ⟨q,hq⟩ := hD.nonempty obtain ⟨p,hp⟩ := hE.nonempty have hDu : ¬ Bornology.IsBounded (connectedComponentIn Dᶜ p) := fun hb => hDE (boundedEnclosure_of_component hE.isConnected.isPreconnected hdis hp hb) have hEu : ¬ Bornology.IsBounded (connectedComponentIn Eᶜ q) := fun hb => hED (boundedEnclosure_of_component hD.isConnected.isPreconnected hdis.symm hq hb) obtain ⟨L,hL⟩ := Polya26.Strike.S03.Header.CoreLogBundle.product_log_of_unbounded_complements hDo hEo hD hE hdis ⟨q,hq⟩ ⟨p,hp⟩ hDu hEu exact ⟨ambientLog L,ambientLog_continuousOn L,ambientLog_exp L hL⟩ end Polya26.Strike.S03.Header.EnclosureLogProvider end end /- END CoreLogBundle -/ /- BEGIN TietzeFamily -/ section /- BEGIN Mathlib.Order.Monotone.Union -/ section /- Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov, Sébastien Gouëzel -/ /-! # Monotonicity on intervals In this file we prove that a function is (strictly) monotone (or antitone) on a linear order `α` provided that it is (strictly) monotone on `(-∞, a]` and on `[a, +∞)`. This is a special case of a more general statement where one deduces monotonicity on a union from monotonicity on each set. -/ section open Set variable {α β : Type*} [LinearOrder α] [Preorder β] {a : α} {f : α → β} /-- If `f` is strictly monotone both on `s` and `t`, with `s` to the left of `t` and the center point belonging to both `s` and `t`, then `f` is strictly monotone on `s ∪ t` -/ protected theorem StrictMonoOn.union {s t : Set α} {c : α} (h₁ : StrictMonoOn f s) (h₂ : StrictMonoOn f t) (hs : IsGreatest s c) (ht : IsLeast t c) : StrictMonoOn f (s ∪ t) := by have A : ∀ x, x ∈ s ∪ t → x ≤ c → x ∈ s := by intro x hx hxc cases hx · assumption rcases eq_or_lt_of_le hxc with (rfl | h'x) · exact hs.1 exact (lt_irrefl _ (h'x.trans_le (ht.2 (by assumption)))).elim have B : ∀ x, x ∈ s ∪ t → c ≤ x → x ∈ t := by intro x hx hxc match hx with | Or.inr hx => exact hx | Or.inl hx => rcases eq_or_lt_of_le hxc with (rfl | h'x) · exact ht.1 exact (lt_irrefl _ (h'x.trans_le (hs.2 hx))).elim intro x hx y hy hxy rcases lt_or_ge x c with (hxc | hcx) · have xs : x ∈ s := A _ hx hxc.le rcases lt_or_ge y c with (hyc | hcy) · exact h₁ xs (A _ hy hyc.le) hxy · exact (h₁ xs hs.1 hxc).trans_le (h₂.monotoneOn ht.1 (B _ hy hcy) hcy) · have xt : x ∈ t := B _ hx hcx have yt : y ∈ t := B _ hy (hcx.trans hxy.le) exact h₂ xt yt hxy /-- If `f` is strictly monotone both on `(-∞, a]` and `[a, ∞)`, then it is strictly monotone on the whole line. -/ protected theorem StrictMonoOn.Iic_union_Ici (h₁ : StrictMonoOn f (Iic a)) (h₂ : StrictMonoOn f (Ici a)) : StrictMono f := by rw [← strictMonoOn_univ, ← @Iic_union_Ici _ _ a] exact StrictMonoOn.union h₁ h₂ isGreatest_Iic isLeast_Ici /-- If `f` is strictly antitone both on `s` and `t`, with `s` to the left of `t` and the center point belonging to both `s` and `t`, then `f` is strictly antitone on `s ∪ t` -/ protected theorem StrictAntiOn.union {s t : Set α} {c : α} (h₁ : StrictAntiOn f s) (h₂ : StrictAntiOn f t) (hs : IsGreatest s c) (ht : IsLeast t c) : StrictAntiOn f (s ∪ t) := (h₁.dual_right.union h₂.dual_right hs ht).dual_right /-- If `f` is strictly antitone both on `(-∞, a]` and `[a, ∞)`, then it is strictly antitone on the whole line. -/ protected theorem StrictAntiOn.Iic_union_Ici (h₁ : StrictAntiOn f (Iic a)) (h₂ : StrictAntiOn f (Ici a)) : StrictAnti f := (h₁.dual_right.Iic_union_Ici h₂.dual_right).dual_right /-- If `f` is monotone both on `s` and `t`, with `s` to the left of `t` and the center point belonging to both `s` and `t`, then `f` is monotone on `s ∪ t` -/ protected theorem MonotoneOn.union_right {s t : Set α} {c : α} (h₁ : MonotoneOn f s) (h₂ : MonotoneOn f t) (hs : IsGreatest s c) (ht : IsLeast t c) : MonotoneOn f (s ∪ t) := by have A : ∀ x, x ∈ s ∪ t → x ≤ c → x ∈ s := by intro x hx hxc cases hx · assumption rcases eq_or_lt_of_le hxc with (rfl | h'x) · exact hs.1 exact (lt_irrefl _ (h'x.trans_le (ht.2 (by assumption)))).elim have B : ∀ x, x ∈ s ∪ t → c ≤ x → x ∈ t := by intro x hx hxc match hx with | Or.inr hx => exact hx | Or.inl hx => rcases eq_or_lt_of_le hxc with (rfl | h'x) · exact ht.1 exact (lt_irrefl _ (h'x.trans_le (hs.2 hx))).elim intro x hx y hy hxy rcases lt_or_ge x c with (hxc | hcx) · have xs : x ∈ s := A _ hx hxc.le rcases lt_or_ge y c with (hyc | hcy) · exact h₁ xs (A _ hy hyc.le) hxy · exact (h₁ xs hs.1 hxc.le).trans (h₂ ht.1 (B _ hy hcy) hcy) · have xt : x ∈ t := B _ hx hcx have yt : y ∈ t := B _ hy (hcx.trans hxy) exact h₂ xt yt hxy /-- If `f` is monotone both on `(-∞, a]` and `[a, ∞)`, then it is monotone on the whole line. -/ protected theorem MonotoneOn.Iic_union_Ici (h₁ : MonotoneOn f (Iic a)) (h₂ : MonotoneOn f (Ici a)) : Monotone f := by rw [← monotoneOn_univ, ← @Iic_union_Ici _ _ a] exact MonotoneOn.union_right h₁ h₂ isGreatest_Iic isLeast_Ici /-- If `f` is antitone both on `s` and `t`, with `s` to the left of `t` and the center point belonging to both `s` and `t`, then `f` is antitone on `s ∪ t` -/ protected theorem AntitoneOn.union_right {s t : Set α} {c : α} (h₁ : AntitoneOn f s) (h₂ : AntitoneOn f t) (hs : IsGreatest s c) (ht : IsLeast t c) : AntitoneOn f (s ∪ t) := (h₁.dual_right.union_right h₂.dual_right hs ht).dual_right /-- If `f` is antitone both on `(-∞, a]` and `[a, ∞)`, then it is antitone on the whole line. -/ protected theorem AntitoneOn.Iic_union_Ici (h₁ : AntitoneOn f (Iic a)) (h₂ : AntitoneOn f (Ici a)) : Antitone f := (h₁.dual_right.Iic_union_Ici h₂.dual_right).dual_right end end /- END Mathlib.Order.Monotone.Union -/ /- BEGIN Mathlib.Order.Monotone.Odd -/ section /- Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ /-! # Monotonicity of odd functions An odd function on a linear ordered additive commutative group `G` is monotone on the whole group provided that it is monotone on `Set.Ici 0`, see `monotone_of_odd_of_monotoneOn_nonneg`. We also prove versions of this lemma for `Antitone`, `StrictMono`, and `StrictAnti`. -/ section open Set variable {G H : Type*} [AddCommGroup G] [LinearOrder G] [IsOrderedAddMonoid G] [AddCommGroup H] [PartialOrder H] [IsOrderedAddMonoid H] /-- An odd function on a linear ordered additive commutative group is strictly monotone on the whole group provided that it is strictly monotone on `Set.Ici 0`. -/ theorem strictMono_of_odd_strictMonoOn_nonneg {f : G → H} (h₁ : ∀ x, f (-x) = -f x) (h₂ : StrictMonoOn f (Ici 0)) : StrictMono f := by refine StrictMonoOn.Iic_union_Ici (fun x hx y hy hxy => neg_lt_neg_iff.1 ?_) h₂ rw [← h₁, ← h₁] exact h₂ (neg_nonneg.2 hy) (neg_nonneg.2 hx) (neg_lt_neg hxy) /-- An odd function on a linear ordered additive commutative group is strictly antitone on the whole group provided that it is strictly antitone on `Set.Ici 0`. -/ theorem strictAnti_of_odd_strictAntiOn_nonneg {f : G → H} (h₁ : ∀ x, f (-x) = -f x) (h₂ : StrictAntiOn f (Ici 0)) : StrictAnti f := strictMono_of_odd_strictMonoOn_nonneg (H := Hᵒᵈ) h₁ h₂ /-- An odd function on a linear ordered additive commutative group is monotone on the whole group provided that it is monotone on `Set.Ici 0`. -/ theorem monotone_of_odd_of_monotoneOn_nonneg {f : G → H} (h₁ : ∀ x, f (-x) = -f x) (h₂ : MonotoneOn f (Ici 0)) : Monotone f := by refine MonotoneOn.Iic_union_Ici (fun x hx y hy hxy => neg_le_neg_iff.1 ?_) h₂ rw [← h₁, ← h₁] exact h₂ (neg_nonneg.2 hy) (neg_nonneg.2 hx) (neg_le_neg hxy) /-- An odd function on a linear ordered additive commutative group is antitone on the whole group provided that it is monotone on `Set.Ici 0`. -/ theorem antitone_of_odd_of_monotoneOn_nonneg {f : G → H} (h₁ : ∀ x, f (-x) = -f x) (h₂ : AntitoneOn f (Ici 0)) : Antitone f := monotone_of_odd_of_monotoneOn_nonneg (H := Hᵒᵈ) h₁ h₂ end end /- END Mathlib.Order.Monotone.Odd -/ /- BEGIN Mathlib.Order.Interval.Set.IsoIoo -/ section /- Copyright (c) 2022 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ /-! # Order isomorphism between a linear ordered field and `(-1, 1)` In this file we provide an order isomorphism `orderIsoIooNegOneOne` between the open interval `(-1, 1)` in a linear ordered field and the whole field. -/ section open Set /-- In a linear ordered field, the whole field is order isomorphic to the open interval `(-1, 1)`. We consider the actual implementation to be a "black box", so it is irreducible. -/ def orderIsoIooNegOneOne (k : Type*) [Field k] [LinearOrder k] [IsStrictOrderedRing k] : k ≃o Ioo (-1 : k) 1 := by refine StrictMono.orderIsoOfRightInverse ?_ ?_ (fun x ↦ x / (1 - |↑x|)) ?_ · refine codRestrict (fun x ↦ x / (1 + |x|)) _ fun x ↦ abs_lt.1 ?_ have H : 0 < 1 + |x| := (abs_nonneg x).trans_lt (lt_one_add _) calc |x / (1 + |x|)| = |x| / (1 + |x|) := by rw [abs_div, abs_of_pos H] _ < 1 := (div_lt_one H).2 (lt_one_add _) · refine (strictMono_of_odd_strictMonoOn_nonneg ?_ ?_).codRestrict _ · intro x simp only [abs_neg, neg_div] · rintro x (hx : 0 ≤ x) y (hy : 0 ≤ y) hxy simp [abs_of_nonneg, mul_add, mul_comm x y, div_lt_div_iff₀, hx.trans_lt (lt_one_add _), hy.trans_lt (lt_one_add _), *] · refine fun x ↦ Subtype.ext ?_ have : 0 < 1 - |(x : k)| := sub_pos.2 (abs_lt.2 x.2) change (x.val / ((1 : k) - |x.val|)) / ((1 : k) + |x.val / ((1 : k) - |x.val|)|) = x.val simp [field, abs_div, abs_of_pos this] end end /- END Mathlib.Order.Interval.Set.IsoIoo -/ /- BEGIN Mathlib.Topology.UrysohnsBounded -/ section /- Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ /-! # Urysohn's lemma for bounded continuous functions In this file we reformulate Urysohn's lemma `exists_continuous_zero_one_of_isClosed` in terms of bounded continuous functions `X →ᵇ ℝ`. These lemmas live in a separate file because `Topology.ContinuousMap.Bounded` imports too many other files. ## Tags Urysohn's lemma, normal topological space -/ section open BoundedContinuousFunction open Set Function /-- **Urysohn's lemma**: if `s` and `t` are two disjoint closed sets in a normal topological space `X`, then there exists a continuous function `f : X → ℝ` such that * `f` equals zero on `s`; * `f` equals one on `t`; * `0 ≤ f x ≤ 1` for all `x`. -/ theorem exists_bounded_zero_one_of_closed {X : Type*} [TopologicalSpace X] [NormalSpace X] {s t : Set X} (hs : IsClosed s) (ht : IsClosed t) (hd : Disjoint s t) : ∃ f : X →ᵇ ℝ, EqOn f 0 s ∧ EqOn f 1 t ∧ ∀ x, f x ∈ Icc (0 : ℝ) 1 := let ⟨f, hfs, hft, hf⟩ := exists_continuous_zero_one_of_isClosed hs ht hd ⟨⟨f, 1, fun _ _ => Real.dist_le_of_mem_Icc_01 (hf _) (hf _)⟩, hfs, hft, hf⟩ /-- Urysohn's lemma: if `s` and `t` are two disjoint closed sets in a normal topological space `X`, and `a ≤ b` are two real numbers, then there exists a continuous function `f : X → ℝ` such that * `f` equals `a` on `s`; * `f` equals `b` on `t`; * `a ≤ f x ≤ b` for all `x`. -/ theorem exists_bounded_mem_Icc_of_closed_of_le {X : Type*} [TopologicalSpace X] [NormalSpace X] {s t : Set X} (hs : IsClosed s) (ht : IsClosed t) (hd : Disjoint s t) {a b : ℝ} (hle : a ≤ b) : ∃ f : X →ᵇ ℝ, EqOn f (Function.const X a) s ∧ EqOn f (Function.const X b) t ∧ ∀ x, f x ∈ Icc a b := let ⟨f, hfs, hft, hf01⟩ := exists_bounded_zero_one_of_closed hs ht hd ⟨BoundedContinuousFunction.const X a + (b - a) • f, fun x hx => by simp [hfs hx], fun x hx => by simp [hft hx], fun x => ⟨by change a ≤ a + (b - a) * f x; exact le_add_of_nonneg_right (mul_nonneg (sub_nonneg.mpr hle) (hf01 x).1), by change a + (b - a) * f x ≤ b; have h := mul_le_mul_of_nonneg_left (hf01 x).2 (sub_nonneg.mpr hle); linarith⟩⟩ end end /- END Mathlib.Topology.UrysohnsBounded -/ /- BEGIN Mathlib.Topology.TietzeExtension -/ section /- Copyright (c) 2021 Yury Kudryashov. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Yury Kudryashov -/ /-! # Tietze extension theorem In this file we prove a few version of the Tietze extension theorem. The theorem says that a continuous function `s → ℝ` defined on a closed set in a normal topological space `Y` can be extended to a continuous function on the whole space. Moreover, if all values of the original function belong to some (finite or infinite, open or closed) interval, then the extension can be chosen so that it takes values in the same interval. In particular, if the original function is a bounded function, then there exists a bounded extension of the same norm. The proof mostly follows . We patch a small gap in the proof for unbounded functions, see `exists_extension_forall_exists_le_ge_of_isClosedEmbedding`. In addition we provide a class `TietzeExtension` encoding the idea that a topological space satisfies the Tietze extension theorem. This allows us to get a version of the Tietze extension theorem that simultaneously applies to `ℝ`, `ℝ × ℝ`, `ℂ`, `ι → ℝ`, `ℝ≥0` et cetera. At some point in the future, it may be desirable to provide instead a more general approach via *absolute retracts*, but the current implementation covers the most common use cases easily. ## Implementation notes We first prove the theorems for a closed embedding `e : X → Y` of a topological space into a normal topological space, then specialize them to the case `X = s : Set Y`, `e = (↑)`. ## Tags Tietze extension theorem, Urysohn's lemma, normal topological space -/ section open Topology /-! ### The `TietzeExtension` class -/ section TietzeExtensionClass universe u u₁ u₂ v w -- TODO: define *absolute retracts* and then prove they satisfy Tietze extension. -- Then make instances of that instead and remove this class. /-- A class encoding the concept that a space satisfies the Tietze extension property. -/ class TietzeExtension (Y : Type v) [TopologicalSpace Y] : Prop where exists_restrict_eq' {X : Type u} [TopologicalSpace X] [NormalSpace X] (s : Set X) (hs : IsClosed s) (f : C(s, Y)) : ∃ (g : C(X, Y)), g.restrict s = f variable {X₁ : Type u₁} [TopologicalSpace X₁] variable {X : Type u} [TopologicalSpace X] [NormalSpace X] {s : Set X} variable {e : X₁ → X} variable {Y : Type v} [TopologicalSpace Y] [TietzeExtension.{u, v} Y] /-- **Tietze extension theorem** for `TietzeExtension` spaces, a version for a closed set. Let `s` be a closed set in a normal topological space `X`. Let `f` be a continuous function on `s` with values in a `TietzeExtension` space `Y`. Then there exists a continuous function `g : C(X, Y)` such that `g.restrict s = f`. -/ theorem ContinuousMap.exists_restrict_eq (hs : IsClosed s) (f : C(s, Y)) : ∃ (g : C(X, Y)), g.restrict s = f := TietzeExtension.exists_restrict_eq' s hs f /-- **Tietze extension theorem** for `TietzeExtension` spaces. Let `e` be a closed embedding of a nonempty topological space `X₁` into a normal topological space `X`. Let `f` be a continuous function on `X₁` with values in a `TietzeExtension` space `Y`. Then there exists a continuous function `g : C(X, Y)` such that `g ∘ e = f`. -/ theorem ContinuousMap.exists_extension (he : IsClosedEmbedding e) (f : C(X₁, Y)) : ∃ (g : C(X, Y)), g.comp ⟨e, he.continuous⟩ = f := by let e' : X₁ ≃ₜ Set.range e := he.isEmbedding.toHomeomorph obtain ⟨g, hg⟩ := (f.comp e'.symm).exists_restrict_eq he.isClosed_range refine ⟨g, ?_⟩ ext x change g (e x) = f x have h := congrArg (fun k : C(Set.range e, Y) => k (e' x)) hg change g (e x) = f (e'.symm (e' x)) at h simpa only [Homeomorph.symm_apply_apply] using h /-- **Tietze extension theorem** for `TietzeExtension` spaces. Let `e` be a closed embedding of a nonempty topological space `X₁` into a normal topological space `X`. Let `f` be a continuous function on `X₁` with values in a `TietzeExtension` space `Y`. Then there exists a continuous function `g : C(X, Y)` such that `g ∘ e = f`. This version is provided for convenience and backwards compatibility. Here the composition is phrased in terms of bare functions. -/ theorem ContinuousMap.exists_extension' (he : IsClosedEmbedding e) (f : C(X₁, Y)) : ∃ (g : C(X, Y)), g ∘ e = f := f.exists_extension he |>.imp fun g hg ↦ by ext x; congrm($(hg) x) /-- This theorem is not intended to be used directly because it is rare for a set alone to satisfy `[TietzeExtension t]`. For example, `Metric.ball` in `ℝ` only satisfies it when the radius is strictly positive, so finding this as an instance will fail. Instead, it is intended to be used as a constructor for theorems about sets which *do* satisfy `[TietzeExtension t]` under some hypotheses. -/ theorem ContinuousMap.exists_forall_mem_restrict_eq (hs : IsClosed s) {Y : Type v} [TopologicalSpace Y] (f : C(s, Y)) {t : Set Y} (hf : ∀ x, f x ∈ t) [ht : TietzeExtension.{u, v} t] : ∃ (g : C(X, Y)), (∀ x, g x ∈ t) ∧ g.restrict s = f := by obtain ⟨g, hg⟩ := mk _ (map_continuous f |>.codRestrict hf) |>.exists_restrict_eq hs exact ⟨comp ⟨Subtype.val, by fun_prop⟩ g, by simp, by ext x; congrm(($(hg) x : Y))⟩ /-- This theorem is not intended to be used directly because it is rare for a set alone to satisfy `[TietzeExtension t]`. For example, `Metric.ball` in `ℝ` only satisfies it when the radius is strictly positive, so finding this as an instance will fail. Instead, it is intended to be used as a constructor for theorems about sets which *do* satisfy `[TietzeExtension t]` under some hypotheses. -/ theorem ContinuousMap.exists_extension_forall_mem (he : IsClosedEmbedding e) {Y : Type v} [TopologicalSpace Y] (f : C(X₁, Y)) {t : Set Y} (hf : ∀ x, f x ∈ t) [ht : TietzeExtension.{u, v} t] : ∃ (g : C(X, Y)), (∀ x, g x ∈ t) ∧ g.comp ⟨e, he.continuous⟩ = f := by obtain ⟨g, hg⟩ := mk _ (map_continuous f |>.codRestrict hf) |>.exists_extension he exact ⟨comp ⟨Subtype.val, by fun_prop⟩ g, by simp, by ext x; congrm(($(hg) x : Y))⟩ abbrev Pi.w10TietzeExtension {ι : Type*} {Y : ι → Type v} [∀ i, TopologicalSpace (Y i)] [∀ i, TietzeExtension.{u} (Y i)] : TietzeExtension.{u} (∀ i, Y i) where exists_restrict_eq' s hs f := by obtain ⟨g', hg'⟩ := Classical.skolem.mp <| fun i ↦ ContinuousMap.exists_restrict_eq hs (ContinuousMap.piEquiv _ _ |>.symm f i) exact ⟨ContinuousMap.piEquiv _ _ g', by ext x i; congrm($(hg' i) x)⟩ abbrev Prod.w10TietzeExtension {Y : Type v} {Z : Type w} [TopologicalSpace Y] [TietzeExtension.{u, v} Y] [TopologicalSpace Z] [TietzeExtension.{u, w} Z] : TietzeExtension.{u, max w v} (Y × Z) where exists_restrict_eq' s hs f := by obtain ⟨g₁, hg₁⟩ := (ContinuousMap.fst.comp f).exists_restrict_eq hs obtain ⟨g₂, hg₂⟩ := (ContinuousMap.snd.comp f).exists_restrict_eq hs exact ⟨g₁.prodMk g₂, by ext1 x; congrm(($(hg₁) x), $(hg₂) x)⟩ abbrev Unique.w10TietzeExtension {Y : Type v} [TopologicalSpace Y] [Nonempty Y] [Subsingleton Y] : TietzeExtension.{u, v} Y where exists_restrict_eq' _ _ f := ‹Nonempty Y›.elim fun y ↦ ⟨.const _ y, by ext; subsingleton⟩ /-- Any retract of a `TietzeExtension` space is one itself. -/ theorem TietzeExtension.of_retract {Y : Type v} {Z : Type w} [TopologicalSpace Y] [TopologicalSpace Z] [TietzeExtension.{u, w} Z] (ι : C(Y, Z)) (r : C(Z, Y)) (h : r.comp ι = .id Y) : TietzeExtension.{u, v} Y where exists_restrict_eq' s hs f := by obtain ⟨g, hg⟩ := (ι.comp f).exists_restrict_eq hs use r.comp g ext1 x have := congr(r.comp $(hg)) rw [← r.comp_assoc ι, h, f.id_comp] at this congrm($this x) /-- Any homeomorphism from a `TietzeExtension` space is one itself. -/ theorem TietzeExtension.of_homeo {Y : Type v} {Z : Type w} [TopologicalSpace Y] [TopologicalSpace Z] [TietzeExtension.{u, w} Z] (e : Y ≃ₜ Z) : TietzeExtension.{u, v} Y := .of_retract (e : C(Y, Z)) (e.symm : C(Z, Y)) <| by simp end TietzeExtensionClass /-! The Tietze extension theorem for `ℝ`. -/ variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] [NormalSpace Y] open Metric Set Filter open BoundedContinuousFunction Topology noncomputable section namespace BoundedContinuousFunction /-- One step in the proof of the Tietze extension theorem. If `e : C(X, Y)` is a closed embedding of a topological space into a normal topological space and `f : X →ᵇ ℝ` is a bounded continuous function, then there exists a bounded continuous function `g : Y →ᵇ ℝ` of the norm `‖g‖ ≤ ‖f‖ / 3` such that the distance between `g ∘ e` and `f` is at most `(2 / 3) * ‖f‖`. -/ theorem tietze_extension_step (f : X →ᵇ ℝ) (e : C(X, Y)) (he : IsClosedEmbedding e) : ∃ g : Y →ᵇ ℝ, ‖g‖ ≤ ‖f‖ / 3 ∧ dist (g.compContinuous e) f ≤ 2 / 3 * ‖f‖ := by have h3 : (0 : ℝ) < 3 := by norm_num1 have h23 : 0 < (2 / 3 : ℝ) := by norm_num1 -- In the trivial case `f = 0`, we take `g = 0` rcases eq_or_ne f 0 with (rfl | hf) · simp replace hf : 0 < ‖f‖ := norm_pos_iff.2 hf /- Otherwise, the closed sets `e '' f ⁻¹' (Iic (-‖f‖ / 3))` and `e '' f ⁻¹' (Ici (‖f‖ / 3))` are disjoint, hence by Urysohn's lemma there exists a function `g` that is equal to `-‖f‖ / 3` on the former set and is equal to `‖f‖ / 3` on the latter set. This function `g` satisfies the assertions of the lemma. -/ have hf3 : -‖f‖ / 3 < ‖f‖ / 3 := (div_lt_div_iff_of_pos_right h3).2 (Left.neg_lt_self hf) have hc₁ : IsClosed (e '' f ⁻¹' Iic (-‖f‖ / 3)) := he.isClosedMap _ (isClosed_Iic.preimage f.continuous) have hc₂ : IsClosed (e '' f ⁻¹' Ici (‖f‖ / 3)) := he.isClosedMap _ (isClosed_Ici.preimage f.continuous) have hd : Disjoint (e '' f ⁻¹' Iic (-‖f‖ / 3)) (e '' f ⁻¹' Ici (‖f‖ / 3)) := by refine disjoint_image_of_injective he.injective (Disjoint.preimage _ ?_) rwa [Iic_disjoint_Ici, not_le] rcases exists_bounded_mem_Icc_of_closed_of_le hc₁ hc₂ hd hf3.le with ⟨g, hg₁, hg₂, hgf⟩ refine ⟨g, ?_, ?_⟩ · refine (norm_le <| div_nonneg hf.le h3.le).mpr fun y => ?_ simpa [abs_le, neg_div] using hgf y · refine (dist_le <| mul_nonneg h23.le hf.le).mpr fun x => ?_ have hfx : -‖f‖ ≤ f x ∧ f x ≤ ‖f‖ := by simpa only [Real.norm_eq_abs, abs_le] using f.norm_coe_le_norm x rcases le_total (f x) (-‖f‖ / 3) with hle₁ | hle₁ · calc |g (e x) - f x| = -‖f‖ / 3 - f x := by rw [hg₁ (mem_image_of_mem _ hle₁), Function.const_apply, abs_of_nonneg (sub_nonneg.2 hle₁)] _ ≤ 2 / 3 * ‖f‖ := by linarith · rcases le_total (f x) (‖f‖ / 3) with hle₂ | hle₂ · simp only [neg_div] at * calc dist (g (e x)) (f x) ≤ |g (e x)| + |f x| := dist_le_norm_add_norm _ _ _ ≤ ‖f‖ / 3 + ‖f‖ / 3 := (add_le_add (abs_le.2 <| hgf _) (abs_le.2 ⟨hle₁, hle₂⟩)) _ = 2 / 3 * ‖f‖ := by linarith · calc |g (e x) - f x| = f x - ‖f‖ / 3 := by rw [hg₂ (mem_image_of_mem _ hle₂), abs_sub_comm, Function.const_apply, abs_of_nonneg (sub_nonneg.2 hle₂)] _ ≤ 2 / 3 * ‖f‖ := by linarith /-- **Tietze extension theorem** for real-valued bounded continuous maps, a version with a closed embedding and bundled composition. If `e : C(X, Y)` is a closed embedding of a topological space into a normal topological space and `f : X →ᵇ ℝ` is a bounded continuous function, then there exists a bounded continuous function `g : Y →ᵇ ℝ` of the same norm such that `g ∘ e = f`. -/ theorem exists_extension_norm_eq_of_isClosedEmbedding' (f : X →ᵇ ℝ) (e : C(X, Y)) (he : IsClosedEmbedding e) : ∃ g : Y →ᵇ ℝ, ‖g‖ = ‖f‖ ∧ g.compContinuous e = f := by /- For the proof, we iterate `tietze_extension_step`. Each time we apply it to the difference between the previous approximation and `f`. -/ choose F hF_norm hF_dist using fun f : X →ᵇ ℝ => tietze_extension_step f e he set g : ℕ → Y →ᵇ ℝ := fun n => (fun g => g + F (f - g.compContinuous e))^[n] 0 have g0 : g 0 = 0 := rfl have g_succ : ∀ n, g (n + 1) = g n + F (f - (g n).compContinuous e) := fun n => Function.iterate_succ_apply' _ _ _ have hgf : ∀ n, dist ((g n).compContinuous e) f ≤ (2 / 3) ^ n * ‖f‖ := by intro n induction n with | zero => simp [g0] | succ n ihn => rw [g_succ n, add_compContinuous, ← dist_sub_right, add_sub_cancel_left, pow_succ', mul_assoc] refine (hF_dist _).trans (mul_le_mul_of_nonneg_left ?_ (by norm_num1)) rwa [← dist_eq_norm'] have hg_dist : ∀ n, dist (g n) (g (n + 1)) ≤ 1 / 3 * ‖f‖ * (2 / 3) ^ n := by intro n calc dist (g n) (g (n + 1)) = ‖F (f - (g n).compContinuous e)‖ := by rw [g_succ, dist_eq_norm', add_sub_cancel_left] _ ≤ ‖f - (g n).compContinuous e‖ / 3 := hF_norm _ _ = 1 / 3 * dist ((g n).compContinuous e) f := by rw [dist_eq_norm', one_div, div_eq_inv_mul] _ ≤ 1 / 3 * ((2 / 3) ^ n * ‖f‖) := mul_le_mul_of_nonneg_left (hgf n) (by norm_num1) _ = 1 / 3 * ‖f‖ * (2 / 3) ^ n := by ac_rfl have hg_cau : CauchySeq g := cauchySeq_of_le_geometric _ _ (by norm_num1) hg_dist have : Tendsto (fun n => (g n).compContinuous e) atTop (𝓝 <| (limUnder atTop g).compContinuous e) := ((continuous_compContinuous e).tendsto _).comp hg_cau.tendsto_limUnder have hge : (limUnder atTop g).compContinuous e = f := by refine tendsto_nhds_unique this (tendsto_iff_dist_tendsto_zero.2 ?_) refine squeeze_zero (fun _ => dist_nonneg) hgf ?_ rw [← zero_mul ‖f‖] refine (tendsto_pow_atTop_nhds_zero_of_lt_one ?_ ?_).mul tendsto_const_nhds <;> norm_num1 refine ⟨limUnder atTop g, le_antisymm ?_ ?_, hge⟩ · rw [← dist_zero_left, ← g0] refine (dist_le_of_le_geometric_of_tendsto₀ _ _ (by norm_num1) hg_dist hg_cau.tendsto_limUnder).trans_eq ?_ ring · rw [← hge] exact norm_compContinuous_le _ _ /-- **Tietze extension theorem** for real-valued bounded continuous maps, a version with a closed embedding and unbundled composition. If `e : C(X, Y)` is a closed embedding of a topological space into a normal topological space and `f : X →ᵇ ℝ` is a bounded continuous function, then there exists a bounded continuous function `g : Y →ᵇ ℝ` of the same norm such that `g ∘ e = f`. -/ theorem exists_extension_norm_eq_of_isClosedEmbedding (f : X →ᵇ ℝ) {e : X → Y} (he : IsClosedEmbedding e) : ∃ g : Y →ᵇ ℝ, ‖g‖ = ‖f‖ ∧ g ∘ e = f := by rcases exists_extension_norm_eq_of_isClosedEmbedding' f ⟨e, he.continuous⟩ he with ⟨g, hg, rfl⟩ exact ⟨g, hg, rfl⟩ /-- **Tietze extension theorem** for real-valued bounded continuous maps, a version for a closed set. If `f` is a bounded continuous real-valued function defined on a closed set in a normal topological space, then it can be extended to a bounded continuous function of the same norm defined on the whole space. -/ theorem exists_norm_eq_domRestrict_eq_of_closed {s : Set Y} (f : s →ᵇ ℝ) (hs : IsClosed s) : ∃ g : Y →ᵇ ℝ, ‖g‖ = ‖f‖ ∧ g.domRestrict s = f := exists_extension_norm_eq_of_isClosedEmbedding' f ((ContinuousMap.id _).restrict s) hs.isClosedEmbedding_subtypeVal alias exists_norm_eq_restrict_eq_of_closed := exists_norm_eq_domRestrict_eq_of_closed /-- **Tietze extension theorem** for real-valued bounded continuous maps, a version for a closed embedding and a bounded continuous function that takes values in a non-trivial closed interval. See also `exists_extension_forall_mem_of_isClosedEmbedding` for a more general statement that works for any interval (finite or infinite, open or closed). If `e : X → Y` is a closed embedding and `f : X →ᵇ ℝ` is a bounded continuous function such that `f x ∈ [a, b]` for all `x`, where `a ≤ b`, then there exists a bounded continuous function `g : Y →ᵇ ℝ` such that `g y ∈ [a, b]` for all `y` and `g ∘ e = f`. -/ theorem exists_extension_forall_mem_Icc_of_isClosedEmbedding (f : X →ᵇ ℝ) {a b : ℝ} {e : X → Y} (hf : ∀ x, f x ∈ Icc a b) (hle : a ≤ b) (he : IsClosedEmbedding e) : ∃ g : Y →ᵇ ℝ, (∀ y, g y ∈ Icc a b) ∧ g ∘ e = f := by rcases exists_extension_norm_eq_of_isClosedEmbedding (f - const X ((a + b) / 2)) he with ⟨g, hgf, hge⟩ refine ⟨const Y ((a + b) / 2) + g, fun y => ?_, ?_⟩ · suffices ‖f - const X ((a + b) / 2)‖ ≤ (b - a) / 2 by simpa [Real.Icc_eq_closedBall, add_mem_closedBall_iff_norm] using (norm_coe_le_norm g y).trans (hgf.trans_le this) refine (norm_le <| div_nonneg (sub_nonneg.2 hle) zero_le_two).2 fun x => ?_ simpa only [Real.Icc_eq_closedBall] using! hf x · ext x have : g (e x) = f x - (a + b) / 2 := congr_fun hge x simp [this] /-- **Tietze extension theorem** for real-valued bounded continuous maps, a version for a closed embedding. Let `e` be a closed embedding of a nonempty topological space `X` into a normal topological space `Y`. Let `f` be a bounded continuous real-valued function on `X`. Then there exists a bounded continuous function `g : Y →ᵇ ℝ` such that `g ∘ e = f` and each value `g y` belongs to a closed interval `[f x₁, f x₂]` for some `x₁` and `x₂`. -/ theorem exists_extension_forall_exists_le_ge_of_isClosedEmbedding [Nonempty X] (f : X →ᵇ ℝ) {e : X → Y} (he : IsClosedEmbedding e) : ∃ g : Y →ᵇ ℝ, (∀ y, ∃ x₁ x₂, g y ∈ Icc (f x₁) (f x₂)) ∧ g ∘ e = f := by inhabit X -- Put `a = ⨅ x, f x` and `b = ⨆ x, f x` obtain ⟨a, ha⟩ : ∃ a, IsGLB (range f) a := ⟨_, isGLB_ciInf f.isBounded_range.bddBelow⟩ obtain ⟨b, hb⟩ : ∃ b, IsLUB (range f) b := ⟨_, isLUB_ciSup f.isBounded_range.bddAbove⟩ -- Then `f x ∈ [a, b]` for all `x` have hmem : ∀ x, f x ∈ Icc a b := fun x => ⟨ha.1 ⟨x, rfl⟩, hb.1 ⟨x, rfl⟩⟩ -- Rule out the trivial case `a = b` have hle : a ≤ b := (hmem default).1.trans (hmem default).2 rcases hle.eq_or_lt with (rfl | hlt) · have : ∀ x, f x = a := by simpa using hmem use const Y a simp [this, funext_iff] -- Put `c = (a + b) / 2`. Then `a < c < b` and `c - a = b - c`. set c := (a + b) / 2 have hac : a < c := left_lt_add_div_two.2 hlt have hcb : c < b := add_div_two_lt_right.2 hlt have hsub : c - a = b - c := by simp [c] ring /- Due to `exists_extension_forall_mem_Icc_of_isClosedEmbedding`, there exists an extension `g` such that `g y ∈ [a, b]` for all `y`. However, if `a` and/or `b` do not belong to the range of `f`, then we need to ensure that these points do not belong to the range of `g`. This is done in two almost identical steps. First we deal with the case `∀ x, f x ≠ a`. -/ obtain ⟨g, hg_mem, hgf⟩ : ∃ g : Y →ᵇ ℝ, (∀ y, ∃ x, g y ∈ Icc (f x) b) ∧ g ∘ e = f := by rcases exists_extension_forall_mem_Icc_of_isClosedEmbedding f hmem hle he with ⟨g, hg_mem, hgf⟩ -- If `a ∈ range f`, then we are done. rcases em (∃ x, f x = a) with (⟨x, rfl⟩ | ha') · exact ⟨g, fun y => ⟨x, hg_mem _⟩, hgf⟩ /- Otherwise, `g ⁻¹' {a}` is disjoint with `range e ∪ g ⁻¹' (Ici c)`, hence there exists a function `dg : Y → ℝ` such that `dg ∘ e = 0`, `dg y = 0` whenever `c ≤ g y`, `dg y = c - a` whenever `g y = a`, and `0 ≤ dg y ≤ c - a` for all `y`. -/ have hd : Disjoint (range e ∪ g ⁻¹' Ici c) (g ⁻¹' {a}) := by refine disjoint_union_left.2 ⟨?_, Disjoint.preimage _ ?_⟩ · rw [Set.disjoint_left] rintro _ ⟨x, rfl⟩ (rfl : g (e x) = a) exact ha' ⟨x, (congr_fun hgf x).symm⟩ · exact Set.disjoint_singleton_right.2 hac.not_ge rcases exists_bounded_mem_Icc_of_closed_of_le (he.isClosed_range.union <| isClosed_Ici.preimage g.continuous) (isClosed_singleton.preimage g.continuous) hd (sub_nonneg.2 hac.le) with ⟨dg, dg0, dga, dgmem⟩ replace hgf : ∀ x, (g + dg) (e x) = f x := by intro x simp [dg0 (Or.inl <| mem_range_self _), ← hgf] refine ⟨g + dg, fun y => ?_, funext hgf⟩ have hay : a < (g + dg) y := by rcases (hg_mem y).1.eq_or_lt with (rfl | hlt) · refine (lt_add_iff_pos_right _).2 ?_ calc 0 < c - g y := sub_pos.2 hac _ = dg y := (dga rfl).symm · exact hlt.trans_le (le_add_of_nonneg_right (dgmem y).1) rcases ha.exists_between hay with ⟨_, ⟨x, rfl⟩, _, hxy⟩ refine ⟨x, hxy.le, ?_⟩ rcases le_total c (g y) with hc | hc · simp [dg0 (Or.inr hc), (hg_mem y).2] · calc g y + dg y ≤ c + (c - a) := add_le_add hc (dgmem _).2 _ = b := by rw [hsub, add_sub_cancel] /- Now we deal with the case `∀ x, f x ≠ b`. The proof is the same as in the first case, with minor modifications that make it hard to deduplicate code. -/ choose xl hxl hgb using hg_mem rcases em (∃ x, f x = b) with (⟨x, rfl⟩ | hb') · exact ⟨g, fun y => ⟨xl y, x, hxl y, hgb y⟩, hgf⟩ have hd : Disjoint (range e ∪ g ⁻¹' Iic c) (g ⁻¹' {b}) := by refine disjoint_union_left.2 ⟨?_, Disjoint.preimage _ ?_⟩ · rw [Set.disjoint_left] rintro _ ⟨x, rfl⟩ (rfl : g (e x) = b) exact hb' ⟨x, (congr_fun hgf x).symm⟩ · exact Set.disjoint_singleton_right.2 hcb.not_ge rcases exists_bounded_mem_Icc_of_closed_of_le (he.isClosed_range.union <| isClosed_Iic.preimage g.continuous) (isClosed_singleton.preimage g.continuous) hd (sub_nonneg.2 hcb.le) with ⟨dg, dg0, dgb, dgmem⟩ replace hgf : ∀ x, (g - dg) (e x) = f x := by intro x simp [dg0 (Or.inl <| mem_range_self _), ← hgf] refine ⟨g - dg, fun y => ?_, funext hgf⟩ have hyb : (g - dg) y < b := by rcases (hgb y).eq_or_lt with (rfl | hlt) · refine (sub_lt_self_iff _).2 ?_ calc 0 < g y - c := sub_pos.2 hcb _ = dg y := (dgb rfl).symm · exact ((sub_le_self_iff _).2 (dgmem _).1).trans_lt hlt rcases hb.exists_between hyb with ⟨_, ⟨xu, rfl⟩, hyxu, _⟩ rcases lt_or_ge c (g y) with hc | hc · rcases em (a ∈ range f) with (⟨x, rfl⟩ | _) · refine ⟨x, xu, ?_, hyxu.le⟩ calc f x = c - (b - c) := by rw [← hsub, sub_sub_cancel] _ ≤ g y - dg y := sub_le_sub hc.le (dgmem _).2 · have hay : a < (g - dg) y := by calc a = c - (b - c) := by rw [← hsub, sub_sub_cancel] _ < g y - (b - c) := sub_lt_sub_right hc _ _ ≤ g y - dg y := sub_le_sub_left (dgmem _).2 _ rcases ha.exists_between hay with ⟨_, ⟨x, rfl⟩, _, hxy⟩ exact ⟨x, xu, hxy.le, hyxu.le⟩ · refine ⟨xl y, xu, ?_, hyxu.le⟩ simp [dg0 (Or.inr hc), hxl] /-- **Tietze extension theorem** for real-valued bounded continuous maps, a version for a closed embedding. Let `e` be a closed embedding of a nonempty topological space `X` into a normal topological space `Y`. Let `f` be a bounded continuous real-valued function on `X`. Let `t` be a nonempty convex set of real numbers (we use `OrdConnected` instead of `Convex` to automatically deduce this argument by typeclass search) such that `f x ∈ t` for all `x`. Then there exists a bounded continuous real-valued function `g : Y →ᵇ ℝ` such that `g y ∈ t` for all `y` and `g ∘ e = f`. -/ theorem exists_extension_forall_mem_of_isClosedEmbedding (f : X →ᵇ ℝ) {t : Set ℝ} {e : X → Y} [hs : OrdConnected t] (hf : ∀ x, f x ∈ t) (hne : t.Nonempty) (he : IsClosedEmbedding e) : ∃ g : Y →ᵇ ℝ, (∀ y, g y ∈ t) ∧ g ∘ e = f := by cases isEmpty_or_nonempty X · rcases hne with ⟨c, hc⟩ exact ⟨const Y c, fun _ => hc, funext fun x => isEmptyElim x⟩ rcases exists_extension_forall_exists_le_ge_of_isClosedEmbedding f he with ⟨g, hg, hgf⟩ refine ⟨g, fun y => ?_, hgf⟩ rcases hg y with ⟨xl, xu, h⟩ exact hs.out (hf _) (hf _) h /-- **Tietze extension theorem** for real-valued bounded continuous maps, a version for a closed set. Let `s` be a closed set in a normal topological space `Y`. Let `f` be a bounded continuous real-valued function on `s`. Let `t` be a nonempty convex set of real numbers (we use `OrdConnected` instead of `Convex` to automatically deduce this argument by typeclass search) such that `f x ∈ t` for all `x : s`. Then there exists a bounded continuous real-valued function `g : Y →ᵇ ℝ` such that `g y ∈ t` for all `y` and `g.domRestrict s = f`. -/ theorem exists_forall_mem_domRestrict_eq_of_closed {s : Set Y} (f : s →ᵇ ℝ) (hs : IsClosed s) {t : Set ℝ} [OrdConnected t] (hf : ∀ x, f x ∈ t) (hne : t.Nonempty) : ∃ g : Y →ᵇ ℝ, (∀ y, g y ∈ t) ∧ g.domRestrict s = f := by obtain ⟨g, hg, hgf⟩ := exists_extension_forall_mem_of_isClosedEmbedding f hf hne hs.isClosedEmbedding_subtypeVal exact ⟨g, hg, DFunLike.coe_injective hgf⟩ alias exists_forall_mem_restrict_eq_of_closed := exists_forall_mem_domRestrict_eq_of_closed end BoundedContinuousFunction namespace ContinuousMap /-- **Tietze extension theorem** for real-valued continuous maps, a version for a closed embedding. Let `e` be a closed embedding of a nonempty topological space `X` into a normal topological space `Y`. Let `f` be a continuous real-valued function on `X`. Let `t` be a nonempty convex set of real numbers (we use `OrdConnected` instead of `Convex` to automatically deduce this argument by typeclass search) such that `f x ∈ t` for all `x`. Then there exists a continuous real-valued function `g : C(Y, ℝ)` such that `g y ∈ t` for all `y` and `g ∘ e = f`. -/ theorem exists_extension_forall_mem_of_isClosedEmbedding (f : C(X, ℝ)) {t : Set ℝ} {e : X → Y} [hs : OrdConnected t] (hf : ∀ x, f x ∈ t) (hne : t.Nonempty) (he : IsClosedEmbedding e) : ∃ g : C(Y, ℝ), (∀ y, g y ∈ t) ∧ g ∘ e = f := by have h : ℝ ≃o Ioo (-1 : ℝ) 1 := orderIsoIooNegOneOne ℝ let F : X →ᵇ ℝ := { toFun := (↑) ∘ h ∘ f continuous_toFun := by fun_prop map_bounded' := isBounded_range_iff.1 ((isBounded_Ioo (-1 : ℝ) 1).subset <| range_subset_iff.2 fun x => (h (f x)).2) } let t' : Set ℝ := (↑) ∘ h '' t have ht_sub : t' ⊆ Ioo (-1 : ℝ) 1 := image_subset_iff.2 fun x _ => (h x).2 have : OrdConnected t' := by constructor rintro _ ⟨x, hx, rfl⟩ _ ⟨y, hy, rfl⟩ z hz lift z to Ioo (-1 : ℝ) 1 using Icc_subset_Ioo (h x).2.1 (h y).2.2 hz change z ∈ Icc (h x) (h y) at hz rw [← h.image_Icc] at hz rcases hz with ⟨z, hz, rfl⟩ exact ⟨z, hs.out hx hy hz, rfl⟩ have hFt : ∀ x, F x ∈ t' := fun x => mem_image_of_mem _ (hf x) rcases F.exists_extension_forall_mem_of_isClosedEmbedding hFt (hne.image _) he with ⟨G, hG, hGF⟩ let g : C(Y, ℝ) := ⟨h.symm ∘ codRestrict G _ fun y => ht_sub (hG y), h.symm.continuous.comp <| G.continuous.subtype_mk _⟩ have hgG : ∀ {y a}, g y = a ↔ G y = h a := @fun y a => h.toEquiv.symm_apply_eq.trans Subtype.ext_iff refine ⟨g, fun y => ?_, ?_⟩ · rcases hG y with ⟨a, ha, hay⟩ convert! ha exact hgG.2 hay.symm · ext x exact hgG.2 (congr_fun hGF _) /-- **Tietze extension theorem** for real-valued continuous maps, a version for a closed set. Let `s` be a closed set in a normal topological space `Y`. Let `f` be a continuous real-valued function on `s`. Let `t` be a nonempty convex set of real numbers (we use `OrdConnected` instead of `Convex` to automatically deduce this argument by typeclass search) such that `f x ∈ t` for all `x : s`. Then there exists a continuous real-valued function `g : C(Y, ℝ)` such that `g y ∈ t` for all `y` and `g.restrict s = f`. -/ theorem exists_restrict_eq_forall_mem_of_closed {s : Set Y} (f : C(s, ℝ)) {t : Set ℝ} [OrdConnected t] (ht : ∀ x, f x ∈ t) (hne : t.Nonempty) (hs : IsClosed s) : ∃ g : C(Y, ℝ), (∀ y, g y ∈ t) ∧ g.restrict s = f := let ⟨g, hgt, hgf⟩ := exists_extension_forall_mem_of_isClosedEmbedding f ht hne hs.isClosedEmbedding_subtypeVal ⟨g, hgt, coe_injective hgf⟩ end ContinuousMap /-- **Tietze extension theorem** for real-valued continuous maps. `ℝ` is a `TietzeExtension` space. -/ abbrev Real.w10TietzeExtension : TietzeExtension ℝ where exists_restrict_eq' _s hs f := f.exists_restrict_eq_forall_mem_of_closed (fun _ => mem_univ _) univ_nonempty hs |>.imp fun _ ↦ (And.right ·) end end end /- END Mathlib.Topology.TietzeExtension -/ end /- END TietzeFamily -/ /- BEGIN QuantileTopology -/ section noncomputable section open Set namespace Polya26.QuantileTopologyBridge open Polya26.MedianSelector /-- The actual closed coefficient zero set. No manifold structure is used. -/ def zeroSet (F0 : Sphere3 → ℝ) : Set Sphere3 := {c | F0 c = 0} /-- The antipodal map restricted to an odd scalar's zero set. -/ def zeroAntipode : ( letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} ∀ (F0 : Sphere3 → ℝ) (hodd : ∀ c, F0 (-c) = -F0 c) (c : zeroSet F0), zeroSet F0) := letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} fun (F0 : Sphere3 → ℝ) (hodd : ∀ c, F0 (-c) = -F0 c) (c : zeroSet F0) => ⟨-c.val, by change F0 (-c.val) = 0 rw [hodd, c.property] exact neg_zero⟩ theorem zeroSet_isClosed {F0 : Sphere3 → ℝ} (hF0 : Continuous F0) : IsClosed (zeroSet F0) := isClosed_eq hF0 continuous_const theorem zeroAntipode_continuous : ( letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} ∀ (F0 : Sphere3 → ℝ) (hodd : ∀ c, F0 (-c) = -F0 c), Continuous (zeroAntipode F0 hodd)) := letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} fun (F0 : Sphere3 → ℝ) (hodd : ∀ c, F0 (-c) = -F0 c) => by apply continuous_induced_rng.mpr exact continuous_neg.comp continuous_subtype_val theorem zeroAntipode_involutive : ( letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} ∀ (F0 : Sphere3 → ℝ) (hodd : ∀ c, F0 (-c) = -F0 c), Function.Involutive (zeroAntipode F0 hodd)) := letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} fun (F0 : Sphere3 → ℝ) (hodd : ∀ c, F0 (-c) = -F0 c) => by intro c apply Subtype.ext exact neg_neg c.val /-- Native Tietze extension transported to the actual Euclidean plane. -/ theorem plane_tietzeExtension.{w10u} : TietzeExtension.{w10u,0} Plane := by letI : TietzeExtension.{w10u,0} ℝ := Real.w10TietzeExtension letI : TietzeExtension.{w10u,0} (Fin 2 → ℝ) := Pi.w10TietzeExtension exact TietzeExtension.of_homeo (PiLp.homeomorph 2 (fun _ : Fin 2 => ℝ)) /-- Ordinary S3 Borsuk--Ulam implies the relative coincidence theorem on the actual closed zero set of any continuous odd scalar. The selected point map itself need not be equivariant. -/ theorem relative_borsukUlam : ( letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} ∀ (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (f : zeroSet F0 → Plane) (hf : Continuous f), ∃ c : zeroSet F0, f c = f (zeroAntipode F0 hodd c)) := letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} fun (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (f : zeroSet F0 → Plane) (hf : Continuous f) => by letI : TietzeExtension Plane := plane_tietzeExtension obtain ⟨g, hg⟩ := (ContinuousMap.mk f hf).exists_restrict_eq (zeroSet_isClosed hF0) have hg_apply (c : zeroSet F0) : g c.val = f c := by exact congrArg (fun k : C(zeroSet F0, Plane) => k c) hg let F : Sphere3 → ℝ × Plane := fun c => (F0 c, g c - g (-c)) have hF : Continuous F := hF0.prodMk (g.continuous.sub (g.continuous.comp continuous_neg)) have hFodd : ∀ c, F (-c) = -F c := by intro c apply Prod.ext · exact hodd c · change g (-c) - g (-(-c)) = -(g c - g (-c)) rw [neg_neg] abel obtain ⟨c, hc⟩ := hBU F hF hFodd have hc0 : F0 c = 0 := congrArg Prod.fst hc have hcg : g c = g (-c) := sub_eq_zero.mp (congrArg Prod.snd hc) let z : zeroSet F0 := ⟨c, hc0⟩ refine ⟨z, ?_⟩ rw [← hg_apply z, ← hg_apply (zeroAntipode F0 hodd z)] exact hcg /-- The exact selection obstruction: continuously choosing one point in each positive filled core forces the two antipodal fibres to intersect. This theorem assumes only the actual selection, not a spectral model. -/ theorem selected_fibres_intersect : ( letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} ∀ (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (cores : zeroSet F0 → Set Plane) (f : zeroSet F0 → Plane) (hf : Continuous f) (hmem : ∀ c, f c ∈ cores c), ∃ c : zeroSet F0, (cores c ∩ cores (zeroAntipode F0 hodd c)).Nonempty) := letI := @w10SphereNeg.{0} letI := @w10SphereContinuousNeg.{0} fun (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (cores : zeroSet F0 → Set Plane) (f : zeroSet F0 → Plane) (hf : Continuous f) (hmem : ∀ c, f c ∈ cores c) => by obtain ⟨c, hc⟩ := relative_borsukUlam hBU F0 hF0 hodd f hf refine ⟨c, f c, hmem c, ?_⟩ rw [hc] exact hmem (zeroAntipode F0 hodd c) end Polya26.QuantileTopologyBridge end end /- END QuantileTopology -/ /- BEGIN CoreProductLogPublicAlias -/ section namespace Polya26.CoreProductLog abbrev product_log_of_unbounded_complements := @Polya26.Strike.S03.Header.CoreLogBundle.product_log_of_unbounded_complements end Polya26.CoreProductLog end /- END CoreProductLogPublicAlias -/ /- BEGIN FilledCoreLogSelector -/ section /-! Finite logarithmic phase for two disjoint opposite simply connected cores. This constructs a nonzero odd complex map from actual set-valued fibres; it does not assume a continuous point selection or covering dimension. -/ noncomputable section open Set Filter Topology open scoped BigOperators namespace Polya26.FilledCoreLogSelector section Product variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] end Product /- A genuine continuous logarithm of the difference on two disjoint open simply connected planar fibres. -/ theorem log_difference_constant {X : Type*} [TopologicalSpace X] {K : Set X} (hK : IsPreconnected K) (f g : X → ℂ) (hf : ContinuousOn f K) (hg : ContinuousOn g K) (he : ∀ x ∈ K, Complex.exp (f x) = Complex.exp (g x)) {x y : X} (hx : x ∈ K) (hy : y ∈ K) : f x-g x = f y-g y := Polya26.Strike.S03.Header.CoreLogBundle.log_difference_constant hK f g hf hg he hx hy section FinitePhase variable {ι : Type*} [Fintype ι] def weightedPhase (w : ι → ℂ) (a : ι → ℂ) : ℂ := Complex.exp (∑ i, w i*a i) theorem weightedPhase_ne_zero (w : ι → ℂ) (a : ι → ℂ) : weightedPhase w a ≠ 0 := Complex.exp_ne_zero _ theorem weightedPhase_eq_of_shift (w : ι → ℂ) (f g : ι → ℂ) (δ : ℂ) (hw : ∑ i, w i = 1) (hδ : Complex.exp δ = 1) (hfg : ∀ i, w i ≠ 0 → f i = g i+δ) : weightedPhase w f = weightedPhase w g := by have he : (∑ i, w i*f i) = (∑ i, w i*g i)+δ := by calc (∑ i, w i*f i) = ∑ i, w i*(g i+δ) := by apply Finset.sum_congr rfl intro i hi by_cases hwi : w i = 0 · simp only [hwi,zero_mul] · rw [hfg i hwi] _ = (∑ i, w i*g i)+(∑ i, w i)*δ := by simp only [mul_add, Finset.sum_add_distrib, Finset.sum_mul] _ = (∑ i, w i*g i)+δ := by rw [hw,one_mul] simp only [weightedPhase,he,Complex.exp_add,hδ,mul_one] theorem weightedPhase_eq_of_logs {X : Type*} [TopologicalSpace X] {K : Set X} (hK : IsConnected K) (f g : X → ℂ) (hf : ContinuousOn f K) (hg : ContinuousOn g K) (he : ∀ x ∈ K, Complex.exp (f x) = Complex.exp (g x)) (w : ι → ℂ) (p : ι → X) (hw : ∑ i, w i = 1) (hp : ∀ i, w i ≠ 0 → p i ∈ K) : weightedPhase w (fun i => f (p i)) = weightedPhase w (fun i => g (p i)) := by obtain ⟨x,hx⟩ := hK.nonempty let δ := f x-g x have hδ : Complex.exp δ = 1 := by rw [Complex.exp_sub, he x hx] exact div_self (Complex.exp_ne_zero _) apply weightedPhase_eq_of_shift w _ _ δ hw hδ intro i hi have hconst := log_difference_constant hK.isPreconnected f g hf hg he (hp i hi) hx dsimp only [δ] linear_combination hconst end FinitePhase section CompactPaths /- Finitely many points of a path connected planar open fibre lie in one compact connected subset of that fibre. -/ theorem finite_points_compact_connected {ι : Type*} [Fintype ι] {D : Set ℂ} (hD : IsPathConnected D) (p : ι → ℂ) (hp : ∀ i, p i ∈ D) : ∃ K : Set ℂ, IsCompact K ∧ IsConnected K ∧ K ⊆ D ∧ ∀ i, p i ∈ K := by classical obtain ⟨b,hb⟩ := hD.nonempty let a : Option ι → ℂ := fun i => i.elim b p have ha (i : Option ι) : a i ∈ D := by cases i <;> simp [a,hb,hp] let γ (i : Option ι) : Path b (a i) := (hD.joinedIn b hb (a i) (ha i)).somePath let K : Set ℂ := ⋃ i, Set.range (γ i) have hbK : b ∈ K := mem_iUnion.mpr ⟨none,0,by simp [γ]⟩ refine ⟨K,?_,⟨⟨b,hbK⟩,?_⟩,?_,?_⟩ · exact isCompact_iUnion (fun i => isCompact_range (γ i).continuous) · exact isPreconnected_iUnion ⟨b,mem_iInter.mpr (fun i => ⟨0,(γ i).source⟩)⟩ (fun i => (isConnected_range (γ i).continuous).isPreconnected) · intro z hz obtain ⟨i,t,rfl⟩ := mem_iUnion.mp hz exact (hD.joinedIn b hb (a i) (ha i)).somePath_mem t · intro i exact mem_iUnion.mpr ⟨some i,1,(γ (some i)).target⟩ end CompactPaths /- The actual compact-subset persistence supplied by an open core graph. -/ def CompactPersistence {X : Type*} [TopologicalSpace X] (D : X → Set ℂ) : Prop := ∀ x K, IsCompact K → K ⊆ D x → ∀ᶠ y in 𝓝 x, K ⊆ D y /- Finite continuous atomic weights. Closed support containment is the precise native subordinate-partition property needed for continuity. -/ structure AtomicFamily {X : Type*} [TopologicalSpace X] (ι : Type*) [Fintype ι] (D : X → Set ℂ) where point : ι → ℂ weight : ι → C(X,ℝ) sum_one : ∀ x, ∑ i, weight i x = 1 subordinate : ∀ i x, x ∈ tsupport (weight i) → point i ∈ D x section AtomicPhase variable {X ι : Type*} [TopologicalSpace X] [Fintype ι] {D : X → Set ℂ} def pairWeight (a : AtomicFamily ι D) (σ : X → X) (x : X) (ij : ι × ι) : ℂ := ((a.weight ij.1 x*a.weight ij.2 (σ x) : ℝ) : ℂ) theorem pairWeight_sum_one (a : AtomicFamily ι D) (σ : X → X) (x : X) : ∑ ij, pairWeight a σ x ij = 1 := by simp only [pairWeight,Fintype.sum_prod_type,Complex.ofReal_mul, ← Finset.mul_sum, ← Finset.sum_mul, ← Complex.ofReal_sum, a.sum_one, Complex.ofReal_one,one_mul] def atomicPhase (a : AtomicFamily ι D) (σ : X → X) (L : X → ℂ × ℂ → ℂ) (x : X) : ℂ := weightedPhase (pairWeight a σ x) (fun ij => L x (a.point ij.1,a.point ij.2)) theorem atomicPhase_ne_zero (a : AtomicFamily ι D) (σ : X → X) (L : X → ℂ × ℂ → ℂ) (x : X) : atomicPhase a σ L x ≠ 0 := weightedPhase_ne_zero _ _ theorem pairWeight_points (a : AtomicFamily ι D) (σ : X → X) (x : X) (ij : ι × ι) (hij : pairWeight a σ x ij ≠ 0) : (a.point ij.1,a.point ij.2) ∈ D x ×ˢ D (σ x) := by have hw : a.weight ij.1 x*a.weight ij.2 (σ x) ≠ 0 := by change ((a.weight ij.1 x*a.weight ij.2 (σ x) : ℝ) : ℂ) ≠ 0 at hij exact_mod_cast hij obtain ⟨hi,hj⟩ := mul_ne_zero_iff.mp hw exact ⟨a.subordinate _ _ (subset_tsupport _ hi), a.subordinate _ _ (subset_tsupport _ hj)⟩ theorem compact_support_atoms (a : AtomicFamily ι D) (hD : ∀ x, IsPathConnected (D x)) (x : X) : ∃ K : Set ℂ, IsCompact K ∧ IsConnected K ∧ K ⊆ D x ∧ ∀ i, x ∈ tsupport (a.weight i) → a.point i ∈ K := by classical obtain ⟨b,hb⟩ := (hD x).nonempty let p : ι → ℂ := fun i => if x ∈ tsupport (a.weight i) then a.point i else b have hp (i : ι) : p i ∈ D x := by dsimp only [p] split_ifs with hi · exact a.subordinate i x hi · exact hb obtain ⟨K,hKc,hKcon,hKD,hpK⟩ := finite_points_compact_connected (hD x) p hp refine ⟨K,hKc,hKcon,hKD,?_⟩ intro i hi simpa only [p,if_pos hi] using hpK i theorem eventually_nonzero_atoms (a : AtomicFamily ι D) (x : X) (K : Set ℂ) (hK : ∀ i, x ∈ tsupport (a.weight i) → a.point i ∈ K) : ∀ᶠ y in 𝓝 x, ∀ i, a.weight i y ≠ 0 → a.point i ∈ K := by apply Filter.eventually_all.mpr intro i by_cases hi : x ∈ tsupport (a.weight i) · exact Eventually.of_forall (fun y hy => hK i hi) · filter_upwards [(isClosed_tsupport _).isOpen_compl.mem_nhds hi] with y hy intro hne exact False.elim (hne (image_eq_zero_of_notMem_tsupport hy)) /- The logarithmic phase is continuous despite domain mergers. Closed atomic supports provide one fixed connected compact product locally. -/ theorem atomicPhase_continuous (a : AtomicFamily ι D) (σ : X → X) (hσ : Continuous σ) (hD : ∀ x, IsPathConnected (D x)) (hpersist : CompactPersistence D) (L : X → ℂ × ℂ → ℂ) (hLc : ∀ x, ContinuousOn (L x) (D x ×ˢ D (σ x))) (hLe : ∀ x, ∀ z ∈ D x, ∀ w ∈ D (σ x), Complex.exp (L x (z,w)) = z-w) : Continuous (atomicPhase a σ L) := by classical apply continuous_iff_continuousAt.mpr intro x obtain ⟨K,hKc,hKcon,hKD,hKatoms⟩ := compact_support_atoms a hD x obtain ⟨J,hJc,hJcon,hJD,hJatoms⟩ := compact_support_atoms a hD (σ x) have hKat := eventually_nonzero_atoms a x K hKatoms have hJat := (hσ.tendsto x).eventually (eventually_nonzero_atoms a (σ x) J hJatoms) have hKper := hpersist x K hKc hKD have hJper := (hσ.tendsto x).eventually (hpersist (σ x) J hJc hJD) let fixed : X → ℂ := fun y => weightedPhase (pairWeight a σ y) (fun ij => L x (a.point ij.1,a.point ij.2)) have hfixed : Continuous fixed := by apply Complex.continuous_exp.comp apply continuous_finsetSum intro ij hij exact ((Complex.continuous_ofReal.comp ((a.weight ij.1).continuous.mul ((a.weight ij.2).continuous.comp hσ))).mul continuous_const) have heq : atomicPhase a σ L =ᶠ[𝓝 x] fixed := by filter_upwards [hKat,hJat,hKper,hJper] with y hyK hyJ hyKD hyJD apply weightedPhase_eq_of_logs (hKcon.prod hJcon) (L y) (L x) ((hLc y).mono (Set.prod_mono hyKD hyJD)) ((hLc x).mono (Set.prod_mono hKD hJD)) (fun z hz => (hLe y z.1 (hyKD hz.1) z.2 (hyJD hz.2)).trans (hLe x z.1 (hKD hz.1) z.2 (hJD hz.2)).symm) (pairWeight a σ y) (fun ij => (a.point ij.1,a.point ij.2)) (pairWeight_sum_one a σ y) intro ij hij have hw : a.weight ij.1 y*a.weight ij.2 (σ y) ≠ 0 := by change ((a.weight ij.1 y*a.weight ij.2 (σ y) : ℝ) : ℂ) ≠ 0 at hij exact_mod_cast hij obtain ⟨hi,hj⟩ := mul_ne_zero_iff.mp hw exact ⟨hyK _ hi,hyJ _ hj⟩ exact hfixed.continuousAt.congr_of_eventuallyEq heq /- Transposing the two fibre factors changes the phase by exactly -1. -/ theorem atomicPhase_odd (a : AtomicFamily ι D) (σ : X → X) (hσ : Function.Involutive σ) (hD : ∀ x, IsPathConnected (D x)) (L : X → ℂ × ℂ → ℂ) (hLc : ∀ x, ContinuousOn (L x) (D x ×ˢ D (σ x))) (hLe : ∀ x, ∀ z ∈ D x, ∀ w ∈ D (σ x), Complex.exp (L x (z,w)) = z-w) (x : X) : atomicPhase a σ L (σ x) = -atomicPhase a σ L x := by let A : ℂ × ℂ → ℂ := fun z => L x (z.2,z.1)+(Real.pi : ℂ)*Complex.I have hA : ContinuousOn A (D (σ x) ×ˢ D x) := by apply ContinuousOn.add _ continuousOn_const exact (hLc x).comp (continuous_snd.prodMk continuous_fst).continuousOn (fun z hz => ⟨hz.2,hz.1⟩) have hAe : ∀ z ∈ D (σ x), ∀ w ∈ D x, Complex.exp (A (z,w)) = z-w := by intro z hz w hw dsimp only [A] rw [Complex.exp_add, hLe x w hw z hz, Complex.exp_pi_mul_I] ring have hcompare : atomicPhase a σ L (σ x) = weightedPhase (pairWeight a σ (σ x)) (fun ij => A (a.point ij.1,a.point ij.2)) := by apply weightedPhase_eq_of_logs ((hD (σ x)).isConnected.prod (hD x).isConnected) (L (σ x)) A (by simpa only [hσ x] using hLc (σ x)) hA (fun z hz => (hLe (σ x) z.1 hz.1 z.2 (by simpa only [hσ x] using hz.2)).trans (hAe z.1 hz.1 z.2 hz.2).symm) (pairWeight a σ (σ x)) (fun ij => (a.point ij.1,a.point ij.2)) (pairWeight_sum_one a σ (σ x)) intro ij hij simpa only [hσ x] using pairWeight_points a σ (σ x) ij hij have hweight (ij : ι × ι) : pairWeight a σ (σ x) ij = pairWeight a σ x (ij.2,ij.1) := by simp only [pairWeight,hσ x,mul_comm] have hswap : (∑ ij, pairWeight a σ (σ x) ij * L x (a.point ij.2,a.point ij.1)) = ∑ ij, pairWeight a σ x ij * L x (a.point ij.1,a.point ij.2) := by simp_rw [hweight] exact (Equiv.prodComm ι ι).sum_comp (fun ij => pairWeight a σ x ij * L x (a.point ij.1,a.point ij.2)) have hsum : (∑ ij, pairWeight a σ (σ x) ij * A (a.point ij.1,a.point ij.2)) = (∑ ij, pairWeight a σ x ij * L x (a.point ij.1,a.point ij.2))+ (Real.pi : ℂ)*Complex.I := by simp only [A,mul_add,Finset.sum_add_distrib,← Finset.sum_mul, pairWeight_sum_one,one_mul,hswap] rw [hcompare] simp only [weightedPhase,hsum,Complex.exp_add,Complex.exp_pi_mul_I, atomicPhase,mul_neg_one] /- Actual fibre hypotheses and finite atomic weights produce the nonzero odd phase; no continuous selected point or abstract index is assumed. -/ theorem exists_nonzero_odd_phase_of_logs (a : AtomicFamily ι D) (σ : X → X) (hσ : Continuous σ) (hσinv : Function.Involutive σ) (hD : ∀ x, IsPathConnected (D x)) (hpersist : CompactPersistence D) (hlog : ∀ x, ∃ L : ℂ × ℂ → ℂ, ContinuousOn L (D x ×ˢ D (σ x)) ∧ ∀ z ∈ D x, ∀ w ∈ D (σ x), Complex.exp (L (z,w)) = z-w) : ∃ Ψ : X → ℂ, Continuous Ψ ∧ (∀ x, Ψ (σ x) = -Ψ x) ∧ ∀ x, Ψ x ≠ 0 := by classical choose L hLc hLe using hlog exact ⟨atomicPhase a σ L, atomicPhase_continuous a σ hσ hD hpersist L hLc hLe, atomicPhase_odd a σ hσinv hD L hLc hLe, atomicPhase_ne_zero a σ L⟩ end AtomicPhase section AtomicExistence variable {X : Type*} [TopologicalSpace X] [CompactSpace X] [T2Space X] theorem point_membership_open (D : X → Set ℂ) (hpersist : CompactPersistence D) (p : ℂ) : IsOpen {x | p ∈ D x} := by apply isOpen_iff_mem_nhds.mpr intro x hx have h := hpersist x {p} isCompact_singleton (by simpa using hx) exact h.mono (fun y hy => hy (mem_singleton p)) /- Compactness and native closed-subordinate partitions supply the finite atomic weights used above, with no continuous selected point. -/ theorem exists_atomicFamily (D : X → Set ℂ) (hD : ∀ x, (D x).Nonempty) (hpersist : CompactPersistence D) : ∃ n : ℕ, Nonempty (AtomicFamily (Fin n) D) := by classical let p : X → ℂ := fun x => Classical.choose (hD x) have hp (x : X) : p x ∈ D x := Classical.choose_spec (hD x) let U : X → Set X := fun x => {y | p x ∈ D y} have hU (x : X) : IsOpen (U x) := point_membership_open D hpersist (p x) have hcover : (univ : Set X) ⊆ ⋃ x, U x := by intro x hx exact mem_iUnion.mpr ⟨x,hp x⟩ obtain ⟨s,hs⟩ := isCompact_univ.elim_finite_subcover U hU hcover let n := Fintype.card s let e : Fin n ≃ s := (Fintype.equivFin s).symm let V : Fin n → Set X := fun i => U (e i).val have hV (i : Fin n) : IsOpen (V i) := hU (e i).val have hVcover : (univ : Set X) ⊆ ⋃ i, V i := by intro x hx obtain ⟨y,hy⟩ := mem_iUnion.mp (hs hx) obtain ⟨hys,hxy⟩ := mem_iUnion.mp hy refine mem_iUnion.mpr ⟨e.symm ⟨y,hys⟩,?_⟩ simpa only [V,Equiv.apply_symm_apply] using hxy obtain ⟨η,hsub,hsum,hpos,hcomp⟩ := exists_continuous_sum_one_of_isOpen_isCompact hV isCompact_univ hVcover refine ⟨n,⟨{ point := fun i => p (e i).val weight := η sum_one := ?_ subordinate := ?_ }⟩⟩ · intro x simpa using hsum (mem_univ x) · intro i x hx exact hsub i hx end AtomicExistence def complexToPlane (z : ℂ) : Polya26.MedianSelector.Plane := WithLp.toLp 2 ![z.re,z.im] theorem complexToPlane_continuous : Continuous complexToPlane := by change Continuous (fun z : ℂ => WithLp.toLp 2 ![z.re,z.im]) apply (PiLp.continuous_toLp 2 (fun _ : Fin 2 => ℝ)).comp apply continuous_pi intro i fin_cases i <;> fun_prop theorem complexToPlane_neg (z : ℂ) : complexToPlane (-z) = -complexToPlane z := by ext i fin_cases i <;> rfl theorem complexToPlane_eq_zero {z : ℂ} (hz : complexToPlane z = 0) : z = 0 := by apply Complex.ext · exact congrArg (fun v : Polya26.MedianSelector.Plane => v 0) hz · exact congrArg (fun v : Polya26.MedianSelector.Plane => v 1) hz /- Relative BU rules out an actual antipodal family with a difference logarithm on every product. This interface also accepts unfilled holed cores when their loops have trivial difference holonomy. -/ theorem no_antipodal_product_logs : ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} ∀ (hBU : ∀ F : Polya26.MedianSelector.Sphere3 → ℝ × Polya26.MedianSelector.Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Polya26.MedianSelector.Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (D : Polya26.QuantileTopologyBridge.zeroSet F0 → Set ℂ) (hD : ∀ c, IsPathConnected (D c)) (hpersist : CompactPersistence D) (hlog : ∀ c, ∃ L : ℂ × ℂ → ℂ, ContinuousOn L (D c ×ˢ D (Polya26.QuantileTopologyBridge.zeroAntipode F0 hodd c)) ∧ ∀ z ∈ D c, ∀ w ∈ D (Polya26.QuantileTopologyBridge.zeroAntipode F0 hodd c), Complex.exp (L (z,w)) = z-w), False) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} fun (hBU : ∀ F : Polya26.MedianSelector.Sphere3 → ℝ × Polya26.MedianSelector.Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Polya26.MedianSelector.Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (D : Polya26.QuantileTopologyBridge.zeroSet F0 → Set ℂ) (hD : ∀ c, IsPathConnected (D c)) (hpersist : CompactPersistence D) (hlog : ∀ c, ∃ L : ℂ × ℂ → ℂ, ContinuousOn L (D c ×ˢ D (Polya26.QuantileTopologyBridge.zeroAntipode F0 hodd c)) ∧ ∀ z ∈ D c, ∀ w ∈ D (Polya26.QuantileTopologyBridge.zeroAntipode F0 hodd c), Complex.exp (L (z,w)) = z-w) => by classical letI : CompactSpace Polya26.MedianSelector.Sphere3 := isCompact_iff_compactSpace.mp (isCompact_sphere 0 1) letI : CompactSpace (Polya26.QuantileTopologyBridge.zeroSet F0) := isCompact_iff_compactSpace.mp (Polya26.QuantileTopologyBridge.zeroSet_isClosed hF0).isCompact let σ := Polya26.QuantileTopologyBridge.zeroAntipode F0 hodd obtain ⟨n,⟨a⟩⟩ := exists_atomicFamily D (fun c => (hD c).nonempty) hpersist obtain ⟨Ψ,hΨc,hΨodd,hΨzero⟩ := exists_nonzero_odd_phase_of_logs a σ (Polya26.QuantileTopologyBridge.zeroAntipode_continuous F0 hodd) (Polya26.QuantileTopologyBridge.zeroAntipode_involutive F0 hodd) hD hpersist hlog obtain ⟨c,hc⟩ := Polya26.QuantileTopologyBridge.relative_borsukUlam hBU F0 hF0 hodd (fun z => complexToPlane (Ψ z)) (complexToPlane_continuous.comp hΨc) have hc0 : complexToPlane (Ψ c) = 0 := by rw [hΨodd,complexToPlane_neg] at hc ext i have hi := congrArg (fun v : Polya26.MedianSelector.Plane => v i) hc simp only [PiLp.neg_apply] at hi simp only [PiLp.zero_apply] linarith exact hΨzero c (complexToPlane_eq_zero hc0) ) /- Actual closed-zero-set core intersection, with compact-persistent open simply connected fibres. No general selection theorem is used. -/ end Polya26.FilledCoreLogSelector end end /- END FilledCoreLogSelector -/ /- BEGIN ComplementComponentGeometry -/ section /-! Actual complement components, their boundary, and filled-hole erosion. No planar Jordan or simple-connectivity hypothesis is used in this file. -/ noncomputable section open Set Filter Topology Metric namespace Polya26.ComplementComponentGeometry section Topological variable {X : Type*} [TopologicalSpace X] theorem isClosed_componentIn {F : Set X} (hF : IsClosed F) (x : X) : IsClosed (connectedComponentIn F x) := by by_cases hx : x ∈ F · apply closure_subset_iff_isClosed.mp exact isPreconnected_connectedComponentIn.closure.subset_connectedComponentIn (subset_closure (mem_connectedComponentIn hx)) (closure_minimal (connectedComponentIn_subset F x) hF) · rw [connectedComponentIn_eq_empty hx] exact isClosed_empty theorem bounded_enclosure_mono {D D' E E' : Set X} [Bornology X] (hDD : D ⊆ D') (hEE : E ⊆ E') (hE' : IsPreconnected E') (hdis : Disjoint D' E') {p : X} (hp : p ∈ E) (hb : Bornology.IsBounded (connectedComponentIn Dᶜ p)) : E' ⊆ connectedComponentIn D'ᶜ p ∧ Bornology.IsBounded (connectedComponentIn D'ᶜ p) := by have hsub : E' ⊆ D'ᶜ := fun z hz hd => Set.disjoint_left.mp hdis hd hz exact ⟨hE'.subset_connectedComponentIn (hEE hp) hsub, hb.subset (connectedComponentIn_mono p (compl_subset_compl.mpr hDD))⟩ end Topological section Normed variable {X : Type*} [NormedAddCommGroup X] [NormedSpace ℝ X] end Normed end Polya26.ComplementComponentGeometry end end /- END ComplementComponentGeometry -/ /- BEGIN QuantileEnclosureSelector -/ section /-! Relative BU forces actual bounded-complement enclosure on the balanced coefficient set. Cores may have arbitrary holes; no fill, Jordan curve, or continuous point selector is used. -/ noncomputable section open Set Filter Topology namespace Polya26.QuantileEnclosureSelector open Polya26.MedianSelector Polya26.QuantileTopologyBridge open Polya26.FilledCoreLogSelector Polya26.CoreProductLog /- The entire actual inner core lies in one actual bounded complementary component of the outer core. -/ def BoundedEnclosure {X : Type*} [TopologicalSpace X] [Bornology X] (D E : Set X) : Prop := ∃ p ∈ E, E ⊆ connectedComponentIn Dᶜ p ∧ Bornology.IsBounded (connectedComponentIn Dᶜ p) theorem boundedEnclosure_of_component {X : Type*} [TopologicalSpace X] [Bornology X] {D E : Set X} (hE : IsPreconnected E) (hdis : Disjoint D E) {p : X} (hp : p ∈ E) (hb : Bornology.IsBounded (connectedComponentIn Dᶜ p)) : BoundedEnclosure D E := ⟨p,hp,hE.subset_connectedComponentIn hp (fun x hx hd => Set.disjoint_left.mp hdis hd hx),hb⟩ theorem boundedEnclosure_mono {X : Type*} [TopologicalSpace X] [Bornology X] {D D' E E' : Set X} (hDD : D ⊆ D') (hEE : E ⊆ E') (hE' : IsPreconnected E') (hdis : Disjoint D' E') (h : BoundedEnclosure D E) : BoundedEnclosure D' E' := by obtain ⟨p,hp,hE,hb⟩ := h obtain ⟨hE',hb'⟩ := Polya26.ComplementComponentGeometry.bounded_enclosure_mono hDD hEE hE' hdis hp hb exact ⟨p,hEE hp,hE',hb'⟩ theorem boundedEnclosure_isometry_image {X Y : Type*} [MetricSpace X] [MetricSpace Y] (e : X ≃ᵢ Y) {D E : Set X} (h : BoundedEnclosure D E) : BoundedEnclosure (e '' D) (e '' E) := by obtain ⟨p,hp,hE,hb⟩ := h have hpD : p ∈ Dᶜ := connectedComponentIn_subset Dᶜ p (hE hp) have hecomp : e '' connectedComponentIn Dᶜ p = connectedComponentIn (e '' D)ᶜ (e p) := by change e.toHomeomorph '' connectedComponentIn Dᶜ p = connectedComponentIn (e.toHomeomorph '' D)ᶜ (e.toHomeomorph p) rw [e.toHomeomorph.image_connectedComponentIn hpD,e.toHomeomorph.image_compl] refine ⟨e p,mem_image_of_mem e hp,?_,?_⟩ · rw [← hecomp] exact image_mono hE · rw [← hecomp] exact e.isometry.lipschitzWith.isBounded_image hb def ambientLog {D E : Set ℂ} (L : C(D × E,ℂ)) (z : ℂ × ℂ) : ℂ := by classical exact if h : z.1 ∈ D ∧ z.2 ∈ E then L (⟨z.1,h.1⟩,⟨z.2,h.2⟩) else 0 theorem ambientLog_continuousOn {D E : Set ℂ} (L : C(D × E,ℂ)) : ContinuousOn (ambientLog L) (D ×ˢ E) := by classical apply continuousOn_iff_continuous_domRestrict.mpr have hc : Continuous (fun z : (D ×ˢ E) => L ((Homeomorph.Set.prod D E) z)) := L.continuous.comp (Homeomorph.Set.prod D E).continuous convert hc using 1 funext z change (if h : z.val.1 ∈ D ∧ z.val.2 ∈ E then L (⟨z.val.1,h.1⟩,⟨z.val.2,h.2⟩) else 0) = _ have hz : z.val.1 ∈ D ∧ z.val.2 ∈ E := z.property rw [dite_eq_left hz] rfl theorem ambientLog_exp {D E : Set ℂ} (L : C(D × E,ℂ)) (hL : ∀ z, Complex.exp (L z) = z.1.val-z.2.val) : ∀ z ∈ D, ∀ w ∈ E, Complex.exp (ambientLog L (z,w)) = z-w := by intro z hz w hw dsimp only [ambientLog] rw [dif_pos ⟨hz,hw⟩] exact hL (⟨z,hz⟩,⟨w,hw⟩) /- Absence of enclosure in both directions supplies the actual product-difference logarithm accepted by the checked phase selector. -/ theorem ambient_product_log_of_no_enclosure {D E : Set ℂ} (hDo : IsOpen D) (hEo : IsOpen E) (hD : IsPathConnected D) (hE : IsPathConnected E) (hdis : Disjoint D E) (hDE : ¬ BoundedEnclosure D E) (hED : ¬ BoundedEnclosure E D) : ∃ L : ℂ × ℂ → ℂ, ContinuousOn L (D ×ˢ E) ∧ ∀ z ∈ D, ∀ w ∈ E, Complex.exp (L (z,w)) = z-w := by obtain ⟨q,hq⟩ := hD.nonempty obtain ⟨p,hp⟩ := hE.nonempty have hDu : ¬ Bornology.IsBounded (connectedComponentIn Dᶜ p) := fun hb => hDE (boundedEnclosure_of_component hE.isConnected.isPreconnected hdis hp hb) have hEu : ¬ Bornology.IsBounded (connectedComponentIn Eᶜ q) := fun hb => hED (boundedEnclosure_of_component hD.isConnected.isPreconnected hdis.symm hq hb) obtain ⟨L,hL⟩ := product_log_of_unbounded_complements hDo hEo hD hE hdis ⟨q,hq⟩ ⟨p,hp⟩ hDu hEu exact ⟨ambientLog L,ambientLog_continuousOn L,ambientLog_exp L hL⟩ /- The actual generalized core selector. The only topological input is ordinary BU on the actual coefficient sphere; every other object is an actual continuous function, path-connected core or complement component. -/ theorem antipodal_bounded_enclosure : ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} ∀ (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (D : zeroSet F0 → Set ℂ) (hDo : ∀ c, IsOpen (D c)) (hD : ∀ c, IsPathConnected (D c)) (hpersist : CompactPersistence D) (hdis : ∀ c, Disjoint (D c) (D (zeroAntipode F0 hodd c))), ∃ c : zeroSet F0, BoundedEnclosure (D c) (D (zeroAntipode F0 hodd c)) ∨ BoundedEnclosure (D (zeroAntipode F0 hodd c)) (D c)) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} fun (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (D : zeroSet F0 → Set ℂ) (hDo : ∀ c, IsOpen (D c)) (hD : ∀ c, IsPathConnected (D c)) (hpersist : CompactPersistence D) (hdis : ∀ c, Disjoint (D c) (D (zeroAntipode F0 hodd c))) => by by_contra hn apply no_antipodal_product_logs hBU F0 hF0 hodd D hD hpersist intro c exact ambient_product_log_of_no_enclosure (hDo c) (hDo _) (hD c) (hD _) (hdis c) (fun h => hn ⟨c,Or.inl h⟩) (fun h => hn ⟨c,Or.inr h⟩) ) /- Flip the chosen coefficient when needed. The compact limit therefore uses one positive-encloses-negative orientation at every index, without an additional orientation-subsequence theorem. -/ theorem exists_oriented_bounded_enclosure : ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} ∀ (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (D : zeroSet F0 → Set ℂ) (hDo : ∀ c, IsOpen (D c)) (hD : ∀ c, IsPathConnected (D c)) (hpersist : CompactPersistence D) (hdis : ∀ c, Disjoint (D c) (D (zeroAntipode F0 hodd c))), ∃ c : zeroSet F0, BoundedEnclosure (D c) (D (zeroAntipode F0 hodd c))) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} fun (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (D : zeroSet F0 → Set ℂ) (hDo : ∀ c, IsOpen (D c)) (hD : ∀ c, IsPathConnected (D c)) (hpersist : CompactPersistence D) (hdis : ∀ c, Disjoint (D c) (D (zeroAntipode F0 hodd c))) => by obtain ⟨c,hc | hc⟩ := antipodal_bounded_enclosure hBU F0 hF0 hodd D hDo hD hpersist hdis · exact ⟨c,hc⟩ · refine ⟨zeroAntipode F0 hodd c,?_⟩ simpa only [zeroAntipode_involutive F0 hodd c] using hc ) /- Actual Plane cores can be fed to the complex log argument through the already available planar isometry. Original mass and physical energy stay on Plane throughout this transport. -/ theorem exists_oriented_bounded_enclosure_plane : ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} ∀ (e : ℂ ≃ᵢ Plane) (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (D : zeroSet F0 → Set Plane) (hDo : ∀ c, IsOpen (D c)) (hD : ∀ c, IsPathConnected (D c)) (hpersist : ∀ c K, IsCompact K → K ⊆ D c → ∀ᶠ y in 𝓝 c, K ⊆ D y) (hdis : ∀ c, Disjoint (D c) (D (zeroAntipode F0 hodd c))), ∃ c : zeroSet F0, BoundedEnclosure (D c) (D (zeroAntipode F0 hodd c))) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} fun (e : ℂ ≃ᵢ Plane) (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (F0 : Sphere3 → ℝ) (hF0 : Continuous F0) (hodd : ∀ c, F0 (-c) = -F0 c) (D : zeroSet F0 → Set Plane) (hDo : ∀ c, IsOpen (D c)) (hD : ∀ c, IsPathConnected (D c)) (hpersist : ∀ c K, IsCompact K → K ⊆ D c → ∀ᶠ y in 𝓝 c, K ⊆ D y) (hdis : ∀ c, Disjoint (D c) (D (zeroAntipode F0 hodd c))) => by let C : zeroSet F0 → Set ℂ := fun c => e ⁻¹' D c have hCo (c) : IsOpen (C c) := (hDo c).preimage e.continuous have hCp (c) : IsPathConnected (C c) := e.toHomeomorph.isPathConnected_preimage.mpr (hD c) have hCpersist : CompactPersistence C := by intro c K hK hKC have himage : e '' K ⊆ D c := by rintro y ⟨x,hx,rfl⟩ exact hKC hx filter_upwards [hpersist c (e '' K) (hK.image e.continuous) himage] with y hy intro z hz exact hy (mem_image_of_mem e hz) have hCdis (c) : Disjoint (C c) (C (zeroAntipode F0 hodd c)) := (hdis c).preimage e obtain ⟨c,hc⟩ := exists_oriented_bounded_enclosure hBU F0 hF0 hodd C hCo hCp hCpersist hCdis refine ⟨c,?_⟩ have hi := boundedEnclosure_isometry_image e hc simpa only [C,Set.image_preimage_eq _ e.surjective] using hi ) end Polya26.QuantileEnclosureSelector end end /- END QuantileEnclosureSelector -/ /- BEGIN QuantileThresholdApproximation -/ section /-! Finite native partitions produce continuous strict threshold approximants, with the moving-parameter lower bound required by the robust quantile limit. No increasing approximation or general selection theorem is used. Source pending a coordinated kernel check. -/ noncomputable section open Set Filter Topology open scoped BigOperators namespace Polya26.QuantileThresholdApproximation variable {X : Type*} [MetricSpace X] def label (τ : X → ℝ) (ε : ℝ) (x : X) : ℝ := max (τ x/2) (τ x-ε) theorem label_pos {τ : X → ℝ} {ε : ℝ} {x : X} (hτ : 0 < τ x) : 0 < label τ ε x := by have hhalf : 0 < τ x/2 := by linarith exact hhalf.trans_le (le_max_left _ _) theorem label_lt {τ : X → ℝ} {ε : ℝ} {x : X} (hτ : 0 < τ x) (hε : 0 < ε) : label τ ε x < τ x := by apply max_lt_iff.mpr constructor <;> linarith structure Approximation (τ : X → ℝ) (ε : ℝ) where n : ℕ center : Fin n → X weight : Fin n → C(X,ℝ) nonneg : ∀ i x, 0 ≤ weight i x sum_one : ∀ x, ∑ i, weight i x = 1 subordinate : ∀ i x, x ∈ tsupport (weight i) → dist (center i) x < ε ∧ label τ ε (center i) < τ x def minorant {τ : X → ℝ} {ε : ℝ} (A : Approximation τ ε) (x : X) : ℝ := ∑ i, A.weight i x*label τ ε (A.center i) theorem minorant_continuous {τ : X → ℝ} {ε : ℝ} (A : Approximation τ ε) : Continuous (minorant A) := continuous_finsetSum _ (fun i hi => (A.weight i).continuous.mul continuous_const) theorem positive_weight {τ : X → ℝ} {ε : ℝ} (A : Approximation τ ε) (x : X) : ∃ i, 0 < A.weight i x := by have hs : 0 < ∑ i, A.weight i x := by rw [A.sum_one]; norm_num obtain ⟨i,hi,hip⟩ := (Finset.sum_pos_iff_of_nonneg (fun i hi => A.nonneg i x)).mp hs exact ⟨i,hip⟩ theorem minorant_gt_of_active_labels {τ : X → ℝ} {ε b : ℝ} (A : Approximation τ ε) (x : X) (hb : ∀ i, A.weight i x ≠ 0 → b < label τ ε (A.center i)) : b < minorant A x := by obtain ⟨i,hi⟩ := positive_weight A x have hle (j : Fin A.n) (hj : j ∈ Finset.univ) : A.weight j x*b ≤ A.weight j x*label τ ε (A.center j) := by by_cases hz : A.weight j x = 0 · simp only [hz,zero_mul,le_refl] · exact mul_le_mul_of_nonneg_left (hb j hz).le (A.nonneg j x) have hsum : (∑ j, A.weight j x*b) = b := by rw [← Finset.sum_mul,A.sum_one,one_mul] rw [← hsum] exact Finset.sum_lt_sum hle ⟨i,Finset.mem_univ i,mul_lt_mul_of_pos_left (hb i (ne_of_gt hi)) hi⟩ theorem minorant_pos {τ : X → ℝ} {ε : ℝ} (A : Approximation τ ε) (hτ : ∀ x, 0 < τ x) (x : X) : 0 < minorant A x := minorant_gt_of_active_labels A x (fun i hi => label_pos (hτ (A.center i))) theorem minorant_lt {τ : X → ℝ} {ε : ℝ} (A : Approximation τ ε) (x : X) : minorant A x < τ x := by obtain ⟨i,hi⟩ := positive_weight A x have hle (j : Fin A.n) (hj : j ∈ Finset.univ) : A.weight j x*label τ ε (A.center j) ≤ A.weight j x*τ x := by by_cases hz : A.weight j x = 0 · simp only [hz,zero_mul,le_refl] · exact mul_le_mul_of_nonneg_left (A.subordinate j x (subset_tsupport _ hz)).2.le (A.nonneg j x) have hs : (∑ j, A.weight j x*τ x) = τ x := by rw [← Finset.sum_mul,A.sum_one,one_mul] rw [← hs] exact Finset.sum_lt_sum hle ⟨i,Finset.mem_univ i, mul_lt_mul_of_pos_left (A.subordinate i x (subset_tsupport _ (ne_of_gt hi))).2 hi⟩ theorem exists_approximation [CompactSpace X] {τ : X → ℝ} (hτ : LowerSemicontinuous τ) (hpos : ∀ x, 0 < τ x) {ε : ℝ} (hε : 0 < ε) : Nonempty (Approximation τ ε) := by classical let U : X → Set X := fun x => Metric.ball x ε ∩ τ ⁻¹' Ioi (label τ ε x) have hU (x : X) : IsOpen (U x) := Metric.isOpen_ball.inter (hτ.isOpen_preimage _) have hcover : (univ : Set X) ⊆ ⋃ x, U x := by intro x hx exact mem_iUnion.mpr ⟨x,Metric.mem_ball_self hε,label_lt (hpos x) hε⟩ obtain ⟨s,hs⟩ := isCompact_univ.elim_finite_subcover U hU hcover let n := Fintype.card s let e : Fin n ≃ s := (Fintype.equivFin s).symm let V : Fin n → Set X := fun i => U (e i).val have hV (i : Fin n) : IsOpen (V i) := hU _ have hVcover : (univ : Set X) ⊆ ⋃ i, V i := by intro x hx obtain ⟨y,hy⟩ := mem_iUnion.mp (hs hx) obtain ⟨hys,hxy⟩ := mem_iUnion.mp hy refine mem_iUnion.mpr ⟨e.symm ⟨y,hys⟩,?_⟩ simpa only [V,Equiv.apply_symm_apply] using hxy obtain ⟨η,hsub,hsum,hηpos,hcompact⟩ := exists_continuous_sum_one_of_isOpen_isCompact hV isCompact_univ hVcover refine ⟨{ n := n center := fun i => (e i).val weight := η nonneg := fun i x => (hηpos i x).1 sum_one := ?_ subordinate := ?_ }⟩ · intro x simpa using hsum (mem_univ x) · intro i x hx have hy : x ∈ U (e i).val := hsub i hx refine ⟨?_,hy.2⟩ simpa only [Metric.mem_ball,dist_comm] using hy.1 /- A single LSC neighborhood controls EVERY approximant with small epsilon and every nearby evaluation point. Active partition centers are nearby; no fixed-index uniform convergence is asserted. -/ theorem nearby_minorants_gt {τ : X → ℝ} (hτ : LowerSemicontinuous τ) {x : X} {b : ℝ} (hb : b < τ x) : ∃ r > 0, ∃ δ > 0, ∀ (ε : ℝ), 0 < ε → ε < δ → ∀ (A : Approximation τ ε) (y : X), dist y x < r → b < minorant A y := by let d : ℝ := (τ x-b)/2 have hd : 0 < d := by dsimp only [d]; linarith have hbx : b+d < τ x := by dsimp only [d]; linarith obtain ⟨R,hR,hball⟩ := Metric.isOpen_iff.mp (hτ.isOpen_preimage (b+d)) x hbx refine ⟨R/2,by linarith,min (R/2) d,lt_min (by linarith) hd,?_⟩ intro ε hε hεδ A y hy have hεR : ε < R/2 := hεδ.trans_le (min_le_left _ _) have hεd : ε < d := hεδ.trans_le (min_le_right _ _) apply minorant_gt_of_active_labels A y intro i hi have hiy := (A.subordinate i y (subset_tsupport _ hi)).1 have hiR : dist (A.center i) x < R := (dist_triangle (A.center i) y x).trans_lt (by linarith) have hτi : b+d < τ (A.center i) := hball (Metric.mem_ball.mpr hiR) have hlabel : τ (A.center i)-ε ≤ label τ ε (A.center i) := le_max_right _ _ linarith theorem minorants_eventually_gt {τ : X → ℝ} (hτ : LowerSemicontinuous τ) (ε : ℕ → ℝ) (hε : ∀ n, 0 < ε n) (hεlim : Tendsto ε atTop (𝓝 0)) (A : ∀ n, Approximation τ (ε n)) (y : ℕ → X) {x : X} (hylim : Tendsto y atTop (𝓝 x)) {b : ℝ} (hb : b < τ x) : ∀ᶠ n in atTop, b < minorant (A n) (y n) := by obtain ⟨r,hr,δ,hδ,hbound⟩ := nearby_minorants_gt hτ hb filter_upwards [hεlim.eventually (Iio_mem_nhds hδ), hylim.eventually (Metric.ball_mem_nhds x hr)] with n hnε hny exact hbound (ε n) (hε n) hnε (A n) (y n) (Metric.mem_ball.mp hny) /- The exact continuous strict approximants consumed by the compact robust-core limit, on the actual compact balanced parameter set. -/ theorem exists_continuous_strict_threshold_sequence_subseq [CompactSpace X] {τ : X → ℝ} (hτ : LowerSemicontinuous τ) (hpos : ∀ x, 0 < τ x) : ∃ t : ℕ → X → ℝ, (∀ n, Continuous (t n)) ∧ (∀ n x, 0 < t n x ∧ t n x < τ x) ∧ ∀ (φ : ℕ → ℕ), Tendsto φ atTop atTop → ∀ (y : ℕ → X) (x : X), Tendsto y atTop (𝓝 x) → ∀ b < τ x, ∀ᶠ n in atTop, b < t (φ n) (y n) := by classical let ε : ℕ → ℝ := fun n => 1/((n:ℝ)+1) have hε (n : ℕ) : 0 < ε n := by dsimp only [ε]; positivity have hεlim : Tendsto ε atTop (𝓝 0) := tendsto_one_div_add_atTop_nhds_zero_nat let A (n : ℕ) : Approximation τ (ε n) := Classical.choice (exists_approximation hτ hpos (hε n)) refine ⟨fun n => minorant (A n),fun n => minorant_continuous _,?_,?_⟩ · intro n x exact ⟨minorant_pos (A n) hpos x,minorant_lt (A n) x⟩ · intro φ hφ y x hy b hb exact minorants_eventually_gt hτ (ε ∘ φ) (fun n => hε (φ n)) (hεlim.comp hφ) (fun n => A (φ n)) y hy hb end Polya26.QuantileThresholdApproximation end end /- END QuantileThresholdApproximation -/ /- BEGIN QuantileCoreLimit -/ section /-! Staged native mass and component facts for the robust compact limit. Source only: not included in a checked export or submission. -/ noncomputable section open Set Filter MeasureTheory Topology open scoped BigOperators namespace Polya26.QuantileCoreLimit open Polya26.MedianSelector Polya26.QuantileCoreFamily open Polya26.QuantileCoreThreshold Polya26.QuantileTerminalCore open Polya26.QuantileEnclosureSelector open Polya26.QuantileTopologyBridge Polya26.QuantileThresholdApproximation theorem originalMass_neg (u : Plane → ℝ) (D : Set Plane) : originalMass (-u) D = originalMass u D := by simp only [originalMass,Pi.neg_apply,neg_sq] theorem coreCombination_sphere_neg : ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} ∀ (basis : Fin 4 → Plane → ℝ) (c : Sphere3), coreCombination basis (-c).val = -coreCombination basis c.val) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} fun (basis : Fin 4 → Plane → ℝ) (c : Sphere3) => by funext x simp only [coreCombination,coe_neg_sphere,PiLp.neg_apply,neg_mul, Finset.sum_neg_distrib,Pi.neg_apply] ) theorem coreCombination_continuous (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (c : Sphere3) : Continuous (coreCombination basis c.val) := continuous_finsetSum _ (fun i hi => continuous_const.mul (hcont i)) theorem core_sign_squared_integrable (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (c : Sphere3) : Integrable (positiveSquared (coreCombination basis c.val)) ∧ Integrable (negativeSquared (coreCombination basis c.val)) := by let u := coreCombination basis c.val have hu : Continuous u := coreCombination_continuous basis hcont c have huc : HasCompactSupport u := coreCombination_hasCompactSupport basis hcompact c.val have hpc : HasCompactSupport (positiveSquared u) := by convert huc.comp_left (g := fun a : ℝ => (max a 0)^2) (by norm_num) using 1 funext x rfl have hnc : HasCompactSupport (negativeSquared u) := by convert huc.comp_left (g := fun a : ℝ => (max (-a) 0)^2) (by norm_num) using 1 funext x rfl exact ⟨((hu.max continuous_const).pow 2).integrable_of_hasCompactSupport hpc, ((hu.neg.max continuous_const).pow 2).integrable_of_hasCompactSupport hnc⟩ /- Actual finite nodal-component capture of a prescribed original-mass amount. Compactness replaces every countable component-summation step. -/ theorem exists_finite_nodal_components_mass_gt {u : Plane → ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) {r : ℝ} (hr : 0 ≤ r) (hm : r < originalMass u (levelSet u 0)) : ∃ S : Finset (Set Plane), (∀ D ∈ S, ∃ p ∈ levelSet u 0, D = levelComponent u 0 p) ∧ Set.Pairwise (S : Set (Set Plane)) Disjoint ∧ r < originalMass u (⋃ D ∈ S, D) := by classical obtain ⟨K,hKD,hK,hKm⟩ := exists_compact_mass_gt hui (levelSet_isOpen hu 0).measurableSet hr hm let A := levelSet u 0 let U : A → Set Plane := fun p => levelComponent u 0 p.val have hU (p : A) : IsOpen (U p) := levelComponent_isOpen hu 0 p.val have hcover : K ⊆ ⋃ p : A, U p := by intro x hx exact mem_iUnion.mpr ⟨⟨x,hKD hx⟩,mem_connectedComponentIn (hKD hx)⟩ obtain ⟨s,hs⟩ := hK.elim_finite_subcover U hU hcover let S : Finset (Set Plane) := s.image U have hS (D : Set Plane) (hD : D ∈ S) : ∃ p ∈ levelSet u 0, D = levelComponent u 0 p := by obtain ⟨p,hps,rfl⟩ := Finset.mem_image.mp hD exact ⟨p.val,p.property,rfl⟩ refine ⟨S,hS,?_,?_⟩ · intro D hD E hE hne obtain ⟨p,hp,rfl⟩ := hS D hD obtain ⟨q,hq,rfl⟩ := hS E hE apply disjoint_left.mpr intro x hxD hxE exact hne ((connectedComponentIn_eq hxD).trans (connectedComponentIn_eq hxE).symm) · have hKS : K ⊆ ⋃ D ∈ S, D := by intro x hx obtain ⟨p,hps,hxp⟩ := mem_iUnion₂.mp (hs hx) exact mem_iUnion₂.mpr ⟨U p,Finset.mem_image.mpr ⟨p,hps,rfl⟩,hxp⟩ exact hKm.trans_le (originalMass_mono hui hKS) theorem finite_nodal_components_mass_eq_sum {u : Plane → ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (S : Finset (Set Plane)) (hS : ∀ D ∈ S, ∃ p ∈ levelSet u 0, D = levelComponent u 0 p) (hdis : Set.Pairwise (S : Set (Set Plane)) Disjoint) : originalMass u (⋃ D ∈ S, D) = ∑ D ∈ S, originalMass u D := by apply integral_biUnion_finset S · intro D hD obtain ⟨p,hp,rfl⟩ := hS D hD exact (levelComponent_isOpen hu 0 p).measurableSet · exact hdis · intro D hD exact hui.integrableOn /- Original mass forces a connected near-heavy actual set into the unique genuine heavy level component. No topological component-number bound or regular level is used. -/ theorem connected_set_subset_heavyCore_of_mass {u : Plane → ℝ} {κ t : ℝ} {P : Set Plane} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (hκ : (1:ℝ)/4 ≤ κ) (ht : 0 ≤ t) (hsign : originalMass u (levelSet u 0) ≤ originalMass u univ/2) (hP : IsConnected P) (hPlev : P ⊆ levelSet u t) (hm : originalMass u (levelSet u 0) < originalMass u P+originalMass u (heavyCore u κ t)) : P ⊆ heavyCore u κ t := by have hinter : (P ∩ heavyCore u κ t).Nonempty := by by_contra hn have hdis : Disjoint P (heavyCore u κ t) := disjoint_left.mpr (fun x hx hy => hn ⟨x,hx,hy⟩) have heq : originalMass u (P ∪ heavyCore u κ t) = originalMass u P+originalMass u (heavyCore u κ t) := setIntegral_union hdis (heavyCore_isOpen hu hui).measurableSet hui.integrableOn hui.integrableOn have hlev : P ∪ heavyCore u κ t ⊆ levelSet u 0 := by rintro x (hx | hx) · exact lt_of_le_of_lt ht (hPlev hx) · exact lt_of_le_of_lt ht (heavyCore_subset_levelSet u κ t hx) have hsum := originalMass_mono hui hlev rw [heq] at hsum exact (not_lt_of_ge hsum) hm obtain ⟨p,hpP,hpD⟩ := hinter rw [heavyCore_eq_levelComponent hu hui hκ ht hsign hpD] exact hP.isPreconnected.subset_connectedComponentIn hpP hPlev theorem nearby_originalMass_eventually_gt (u : ℕ → Plane → ℝ) (v : Plane → ℝ) (hu : ∀ n, Integrable (fun x => (u n x)^2)) (hv : Integrable (fun x => (v x)^2)) (κ : ℝ) (P : ℕ → Set Plane) (hM : Tendsto (fun n => originalMass (u n) univ) atTop (𝓝 (originalMass v univ))) (hD : Tendsto (fun n => ∫ x, |(u n x)^2-(v x)^2|) atTop (𝓝 0)) (hP : ∀ n, κ*originalMass (u n) univ < originalMass (u n) (P n)) {a : ℝ} (ha : a < κ*originalMass v univ) : ∀ᶠ n in atTop, a < originalMass v (P n) := by have hlim : Tendsto (fun n => κ*originalMass (u n) univ-(∫ x, |(u n x)^2-(v x)^2|)) atTop (𝓝 (κ*originalMass v univ)) := by simpa only [sub_zero] using (tendsto_const_nhds.mul hM).sub hD filter_upwards [hlim.eventually (Ioi_mem_nhds ha)] with n hn have hchange := originalMass_change_bound (hu n) hv (P n) have hbound := (le_abs_self (originalMass (u n) (P n)-originalMass v (P n))).trans hchange have hPn := hP n linarith /- A strict heavy limiting component provides a fixed positive mass margin, which absorbs ALL moving-set L1 errors. -/ theorem nearby_connected_sets_eventually_in_heavyCore (u : ℕ → Plane → ℝ) (v : Plane → ℝ) (hu : ∀ n, Integrable (fun x => (u n x)^2)) (hv : Integrable (fun x => (v x)^2)) (hvc : Continuous v) (κ t : ℝ) (hκ : (1:ℝ)/4 ≤ κ) (ht : 0 ≤ t) (hsign : originalMass v (levelSet v 0) ≤ originalMass v univ/2) (hadm : admissibleLevel v κ t) (P : ℕ → Set Plane) (hM : Tendsto (fun n => originalMass (u n) univ) atTop (𝓝 (originalMass v univ))) (hD : Tendsto (fun n => ∫ x, |(u n x)^2-(v x)^2|) atTop (𝓝 0)) (hP : ∀ n, κ*originalMass (u n) univ < originalMass (u n) (P n)) (hPc : ∀ n, IsConnected (P n)) (hPl : ∀ᶠ n in atTop, P n ⊆ levelSet v t) : ∀ᶠ n in atTop, P n ⊆ heavyCore v κ t := by let δ : ℝ := originalMass v (heavyCore v κ t)-κ*originalMass v univ have hδ : 0 < δ := sub_pos.mpr (heavyCore_mass_gt hv hadm) have ha : κ*originalMass v univ-δ/2 < κ*originalMass v univ := by linarith have hnear := nearby_originalMass_eventually_gt u v hu hv κ P hM hD hP ha filter_upwards [hnear,hPl] with n hn hnl apply connected_set_subset_heavyCore_of_mass hvc hv hκ ht hsign (hPc n) hnl have hnonneg := originalMass_nonneg v univ have hκM : originalMass v univ/4 ≤ κ*originalMass v univ := by nlinarith dsimp only [δ] at hn hδ linarith /- Once the actual old cores lie in the two strict limiting cores, one sufficiently large index transfers enclosure by the checked component monotonicity. No continuity of enclosure itself is required. -/ theorem boundedEnclosure_of_eventual_core_containment (P E : ℕ → Set Plane) (D F : Set Plane) (hPF : ∀ n, BoundedEnclosure (P n) (E n)) (hP : ∀ᶠ n in atTop, P n ⊆ D) (hE : ∀ᶠ n in atTop, E n ⊆ F) (hF : IsPreconnected F) (hdis : Disjoint D F) : BoundedEnclosure D F := by obtain ⟨n,hnP,hnE⟩ := (hP.and hE).exists exact boundedEnclosure_mono hnP hnE hF hdis (hPF n) /- Transfer from the positive core to the WHOLE actual positive level set. The returned hole is an actual bounded closed complementary component containing all of the terminal core. -/ theorem bounded_complement_contains_terminal {D P E K : Set Plane} (hP : IsOpen P) (hDP : D ⊆ P) (hE : IsPreconnected E) (hdis : Disjoint P E) (hKE : K ⊆ E) (hencl : BoundedEnclosure D E) : ∃ H : Set Plane, IsClosed H ∧ Bornology.IsBounded H ∧ H ⊆ Pᶜ ∧ K ⊆ H := by obtain ⟨p,hp,hEH,hH⟩ := boundedEnclosure_mono hDP subset_rfl hE hdis hencl exact ⟨connectedComponentIn Pᶜ p, Polya26.ComplementComponentGeometry.isClosed_componentIn hP.isClosed_compl p, hH,connectedComponentIn_subset _ _,hKE.trans hEH⟩ theorem commonCoreSupport_isCompact (basis : Fin 4 → Plane → ℝ) (hcompact : ∀ i, HasCompactSupport (basis i)) : IsCompact (⋃ i, tsupport (basis i)) := isCompact_iUnion (fun i => (hcompact i).isCompact) theorem coreCombination_eq_zero_off_commonSupport (basis : Fin 4 → Plane → ℝ) (c : Coeff) {x : Plane} (hx : x ∉ ⋃ i, tsupport (basis i)) : coreCombination basis c x = 0 := by unfold coreCombination apply Finset.sum_eq_zero intro i hi have hx' : x ∉ tsupport (basis i) := fun h => hx (mem_iUnion.mpr ⟨i,h⟩) rw [image_eq_zero_of_notMem_tsupport hx',mul_zero] def signedCoreMass (basis : Fin 4 → Plane → ℝ) (c : Sphere3) : ℝ := ∫ x, coreCombination basis c.val x*|coreCombination basis c.val x| theorem signedCoreMass_continuous (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) : Continuous (signedCoreMass basis) := by letI : CompactSpace Sphere3 := isCompact_iff_compactSpace.mp (isCompact_sphere 0 1) let K : Set Plane := ⋃ i, tsupport (basis i) let g : Sphere3 → Plane → ℝ := fun c x => coreCombination basis c.val x*|coreCombination basis c.val x| have hc := coreCombination_joint_continuous basis hcont have hg : Continuous (Function.uncurry g) := hc.mul hc.abs have hzero : ∀ c x, x ∉ K → g c x = 0 := by intro c x hx simp only [g,coreCombination_eq_zero_off_commonSupport basis c.val hx,zero_mul] exact continuous_integral_of_compact_family g (commonCoreSupport_isCompact basis hcompact) hg hzero theorem signedCoreMass_odd : ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} ∀ (basis : Fin 4 → Plane → ℝ) (c : Sphere3), signedCoreMass basis (-c) = -signedCoreMass basis c) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} fun (basis : Fin 4 → Plane → ℝ) (c : Sphere3) => by have hneg (x : Plane) : coreCombination basis (-c).val x = -coreCombination basis c.val x := by simp only [coreCombination,coe_neg_sphere,PiLp.neg_apply,neg_mul,Finset.sum_neg_distrib] simp only [signedCoreMass,hneg,abs_neg,neg_mul,integral_neg] ) theorem originalMass_positive_eq_integral (u : Plane → ℝ) (hu : Continuous u) : originalMass u (levelSet u 0) = ∫ x, positiveSquared u x := by have hset : MeasurableSet (levelSet u 0) := (levelSet_isOpen hu 0).measurableSet calc originalMass u (levelSet u 0) = ∫ x in levelSet u 0, positiveSquared u x := by apply setIntegral_congr_fun hset intro x hx have hux : 0 < u x := hx simp only [positiveSquared,max_eq_left hux.le] _ = ∫ x, positiveSquared u x := setIntegral_eq_integral_of_forall_compl_eq_zero (by intro x hx have hux : u x ≤ 0 := le_of_not_gt hx simp only [positiveSquared,max_eq_right hux,zero_pow (by decide : 2≠0)]) theorem sign_originalMass_half {u : Plane → ℝ} (hu : Continuous u) (hp : Integrable (positiveSquared u)) (hn : Integrable (negativeSquared u)) (hsigned : (∫ x, u x*|u x|) = 0) : originalMass u (levelSet u 0) = originalMass u univ/2 ∧ originalMass (-u) (levelSet (-u) 0) = originalMass u univ/2 := by have hadd : (fun x => positiveSquared u x+negativeSquared u x) = (fun x => (u x)^2) := funext (fun x => (sign_square_identities (u x)).1) have hsub : (fun x => positiveSquared u x-negativeSquared u x) = (fun x => u x*|u x|) := funext (fun x => (sign_square_identities (u x)).2) have htotal : originalMass u univ = (∫ x, positiveSquared u x)+(∫ x, negativeSquared u x) := by unfold originalMass rw [Measure.restrict_univ,← hadd,integral_add hp hn] rw [← hsub,integral_sub hp hn] at hsigned rw [originalMass_positive_eq_integral u hu, originalMass_positive_eq_integral (-u) hu.neg] change (∫ x, positiveSquared u x) = originalMass u univ/2 ∧ (∫ x, negativeSquared u x) = originalMass u univ/2 constructor <;> linarith theorem balanced_core_originalMass_half (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) {c : Sphere3} (hc : signedCoreMass basis c = 0) : originalMass (coreCombination basis c.val) (levelSet (coreCombination basis c.val) 0) = originalMass (coreCombination basis c.val) univ/2 ∧ originalMass (-coreCombination basis c.val) (levelSet (-coreCombination basis c.val) 0) = originalMass (coreCombination basis c.val) univ/2 := by obtain ⟨hp,hn⟩ := core_sign_squared_integrable basis hcont hcompact c exact sign_originalMass_half (coreCombination_continuous basis hcont c) hp hn hc /- Finite coefficient convergence gives actual uniform convergence on the WHOLE physical Plane, rather than only on selected components. -/ theorem coreCombination_uniform_convergence (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (c : ℕ → Sphere3) {c0 : Sphere3} (hc : Tendsto c atTop (𝓝 c0)) : ∀ ε > 0, ∀ᶠ n in atTop, ∀ x, |coreCombination basis c0.val x-coreCombination basis (c n).val x| < ε := by let K : Set Plane := ⋃ i, tsupport (basis i) letI : CompactSpace K := isCompact_iff_compactSpace.mp (commonCoreSupport_isCompact basis hcompact) letI : CompactSpace Sphere3 := isCompact_iff_compactSpace.mp (isCompact_sphere 0 1) let g : Sphere3 → K → ℝ := fun p x => coreCombination basis p.val x.val have hg : Continuous (Function.uncurry g) := (coreCombination_joint_continuous basis hcont).comp (continuous_fst.prodMk (continuous_subtype_val.comp continuous_snd)) have hUniform := Continuous.tendstoUniformly g hg c0 intro ε hε have hev := hc.eventually ((Metric.tendstoUniformly_iff.mp hUniform) ε hε) filter_upwards [hev] with n hn intro x by_cases hx : x ∈ K · simpa only [g,Real.dist_eq] using hn ⟨x,hx⟩ · rw [coreCombination_eq_zero_off_commonSupport basis c0.val hx, coreCombination_eq_zero_off_commonSupport basis (c n).val hx] simpa using hε /- Continuous squared densities have actual L1 convergence. Together with originalMass_change_bound this controls arbitrary moving cores. -/ theorem core_square_density_l1_convergence (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (c : ℕ → Sphere3) {c0 : Sphere3} (hc : Tendsto c atTop (𝓝 c0)) : Tendsto (fun n => ∫ x, |(coreCombination basis (c n).val x)^2-(coreCombination basis c0.val x)^2|) atTop (𝓝 0) := by let K : Set Plane := ⋃ i, tsupport (basis i) letI : CompactSpace Sphere3 := isCompact_iff_compactSpace.mp (isCompact_sphere 0 1) let g : Sphere3 → Plane → ℝ := fun p x => (coreCombination basis p.val x)^2 have hg : Continuous (Function.uncurry g) := (coreCombination_joint_continuous basis hcont).pow 2 have hK := commonCoreSupport_isCompact basis hcompact have hzero : ∀ p x, x ∉ K → g p x = 0 := by intro p x hx simp only [g,coreCombination_eq_zero_off_commonSupport basis p.val hx,zero_pow (by decide : 2≠0)] have himage : IsCompact (Function.uncurry g '' ((univ : Set Sphere3) ×ˢ K)) := (isCompact_univ.prod hK).image hg obtain ⟨B,hB,hBK⟩ := himage.isBounded.exists_pos_norm_le have hbound : ∀ p x, x ∈ K → ‖g p x‖ ≤ B := by intro p x hx exact hBK (g p x) ⟨(p,x),⟨mem_univ _,hx⟩,rfl⟩ simpa only [g,Real.norm_eq_abs] using compact_family_l1_convergence g hK hg hzero hbound c c0 hc /- A positive gap between the moving selected height and a fixed limiting height absorbs whole-Plane uniform convergence. -/ theorem eventually_levelSet_subset_of_uniform (u : ℕ → Plane → ℝ) (v : Plane → ℝ) (a : ℕ → ℝ) (huniform : ∀ ε > 0, ∀ᶠ n in atTop, ∀ x, |v x-u n x| < ε) {t b : ℝ} (htb : t < b) (ha : ∀ᶠ n in atTop, b < a n) : ∀ᶠ n in atTop, levelSet (u n) (a n) ⊆ levelSet v t := by let ε : ℝ := (b-t)/2 have hε : 0 < ε := by dsimp only [ε]; linarith filter_upwards [huniform ε hε,ha] with n hn hna intro x hx have hdiff := (abs_lt.mp (hn x)).1 change a n < u n x at hx change t < v x dsimp only [ε] at hdiff linarith /- The robust limiting profile retains bounded-component nesting at EVERY pair of strict lower quantile heights. The hypotheses are the actual selected sequence and its physical uniform/L1 convergence; no continuity of the enclosure relation itself is assumed. -/ theorem nested_quantiles_of_selected_sequence (u : ℕ → Plane → ℝ) (v : Plane → ℝ) (κ : ℝ) (a b : ℕ → ℝ) (huc : ∀ n, Continuous (u n)) (hui : ∀ n, Integrable (fun x => (u n x)^2)) (hvc : Continuous v) (hvi : Integrable (fun x => (v x)^2)) (hκ : (1:ℝ)/4 ≤ κ) (huseqsign : ∀ n, originalMass (u n) (levelSet (u n) 0) ≤ originalMass (u n) univ/2) (hunseqsign : ∀ n, originalMass (-u n) (levelSet (-u n) 0) ≤ originalMass (-u n) univ/2) (hvsign : originalMass v (levelSet v 0) ≤ originalMass v univ/2) (hvnsgn : originalMass (-v) (levelSet (-v) 0) ≤ originalMass (-v) univ/2) (ha0 : ∀ n, 0 ≤ a n) (hb0 : ∀ n, 0 ≤ b n) (hadma : ∀ n, admissibleLevel (u n) κ (a n)) (hadmb : ∀ n, admissibleLevel (-u n) κ (b n)) (hencl : ∀ n, BoundedEnclosure (heavyCore (u n) κ (a n)) (heavyCore (-u n) κ (b n))) (hM : Tendsto (fun n => originalMass (u n) univ) atTop (𝓝 (originalMass v univ))) (hD : Tendsto (fun n => ∫ x, |(u n x)^2-(v x)^2|) atTop (𝓝 0)) (huniform : ∀ ε > 0, ∀ᶠ n in atTop, ∀ x, |v x-u n x| < ε) (hamove : ∀ d < quantileThreshold v κ, ∀ᶠ n in atTop, d < a n) (hbmove : ∀ d < quantileThreshold (-v) κ, ∀ᶠ n in atTop, d < b n) (hadm0 : admissibleLevel v κ 0) (hadmn0 : admissibleLevel (-v) κ 0) (hR : ∃ R, ∀ x, v x ≤ R) (hnR : ∃ R, ∀ x, (-v) x ≤ R) : ∀ t, 0 ≤ t → t < quantileThreshold v κ → ∀ s, 0 ≤ s → s < quantileThreshold (-v) κ → BoundedEnclosure (heavyCore v κ t) (heavyCore (-v) κ s) := by obtain ⟨R,hR⟩ := hR obtain ⟨nR,hnR⟩ := hnR have hnvi : Integrable (fun x => ((-v) x)^2) := by simpa only [Pi.neg_apply,neg_sq] using hvi have hnui (n : ℕ) : Integrable (fun x => ((-u n) x)^2) := by simpa only [Pi.neg_apply,neg_sq] using hui n have hnM : Tendsto (fun n => originalMass (-u n) univ) atTop (𝓝 (originalMass (-v) univ)) := by simpa only [originalMass_neg] using hM have hnD : Tendsto (fun n => ∫ x, |((-u n) x)^2-((-v) x)^2|) atTop (𝓝 0) := by simpa only [Pi.neg_apply,neg_sq] using hD have hnUniform : ∀ ε > 0, ∀ᶠ n in atTop, ∀ x, |(-v) x-(-u n) x| < ε := by intro ε hε filter_upwards [huniform ε hε] with n hn intro x simpa only [Pi.neg_apply,neg_sub_neg,abs_sub_comm] using hn x intro t ht htτ s hs hsτ obtain ⟨d,htd,hdτ⟩ := exists_between htτ obtain ⟨nd,hsd,hndτ⟩ := exists_between hsτ have hta := eventually_levelSet_subset_of_uniform u v a huniform htd (hamove d hdτ) have hsb := eventually_levelSet_subset_of_uniform (fun n => -u n) (-v) b hnUniform hsd (hbmove nd hndτ) have htadm : admissibleLevel v κ t := (admissibleLevel_iff_lt_threshold hvc hR hadm0 ht).mpr htτ have hsadm : admissibleLevel (-v) κ s := (admissibleLevel_iff_lt_threshold hvc.neg hnR hadmn0 hs).mpr hsτ have hPa : ∀ᶠ n in atTop, heavyCore (u n) κ (a n) ⊆ heavyCore v κ t := by apply nearby_connected_sets_eventually_in_heavyCore u v hui hvi hvc κ t hκ ht hvsign htadm (fun n => heavyCore (u n) κ (a n)) hM hD (fun n => heavyCore_mass_gt (hui n) (hadma n)) (fun n => heavyCore_isConnected (hui n) hκ (ha0 n) (huseqsign n) (hadma n)) filter_upwards [hta] with n hn exact (heavyCore_subset_levelSet (u n) κ (a n)).trans hn have hEb : ∀ᶠ n in atTop, heavyCore (-u n) κ (b n) ⊆ heavyCore (-v) κ s := by apply nearby_connected_sets_eventually_in_heavyCore (fun n => -u n) (-v) hnui hnvi hvc.neg κ s hκ hs hvnsgn hsadm (fun n => heavyCore (-u n) κ (b n)) hnM hnD (fun n => heavyCore_mass_gt (hnui n) (hadmb n)) (fun n => heavyCore_isConnected (hnui n) hκ (hb0 n) (hunseqsign n) (hadmb n)) filter_upwards [hsb] with n hn exact (heavyCore_subset_levelSet (-u n) κ (b n)).trans hn apply boundedEnclosure_of_eventual_core_containment (fun n => heavyCore (u n) κ (a n)) (fun n => heavyCore (-u n) κ (b n)) (heavyCore v κ t) (heavyCore (-v) κ s) hencl hPa hEb (heavyCore_isConnected hnvi hκ hs hvnsgn hsadm).isPreconnected apply disjoint_left.mpr intro x hx hxneg have hp := heavyCore_subset_levelSet v κ t hx have hn := heavyCore_subset_levelSet (-v) κ s hxneg change t < v x at hp change s < -v x at hn linarith /- The actual critical level has no strict component above the original mass cap. This is the high-branch cap used by the star operator, and it includes no restriction on a possible threshold plateau. -/ theorem quantileThreshold_component_mass_le {u : Plane → ℝ} {κ : ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (hκ : 0 ≤ κ) (hadm0 : admissibleLevel u κ 0) (hR : ∃ R, ∀ x, u x ≤ R) {p : Plane} (hp : p ∈ levelSet u (quantileThreshold u κ)) : originalMass u (levelComponent u (quantileThreshold u κ) p) ≤ κ*originalMass u univ := by obtain ⟨R,hR⟩ := hR have hτ := quantileThreshold_pos hu hR hadm0 by_contra hn have hheavy := lt_of_not_ge hn have hadm := compactHeavyWitness_of_component_mass hu hui (mul_nonneg hκ (originalMass_nonneg u univ)) hp hheavy exact (lt_irrefl (quantileThreshold u κ)) ((admissibleLevel_iff_lt_threshold hu hR hadm0 hτ.le).mp hadm) /- This is the actual component-level enclosure contract of s06's assembly, written with the already defined actual level sets. -/ def ActualLowerLevelEnclosure (u : Plane → ℝ) (τ : ℝ) (K : Set Plane) : Prop := ∀ t, 0 < t → t < τ → ∃ p ∈ levelSet u t, ∃ q ∈ K, K ⊆ connectedComponentIn (levelComponent u t p)ᶜ q ∧ Bornology.IsBounded (connectedComponentIn (levelComponent u t p)ᶜ q) /- Nested strict cores give one actual compact inner set of positive area and mass at least kappa M, enclosed by the complement of EVERY strict outer quantile level. -/ theorem terminal_geometry_of_nested_quantiles {u : Plane → ℝ} {κ : ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (hcompact : HasCompactSupport u) (hκ : (1:ℝ)/4 ≤ κ) (hposSign : originalMass u (levelSet u 0) ≤ originalMass u univ/2) (hnegSign : originalMass (-u) (levelSet (-u) 0) ≤ originalMass (-u) univ/2) (hadm0 : admissibleLevel u κ 0) (hR : ∃ R, ∀ x, u x ≤ R) (hadmn0 : admissibleLevel (-u) κ 0) (hnR : ∃ R, ∀ x, (-u) x ≤ R) (hM : 0 < originalMass u univ) (hnests : ∀ t, 0 ≤ t → t < quantileThreshold u κ → ∀ s, 0 ≤ s → s < quantileThreshold (-u) κ → BoundedEnclosure (heavyCore u κ t) (heavyCore (-u) κ s)) : ∃ K : Set Plane, IsCompact K ∧ IsConnected K ∧ 0 < volume.real K ∧ κ*originalMass u univ ≤ originalMass (-u) K ∧ K ⊆ {x | quantileThreshold (-u) κ ≤ (-u) x} ∧ ActualLowerLevelEnclosure u (quantileThreshold u κ) K ∧ ∀ t, 0 ≤ t → t < quantileThreshold u κ → ∃ H : Set Plane, IsClosed H ∧ Bornology.IsBounded H ∧ H ⊆ (levelSet u t)ᶜ ∧ K ⊆ H := by obtain ⟨R,hR⟩ := hR obtain ⟨nR,hnR⟩ := hnR have hnui : Integrable (fun x => ((-u) x)^2) := by simpa only [Pi.neg_apply,neg_sq] using hui have hτ := quantileThreshold_pos hu.neg hnR hadmn0 let t := cofinalLevels (quantileThreshold (-u) κ) have ht := cofinalLevels_properties hτ have hadm := quantile_cofinalLevels_admissible hu.neg hnR hadmn0 have hκpos : 0 < κ := by linarith have hm : 0 < κ*originalMass (-u) univ := by rw [originalMass_neg] exact mul_pos hκpos hM let K := terminalCore (-u) κ t obtain ⟨hK,hB,hKm⟩ := terminalCore_area_mass hnui hcompact.neg (ht.2.1 0).1 ht.1 hadm hm have hconn : IsConnected K := terminalCore_isConnected hnui hcompact.neg hκ (ht.2.1 0).1 ht.1 hnegSign hadm refine ⟨K,hK,hconn,hB,?_,terminalCore_subset_closed_terminal_level hu.neg ht.2.2,?_,?_⟩ · simpa only [originalMass_neg] using hKm · intro a ha haτ let s : ℝ := quantileThreshold (-u) κ/2 have hs0 : 0 ≤ s := by dsimp only [s]; positivity have hsτ : s < quantileThreshold (-u) κ := by dsimp only [s]; linarith have hpAdm : admissibleLevel u κ a := (admissibleLevel_iff_lt_threshold hu hR hadm0 ha.le).mpr haτ have hKE : K ⊆ heavyCore (-u) κ s := terminalCore_subset_strict_core hu.neg hnui hκ hnegSign hadm ht.2.2 hs0 hsτ obtain ⟨p,hp⟩ := (heavyCore_isConnected hui hκ ha.le hposSign hpAdm).nonempty have hDeq := heavyCore_eq_levelComponent hu hui hκ ha.le hposSign hp obtain ⟨w,hw,hEH,hHbound⟩ := hnests a ha.le haτ s hs0 hsτ have hKH : K ⊆ connectedComponentIn (heavyCore u κ a)ᶜ w := hKE.trans hEH obtain ⟨q,hq⟩ := hconn.nonempty have hHeq := connectedComponentIn_eq (hKH hq) refine ⟨p,heavyCore_subset_levelSet u κ a hp,q,hq,?_,?_⟩ · rw [← hDeq,← hHeq] exact hKH · rw [← hDeq,← hHeq] exact hHbound · intro a ha haτ let s : ℝ := quantileThreshold (-u) κ/2 have hs0 : 0 ≤ s := by dsimp only [s]; positivity have hsτ : s < quantileThreshold (-u) κ := by dsimp only [s]; linarith have hE := (heavyCore_isConnected hnui hκ hs0 hnegSign ((admissibleLevel_iff_lt_threshold hu.neg hnR hadmn0 hs0).mpr hsτ)).isPreconnected have hKE : K ⊆ heavyCore (-u) κ s := terminalCore_subset_strict_core hu.neg hnui hκ hnegSign hadm ht.2.2 hs0 hsτ apply bounded_complement_contains_terminal (levelSet_isOpen hu a) (heavyCore_subset_levelSet u κ a) hE ?_ hKE (hnests a ha haτ s hs0 hsτ) apply disjoint_left.mpr intro x hx hxE have hxneg := heavyCore_subset_levelSet (-u) κ s hxE change s < -u x at hxneg change a < u x at hx linarith /- Actual four-coefficient family selection. The only remaining inputs here are ordinary BU and the explicit strict zero-level original mass witness for every balanced coefficient. FK and physical component cutoffs supply that witness under a strict sub-target energy ceiling. -/ theorem exists_actual_nested_quantile_coefficient : ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} ∀ (e : ℂ ≃ᵢ Plane) (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (κ : ℝ) (hκ : (1:ℝ)/4 ≤ κ) (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (hheavy : ∀ c : Sphere3, signedCoreMass basis c = 0 → admissibleLevel (coreCombination basis c.val) κ 0), ∃ c : Sphere3, signedCoreMass basis c = 0 ∧ admissibleLevel (coreCombination basis c.val) κ 0 ∧ admissibleLevel (-coreCombination basis c.val) κ 0 ∧ ∀ t, 0 ≤ t → t < quantileThreshold (coreCombination basis c.val) κ → ∀ s, 0 ≤ s → s < quantileThreshold (-coreCombination basis c.val) κ → BoundedEnclosure (heavyCore (coreCombination basis c.val) κ t) (heavyCore (-coreCombination basis c.val) κ s)) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} fun (e : ℂ ≃ᵢ Plane) (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (κ : ℝ) (hκ : (1:ℝ)/4 ≤ κ) (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (hheavy : ∀ c : Sphere3, signedCoreMass basis c = 0 → admissibleLevel (coreCombination basis c.val) κ 0) => by classical letI : CompactSpace Sphere3 := isCompact_iff_compactSpace.mp (isCompact_sphere 0 1) let F0 := signedCoreMass basis have hF0 : Continuous F0 := signedCoreMass_continuous basis hcont hcompact have hodd : ∀ c, F0 (-c) = -F0 c := signedCoreMass_odd basis let Z := zeroSet F0 letI : CompactSpace Z := isCompact_iff_compactSpace.mp (zeroSet_isClosed hF0).isCompact let σ : Z → Z := zeroAntipode F0 hodd let u : Z → Plane → ℝ := fun z => coreCombination basis z.val.val have huc (z : Z) : Continuous (u z) := coreCombination_continuous basis hcont z.val have hui (z : Z) : Integrable (fun x => (u z x)^2) := core_square_integrable basis hcont hcompact z.val.val have huσ (z : Z) : u (σ z) = -u z := coreCombination_sphere_neg basis z.val have hsign (z : Z) : originalMass (u z) (levelSet (u z) 0) = originalMass (u z) univ/2 ∧ originalMass (-u z) (levelSet (-u z) 0) = originalMass (u z) univ/2 := balanced_core_originalMass_half basis hcont hcompact z.property have hadm0 (z : Z) : admissibleLevel (u z) κ 0 := hheavy z.val z.property choose R hR using fun z : Z => core_upper_bound basis hcont hcompact z.val.val let τ : Z → ℝ := fun z => quantileThreshold (u z) κ have hτpos (z : Z) : 0 < τ z := quantileThreshold_pos (huc z) (hR z) (hadm0 z) have hτlsc : LowerSemicontinuous τ := quantileThreshold_lowerSemicontinuous basis hcont hcompact κ (fun z : Z => z.val) continuous_subtype_val hadm0 obtain ⟨t,htc,htbounds,htmove⟩ := exists_continuous_strict_threshold_sequence_subseq hτlsc hτpos let D : ℕ → Z → Set Plane := fun n z => heavyCore (u z) κ (t n z) have hadm (n : ℕ) (z : Z) : admissibleLevel (u z) κ (t n z) := (admissibleLevel_iff_lt_threshold (huc z) (hR z) (hadm0 z) (htbounds n z).1.le).mpr (htbounds n z).2 have hDo (n : ℕ) (z : Z) : IsOpen (D n z) := heavyCore_isOpen (huc z) (hui z) have hDp (n : ℕ) (z : Z) : IsPathConnected (D n z) := heavyCore_isPathConnected (huc z) (hui z) hκ (htbounds n z).1.le (hsign z).1.le (hadm n z) have hPersist (n : ℕ) : ∀ z K, IsCompact K → K ⊆ D n z → ∀ᶠ y in 𝓝 z, K ⊆ D n y := heavyCore_compact_persistence basis hcont hcompact κ (fun z : Z => z.val) continuous_subtype_val (t n) (htc n) have hDis (n : ℕ) (z : Z) : Disjoint (D n z) (D n (σ z)) := by apply disjoint_left.mpr intro x hx hn have hp := heavyCore_subset_levelSet (u z) κ (t n z) hx have hn' := heavyCore_subset_levelSet (u (σ z)) κ (t n (σ z)) hn change t n z < u z x at hp rw [huσ] at hn' change t n (σ z) < -u z x at hn' have htp := (htbounds n z).1 have htn := (htbounds n (σ z)).1 linarith have hChoose (n : ℕ) : ∃ z : Z, BoundedEnclosure (D n z) (D n (σ z)) := exists_oriented_bounded_enclosure_plane e hBU F0 hF0 hodd (D n) (hDo n) (hDp n) (hPersist n) (hDis n) choose z hz using hChoose obtain ⟨z0,φ,hφ,hlim⟩ := CompactSpace.tendsto_subseq z let y : ℕ → Z := z ∘ φ let un : ℕ → Plane → ℝ := fun n => u (y n) let v : Plane → ℝ := u z0 let a : ℕ → ℝ := fun n => t (φ n) (y n) let b : ℕ → ℝ := fun n => t (φ n) (σ (y n)) have hSphere : Tendsto (fun n => (y n).val) atTop (𝓝 z0.val) := continuous_subtype_val.tendsto z0 |>.comp hlim have hCoeff : Tendsto (fun n => (y n).val.val) atTop (𝓝 z0.val.val) := continuous_subtype_val.tendsto z0.val |>.comp hSphere have hMass : Tendsto (fun n => originalMass (un n) univ) atTop (𝓝 (originalMass v univ)) := (originalMass_core_continuous basis hcont hcompact univ).tendsto _ |>.comp hCoeff have hDensity : Tendsto (fun n => ∫ x, |(un n x)^2-(v x)^2|) atTop (𝓝 0) := core_square_density_l1_convergence basis hcont hcompact (fun n => (y n).val) hSphere have hUniform : ∀ ε > 0, ∀ᶠ n in atTop, ∀ x, |v x-un n x| < ε := coreCombination_uniform_convergence basis hcont hcompact (fun n => (y n).val) hSphere have hσlim : Tendsto (fun n => σ (y n)) atTop (𝓝 (σ z0)) := (zeroAntipode_continuous F0 hodd).tendsto z0 |>.comp hlim have haMove : ∀ d < quantileThreshold v κ, ∀ᶠ n in atTop, d < a n := htmove φ hφ.tendsto_atTop y z0 hlim have hbMove : ∀ d < quantileThreshold (-v) κ, ∀ᶠ n in atTop, d < b n := by simpa only [τ,huσ] using htmove φ hφ.tendsto_atTop (fun n => σ (y n)) (σ z0) hσlim have hna (n : ℕ) : admissibleLevel (un n) κ (a n) := hadm (φ n) (y n) have hnb (n : ℕ) : admissibleLevel (-un n) κ (b n) := by simpa only [huσ] using hadm (φ n) (σ (y n)) have hEnclosure (n : ℕ) : BoundedEnclosure (heavyCore (un n) κ (a n)) (heavyCore (-un n) κ (b n)) := by simpa only [D,y,Function.comp_apply,un,a,b,huσ] using hz (φ n) have hvnSign : originalMass (-v) (levelSet (-v) 0) ≤ originalMass (-v) univ/2 := by simpa only [originalMass_neg] using (hsign z0).2.le have hunSign (n : ℕ) : originalMass (-un n) (levelSet (-un n) 0) ≤ originalMass (-un n) univ/2 := by simpa only [originalMass_neg] using (hsign (y n)).2.le have hvnAdm : admissibleLevel (-v) κ 0 := by simpa only [huσ] using hadm0 (σ z0) have hvR : ∃ R, ∀ x, v x ≤ R := ⟨R z0,hR z0⟩ have hvnR : ∃ R, ∀ x, (-v) x ≤ R := by simpa only [huσ] using (show ∃ R, ∀ x, u (σ z0) x ≤ R from ⟨R (σ z0),hR (σ z0)⟩) refine ⟨z0.val,z0.property,hadm0 z0,hvnAdm,?_⟩ exact nested_quantiles_of_selected_sequence un v κ a b (fun n => huc (y n)) (fun n => hui (y n)) (huc z0) (hui z0) hκ (fun n => (hsign (y n)).1.le) hunSign (hsign z0).1.le hvnSign (fun n => (htbounds (φ n) (y n)).1.le) (fun n => (htbounds (φ n) (σ (y n))).1.le) hna hnb hEnclosure hMass hDensity hUniform haMove hbMove (hadm0 z0) hvnAdm hvR hvnR ) /- Full actual-plane geometry delivered to the physical quantile energy bridge. Every mass and component is defined from the original function, and the possible threshold plateau has no component cap. -/ def ActualQuantileGeometry (u : Plane → ℝ) (κ : ℝ) : Prop := 0 < originalMass u univ ∧ originalMass u (levelSet u 0) = originalMass u univ/2 ∧ originalMass (-u) (levelSet (-u) 0) = originalMass u univ/2 ∧ 0 < quantileThreshold u κ ∧ 0 < quantileThreshold (-u) κ ∧ (∀ p ∈ levelSet u (quantileThreshold u κ), originalMass u (levelComponent u (quantileThreshold u κ) p) ≤ κ*originalMass u univ) ∧ ∃ K : Set Plane, IsCompact K ∧ IsConnected K ∧ 0 < volume.real K ∧ κ*originalMass u univ ≤ originalMass (-u) K ∧ K ⊆ {x | quantileThreshold (-u) κ ≤ (-u) x} ∧ ActualLowerLevelEnclosure u (quantileThreshold u κ) K ∧ ∀ t, 0 ≤ t → t < quantileThreshold u κ → ∃ H : Set Plane, IsClosed H ∧ Bornology.IsBounded H ∧ H ⊆ (levelSet u t)ᶜ ∧ K ⊆ H /- The actual four-dimensional selection-to-geometry endpoint. This does not assume a median scalar estimate or model profile. Ordinary BU and strict heavy-component witnesses remain explicit inputs. -/ theorem actualQuantileGeometry_of_heavy_family : ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} ∀ (e : ℂ ≃ᵢ Plane) (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (hind : LinearIndependent ℝ basis) (κ : ℝ) (hκ : (1:ℝ)/4 ≤ κ) (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (hheavy : ∀ c : Sphere3, signedCoreMass basis c = 0 → admissibleLevel (coreCombination basis c.val) κ 0), ∃ c : Sphere3, signedCoreMass basis c = 0 ∧ ActualQuantileGeometry (coreCombination basis c.val) κ) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} fun (e : ℂ ≃ᵢ Plane) (basis : Fin 4 → Plane → ℝ) (hcont : ∀ i, Continuous (basis i)) (hcompact : ∀ i, HasCompactSupport (basis i)) (hind : LinearIndependent ℝ basis) (κ : ℝ) (hκ : (1:ℝ)/4 ≤ κ) (hBU : ∀ F : Sphere3 → ℝ × Plane, Continuous F → (∀ c, F (-c) = -F c) → ∃ c, F c = 0) (hheavy : ∀ c : Sphere3, signedCoreMass basis c = 0 → admissibleLevel (coreCombination basis c.val) κ 0) => by obtain ⟨c,hc,hp0,hn0,hnests⟩ := exists_actual_nested_quantile_coefficient e basis hcont hcompact κ hκ hBU hheavy let u := coreCombination basis c.val have hu : Continuous u := coreCombination_continuous basis hcont c have hui : Integrable (fun x => (u x)^2) := core_square_integrable basis hcont hcompact c.val have huc : HasCompactSupport u := coreCombination_hasCompactSupport basis hcompact c.val have hM : 0 < originalMass u univ := by simpa only [originalMass,Measure.restrict_univ,u] using coreCombination_square_mass_pos basis hcont hcompact hind c have hsign := balanced_core_originalMass_half basis hcont hcompact hc have hnSign : originalMass (-u) (levelSet (-u) 0) ≤ originalMass (-u) univ/2 := by simpa only [originalMass_neg] using hsign.2.le obtain ⟨R,hR⟩ := core_upper_bound basis hcont hcompact c.val have hnR : ∃ R, ∀ x, (-u) x ≤ R := by simpa only [coreCombination_sphere_neg] using core_upper_bound basis hcont hcompact (-c).val obtain ⟨nR,hnRbound⟩ := hnR have hτp : 0 < quantileThreshold u κ := quantileThreshold_pos hu hR hp0 have hτn : 0 < quantileThreshold (-u) κ := quantileThreshold_pos hu.neg hnRbound hn0 have hCap : ∀ p ∈ levelSet u (quantileThreshold u κ), originalMass u (levelComponent u (quantileThreshold u κ) p) ≤ κ*originalMass u univ := by intro p hp exact quantileThreshold_component_mass_le hu hui (by linarith) hp0 ⟨R,hR⟩ hp have hTerminal := terminal_geometry_of_nested_quantiles hu hui huc hκ hsign.1.le hnSign hp0 ⟨R,hR⟩ hn0 ⟨nR,hnRbound⟩ hM hnests exact ⟨c,hc,hM,hsign.1,hsign.2,hτp,hτn,hCap,hTerminal⟩ ) end Polya26.QuantileCoreLimit end end /- END QuantileCoreLimit -/ /- BEGIN QuantileSelectionBridge -/ section /-! Direct adapter to the strike s06 exact assembly contracts. Assembly is the separately owned source formal/strike/s06/Assembly.lean; its native object must be on LEAN_PATH before checking this file. The actual FK/heavy and ordinary BU inputs stay explicit. -/ noncomputable section open Set MeasureTheory open scoped ContDiff Topology namespace Polya26.QuantileSelectionBridge open Math30.Polya open Polya26.MedianSelector Polya26.QuantileCoreFamily open Polya26.QuantileCoreThreshold Polya26.QuantileCoreLimit open Polya26.Strike.S06 theorem coreCombination_isTestFunction (Ω : PlanarLipschitzDomain) (basis : Fin 4 → Math30.Polya.Plane → ℝ) (htest : ∀ i, IsTestFunction Ω.carrier (basis i)) (c : Sphere3) : IsTestFunction Ω.carrier (coreCombination basis c.val) := by have hc (i : Fin 4) : HasCompactSupport (basis i) := (htest i).2.1 let K : Set Math30.Polya.Plane := ⋃ i, tsupport (basis i) have hK : IsCompact K := commonCoreSupport_isCompact basis hc refine ⟨?_,coreCombination_hasCompactSupport basis hc c.val,?_⟩ · change ContDiff ℝ ∞ (fun x => ∑ i, c.val i*basis i x) exact ContDiff.sum (fun i hi => contDiff_const.mul (htest i).1) · have hTS : tsupport (coreCombination basis c.val) ⊆ K := by apply closure_minimal _ hK.isClosed intro x hx by_contra hnot exact hx (coreCombination_eq_zero_off_commonSupport basis c.val hnot) apply hTS.trans intro x hx obtain ⟨i,hi⟩ := mem_iUnion.mp hx exact (htest i).2.2 hi theorem quantileSelectionFromBUAndHeavy : ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} QuantileSelectionFromBUAndHeavy) := no_implicit_lambda% ( letI := @_root_.w10SphereNeg.{0} letI := @_root_.w10SphereContinuousNeg.{0} by intro hBU hHeavy Ω basis htest hind hceiling have hcont (i : Fin 4) : Continuous (basis i) := (htest i).1.continuous have hcompact (i : Fin 4) : HasCompactSupport (basis i) := (htest i).2.1 have hheavy (c : Sphere3) (hc : signedCoreMass basis c = 0) : admissibleLevel (coreCombination basis c.val) (5/16) 0 := by let u := coreCombination basis c.val have hu : Continuous u := coreCombination_continuous basis hcont c have hui : Integrable (fun x => (u x)^2) := core_square_integrable basis hcont hcompact c.val have hM : 0 < OriginalMass u := coreCombination_square_mass_pos basis hcont hcompact hind c have hsign := balanced_core_originalMass_half basis hcont hcompact hc have hbalance : (∫ x, positiveSquared u x) = (∫ x, negativeSquared u x) := by calc (∫ x, positiveSquared u x) = originalMass u (levelSet u 0) := (originalMass_positive_eq_integral u hu).symm _ = originalMass u univ/2 := hsign.1 _ = originalMass (-u) (levelSet (-u) 0) := hsign.2.symm _ = (∫ x, negativeSquared u x) := originalMass_positive_eq_integral (-u) hu.neg obtain ⟨⟨p,hp,hpMass⟩,hn⟩ := hHeavy Ω u (coreCombination_isTestFunction Ω basis htest c) hM hbalance (hceiling c) have hcap : (5/16 : ℝ)*originalMass u univ < originalMass u (levelComponent u 0 p) := by have hM' : 0 < originalMass u univ := by simpa only [originalMass,Measure.restrict_univ] using hM have hpMass' : (3:ℝ)*originalMass u univ/8 < originalMass u (levelComponent u 0 p) := by simpa only [OriginalMass,OriginalSetMass,PositiveLevel,levelSet,levelComponent, originalMass,Measure.restrict_univ] using hpMass nlinarith only [hM',hpMass'] exact compactHeavyWitness_of_component_mass hu hui (mul_nonneg (by norm_num) (originalMass_nonneg u univ)) hp hcap obtain ⟨c,hc,hgeom⟩ := actualQuantileGeometry_of_heavy_family Complex.orthonormalBasisOneI.repr.toIsometryEquiv basis hcont hcompact hind (5/16) (by norm_num) hBU hheavy let u := coreCombination basis c.val have hu : Continuous u := coreCombination_continuous basis hcont c obtain ⟨hM,hpos,hneg,hτ,hτneg,hcap,K,hK,hKconn,hB,hKm,hKlevel,hLower,hWhole⟩ := hgeom refine ⟨c,quantileThreshold u (5/16),K,?_⟩ constructor · rw [← originalMass_positive_eq_integral u hu] simpa only [originalMass,Measure.restrict_univ] using hpos · change (∫ x, positiveSquared (-u) x) = OriginalMass u/2 rw [← originalMass_positive_eq_integral (-u) hu.neg] simpa only [originalMass,Measure.restrict_univ] using hneg · exact hτ · exact hK · exact hKconn · intro x hx have hxl := hKlevel hx change u x < 0 change quantileThreshold (-u) (5/16) ≤ -u x at hxl linarith · exact hB · rw [originalMass_neg] at hKm change (5:ℝ)*OriginalMass u/16 ≤ originalMass u K simpa only [originalMass,Measure.restrict_univ,mul_div_assoc,div_mul_eq_mul_div] using hKm · exact hLower · intro p hp have h := hcap p hp change originalMass u (levelComponent u (quantileThreshold u (5/16)) p) ≤ (5:ℝ)*OriginalMass u/16 simpa only [originalMass,Measure.restrict_univ,mul_div_assoc,div_mul_eq_mul_div] using h ) end Polya26.QuantileSelectionBridge end end /- END QuantileSelectionBridge -/ namespace Polya26.ProductionSelection theorem subcriticalFamilyQuantileSelection_of_actual_heavy (hHeavy : Polya26.Strike.S06.HeavyComponentsFromSubcritical) : Polya26.Strike.S06.SubcriticalFamilyQuantileSelection := Polya26.QuantileSelectionBridge.quantileSelectionFromBUAndHeavy ordinaryBU hHeavy end Polya26.ProductionSelection /- BEGIN HeavyComponentAlgebra -/ section /-! Finite grouping of genuine component masses and the explicit FK gap. The analytic FK inequalities and physical piece decomposition are explicit inputs; this file asserts no universal spectral theorem by itself. -/ noncomputable section open scoped BigOperators namespace Polya26.HeavyComponentAlgebra theorem finite_subsum_window {ι : Type*} (w : ι → ℝ) (δ : ℝ) (s : Finset ι) (hsmall : ∀ i ∈ s, w i < δ) (hsum : δ ≤ ∑ i ∈ s, w i) (hδ : 0 < δ) : ∃ t : Finset ι, t ⊆ s ∧ δ ≤ ∑ i ∈ t, w i ∧ (∑ i ∈ t, w i) < 2*δ := by classical induction s using Finset.induction_on with | empty => simp only [Finset.sum_empty] at hsum exact False.elim ((not_le_of_gt hδ) hsum) | @insert i s hi ih => by_cases htail : δ ≤ ∑ j ∈ s, w j · obtain ⟨t,ht,hl,hu⟩ := ih (fun j hj => hsmall j (Finset.mem_insert_of_mem hj)) htail exact ⟨t,ht.trans (Finset.subset_insert i s),hl,hu⟩ · refine ⟨insert i s,(fun j hj => hj),hsum,?_⟩ rw [Finset.sum_insert hi] have hw := hsmall i (Finset.mem_insert_self i s) have htail' := lt_of_not_ge htail linarith theorem finite_component_bundle {ι : Type*} (w : ι → ℝ) (M : ℝ) (s : Finset ι) (hM : 0 < M) (hcap : ∀ i ∈ s, w i ≤ 3*M/8) (hsum : M/8 ≤ ∑ i ∈ s, w i) : ∃ t : Finset ι, t ⊆ s ∧ M/8 ≤ ∑ i ∈ t, w i ∧ (∑ i ∈ t, w i) ≤ 3*M/8 := by classical by_cases hex : ∃ i ∈ s, M/8 ≤ w i · obtain ⟨i,hi,hwi⟩ := hex exact ⟨{i},Finset.singleton_subset_iff.mpr hi, by simpa only [Finset.sum_singleton] using hwi, by simpa only [Finset.sum_singleton] using hcap i hi⟩ · have hsmall : ∀ i ∈ s, w i < M/8 := by intro i hi exact lt_of_not_ge (fun hw => hex ⟨i,hi,hw⟩) obtain ⟨t,ht,hl,hu⟩ := finite_subsum_window w (M/8) s hsmall hsum (by positivity) exact ⟨t,ht,hl,by linarith⟩ /- Three actual zero-trace pieces with balanced sign mass and each positive bundle at least M/8. The rational lower bounds 3/7 and 19/14 replace radicals and retain a strict final margin. -/ theorem three_piece_bound (a b c e f g C M m n p : ℝ) (ha : 0 ≤ a) (hb : 0 ≤ b) (hc : 0 ≤ c) (he : 0 ≤ e) (hf : 0 ≤ f) (hg : 0 ≤ g) (hC : 0 ≤ C) (hM : 0 ≤ M) (hm : M/8 ≤ m) (hn : M/8 ≤ n) (hpos : m+n=M/2) (hneg : p=M/2) (hae : C*m ≤ a*e) (hbf : C*n ≤ b*f) (hcg : C*p ≤ c*g) : (39/14 : ℝ)*C*M ≤ (a+b+c)*(e+f+g) := by have hm0 : 0 ≤ m := by linarith have hn0 : 0 ≤ n := by linarith have hmn : (3/64 : ℝ)*M^2 ≤ m*n := by have h := mul_nonneg (by linarith : 0 ≤ m-M/8) (by linarith : 0 ≤ n-M/8) have hs := congrArg (fun x : ℝ => M*x) hpos nlinarith only [h,hs] have hp0 := mul_le_mul hae hbf (mul_nonneg hC hn0) (mul_nonneg ha he) have hp : C^2*(m*n) ≤ (a*e)*(b*f) := by convert hp0 using 1 <;> ring have hcross : 4*((a*e)*(b*f)) ≤ (a*f+b*e)^2 := by nlinarith only [sq_nonneg (a*f-b*e)] have hmass := mul_le_mul_of_nonneg_left hmn (by positivity : 0 ≤ 4*C^2) have hsmall : ((3/7 : ℝ)*C*M)^2 ≤ 4*C^2*(m*n) := by nlinarith only [hmass,sq_nonneg (C*M)] have hp4 := mul_le_mul_of_nonneg_left hp (by norm_num : (0 : ℝ) ≤ 4) have hsq : ((3/7 : ℝ)*C*M)^2 ≤ (a*f+b*e)^2 := by calc _ ≤ 4*C^2*(m*n) := hsmall _ ≤ 4*((a*e)*(b*f)) := by convert hp4 using 1 <;> ring _ ≤ _ := hcross have hab : (3/7 : ℝ)*C*M ≤ a*f+b*e := (sq_le_sq₀ (by positivity) (by positivity)).mp hsq have hpositive : (13/14 : ℝ)*C*M ≤ (a+b)*(e+f) := by have hs : C*m+C*n=C*M/2 := by rw [← mul_add,hpos]; ring nlinarith only [hae,hbf,hab,hs] have hnegative : C*M/2 ≤ c*g := by rw [hneg] at hcg simpa only [mul_div_assoc] using hcg have hp2 := mul_le_mul hpositive hnegative (by positivity : 0 ≤ C*M/2) (by positivity : 0 ≤ (a+b)*(e+f)) have hcross2 : 4*(((a+b)*(e+f))*(c*g)) ≤ ((a+b)*g+c*(e+f))^2 := by nlinarith only [sq_nonneg ((a+b)*g-c*(e+f))] have hp24 := mul_le_mul_of_nonneg_left hp2 (by norm_num : (0 : ℝ) ≤ 4) have hsq2 : ((19/14 : ℝ)*C*M)^2 ≤ ((a+b)*g+c*(e+f))^2 := by have hcoeff : ((19/14 : ℝ)*C*M)^2 ≤ 4*((13/14 : ℝ)*C*M)*(C*M/2) := by nlinarith only [sq_nonneg (C*M)] exact hcoeff.trans (by convert hp24.trans hcross2 using 1 <;> ring) have hbetween : (19/14 : ℝ)*C*M ≤ (a+b)*g+c*(e+f) := (sq_le_sq₀ (by positivity) (by positivity)).mp hsq2 nlinarith only [hpositive,hnegative,hbetween] theorem three_piece_fourth_gap (a b c e f g K M m n p : ℝ) (ha : 0 ≤ a) (hb : 0 ≤ b) (hc : 0 ≤ c) (he : 0 ≤ e) (hf : 0 ≤ f) (hg : 0 ≤ g) (hK : 0 ≤ K) (hM : 0 ≤ M) (hm : M/8 ≤ m) (hn : M/8 ≤ n) (hpos : m+n=M/2) (hneg : p=M/2) (hae : (23/4 : ℝ)*K*m ≤ a*e) (hbf : (23/4 : ℝ)*K*n ≤ b*f) (hcg : (23/4 : ℝ)*K*p ≤ c*g) : (16+1/56 : ℝ)*K*M ≤ (a+b+c)*(e+f+g) := by have h := three_piece_bound a b c e f g ((23/4 : ℝ)*K) M m n p ha hb hc he hf hg (by positivity) hM hm hn hpos hneg hae hbf hcg convert h using 1 <;> ring end Polya26.HeavyComponentAlgebra end end /- END HeavyComponentAlgebra -/ /- BEGIN HeavyComponentBridge -/ section /-! Actual finite nodal-bundle bridge for D02. Ordinary smooth FK remains an explicit dependency. No countable square-root component bound, regular nodal boundary, or differentiability of a raw zero extension is assumed. -/ noncomputable section open Set Filter MeasureTheory Topology open scoped BigOperators ContDiff namespace Polya26.HeavyComponentBridge open Math30.Polya Polya26.MedianSelector Polya26.QuantileCoreFamily open Polya26.QuantileCoreLimit Polya26.HeavyComponentAlgebra open Polya26.LevelComponentBoundary Polya26.SmoothRamp abbrev Plane := Math30.Polya.Plane /- The remaining physical FK input: actual compact smooth tests in an arbitrary bounded open set, with the exact constant used by D02. -/ def SmoothFK : Prop := ∀ (D : Set Plane) (v : Plane → ℝ), IsOpen D → Bornology.IsBounded D → ContDiff ℝ ∞ v → HasCompactSupport v → tsupport v ⊆ D → (23 / 4 : ℝ) * Real.pi * (∫ x, (v x)^2) ≤ area D * (∫ x, ‖fderiv ℝ v x‖^2) def flatCutoff (D : Set Plane) (ε : ℝ) (u : Plane → ℝ) : Plane → ℝ := zeroExtension D (fun x => ramp ε (u x)) theorem smooth_mass_integrable {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : Continuous u) : Integrable (fun x => (u x)^2) := by have hc : Continuous (fun x : Plane => (u x)^2) := hf.pow 2 have hs : HasCompactSupport (fun x : Plane => (u x)^2) := hu.comp_left (g := fun s : ℝ => s^2) (by simp) exact hc.integrable_of_hasCompactSupport hs theorem smooth_energy_integrable {u : Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) : Integrable (fun x => ‖fderiv ℝ u x‖^2) := by have hc := (hf.continuous_fderiv (by simp)).norm.pow 2 have hs : HasCompactSupport (fun x => ‖fderiv ℝ u x‖^2) := (hu.fderiv (𝕜 := ℝ)).comp_left (g := fun L : Plane →L[ℝ] ℝ => ‖L‖^2) (by simp) exact hc.integrable_of_hasCompactSupport hs /- Flat ramps have a zero neighbourhood across every boundary point. The boundary need not be regular or Lipschitz. -/ theorem flatCutoff_eventually_zero {D : Set Plane} {u : Plane → ℝ} (hu : Continuous u) (hD : IsOpen D) (hfront : ∀ x ∈ frontier D, u x = 0) {ε : ℝ} (hε : 0 < ε) {x : Plane} (hx : x ∉ D) : flatCutoff D ε u =ᶠ[𝓝 x] 0 := by classical by_cases hxc : x ∈ closure D · have hxf : x ∈ frontier D := ⟨hxc, by simpa only [hD.interior_eq] using hx⟩ have hux := hfront x hxf have hopen : IsOpen {y : Plane | u y < ε} := isOpen_lt hu continuous_const have hxopen : x ∈ {y : Plane | u y < ε} := by change u x < ε simpa only [hux] using hε filter_upwards [hopen.mem_nhds hxopen] with y hy have hz := ramp_zero hε (le_of_lt hy) simp only [flatCutoff, zeroExtension, hz, ite_self, Pi.zero_apply] · filter_upwards [isClosed_closure.isOpen_compl.mem_nhds hxc] with y hy have hyD : y ∉ D := fun h => hy (subset_closure h) simp only [flatCutoff, zeroExtension, if_neg hyD, Pi.zero_apply] theorem flatCutoff_contDiff {D : Set Plane} {u : Plane → ℝ} (hu : ContDiff ℝ ∞ u) (hD : IsOpen D) (hfront : ∀ x ∈ frontier D, u x = 0) {ε : ℝ} (hε : 0 < ε) : ContDiff ℝ ∞ (flatCutoff D ε u) := by apply contDiff_iff_contDiffAt.mpr intro x by_cases hx : x ∈ D · exact ((contDiff_ramp ε).comp hu).contDiffAt.congr_of_eventuallyEq (zeroExtension_eventually_inside hD (fun x => ramp ε (u x)) hx) · exact contDiffAt_const.congr_of_eventuallyEq (flatCutoff_eventually_zero hu.continuous hD hfront hε hx) theorem flatCutoff_hasCompactSupport {D : Set Plane} {u : Plane → ℝ} (hu : HasCompactSupport u) {ε : ℝ} (hε : 0 < ε) : HasCompactSupport (flatCutoff D ε u) := hasCompactSupport_zeroExtension D (fun x => ramp ε (u x)) (hu.comp_left (ramp_zero hε hε.le)) theorem flatCutoff_tsupport_subset {D : Set Plane} {u : Plane → ℝ} (hu : Continuous u) (hD : IsOpen D) (hfront : ∀ x ∈ frontier D, u x = 0) {ε : ℝ} (hε : 0 < ε) : tsupport (flatCutoff D ε u) ⊆ D := by intro x hx by_contra hnot exact ((notMem_tsupport_iff_eventuallyEq).mpr (flatCutoff_eventually_zero hu hD hfront hε hnot)) hx theorem flatCutoff_fderiv {D : Set Plane} {u : Plane → ℝ} (hu : ContDiff ℝ ∞ u) (hD : IsOpen D) (hfront : ∀ x ∈ frontier D, u x = 0) {ε : ℝ} (hε : 0 < ε) (x : Plane) : fderiv ℝ (flatCutoff D ε u) x = zeroExtension D (fun y => slope ε (u y) • fderiv ℝ u y) x := by classical by_cases hx : x ∈ D · have he := zeroExtension_eventually_inside hD (fun y => ramp ε (u y)) hx have hud := (hu.differentiable (by simp) x).hasFDerivAt have hd := HasDerivAt.comp_hasFDerivAt x (hasDerivAt_ramp ε (u x)) hud have hd' : HasFDerivAt (fun y : Plane => ramp ε (u y)) (slope ε (u x) • fderiv ℝ u x) x := by simpa only [Function.comp_def] using hd change fderiv ℝ (zeroExtension D (fun y => ramp ε (u y))) x = _ rw [he.fderiv_eq, hd'.fderiv] simp only [zeroExtension, if_pos hx] · rw [(flatCutoff_eventually_zero hu.continuous hD hfront hε hx).fderiv_eq] simp only [fderiv_zero, Pi.zero_apply, zeroExtension, if_neg hx] theorem flatCutoff_energy_le {D : Set Plane} {u : Plane → ℝ} (hu : ContDiff ℝ ∞ u) (hD : IsOpen D) (hfront : ∀ x ∈ frontier D, u x = 0) {ε : ℝ} (hε : 0 < ε) (hq : Integrable (fun x => ‖fderiv ℝ u x‖^2)) : (∫ x, ‖fderiv ℝ (flatCutoff D ε u) x‖^2) ≤ ∫ x in D, ‖fderiv ℝ u x‖^2 := by classical have hb (x : Plane) : ‖fderiv ℝ (flatCutoff D ε u) x‖^2 ≤ D.indicator (fun y => ‖fderiv ℝ u y‖^2) x := by rw [flatCutoff_fderiv hu hD hfront hε x] by_cases hx : x ∈ D · simp only [zeroExtension, if_pos hx, indicator_of_mem hx, norm_smul, Real.norm_eq_abs, abs_of_nonneg (slope_nonneg ε (u x))] have hnorm : slope ε (u x) * ‖fderiv ℝ u x‖ ≤ ‖fderiv ℝ u x‖ := by simpa only [one_mul] using mul_le_mul_of_nonneg_right (slope_le_one ε (u x)) (norm_nonneg _) exact (sq_le_sq₀ (mul_nonneg (slope_nonneg _ _) (norm_nonneg _)) (norm_nonneg _)).mpr hnorm · simp only [zeroExtension, if_neg hx, indicator_of_notMem hx, norm_zero, zero_pow] norm_num have hmajor := hq.indicator hD.measurableSet have hc := ((flatCutoff_contDiff hu hD hfront hε).continuous_fderiv (by simp)).norm.pow 2 have hi : Integrable (fun x => ‖fderiv ℝ (flatCutoff D ε u) x‖^2) := hmajor.mono' hc.aestronglyMeasurable (Eventually.of_forall fun x => by have hn : 0 ≤ ‖fderiv ℝ (flatCutoff D ε u) x‖^2 := sq_nonneg _ simpa only [Real.norm_eq_abs, abs_of_nonneg hn] using hb x) have h := integral_mono hi hmajor hb rw [integral_indicator hD.measurableSet] at h exact h theorem ramp_error_bounds {ε s : ℝ} (hε : 0 < ε) (hs : 0 ≤ s) : 0 ≤ s - ramp ε s ∧ s - ramp ε s ≤ 2*ε := by have hlo := ramp_nonneg (ε := ε) hs have hup := ramp_le (ε := ε) hs by_cases htail : 2*ε ≤ s · rw [ramp_affine_tail hε htail] have hh := tailShift_bounds hε constructor <;> linarith · have hs' := lt_of_not_ge htail constructor <;> linarith def cutoffScale (n : ℕ) : ℝ := 1 / ((n : ℝ)+1) theorem cutoffScale_pos (n : ℕ) : 0 < cutoffScale n := by unfold cutoffScale positivity theorem cutoffScale_tendsto : Tendsto cutoffScale atTop (𝓝 0) := tendsto_one_div_add_atTop_nhds_zero_nat theorem ramp_tendsto {s : ℝ} (hs : 0 ≤ s) : Tendsto (fun n => ramp (cutoffScale n) s) atTop (𝓝 s) := by have herror : Tendsto (fun n => s - ramp (cutoffScale n) s) atTop (𝓝 0) := by apply squeeze_zero (fun n => (ramp_error_bounds (cutoffScale_pos n) hs).1) (fun n => (ramp_error_bounds (cutoffScale_pos n) hs).2) simpa only [mul_zero] using tendsto_const_nhds.mul cutoffScale_tendsto convert (tendsto_const_nhds (x := s)).sub herror using 1 <;> simp /- Dominated mass convergence retains the actual original piece mass. Only flat smooth cutoffs are passed to the smooth FK input. -/ theorem flatCutoff_mass_tendsto {D : Set Plane} {u : Plane → ℝ} (hu : ContDiff ℝ ∞ u) (hD : IsOpen D) (hfront : ∀ x ∈ frontier D, u x = 0) (hpos : D ⊆ levelSet u 0) (hm : Integrable (fun x => (u x)^2)) : Tendsto (fun n => ∫ x, (flatCutoff D (cutoffScale n) u x)^2) atTop (𝓝 (originalMass u D)) := by classical have hlim : Tendsto (fun n => ∫ x, (flatCutoff D (cutoffScale n) u x)^2) atTop (𝓝 (∫ x, D.indicator (fun y => (u y)^2) x)) := by apply tendsto_integral_of_dominated_convergence (fun x => (u x)^2) · intro n exact ((flatCutoff_contDiff hu hD hfront (cutoffScale_pos n)).continuous.pow 2).aestronglyMeasurable · exact hm · intro n exact Eventually.of_forall fun x => by by_cases hx : x ∈ D · have hu0 : 0 ≤ u x := le_of_lt (hpos hx) have hr0 := ramp_nonneg (ε := cutoffScale n) hu0 have hr1 := ramp_le (ε := cutoffScale n) hu0 have hrnn : 0 ≤ (ramp (cutoffScale n) (u x))^2 := sq_nonneg _ simp only [flatCutoff, zeroExtension, if_pos hx, Real.norm_eq_abs, abs_of_nonneg hrnn] exact (sq_le_sq₀ hr0 hu0).mpr hr1 · simp [flatCutoff, zeroExtension, hx, sq_nonneg] · exact Eventually.of_forall fun x => by by_cases hx : x ∈ D · simpa only [flatCutoff, zeroExtension, if_pos hx, indicator_of_mem hx] using (ramp_tendsto (le_of_lt (hpos hx))).pow 2 · simp only [flatCutoff, zeroExtension, if_neg hx, indicator_of_notMem hx, zero_pow] simpa using (tendsto_const_nhds (x := (0 : ℝ)) (f := atTop)) simpa only [integral_indicator hD.measurableSet, originalMass] using hlim theorem zero_trace_piece_fk (hfk : SmoothFK) {D : Set Plane} {u : Plane → ℝ} (hu : ContDiff ℝ ∞ u) (hc : HasCompactSupport u) (hD : IsOpen D) (hb : Bornology.IsBounded D) (hpos : D ⊆ levelSet u 0) (hfront : ∀ x ∈ frontier D, u x = 0) : (23 / 4 : ℝ) * Real.pi * originalMass u D ≤ area D * (∫ x in D, ‖fderiv ℝ u x‖^2) := by have hm := smooth_mass_integrable hc hu.continuous have hq := smooth_energy_integrable hc hu have hlim := (tendsto_const_nhds (x := (23 / 4 : ℝ) * Real.pi)).mul (flatCutoff_mass_tendsto hu hD hfront hpos hm) apply le_of_tendsto hlim exact Eventually.of_forall fun n => (hfk D (flatCutoff D (cutoffScale n) u) hD hb (flatCutoff_contDiff hu hD hfront (cutoffScale_pos n)) (flatCutoff_hasCompactSupport hc (cutoffScale_pos n)) (flatCutoff_tsupport_subset hu.continuous hD hfront (cutoffScale_pos n))).trans (mul_le_mul_of_nonneg_left (flatCutoff_energy_le hu hD hfront (cutoffScale_pos n) hq) ENNReal.toReal_nonneg) theorem frontier_positive_value_zero {u : Plane → ℝ} (hu : Continuous u) {x : Plane} (hx : x ∈ frontier (levelSet u 0)) : u x = 0 := by have hP := levelSet_isOpen hu 0 have hge : 0 ≤ u x := closure_minimal (fun y hy => (show 0 < u y from hy).le) (isClosed_le continuous_const hu) hx.1 have hnot : x ∉ interior (levelSet u 0) := hx.2 rw [hP.interior_eq] at hnot exact le_antisymm (le_of_not_gt hnot) hge theorem exists_actual_positive_bundle_window {u : Plane → ℝ} (hu : Continuous u) (hui : Integrable (fun x => (u x)^2)) (hM : 0 < originalMass u univ) (hhalf : originalMass u (levelSet u 0) = originalMass u univ/2) (hcap : ∀ p ∈ levelSet u 0, originalMass u (levelComponent u 0 p) ≤ 3*originalMass u univ/8) : ∃ T : Finset (Set Plane), (∀ D ∈ T, ∃ p ∈ levelSet u 0, D = levelComponent u 0 p) ∧ Set.Pairwise (T : Set (Set Plane)) Disjoint ∧ originalMass u univ/8 ≤ originalMass u (⋃ D ∈ T, D) ∧ originalMass u (⋃ D ∈ T, D) ≤ 3*originalMass u univ/8 := by classical obtain ⟨S,hS,hDis,hSm⟩ := exists_finite_nodal_components_mass_gt hu hui (by positivity : 0 ≤ originalMass u univ/8) (by rw [hhalf]; linarith) have hSum : originalMass u univ/8 ≤ ∑ D ∈ S, originalMass u D := by rw [← finite_nodal_components_mass_eq_sum hu hui S hS hDis] exact hSm.le have hCap (D : Set Plane) (hD : D ∈ S) : originalMass u D ≤ 3*originalMass u univ/8 := by obtain ⟨p,hp,rfl⟩ := hS D hD exact hcap p hp obtain ⟨T,hTS,hTl,hTu⟩ := finite_component_bundle (originalMass u) (originalMass u univ) S hM hCap hSum have hT (D : Set Plane) (hD : D ∈ T) : ∃ p ∈ levelSet u 0, D = levelComponent u 0 p := hS D (hTS hD) have hTDis : Set.Pairwise (T : Set (Set Plane)) Disjoint := fun D hD E hE hne => hDis (hTS hD) (hTS hE) hne have hMass := finite_nodal_components_mass_eq_sum hu hui T hT hTDis exact ⟨T,hT,hTDis,hMass.symm ▸ hTl,hMass.symm ▸ hTu⟩ end Polya26.HeavyComponentBridge noncomputable section open Set Filter MeasureTheory Topology open scoped BigOperators ContDiff namespace Polya26.HeavyComponentBridge open Math30.Polya Polya26.MedianSelector Polya26.QuantileCoreFamily open Polya26.QuantileCoreLimit Polya26.HeavyComponentAlgebra open Polya26.LevelComponentBoundary Polya26.SmoothRamp theorem nodal_bundle_subset {u : Plane → ℝ} (T : Finset (Set Plane)) (hT : ∀ D ∈ T, ∃ p ∈ levelSet u 0, D = levelComponent u 0 p) : (⋃ D ∈ T, D) ⊆ levelSet u 0 := by intro x hx obtain ⟨D,hD,hxD⟩ := mem_iUnion₂.mp hx obtain ⟨p,hp,rfl⟩ := hT D hD exact connectedComponentIn_subset (levelSet u 0) p hxD theorem nodal_bundle_isOpen {u : Plane → ℝ} (hu : Continuous u) (T : Finset (Set Plane)) (hT : ∀ D ∈ T, ∃ p ∈ levelSet u 0, D = levelComponent u 0 p) : IsOpen (⋃ D ∈ T, D) := by apply isOpen_biUnion intro D hD obtain ⟨p,hp,rfl⟩ := hT D hD exact levelComponent_isOpen hu 0 p theorem nodal_bundle_frontier_zero {u : Plane → ℝ} (hu : Continuous u) (T : Finset (Set Plane)) (hT : ∀ D ∈ T, ∃ p ∈ levelSet u 0, D = levelComponent u 0 p) : ∀ x ∈ frontier (⋃ D ∈ T, D), u x = 0 := by intro x hx have hnot : x ∉ ⋃ D ∈ T, D := by simpa only [(nodal_bundle_isOpen hu T hT).interior_eq] using hx.2 have hcl := hx.1 rw [T.closure_biUnion (fun D : Set Plane => D)] at hcl obtain ⟨D,hD,hxD⟩ := mem_iUnion₂.mp hcl have hxnotD : x ∉ D := fun h => hnot (mem_iUnion₂.mpr ⟨D,hD,h⟩) obtain ⟨p,hp,rfl⟩ := hT D hD have hxf : x ∈ frontier (levelComponent u 0 p) := by refine ⟨hxD,?_⟩ rw [(levelComponent_isOpen hu 0 p).interior_eq] exact hxnotD exact value_on_frontier_level_component hu 0 p hxf theorem positive_remainder_isOpen {u : Plane → ℝ} (hu : Continuous u) {U : Set Plane} (hU : IsOpen U) (hfront : ∀ x ∈ frontier U, u x = 0) : IsOpen (levelSet u 0 \ U) := by have heq : levelSet u 0 \ U = levelSet u 0 \ closure U := by ext x constructor · rintro ⟨hxP,hxU⟩ refine ⟨hxP,?_⟩ intro hxcl have hxfront : x ∈ frontier U := ⟨hxcl, by simpa only [hU.interior_eq] using hxU⟩ have hzero := hfront x hxfront exact (ne_of_gt (show 0 < u x from hxP)) hzero · rintro ⟨hxP,hxcl⟩ exact ⟨hxP,fun hxU => hxcl (subset_closure hxU)⟩ rw [heq] exact (levelSet_isOpen hu 0).sdiff isClosed_closure theorem positive_remainder_frontier_zero {u : Plane → ℝ} (hu : Continuous u) {U : Set Plane} (hfront : ∀ x ∈ frontier U, u x = 0) : ∀ x ∈ frontier (levelSet u 0 \ U), u x = 0 := by intro x hx rw [sdiff_eq] at hx rcases frontier_inter_subset (levelSet u 0) Uᶜ hx with hxP | hxU · exact frontier_positive_value_zero hu hxP.1 · rw [frontier_compl] at hxU exact hfront x hxU.2 theorem positive_mass_identity (u : Plane → ℝ) (hu : Continuous u) : (∫ x, positiveSquared u x) = originalMass u (levelSet u 0) := by rw [originalMass, ← integral_indicator (levelSet_isOpen hu 0).measurableSet] apply integral_congr_ae exact Eventually.of_forall fun x => by by_cases hx : x ∈ levelSet u 0 · have hx0 : 0 ≤ u x := le_of_lt hx simp only [positiveSquared, indicator_of_mem hx, max_eq_left hx0] · have hx0 : u x ≤ 0 := le_of_not_gt hx simp [positiveSquared, indicator_of_notMem hx, max_eq_right hx0] theorem negative_mass_identity (u : Plane → ℝ) (hu : Continuous u) : (∫ x, negativeSquared u x) = originalMass u (levelSet (-u) 0) := by change (∫ x, positiveSquared (-u) x) = _ rw [positive_mass_identity (-u) hu.neg, originalMass_neg] theorem balanced_phase_halves {u : Plane → ℝ} (hu : Continuous u) (hc : HasCompactSupport u) (hbal : (∫ x, positiveSquared u x) = (∫ x, negativeSquared u x)) : originalMass u (levelSet u 0) = originalMass u univ / 2 ∧ originalMass u (levelSet (-u) 0) = originalMass u univ / 2 := by have hpc : HasCompactSupport (positiveSquared u) := by convert hc.comp_left (g := fun s : ℝ => (max s 0)^2) (by norm_num) using 1 funext x rfl have hnc : HasCompactSupport (negativeSquared u) := by convert hc.comp_left (g := fun s : ℝ => (max (-s) 0)^2) (by norm_num) using 1 funext x rfl have hpcn : Continuous (positiveSquared u) := (hu.max continuous_const).pow 2 have hncn : Continuous (negativeSquared u) := (hu.neg.max continuous_const).pow 2 have hp : Integrable (positiveSquared u) := hpcn.integrable_of_hasCompactSupport hpc have hn : Integrable (negativeSquared u) := hncn.integrable_of_hasCompactSupport hnc have hadd : (∫ x, positiveSquared u x) + (∫ x, negativeSquared u x) = originalMass u univ := by rw [← integral_add hp hn, originalMass, setIntegral_univ] apply integral_congr_ae exact Eventually.of_forall fun x => (sign_square_identities (u x)).1 rw [positive_mass_identity u hu, negative_mass_identity u hu] at hbal hadd constructor <;> linarith theorem norm_fderiv_neg (u : Plane → ℝ) (x : Plane) : ‖fderiv ℝ (-u) x‖^2 = ‖fderiv ℝ u x‖^2 := by change ‖fderiv ℝ (fun y => -(u y)) x‖^2 = _ simp only [fderiv_fun_neg, norm_neg] theorem area_union_add {D E : Set Plane} (hD : Bornology.IsBounded D) (hE : Bornology.IsBounded E) (hdis : Disjoint D E) (hmeas : MeasurableSet E) : area (D ∪ E) = area D + area E := by rw [area, measure_union hdis hmeas, ENNReal.toReal_add hD.measure_lt_top.ne hE.measure_lt_top.ne] rfl /- If all positive nodal components are capped at 3M/8, three actual zero-trace pieces force the strict FK margin above the fourth threshold. -/ theorem positive_heavy_from_subcritical (hfk : SmoothFK) (Ω : PlanarLipschitzDomain) (u : Plane → ℝ) (hu : IsTestFunction Ω.carrier u) (hM : 0 < originalMass u univ) (hbal : (∫ x, positiveSquared u x) = (∫ x, negativeSquared u x)) (hstrict : area Ω.carrier * (∫ x, ‖fderiv ℝ u x‖^2) < 16 * Real.pi * originalMass u univ) : ∃ p ∈ levelSet u 0, 3*originalMass u univ/8 < originalMass u (levelComponent u 0 p) := by classical by_contra hnone have hcap : ∀ p ∈ levelSet u 0, originalMass u (levelComponent u 0 p) ≤ 3*originalMass u univ/8 := by intro p hp exact le_of_not_gt fun hm => hnone ⟨p,hp,hm⟩ have hm := smooth_mass_integrable hu.2.1 hu.1.continuous have hq := smooth_energy_integrable hu.2.1 hu.1 obtain ⟨hhalf,hnegHalf⟩ := balanced_phase_halves hu.1.continuous hu.2.1 hbal obtain ⟨T,hT,hTdis,hlow,hhigh⟩ := exists_actual_positive_bundle_window hu.1.continuous hm hM hhalf hcap let P := levelSet u 0 let U := ⋃ D ∈ T, D let V := P \ U let N := levelSet (-u) 0 have hUP : U ⊆ P := nodal_bundle_subset T hT have hUopen : IsOpen U := nodal_bundle_isOpen hu.1.continuous T hT have hUfront : ∀ x ∈ frontier U, u x = 0 := nodal_bundle_frontier_zero hu.1.continuous T hT have hVopen : IsOpen V := positive_remainder_isOpen hu.1.continuous hUopen hUfront have hVfront : ∀ x ∈ frontier V, u x = 0 := positive_remainder_frontier_zero hu.1.continuous hUfront have hVP : V ⊆ P := sdiff_subset have hPcar : P ⊆ Ω.carrier := fun x hx => hu.2.2 (subset_tsupport u (ne_of_gt hx)) have hNcar : N ⊆ Ω.carrier := by intro x hx have hxneg : u x < 0 := neg_pos.mp hx exact hu.2.2 (subset_tsupport u (ne_of_lt hxneg)) have hUb := Ω.bounded.subset (hUP.trans hPcar) have hVb := Ω.bounded.subset (hVP.trans hPcar) have hPb := Ω.bounded.subset hPcar have hNb := Ω.bounded.subset hNcar have hNopen : IsOpen N := levelSet_isOpen hu.1.continuous.neg 0 have hUVdis : Disjoint U V := by apply disjoint_left.mpr intro x hxU hxV exact hxV.2 hxU have hUVe : U ∪ V = P := by ext x constructor · rintro (hx | hx) · exact hUP hx · exact hx.1 · intro hxP by_cases hxU : x ∈ U · exact Or.inl hxU · exact Or.inr ⟨hxP,hxU⟩ have hPNdis : Disjoint P N := by apply disjoint_left.mpr intro x hxP hxN exact (not_lt_of_ge (show 0 ≤ u x from le_of_lt hxP)) (neg_pos.mp hxN) have hUFk := zero_trace_piece_fk hfk hu.1 hu.2.1 hUopen hUb hUP hUfront have hVFk := zero_trace_piece_fk hfk hu.1 hu.2.1 hVopen hVb hVP hVfront have hNFk : (23 / 4 : ℝ)*Real.pi*originalMass u N ≤ area N * (∫ x in N, ‖fderiv ℝ u x‖^2) := by have hn := zero_trace_piece_fk hfk hu.1.neg hu.2.1.neg hNopen hNb subset_rfl (fun x hx => frontier_positive_value_zero hu.1.continuous.neg hx) change (23 / 4 : ℝ)*Real.pi*originalMass (-u) N ≤ area N * (∫ x in N, ‖fderiv ℝ (-u) x‖^2) at hn simp_rw [originalMass_neg, norm_fderiv_neg] at hn exact hn have hmass : originalMass u U + originalMass u V = originalMass u univ/2 := by rw [originalMass, originalMass, ← setIntegral_union hUVdis hVopen.measurableSet hm.integrableOn hm.integrableOn, hUVe] exact hhalf have hVlow : originalMass u univ/8 ≤ originalMass u V := by linarith have harea : area U + area V + area N ≤ area Ω.carrier := by rw [← area_union_add hUb hVb hUVdis hVopen.measurableSet, hUVe, ← area_union_add hPb hNb hPNdis hNopen.measurableSet] exact ENNReal.toReal_mono Ω.finiteArea (measure_mono (union_subset hPcar hNcar)) have henergy : (∫ x in U, ‖fderiv ℝ u x‖^2) + (∫ x in V, ‖fderiv ℝ u x‖^2) + (∫ x in N, ‖fderiv ℝ u x‖^2) ≤ ∫ x, ‖fderiv ℝ u x‖^2 := by rw [← setIntegral_union hUVdis hVopen.measurableSet hq.integrableOn hq.integrableOn, hUVe, ← setIntegral_union hPNdis hNopen.measurableSet hq.integrableOn hq.integrableOn] exact setIntegral_le_integral hq (Eventually.of_forall fun x => sq_nonneg _) have hgap := three_piece_fourth_gap (area U) (area V) (area N) (∫ x in U, ‖fderiv ℝ u x‖^2) (∫ x in V, ‖fderiv ℝ u x‖^2) (∫ x in N, ‖fderiv ℝ u x‖^2) Real.pi (originalMass u univ) (originalMass u U) (originalMass u V) (originalMass u N) ENNReal.toReal_nonneg ENNReal.toReal_nonneg ENNReal.toReal_nonneg (integral_nonneg fun x => sq_nonneg _) (integral_nonneg fun x => sq_nonneg _) (integral_nonneg fun x => sq_nonneg _) Real.pi_pos.le hM.le hlow hVlow hmass hnegHalf hUFk hVFk hNFk have hbound : (area U+area V+area N) * ((∫ x in U, ‖fderiv ℝ u x‖^2)+(∫ x in V, ‖fderiv ℝ u x‖^2)+ (∫ x in N, ‖fderiv ℝ u x‖^2)) ≤ area Ω.carrier * (∫ x, ‖fderiv ℝ u x‖^2) := mul_le_mul harea henergy (add_nonneg (add_nonneg (integral_nonneg fun x => sq_nonneg _) (integral_nonneg fun x => sq_nonneg _)) (integral_nonneg fun x => sq_nonneg _)) ENNReal.toReal_nonneg have hfinal := hgap.trans hbound have hmargin : 16*Real.pi*originalMass u univ ≤ (16+1/56 : ℝ)*Real.pi*originalMass u univ := by nlinarith [mul_nonneg Real.pi_pos.le hM.le] exact (not_le_of_gt hstrict) (hmargin.trans hfinal) /- Exact D02 output, with ONLY the actual ordinary smooth FK dependency left explicit. This literal quantified statement is definitionally the strike s06 `HeavyComponentsFromSubcritical` contract. -/ theorem heavyComponentsFromSubcritical (hfk : SmoothFK) : ∀ (Ω : PlanarLipschitzDomain) (u : Plane → ℝ), IsTestFunction Ω.carrier u → 0 < (∫ x, (u x)^2) → (∫ x, positiveSquared u x) = (∫ x, negativeSquared u x) → area Ω.carrier * (∫ x, ‖fderiv ℝ u x‖^2) < 16*Real.pi*(∫ x, (u x)^2) → (∃ p ∈ {x | 0 < u x}, 3*(∫ x, (u x)^2)/8 < ∫ x in connectedComponentIn {x | 0 < u x} p, (u x)^2) ∧ (∃ p ∈ {x | u x < 0}, 3*(∫ x, (u x)^2)/8 < ∫ x in connectedComponentIn {x | u x < 0} p, (u x)^2) := by intro Ω u hu hM hbal hstrict have hMu : 0 < originalMass u univ := by simpa only [originalMass,setIntegral_univ] using hM have hstrictu : area Ω.carrier * (∫ x, ‖fderiv ℝ u x‖^2) < 16*Real.pi*originalMass u univ := by simpa only [originalMass,setIntegral_univ] using hstrict have hp := positive_heavy_from_subcritical hfk Ω u hu hMu hbal hstrictu have huntest : IsTestFunction Ω.carrier (-u) := ⟨hu.1.neg, hu.2.1.neg, by simpa only [tsupport_neg] using hu.2.2⟩ have hMn : 0 < originalMass (-u) univ := by simpa only [originalMass_neg] using hMu have hbaln : (∫ x, positiveSquared (-u) x) = (∫ x, negativeSquared (-u) x) := by simpa only [positiveSquared,negativeSquared,Pi.neg_apply,neg_neg] using hbal.symm have hstrictn : area Ω.carrier * (∫ x, ‖fderiv ℝ (-u) x‖^2) < 16*Real.pi*originalMass (-u) univ := by simpa only [norm_fderiv_neg,originalMass_neg] using hstrictu have hn := positive_heavy_from_subcritical hfk Ω (-u) huntest hMn hbaln hstrictn constructor · simpa only [levelSet,levelComponent,originalMass,setIntegral_univ] using hp · simpa only [originalMass_neg,levelSet,levelComponent,Pi.neg_apply,neg_pos, originalMass,setIntegral_univ,neg_sq] using hn end Polya26.HeavyComponentBridge namespace Polya26.HeavyComponentBridge open Math30.Polya Polya26.MedianSelector /- Instantiate the physical FK input from the checked actual-support endpoint; only genuine support-area monotonicity is used. -/ end Polya26.HeavyComponentBridge end end end /- END HeavyComponentBridge -/ noncomputable section namespace Polya26.Strike.S05 abbrev ordinary_support_fk := @Polya26.Strike.S05.Header.PrimitiveSupport.ordinary_support_fk end Polya26.Strike.S05 namespace Polya26.HeavyComponentBridge open Set MeasureTheory Math30.Polya Polya26.MedianSelector theorem smoothFK_actual : SmoothFK := by intro D v hD hb hv hc hs have hfk := Polya26.Strike.S05.ordinary_support_fk hc (hv.of_le (by simp)) have hsub : {x : Plane | v x ≠ 0} ⊆ D := fun x hx => hs (subset_tsupport v hx) have harea : area {x : Plane | v x ≠ 0} ≤ area D := ENNReal.toReal_mono hb.measure_lt_top.ne (measure_mono hsub) exact hfk.trans (mul_le_mul_of_nonneg_right harea (integral_nonneg fun x => sq_nonneg _)) theorem heavyComponentsFromSubcritical_actual : ∀ (Ω : PlanarLipschitzDomain) (u : Plane → ℝ), IsTestFunction Ω.carrier u → 0 < (∫ x, (u x)^2) → (∫ x, positiveSquared u x) = (∫ x, negativeSquared u x) → area Ω.carrier * (∫ x, ‖fderiv ℝ u x‖^2) < 16*Real.pi*(∫ x, (u x)^2) → (∃ p ∈ {x | 0 < u x}, 3*(∫ x, (u x)^2)/8 < ∫ x in connectedComponentIn {x | 0 < u x} p, (u x)^2) ∧ (∃ p ∈ {x | u x < 0}, 3*(∫ x, (u x)^2)/8 < ∫ x in connectedComponentIn {x | u x < 0} p, (u x)^2) := heavyComponentsFromSubcritical smoothFK_actual end Polya26.HeavyComponentBridge namespace Polya26.Strike.S01.Selection theorem ordinaryBU : Polya26.Strike.S06.OrdinaryBU := Polya26.ProductionSelection.ordinaryBU theorem actualHeavyComponents : Polya26.Strike.S06.HeavyComponentsFromSubcritical := Polya26.HeavyComponentBridge.heavyComponentsFromSubcritical_actual theorem subcriticalFamilyQuantileSelection : Polya26.Strike.S06.SubcriticalFamilyQuantileSelection := Polya26.QuantileSelectionBridge.quantileSelectionFromBUAndHeavy ordinaryBU actualHeavyComponents end Polya26.Strike.S01.Selection end end /- END M057 -/ /- BEGIN M058 -/ section /-! Finite actual strict-high component capture of the ORIGINAL excess square. The residual includes the threshold plateau, whose excess is exactly zero. No countable component enumeration or mass renormalization is used. -/ noncomputable section open Set MeasureTheory open scoped Topology namespace Polya26.QuantileHighComponentCapture open Polya26.MedianSelector Polya26.QuantileCoreFamily Polya26.QuantileCoreLimit def excess (u : Plane → ℝ) (τ : ℝ) (x : Plane) : ℝ := max (u x-τ) 0 theorem excess_continuous {u : Plane → ℝ} (hu : Continuous u) (τ : ℝ) : Continuous (excess u τ) := (hu.sub continuous_const).max continuous_const theorem excess_hasCompactSupport {u : Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 ≤ τ) : HasCompactSupport (excess u τ) := hu.comp_left (g := fun a : ℝ => max (a-τ) 0) (by simp only [zero_sub,max_eq_right (neg_nonpos.mpr hτ)]) theorem excess_square_integrable {u : Plane → ℝ} (hu : Continuous u) (hcompact : HasCompactSupport u) {τ : ℝ} (hτ : 0 ≤ τ) : Integrable (fun x => (excess u τ x)^2) := by have hg : Continuous (excess u τ) := excess_continuous hu τ have hgc : HasCompactSupport (excess u τ) := excess_hasCompactSupport hcompact hτ have hsqc : Continuous (fun x : Plane => (excess u τ x)^2) := hg.pow 2 have hsqSupport : HasCompactSupport (fun x : Plane => (excess u τ x)^2) := hgc.comp_left (g := fun a : ℝ => a^2) (by norm_num) exact hsqc.integrable_of_hasCompactSupport hsqSupport theorem excess_positive_level (u : Plane → ℝ) (τ : ℝ) : levelSet (excess u τ) 0 = levelSet u τ := by ext x simp only [levelSet,excess,mem_setOf_eq,lt_max_iff,lt_self_iff_false,or_false,sub_pos] theorem excess_levelComponent (u : Plane → ℝ) (τ : ℝ) (p : Plane) : levelComponent (excess u τ) 0 p = levelComponent u τ p := by simp only [levelComponent,excess_positive_level] theorem excess_mass_positive_level (u : Plane → ℝ) (hu : Continuous u) (τ : ℝ) : originalMass (excess u τ) (levelSet (excess u τ) 0) = originalMass (excess u τ) univ := by have hpos : positiveSquared (excess u τ) = (fun x => (excess u τ x)^2) := by funext x have hnonneg : 0 ≤ excess u τ x := le_max_right (u x-τ) 0 simp only [positiveSquared,max_eq_left hnonneg] rw [originalMass_positive_eq_integral (excess u τ) (excess_continuous hu τ),hpos] simp only [originalMass,Measure.restrict_univ] /- The exact genuine component capture consumed by PhaseBudgets and the finite star limit. The omitted quantity is excess square on the inclusive high residual, not the ORIGINAL original-value square. -/ theorem exists_finite_high_components_excess_tail {u : Plane → ℝ} (hu : Continuous u) (hcompact : HasCompactSupport u) {τ ε : ℝ} (hτ : 0 ≤ τ) (hε : 0 < ε) : ∃ S : Finset (Set Plane), (∀ D ∈ S, ∃ p ∈ levelSet u τ, D = levelComponent u τ p) ∧ Set.Pairwise (S : Set (Set Plane)) Disjoint ∧ originalMass (excess u τ) ({x | τ ≤ u x} \ (⋃ D ∈ S, D)) < ε := by classical let g := excess u τ have hgc : Continuous g := excess_continuous hu τ have hgi : Integrable (fun x => (g x)^2) := excess_square_integrable hu hcompact hτ by_cases hG : 0 < originalMass g univ · let r : ℝ := max 0 (originalMass g univ-ε) have hr : 0 ≤ r := le_max_left _ _ have hrG : r < originalMass g univ := max_lt_iff.mpr ⟨hG,sub_lt_self _ hε⟩ have hrPos : r < originalMass g (levelSet g 0) := by rw [excess_mass_positive_level u hu τ] exact hrG obtain ⟨S,hS,hDis,hMass⟩ := exists_finite_nodal_components_mass_gt hgc hgi hr hrPos have hSu (D : Set Plane) (hD : D ∈ S) : ∃ p ∈ levelSet u τ, D = levelComponent u τ p := by obtain ⟨p,hp,hDp⟩ := hS D hD refine ⟨p,?_,hDp.trans (excess_levelComponent u τ p)⟩ simpa only [g,excess_positive_level] using hp let U : Set Plane := ⋃ D ∈ S, D have hU : IsOpen U := isOpen_iUnion (fun D => isOpen_iUnion (fun hD : D ∈ S => by obtain ⟨p,hp,rfl⟩ := hSu D hD exact levelComponent_isOpen hu τ p)) have hSplit : originalMass g U+originalMass g Uᶜ = originalMass g univ := by simp only [originalMass,Measure.restrict_univ] exact integral_add_compl hU.measurableSet hgi have hCapt : originalMass g univ-ε < originalMass g U := (le_max_right _ _).trans_lt hMass have hTail : originalMass g Uᶜ < ε := by linarith refine ⟨S,hSu,hDis,?_⟩ exact (originalMass_mono hgi (fun x hx => hx.2)).trans_lt hTail · have hG0 : originalMass g univ = 0 := le_antisymm (le_of_not_gt hG) (originalMass_nonneg g univ) refine ⟨∅,by simp,by simp,?_⟩ apply (originalMass_mono hgi (subset_univ _)).trans_lt simpa only [hG0] using hε end Polya26.QuantileHighComponentCapture end end /- END M058 -/ /- BEGIN M059 -/ section noncomputable section open Set MeasureTheory open scoped Topology ContDiff ENNReal namespace Polya26.PlanarIsoperimetric.PhaseBudgets open Math30.Polya variable {ι : Type*} [Fintype ι] theorem excessValue_continuous {u : Plane → ℝ} (hu : Continuous u) (τ : ℝ) : Continuous (excessValue u τ) := (hu.sub continuous_const).max continuous_const theorem excessValue_hasCompactSupport {u : Plane → ℝ} (hu : HasCompactSupport u) {τ : ℝ} (hτ : 0 ≤ τ) : HasCompactSupport (excessValue u τ) := hu.comp_left (g := fun s : ℝ => max (s - τ) 0) (by simp [hτ]) theorem omitted_excess_decomposition {u : Plane → ℝ} (hu : HasCompactSupport u) (hc : Continuous u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) : omittedExcess u τ D = 2 * τ * (∫ x in residual u τ D, excessValue u τ x) + omittedSquare u τ D := by have hg := excessValue_continuous hc τ have hgc := excessValue_hasCompactSupport hu hτ.le have hgi : Integrable (excessValue u τ) := hg.integrable_of_hasCompactSupport hgc have hgs := square_integrable hgc hg rw [← residual_excess_eq_omitted hc τ hD] have hid : (∫ x in residual u τ D, (u x)^2 - τ^2) = ∫ x in residual u τ D, 2 * τ * excessValue u τ x + (excessValue u τ x)^2 := by apply setIntegral_congr_fun ((high_measurable hc τ).diff (selectedUnion_measurable hD)) intro x hx have hx' : 0 ≤ u x - τ := sub_nonneg.mpr hx.1 simp only [excessValue, max_eq_left hx'] ring rw [hid, integral_add (hgi.integrableOn.const_mul _) hgs.integrableOn, integral_const_mul] rfl theorem finite_omitted_excess_bound {u : Plane → ℝ} (hu : HasCompactSupport u) (hc : Continuous u) {τ : ℝ} (hτ : 0 < τ) {D : ι → Set Plane} (hD : ∀ i, MeasurableSet (D i)) : omittedExcess u τ D ≤ 2 * τ * Real.sqrt (area (high u τ) * omittedSquare u τ D) + omittedSquare u τ D := by let R := residual u τ D let g := excessValue u τ have hfinite : volume R ≠ ⊤ := ne_top_of_le_ne_top (high_volume_ne_top hu hτ) (measure_mono sdiff_subset) letI : IsFiniteMeasure (volume.restrict R) := isFiniteMeasure_restrict.mpr hfinite have hgLp : MemLp g (ENNReal.ofReal (2 : ℝ)) volume := (excessValue_continuous hc τ).memLp_of_hasCompactSupport (excessValue_hasCompactSupport hu hτ.le) have hgR := MemLp.mono_measure (Measure.restrict_le_self (s := R) (μ := volume)) hgLp have h1 : MemLp (fun _ : Plane => (1 : ℝ)) (ENNReal.ofReal (2 : ℝ)) (volume.restrict R) := memLp_const 1 have hpq : (2 : ℝ).HolderConjugate 2 := by norm_num [Real.holderConjugate_iff] have hholder := integral_mul_le_Lp_mul_Lq_of_nonneg hpq (Filter.Eventually.of_forall fun _ : Plane => zero_le_one) (Filter.Eventually.of_forall fun x : Plane => le_max_right (u x - τ) 0) h1 hgR simp only [one_mul, Real.rpow_two, ← Real.sqrt_eq_rpow, one_pow, setIntegral_const, smul_eq_mul, mul_one] at hholder change (∫ x in R, g x) ≤ Real.sqrt (area R) * Real.sqrt (omittedSquare u τ D) at hholder have hG : 0 ≤ omittedSquare u τ D := integral_nonneg fun x => sq_nonneg _ have hAR : 0 ≤ area R := ENNReal.toReal_nonneg have hprod := Real.sqrt_mul hAR (omittedSquare u τ D) rw [← hprod] at hholder have hA : area R ≤ area (high u τ) := residual_area_le_high hu hτ have hroot : Real.sqrt (area R * omittedSquare u τ D) ≤ Real.sqrt (area (high u τ) * omittedSquare u τ D) := Real.sqrt_le_sqrt (mul_le_mul_of_nonneg_right hA hG) rw [omitted_excess_decomposition hu hc hτ hD] have hscaled := mul_le_mul_of_nonneg_left (hholder.trans hroot) (by positivity : 0 ≤ 2 * τ) dsimp only [R, g] at hscaled linarith only [hscaled] theorem selectedUnion_finset_subtype (S : Finset (Set Plane)) : selectedUnion (fun D : S => (D : Set Plane)) = ⋃ D ∈ S, D := by ext x simp only [selectedUnion, mem_iUnion, Subtype.exists, Finset.mem_coe] theorem genuine_finset_inputs {u : Plane → ℝ} (hu : Continuous u) {τ : ℝ} {S : Finset (Set Plane)} (hS : ∀ D ∈ S, ∃ p ∈ Polya26.QuantileCoreFamily.levelSet u τ, D = Polya26.QuantileCoreFamily.levelComponent u τ p) (hdis : Set.Pairwise (S : Set (Set Plane)) Disjoint) : (∀ D : S, MeasurableSet (D : Set Plane)) ∧ Pairwise (fun D E : S => Disjoint (D : Set Plane) (E : Set Plane)) ∧ (∀ D : S, (D : Set Plane) ⊆ strictHigh u τ) := by refine ⟨?_, ?_, ?_⟩ · intro D obtain ⟨p, hp, heq⟩ := hS D D.property rw [heq] exact (Polya26.QuantileCoreFamily.levelComponent_isOpen hu τ p).measurableSet · intro D E hne apply hdis D.property E.property intro heq exact hne (Subtype.ext heq) · intro D obtain ⟨p, hp, heq⟩ := hS D D.property rw [heq] exact connectedComponentIn_subset _ _ /- A finite family of genuine high components has arbitrarily small original omitted excess, with the original plateau and threshold mass still in the residual. No profile or total mass is renormalized. -/ theorem exists_finite_high_components_small_original_excess {u : Plane → ℝ} (hu : HasCompactSupport u) (hc : Continuous u) {τ ε : ℝ} (hτ : 0 < τ) (hε : 0 < ε) : ∃ S : Finset (Set Plane), (∀ D ∈ S, ∃ p ∈ Polya26.QuantileCoreFamily.levelSet u τ, D = Polya26.QuantileCoreFamily.levelComponent u τ p) ∧ Set.Pairwise (S : Set (Set Plane)) Disjoint ∧ omittedExcess u τ (fun D : S => (D : Set Plane)) < ε := by let K := 2 * τ * Real.sqrt (area (high u τ)) have hK : 0 ≤ K := by dsimp [K]; positivity let b := ε / (2 * (K + 1)) have hb : 0 < b := by dsimp [b]; positivity have hsmall : 0 < min (ε / 2) (b^2) := lt_min (by positivity) (sq_pos_of_pos hb) obtain ⟨S, hS, hdis, htail⟩ := Polya26.QuantileHighComponentCapture.exists_finite_high_components_excess_tail hc hu hτ.le hsmall let D : S → Set Plane := fun C => (C : Set Plane) have hG : omittedSquare u τ D < min (ε / 2) (b^2) := by simpa only [omittedSquare, residual, high, D, selectedUnion_finset_subtype, excessValue, Polya26.QuantileHighComponentCapture.excess, Polya26.QuantileCoreFamily.originalMass] using htail have hGn : 0 ≤ omittedSquare u τ D := integral_nonneg fun x => sq_nonneg _ have hGb : omittedSquare u τ D < b^2 := hG.trans_le (min_le_right _ _) have hroot : Real.sqrt (omittedSquare u τ D) ≤ b := by have hs := Real.sqrt_le_sqrt hGb.le rwa [Real.sqrt_sq hb.le] at hs have hKb : K * b < ε / 2 := by have heq : b * (2 * (K + 1)) = ε := by dsimp only [b] exact div_mul_cancel₀ _ (by positivity) nlinarith only [hb, heq] have hbound := finite_omitted_excess_bound hu hc hτ (genuine_finset_inputs hc hS hdis).1 have hsplit := Real.sqrt_mul (show 0 ≤ area (high u τ) from ENNReal.toReal_nonneg) (omittedSquare u τ D) change omittedExcess u τ D ≤ 2 * τ * Real.sqrt (area (high u τ) * omittedSquare u τ D) + omittedSquare u τ D at hbound rw [hsplit] at hbound have hfactor : 2 * τ * (Real.sqrt (area (high u τ)) * Real.sqrt (omittedSquare u τ D)) = K * Real.sqrt (omittedSquare u τ D) := by dsimp [K] ring rw [hfactor] at hbound refine ⟨S, hS, hdis, ?_⟩ change omittedExcess u τ D < ε have hfirst : K * Real.sqrt (omittedSquare u τ D) < ε / 2 := (mul_le_mul_of_nonneg_left hroot hK).trans_lt hKb have hsecond : omittedSquare u τ D < ε / 2 := hG.trans_le (min_le_left _ _) linarith only [hbound, hfirst, hsecond] end Polya26.PlanarIsoperimetric.PhaseBudgets end end /- END M059 -/ /- BEGIN M060 -/ section noncomputable section open Set Filter MeasureTheory open scoped ENNReal Topology ContDiff namespace Polya26.MedianMinmaxBridge open Math30.Polya Math30.Polya.TangWangBridge Math30.Polya.GraphMinmaxBridge open Polya26.MedianSelector theorem planeRayleigh_eq_ofReal_quotient {Ω : Set Math30.Polya.Plane} {u : Math30.Polya.Plane → ℝ} (hu : IsTestFunction Ω u) (hmass : 0 < ∫ x, (u x)^2) : planeRayleigh u = ENNReal.ofReal ((∫ x, ‖fderiv ℝ u x‖^2)/(∫ x, (u x)^2)) := by let v : PlaneCore Ω := ⟨u,hu⟩ have hm : Integrable (fun x => (u x)^2) := (planeCore_memLp Ω v).integrable_sq have hg : Integrable (fun x => ‖gradient u x‖^2) := (memLp_two_iff_integrable_sq_norm (planeCore_gradient_memLp Ω v).aestronglyMeasurable).mp (planeCore_gradient_memLp Ω v) have he : Integrable (fun x => ‖fderiv ℝ u x‖^2) := by simpa only [norm_gradient_eq_fderiv] using hg unfold planeRayleigh simp_rw [enorm_sq_eq_ofReal',Real.norm_eq_abs,sq_abs] rw [← ofReal_integral_eq_lintegral_ofReal he (Eventually.of_forall (fun x => sq_nonneg _)), ← ofReal_integral_eq_lintegral_ofReal hm (Eventually.of_forall (fun x => sq_nonneg _)), ← ENNReal.ofReal_div_of_pos hmass] end Polya26.MedianMinmaxBridge end end /- END M060 -/ /- BEGIN M061 -/ section section /-! Exact fourth-index minmax conversion for the quantile route. The quantified actual smooth-family energy witness remains an input. -/ noncomputable section open Set Filter MeasureTheory open scoped ENNReal Topology ContDiff namespace Polya26.QuantileMinmaxBridge open Math30.Polya Math30.Polya.TangWangBridge Math30.Polya.GraphMinmaxBridge open Polya26.MedianSelector /-- A genuine unit-coefficient member of every actual four-dimensional smooth-core family meets the fourth-index energy bound. -/ def FourCoreEnergyWitness : Prop := ∀ (Ω : PlanarLipschitzDomain) (basis : Fin 4 → Math30.Polya.Plane → ℝ), (∀ i, IsTestFunction Ω.carrier (basis i)) → LinearIndependent ℝ basis → ∃ c : Sphere3, 16 * Real.pi * (∫ x, (coreCombination basis c.val x)^2) ≤ area Ω.carrier * (∫ x, ‖fderiv ℝ (coreCombination basis c.val) x‖^2) theorem smooth_four_trial_lower (hfamily : FourCoreEnergyWitness) (Ω : PlanarLipschitzDomain) (V : Submodule ℝ (Math30.Polya.Plane → ℝ)) (hV : V ≤ planeTestFunctions Ω.carrier) (hdim : Module.finrank ℝ V = 4) : ENNReal.ofReal (16 * Real.pi / area Ω.carrier) ≤ ⨆ (u : Math30.Polya.Plane → ℝ) (_ : u ∈ V) (_ : u ≠ 0), planeRayleigh u := by letI : Module.IsTorsionFree ℝ V := DivisionSemiring.to_moduleIsTorsionFree letI : FiniteDimensional ℝ V := Module.finite_of_finrank_pos (by omega : 0 < Module.finrank ℝ V) obtain ⟨b,hb⟩ := exists_linearIndependent_of_le_finrank (by omega : 4 ≤ Module.finrank ℝ V) let basis : Fin 4 → Math30.Polya.Plane → ℝ := fun i => (b i).val have hind : LinearIndependent ℝ basis := hb.map' V.subtype (LinearMap.ker_eq_bot.mpr Subtype.val_injective) have htest (i : Fin 4) : IsTestFunction Ω.carrier (basis i) := hV (b i).property obtain ⟨c,henergy⟩ := hfamily Ω basis htest hind let u : Math30.Polya.Plane → ℝ := coreCombination basis c.val have humem : u ∈ V := by have hs : (∑ i, c.val i • basis i) ∈ V := V.sum_mem (fun i hi => V.smul_mem (c.val i) (b i).property) convert hs using 1 funext x simp only [u,coreCombination,Finset.sum_apply,Pi.smul_apply,smul_eq_mul] have hutest : IsTestFunction Ω.carrier u := hV humem have hmass : 0 < ∫ x, (u x)^2 := coreCombination_square_mass_pos basis (fun i => (htest i).1.continuous) (fun i => (htest i).2.1) hind c have hu0 : u ≠ 0 := by intro hz have hm0 : (∫ x, (u x)^2) = 0 := by simp [hz] exact (ne_of_gt hmass) hm0 have hquot : 16 * Real.pi / area Ω.carrier ≤ (∫ x, ‖fderiv ℝ u x‖^2)/(∫ x, (u x)^2) := by apply (div_le_div_iff₀ (area_pos Ω) hmass).mpr simpa only [u,mul_comm] using henergy have hray : ENNReal.ofReal (16 * Real.pi / area Ω.carrier) ≤ planeRayleigh u := by rw [MedianMinmaxBridge.planeRayleigh_eq_ofReal_quotient hutest hmass] exact ENNReal.ofReal_le_ofReal hquot exact hray.trans (le_iSup_of_le u (le_iSup_of_le humem (le_iSup_of_le hu0 le_rfl))) theorem dirichletMinmax_four_lower (hfamily : FourCoreEnergyWitness) (Ω : PlanarLipschitzDomain) : ENNReal.ofReal (16 * Real.pi / area Ω.carrier) ≤ dirichletMinmax Ω.carrier 4 := by rw [dirichletMinmax_eq_planeSmoothEigenvalue Ω.carrier (by decide : 0 < 4)] unfold planeSmoothEigenvalue DirichletBridge.MinmaxTransport.minmax exact le_iInf (fun V => le_iInf (fun hV => le_iInf (fun hdim => smooth_four_trial_lower hfamily Ω V hV hdim))) theorem target26_of_four_core_energy_witness (hfamily : FourCoreEnergyWitness) : Target26 := by intro Ω have hmin := dirichletMinmax_four_lower hfamily Ω have hreal := (ENNReal.ofReal_le_iff_le_toReal (dirichletMinmax_ne_top Ω 4)).mp hmin change 16 * Real.pi / area Ω.carrier ≤ dirichletEigenvalue Ω.carrier 4 at hreal have hproduct := (div_le_iff₀ (area_pos Ω)).mp hreal simpa only [mul_comm] using hproduct end Polya26.QuantileMinmaxBridge end end end /- END M061 -/ /- BEGIN M062 -/ section noncomputable section open Set MeasureTheory open scoped ContDiff Topology namespace Polya26.Strike.S06 open Math30.Polya Polya26.MedianSelector /-- D05--D12 analytic endpoint: exactly w09's selected-profile conclusion. Physical dual, atoms/rank, weak profile FTC, original plateau/cross mass, Green comparison and FULL certificate replay must jointly prove this input. -/ def SelectedProfileEnergy : Prop := ∀ (Ω : PlanarLipschitzDomain) (u : Plane → ℝ), IsTestFunction Ω.carrier u → 0 < OriginalMass u → ∀ (tau : ℝ) (K : Set Plane), SelectedProfileConditions u tau K → 16 * Real.pi * OriginalMass u ≤ area Ω.carrier * OriginalEnergy u /-- D13: the selection and selected-profile energy contracts imply the exact actual smooth-family witness. This theorem supplies neither input. -/ theorem fourCoreEnergyWitness_of_quantile_contracts (hselection : SubcriticalFamilyQuantileSelection) (henergy : SelectedProfileEnergy) : Polya26.QuantileMinmaxBridge.FourCoreEnergyWitness := by classical intro Ω basis htest hind by_contra hnone have hceiling : ∀ c : Sphere3, area Ω.carrier * OriginalEnergy (coreCombination basis c.val) < 16 * Real.pi * OriginalMass (coreCombination basis c.val) := by intro c exact lt_of_not_ge (fun hc => hnone ⟨c,hc⟩) obtain ⟨c,tau,K,hselected⟩ := hselection Ω basis htest hind hceiling have htestc : IsTestFunction Ω.carrier (coreCombination basis c.val) := by have hs : (∑ i, c.val i • basis i) ∈ Math30.Polya.TangWangBridge.planeTestFunctions Ω.carrier := (Math30.Polya.TangWangBridge.planeTestFunctions Ω.carrier).sum_mem (fun i hi => (Math30.Polya.TangWangBridge.planeTestFunctions Ω.carrier).smul_mem (c.val i) (htest i)) change IsTestFunction Ω.carrier (∑ i, c.val i • basis i) at hs convert hs using 1 funext x simp only [coreCombination,Finset.sum_apply,Pi.smul_apply,smul_eq_mul] have hmass : 0 < OriginalMass (coreCombination basis c.val) := coreCombination_square_mass_pos basis (fun i => (htest i).1.continuous) (fun i => (htest i).2.1) hind c exact (not_lt_of_ge (henergy Ω (coreCombination basis c.val) htestc hmass tau K hselected)) (hceiling c) theorem fourCoreEnergyWitness_of_BU_heavy_quantile_contracts (hBU : OrdinaryBU) (hHeavy : HeavyComponentsFromSubcritical) (hselection : QuantileSelectionFromBUAndHeavy) (henergy : SelectedProfileEnergy) : Polya26.QuantileMinmaxBridge.FourCoreEnergyWitness := fourCoreEnergyWitness_of_quantile_contracts (hselection hBU hHeavy) henergy theorem target26_of_quantile_contracts (hselection : SubcriticalFamilyQuantileSelection) (henergy : SelectedProfileEnergy) : Target26 := Polya26.QuantileMinmaxBridge.target26_of_four_core_energy_witness (fourCoreEnergyWitness_of_quantile_contracts hselection henergy) theorem target26_of_BU_heavy_quantile_contracts (hBU : OrdinaryBU) (hHeavy : HeavyComponentsFromSubcritical) (hselection : QuantileSelectionFromBUAndHeavy) (henergy : SelectedProfileEnergy) : Target26 := target26_of_quantile_contracts (hselection hBU hHeavy) henergy end Polya26.Strike.S06 end end /- END M062 -/ /- BEGIN M063 -/ section namespace QuantileFiniteCertificate def areaPolynomial (P N y : ℚ) : ℚ := P * y ^ 2 + (P + N - 8) * y + N structure AreaCell where P : ℚ N : ℚ lo : ℚ hi : ℚ def GoodAreaCell (b : AreaCell) : Prop := 0 < b.P ∧ b.lo ≤ b.hi ∧ ((0 ≤ 2 * b.P * b.lo + (b.P + b.N - 8) ∧ 0 ≤ areaPolynomial b.P b.N b.lo) ∨ (2 * b.P * b.hi + (b.P + b.N - 8) ≤ 0 ∧ 0 ≤ areaPolynomial b.P b.N b.hi) ∨ (b.P + b.N - 8) ^ 2 ≤ 4 * b.P * b.N) def areaCellDecidable (b : AreaCell) : Decidable (GoodAreaCell b) := by unfold GoodAreaCell areaPolynomial infer_instance def checkAreaCell (b : AreaCell) : Bool := @decide (GoodAreaCell b) (areaCellDecidable b) theorem checkAreaCell_sound {b : AreaCell} (h : checkAreaCell b = true) : GoodAreaCell b := by letI := areaCellDecidable b exact of_decide_eq_true h noncomputable section def realAreaPolynomial (P N y : ℝ) : ℝ := P * y ^ 2 + (P + N - 8) * y + N theorem realAreaPolynomial_left (P N lo y : ℝ) (hP : 0 ≤ P) (hy : lo ≤ y) (hd : 0 ≤ 2 * P * lo + (P + N - 8)) (hq : 0 ≤ realAreaPolynomial P N lo) : 0 ≤ realAreaPolynomial P N y := by have hstep : 0 ≤ (y - lo) * (P * (y - lo) + (2 * P * lo + (P + N - 8))) := mul_nonneg (sub_nonneg.mpr hy) (add_nonneg (mul_nonneg hP (sub_nonneg.mpr hy)) hd) have hid : realAreaPolynomial P N y = realAreaPolynomial P N lo + (y - lo) * (P * (y - lo) + (2 * P * lo + (P + N - 8))) := by unfold realAreaPolynomial ring rw [hid] exact add_nonneg hq hstep theorem realAreaPolynomial_right (P N hi y : ℝ) (hP : 0 ≤ P) (hy : y ≤ hi) (hd : 2 * P * hi + (P + N - 8) ≤ 0) (hq : 0 ≤ realAreaPolynomial P N hi) : 0 ≤ realAreaPolynomial P N y := by have hstep : 0 ≤ (hi - y) * (P * (hi - y) - (2 * P * hi + (P + N - 8))) := mul_nonneg (sub_nonneg.mpr hy) (sub_nonneg.mpr (hd.trans (mul_nonneg hP (sub_nonneg.mpr hy)))) have hid : realAreaPolynomial P N y = realAreaPolynomial P N hi + (hi - y) * (P * (hi - y) - (2 * P * hi + (P + N - 8))) := by unfold realAreaPolynomial ring rw [hid] exact add_nonneg hq hstep theorem realAreaPolynomial_global (P N y : ℝ) (hP : 0 < P) (hd : (P + N - 8) ^ 2 ≤ 4 * P * N) : 0 ≤ realAreaPolynomial P N y := by have hcredit : 0 ≤ 4 * P * N - (P + N - 8) ^ 2 := sub_nonneg.mpr hd have hprod : 0 ≤ (4 * P) * realAreaPolynomial P N y := by calc 0 ≤ (2 * P * y + (P + N - 8)) ^ 2 + (4 * P * N - (P + N - 8) ^ 2) := add_nonneg (sq_nonneg _) hcredit _ = (4 * P) * realAreaPolynomial P N y := by unfold realAreaPolynomial; ring exact nonneg_of_mul_nonneg_left (by simpa [mul_comm] using hprod) (by linarith) theorem acceptedAreaCell_transport {b : AreaCell} (h : GoodAreaCell b) (y : ℝ) (hlo : (b.lo : ℝ) ≤ y) (hhi : y ≤ (b.hi : ℝ)) : 0 ≤ realAreaPolynomial (b.P : ℝ) (b.N : ℝ) y := by rcases h with ⟨hP, _, hcase⟩ have hPR : 0 < (b.P : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hP rcases hcase with hleft | hright | hglobal · have hd : 0 ≤ 2 * (b.P : ℝ) * (b.lo : ℝ) + ((b.P : ℝ) + (b.N : ℝ) - 8) := by simpa using (Rat.cast_nonneg (K := ℝ)).mpr hleft.1 have hq : 0 ≤ realAreaPolynomial (b.P : ℝ) (b.N : ℝ) (b.lo : ℝ) := by simpa [realAreaPolynomial, areaPolynomial, Rat.cast_pow] using (Rat.cast_nonneg (K := ℝ)).mpr hleft.2 exact realAreaPolynomial_left _ _ _ _ hPR.le hlo hd hq · have hd : 2 * (b.P : ℝ) * (b.hi : ℝ) + ((b.P : ℝ) + (b.N : ℝ) - 8) ≤ 0 := by simpa using (Rat.cast_nonpos (K := ℝ)).mpr hright.1 have hq : 0 ≤ realAreaPolynomial (b.P : ℝ) (b.N : ℝ) (b.hi : ℝ) := by simpa [realAreaPolynomial, areaPolynomial, Rat.cast_pow] using (Rat.cast_nonneg (K := ℝ)).mpr hright.2 exact realAreaPolynomial_right _ _ _ _ hPR.le hhi hd hq · have hd : ((b.P : ℝ) + (b.N : ℝ) - 8) ^ 2 ≤ 4 * (b.P : ℝ) * (b.N : ℝ) := by simpa [Rat.cast_pow] using (Rat.cast_le (K := ℝ)).mpr hglobal exact realAreaPolynomial_global _ _ _ hPR hd theorem checkedAreaCell_transport {b : AreaCell} (h : checkAreaCell b = true) (y : ℝ) (hlo : (b.lo : ℝ) ≤ y) (hhi : y ≤ (b.hi : ℝ)) : 0 ≤ realAreaPolynomial (b.P : ℝ) (b.N : ℝ) y := acceptedAreaCell_transport (checkAreaCell_sound h) y hlo hhi theorem scaledAreaPolynomial_lower (P N a b : ℝ) (ha : 0 < a) (h : 0 ≤ realAreaPolynomial P N (b / a)) : 0 ≤ P * b ^ 2 + (P + N - 8) * a * b + N * a ^ 2 := by have hscale := mul_nonneg (sq_nonneg a) h have hba : b / a * a = b := div_mul_cancel₀ _ (ne_of_gt ha) have hid : a ^ 2 * realAreaPolynomial P N (b / a) = P * b ^ 2 + (P + N - 8) * a * b + N * a ^ 2 := by unfold realAreaPolynomial calc a ^ 2 * (P * (b / a) ^ 2 + (P + N - 8) * (b / a) + N) = P * (b / a * a) ^ 2 + (P + N - 8) * a * (b / a * a) + N * a ^ 2 := by ring _ = _ := by rw [hba] rwa [hid] at hscale theorem areaEnergy_of_scaledQuadratic (P N a b A k qP qN : ℝ) (ha : 0 < a) (hb : 0 < b) (hA : a + b ≤ A) (hk : 0 ≤ k) (hqP : 0 ≤ qP) (hqN : 0 ≤ qN) (hP : k * P ≤ a * qP) (hN : k * N ≤ b * qN) (hquad : 0 ≤ P * b ^ 2 + (P + N - 8) * a * b + N * a ^ 2) : 8 * k ≤ A * (qP + qN) := by have hab : 0 < a * b := mul_pos ha hb have hsum : 0 ≤ qP + qN := add_nonneg hqP hqN have hweighted : k * (P * b + N * a) ≤ a * b * (qP + qN) := by have hp := mul_le_mul_of_nonneg_right hP hb.le have hn := mul_le_mul_of_nonneg_right hN ha.le nlinarith only [hp, hn] have hprice : 8 * a * b ≤ (a + b) * (P * b + N * a) := by nlinarith only [hquad] have hpriceK := mul_le_mul_of_nonneg_left hprice hk have hweightedA := mul_le_mul_of_nonneg_left hweighted (add_pos ha hb).le have hprod : 0 ≤ (a * b) * ((a + b) * (qP + qN) - 8 * k) := by nlinarith only [hpriceK, hweightedA] have hbase : 8 * k ≤ (a + b) * (qP + qN) := sub_nonneg.mp (nonneg_of_mul_nonneg_left (by simpa [mul_comm] using hprod) hab) exact hbase.trans (mul_le_mul_of_nonneg_right hA hsum) end end QuantileFiniteCertificate end /- END M063 -/ /- BEGIN M064 -/ section namespace QuantileFiniteCertificate def smallRatioCell : AreaCell := ⟨23 / 16, 23 / 16, 0, 1 / 4⟩ theorem smallRatioCell_checked : checkAreaCell smallRatioCell = true := by decide +kernel theorem highX_discriminant : ((8 / 3 : ℚ) + 23 / 16 - 8) ^ 2 ≤ 4 * (8 / 3) * (23 / 16) := by decide +kernel theorem lowBeta_discriminant : ((23 / 16 : ℚ) + 3020629 / 1000000 - 8) ^ 2 ≤ 4 * (23 / 16) * (3020629 / 1000000) := by decide +kernel noncomputable section theorem highX_areaPolynomial (y : ℝ) : 0 ≤ realAreaPolynomial (8 / 3) (23 / 16) y := by apply realAreaPolynomial_global _ _ _ (by norm_num) simpa [Rat.cast_pow] using (Rat.cast_le (K := ℝ)).mpr highX_discriminant theorem lowBeta_areaPolynomial (y : ℝ) : 0 ≤ realAreaPolynomial (23 / 16) (3020629 / 1000000) y := by apply realAreaPolynomial_global _ _ _ (by norm_num) simpa [Rat.cast_pow] using (Rat.cast_le (K := ℝ)).mpr lowBeta_discriminant theorem smallRatio_areaPolynomial (y : ℝ) (hy0 : 0 ≤ y) (hy1 : y ≤ 1 / 4) : 0 ≤ realAreaPolynomial (23 / 16) (23 / 16) y := by have hlo : (smallRatioCell.lo : ℝ) ≤ y := by simpa [smallRatioCell] using hy0 have hhi : y ≤ (smallRatioCell.hi : ℝ) := by simpa [smallRatioCell] using hy1 simpa [smallRatioCell] using checkedAreaCell_transport smallRatioCell_checked y hlo hhi theorem areaEnergy_of_polynomial (P N a b A k qP qN : ℝ) (ha : 0 < a) (hb : 0 < b) (hA : a + b ≤ A) (hk : 0 ≤ k) (hqP : 0 ≤ qP) (hqN : 0 ≤ qN) (hP : k * P ≤ a * qP) (hN : k * N ≤ b * qN) (hquad : 0 ≤ realAreaPolynomial P N (b / a)) : 8 * k ≤ A * (qP + qN) := areaEnergy_of_scaledQuadratic P N a b A k qP qN ha hb hA hk hqP hqN hP hN (scaledAreaPolynomial_lower P N a b ha hquad) theorem highX_areaEnergy (a b A k qP qN : ℝ) (ha : 0 < a) (hb : 0 < b) (hA : a + b ≤ A) (hk : 0 ≤ k) (hqP : 0 ≤ qP) (hqN : 0 ≤ qN) (hP : k * (8 / 3) ≤ a * qP) (hN : k * (23 / 16) ≤ b * qN) : 8 * k ≤ A * (qP + qN) := areaEnergy_of_polynomial _ _ a b A k qP qN ha hb hA hk hqP hqN hP hN (highX_areaPolynomial (b / a)) theorem lowBeta_areaEnergy (a b A k qP qN : ℝ) (ha : 0 < a) (hb : 0 < b) (hA : a + b ≤ A) (hk : 0 ≤ k) (hqP : 0 ≤ qP) (hqN : 0 ≤ qN) (hP : k * (23 / 16) ≤ a * qP) (hN : k * (3020629 / 1000000) ≤ b * qN) : 8 * k ≤ A * (qP + qN) := areaEnergy_of_polynomial _ _ a b A k qP qN ha hb hA hk hqP hqN hP hN (lowBeta_areaPolynomial (b / a)) theorem smallRatio_areaEnergy (a b A k qP qN : ℝ) (ha : 0 < a) (hb : 0 < b) (hA : a + b ≤ A) (hk : 0 ≤ k) (hqP : 0 ≤ qP) (hqN : 0 ≤ qN) (hP : k * (23 / 16) ≤ a * qP) (hN : k * (23 / 16) ≤ b * qN) (hratio : b / a ≤ 1 / 4) : 8 * k ≤ A * (qP + qN) := areaEnergy_of_polynomial _ _ a b A k qP qN ha hb hA hk hqP hqN hP hN (smallRatio_areaPolynomial (b / a) (div_pos hb ha).le hratio) end end QuantileFiniteCertificate end /- END M064 -/ /- BEGIN M065 -/ section namespace QuantileFiniteCertificate structure Band where lo : ℚ hi : ℚ value : ℚ def GoodBand (s : Band) : Prop := s.lo ≤ s.hi def checkBandHead (lo : ℚ) (s : Band) : Bool := decide (s.lo = lo ∧ s.lo ≤ s.hi) def checkBands (lo hi : ℚ) : List Band → Bool | [] => false | [s] => decide (s.lo = lo ∧ s.hi = hi ∧ s.lo ≤ s.hi) | s :: next :: tail => checkBandHead lo s && checkBands s.hi hi (next :: tail) def pairCell (p n : Band) : AreaCell := ⟨p.value, n.value, p.lo / n.hi, p.hi / n.lo⟩ def GoodAreaPair (p n : Band) : Prop := 0 < n.lo ∧ GoodAreaCell (pairCell p n) def areaPairDecidable (p n : Band) : Decidable (GoodAreaPair p n) := by unfold GoodAreaPair GoodAreaCell areaPolynomial infer_instance def checkAreaPair (p n : Band) : Bool := @decide (GoodAreaPair p n) (areaPairDecidable p n) def checkRow (p : Band) : List Band → Bool | [] => true | n :: rest => checkAreaPair p n && checkRow p rest def checkGrid (ns : List Band) : List Band → Bool | [] => true | p :: rest => checkRow p ns && checkGrid ns rest theorem checkAreaPair_sound {p n : Band} (h : checkAreaPair p n = true) : GoodAreaPair p n := by letI := areaPairDecidable p n exact of_decide_eq_true h theorem checkRow_sound (p : Band) (ns : List Band) : checkRow p ns = true → ∀ n ∈ ns, GoodAreaPair p n := by induction ns with | nil => intro h; simp | cons n rest ih => intro h have hh : checkAreaPair p n = true ∧ checkRow p rest = true := Bool.and_eq_true_iff.mp h intro m hm rcases List.mem_cons.mp hm with hmn | hmr · subst m exact checkAreaPair_sound hh.1 · exact ih hh.2 m hmr theorem checkGrid_sound (ns ps : List Band) : checkGrid ns ps = true → ∀ p ∈ ps, ∀ n ∈ ns, GoodAreaPair p n := by induction ps with | nil => intro h; simp | cons p rest ih => intro h have hh : checkRow p ns = true ∧ checkGrid ns rest = true := Bool.and_eq_true_iff.mp h intro s hs rcases List.mem_cons.mp hs with hsp | hsr · subst s exact checkRow_sound p ns hh.1 · exact ih hh.2 s hsr theorem checkRow_append (p : Band) (as bs : List Band) : checkRow p (as ++ bs) = (checkRow p as && checkRow p bs) := by induction as with | nil => simp [checkRow] | cons n rest ih => simp [checkRow, ih, Bool.and_assoc] theorem checkGrid_append (ns as bs : List Band) : checkGrid ns (as ++ bs) = (checkGrid ns as && checkGrid ns bs) := by induction as with | nil => simp [checkGrid] | cons p rest ih => simp [checkGrid, ih, Bool.and_assoc] theorem checkRow_join (p : Band) (as bs : List Band) (ha : checkRow p as = true) (hb : checkRow p bs = true) : checkRow p (as ++ bs) = true := by rw [checkRow_append, ha, hb] rfl theorem checkGrid_join (ns as bs : List Band) (ha : checkGrid ns as = true) (hb : checkGrid ns bs = true) : checkGrid ns (as ++ bs) = true := by rw [checkGrid_append, ha, hb] rfl noncomputable section def BandContains (s : Band) (x : ℝ) : Prop := (s.lo : ℝ) ≤ x ∧ x ≤ (s.hi : ℝ) theorem checkBands_coverage (bands : List Band) : ∀ (lo hi : ℚ), checkBands lo hi bands = true → ∀ x : ℝ, (lo : ℝ) ≤ x → x ≤ (hi : ℝ) → ∃ s ∈ bands, GoodBand s ∧ BandContains s x := by induction bands with | nil => intro lo hi h simp [checkBands] at h | cons s rest ih => intro lo hi h x hlo hhi cases rest with | nil => have hh : s.lo = lo ∧ s.hi = hi ∧ s.lo ≤ s.hi := of_decide_eq_true h refine ⟨s, by simp, hh.2.2, ?_⟩ exact ⟨by simpa [hh.1] using hlo, by simpa [hh.2.1] using hhi⟩ | cons next tail => have hh : checkBandHead lo s = true ∧ checkBands s.hi hi (next :: tail) = true := Bool.and_eq_true_iff.mp h have hhead : s.lo = lo ∧ s.lo ≤ s.hi := of_decide_eq_true hh.1 by_cases hx : x ≤ (s.hi : ℝ) · refine ⟨s, by simp, hhead.2, ?_⟩ exact ⟨by simpa [hhead.1] using hlo, hx⟩ · obtain ⟨d, hdmem, hdgood, hdpoint⟩ := ih s.hi hi hh.2 x (le_of_not_ge hx) hhi exact ⟨d, List.mem_cons_of_mem s hdmem, hdgood, hdpoint⟩ theorem areaPair_transport {p n : Band} (h : GoodAreaPair p n) (x beta : ℝ) (hx0 : 0 ≤ x) (hp : BandContains p x) (hn : BandContains n beta) : 0 ≤ realAreaPolynomial (p.value : ℝ) (n.value : ℝ) (x / beta) := by have hnlo : 0 < (n.lo : ℝ) := (Rat.cast_pos (K := ℝ)).mpr h.1 have hbeta : 0 < beta := hnlo.trans_le hn.1 have hnhi : 0 < (n.hi : ℝ) := hbeta.trans_le hn.2 have hphi0 : 0 ≤ (p.hi : ℝ) := hx0.trans hp.2 have hlo : ((pairCell p n).lo : ℝ) ≤ x / beta := by have hcross : (p.lo : ℝ) * beta ≤ x * (n.hi : ℝ) := (mul_le_mul_of_nonneg_right hp.1 hbeta.le).trans (mul_le_mul_of_nonneg_left hn.2 hx0) have hr : (p.lo : ℝ) / (n.hi : ℝ) ≤ x / beta := (div_le_div_iff₀ hnhi hbeta).mpr hcross simpa [pairCell] using hr have hhi : x / beta ≤ ((pairCell p n).hi : ℝ) := by have hcross : x * (n.lo : ℝ) ≤ (p.hi : ℝ) * beta := (mul_le_mul_of_nonneg_right hp.2 hnlo.le).trans (mul_le_mul_of_nonneg_left hn.1 hphi0) have hr : x / beta ≤ (p.hi : ℝ) / (n.lo : ℝ) := (div_le_div_iff₀ hbeta hnlo).mpr hcross simpa [pairCell] using hr exact acceptedAreaCell_transport h.2 (x / beta) hlo hhi theorem checkedGrid_polynomial (ps ns : List Band) (xlo xhi blo bhi : ℚ) (hps : checkBands xlo xhi ps = true) (hns : checkBands blo bhi ns = true) (hgrid : checkGrid ns ps = true) (x beta : ℝ) (hx0 : 0 ≤ x) (hxlo : (xlo : ℝ) ≤ x) (hxhi : x ≤ (xhi : ℝ)) (hblo : (blo : ℝ) ≤ beta) (hbhi : beta ≤ (bhi : ℝ)) : ∃ p ∈ ps, ∃ n ∈ ns, BandContains p x ∧ BandContains n beta ∧ 0 ≤ realAreaPolynomial (p.value : ℝ) (n.value : ℝ) (x / beta) := by obtain ⟨p, hpmem, _, hpoint⟩ := checkBands_coverage ps xlo xhi hps x hxlo hxhi obtain ⟨n, hnmem, _, hnpoint⟩ := checkBands_coverage ns blo bhi hns beta hblo hbhi exact ⟨p, hpmem, n, hnmem, hpoint, hnpoint, areaPair_transport (checkGrid_sound ns ps hgrid p hpmem n hnmem) x beta hx0 hpoint hnpoint⟩ theorem checkedGrid_energy (ps ns : List Band) (xlo xhi blo bhi : ℚ) (hps : checkBands xlo xhi ps = true) (hns : checkBands blo bhi ns = true) (hgrid : checkGrid ns ps = true) (x beta a b A k qP qN : ℝ) (ha : 0 < a) (hb : 0 < b) (hA : a + b ≤ A) (hk : 0 ≤ k) (hqP : 0 ≤ qP) (hqN : 0 ≤ qN) (hx0 : 0 ≤ x) (hxlo : (xlo : ℝ) ≤ x) (hxhi : x ≤ (xhi : ℝ)) (hblo : (blo : ℝ) ≤ beta) (hbhi : beta ≤ (bhi : ℝ)) (hratio : x / beta = b / a) (hP : ∀ p ∈ ps, (p.lo : ℝ) ≤ x → k * (p.value : ℝ) ≤ a * qP) (hN : ∀ n ∈ ns, beta ≤ (n.hi : ℝ) → k * (n.value : ℝ) ≤ b * qN) : 8 * k ≤ A * (qP + qN) := by obtain ⟨p, hpmem, n, hnmem, hpoint, hnpoint, hpoly⟩ := checkedGrid_polynomial ps ns xlo xhi blo bhi hps hns hgrid x beta hx0 hxlo hxhi hblo hbhi rw [hratio] at hpoly exact areaEnergy_of_polynomial (p.value : ℝ) (n.value : ℝ) a b A k qP qN ha hb hA hk hqP hqN (hP p hpmem hpoint.1) (hN n hnmem hnpoint.2) hpoly end end QuantileFiniteCertificate end /- END M065 -/ /- BEGIN M066 -/ section namespace QuantileFiniteCertificate noncomputable section theorem quantitativeParameter_cases (x beta : ℝ) (hbeta : 0 < beta) : (7 : ℝ) / 50 ≤ x ∨ beta ≤ 1 / 16 ∨ x / beta ≤ 1 / 4 ∨ ((1 : ℝ) / 64 ≤ x ∧ x ≤ 7 / 50 ∧ (1 : ℝ) / 16 ≤ beta ∧ beta ≤ 14 / 25) := by by_cases hhigh : (7 : ℝ) / 50 ≤ x · exact Or.inl hhigh · right by_cases hlow : beta ≤ 1 / 16 · exact Or.inl hlow · right by_cases hsmall : x / beta ≤ 1 / 4 · exact Or.inl hsmall · right have hxhigh : x < (7 : ℝ) / 50 := lt_of_not_ge hhigh have hbetalo : (1 : ℝ) / 16 < beta := lt_of_not_ge hlow have hratio : (1 : ℝ) / 4 < x / beta := lt_of_not_ge hsmall have hprice : (1 : ℝ) / 4 * beta < x := (lt_div_iff₀ hbeta).mp hratio constructor · linarith · refine ⟨hxhigh.le, hbetalo.le, ?_⟩ linarith theorem completeScalar_energy (ps ns : List Band) (hps : checkBands (1 / 64) (7 / 50) ps = true) (hns : checkBands (1 / 16) (14 / 25) ns = true) (hgrid : checkGrid ns ps = true) (x beta a b A k qP qN : ℝ) (ha : 0 < a) (hb : 0 < b) (hA : a + b ≤ A) (hk : 0 ≤ k) (hqP : 0 ≤ qP) (hqN : 0 ≤ qN) (hx0 : 0 ≤ x) (hbeta : 0 < beta) (hratio : x / beta = b / a) (hFKP : k * (23 / 16) ≤ a * qP) (hFKN : k * (23 / 16) ≤ b * qN) (hHigh : (7 : ℝ) / 50 ≤ x → k * (8 / 3) ≤ a * qP) (hLow : beta ≤ 1 / 16 → k * (3020629 / 1000000) ≤ b * qN) (hP : ∀ p ∈ ps, (p.lo : ℝ) ≤ x → k * (p.value : ℝ) ≤ a * qP) (hN : ∀ n ∈ ns, beta ≤ (n.hi : ℝ) → k * (n.value : ℝ) ≤ b * qN) : 8 * k ≤ A * (qP + qN) := by rcases quantitativeParameter_cases x beta hbeta with hhigh | hlow | hsmall | hrect · exact highX_areaEnergy a b A k qP qN ha hb hA hk hqP hqN (hHigh hhigh) hFKN · exact lowBeta_areaEnergy a b A k qP qN ha hb hA hk hqP hqN hFKP (hLow hlow) · have hsmall' : b / a ≤ 1 / 4 := by rw [← hratio]; exact hsmall exact smallRatio_areaEnergy a b A k qP qN ha hb hA hk hqP hqN hFKP hFKN hsmall' · apply checkedGrid_energy ps ns (1 / 64) (7 / 50) (1 / 16) (14 / 25) hps hns hgrid x beta a b A k qP qN ha hb hA hk hqP hqN hx0 · simpa using hrect.1 · simpa using hrect.2.1 · simpa using hrect.2.2.1 · simpa using hrect.2.2.2 · exact hratio · exact hP · exact hN end end QuantileFiniteCertificate end /- END M066 -/ /- BEGIN M067 -/ section namespace QuantileFiniteCertificate noncomputable section theorem branchFloor_pos (small : Bool) (w : ℝ) (hw : 0 ≤ w) : 0 < branchFloor small w := by cases small <;> norm_num [branchFloor, quantileFraction] <;> linarith /-- The actual weighted mass, Cauchy/Green form and compressed matrix at a particular branch weight. Its entries retain every analytic comparison used by the rational checker. -/ structure PositiveMatrixProfile (p : Params) (small : Bool) (t r m Q w : ℝ) where weighted : ℝ green : ℝ top : ℝ cross : ℝ trunk : ℝ leftNorm : ℝ rightNorm : ℝ weighted_floor : branchFloor small w * m ≤ weighted cauchy : weighted ^ 2 ≤ Q * green green_form : green ≤ top * leftNorm ^ 2 + 2 * cross * leftNorm * rightNorm + trunk * rightNorm ^ 2 norm_mass : leftNorm ^ 2 + rightNorm ^ 2 = weighted entry_top : top ≤ branchDiagonal small t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w entry_trunk_nonneg : 0 ≤ trunk entry_cross_sq : cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w entry_trunk_sq : trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t /-- The scalar final step, using a true weighted mass and the actual compressed Green form, including their normalization identity. -/ theorem weightedMass_energy_of_block (target floor m weighted Q green top cross trunk u v : ℝ) (htarget : 0 < target) (hfloor : 0 < floor) (hm : 0 < m) (hQ : 0 ≤ Q) (hweighted : floor * m ≤ weighted) (hCauchy : weighted ^ 2 ≤ Q * green) (hGreen : green ≤ top * u ^ 2 + 2 * cross * u * v + trunk * v ^ 2) (hNorm : u ^ 2 + v ^ 2 = weighted) (hBlock : BlockBound (floor / target) top cross trunk) : target * m ≤ Q := by have hweightedPos : 0 < weighted := (mul_pos hfloor hm).trans_le hweighted have hGreenBound : green ≤ (floor / target) * weighted := by have h := hGreen.trans (hBlock u v) rwa [hNorm] at h have hprod : weighted * weighted ≤ ((floor / target) * Q) * weighted := by calc weighted * weighted = weighted ^ 2 := by ring _ ≤ Q * green := hCauchy _ ≤ Q * ((floor / target) * weighted) := mul_le_mul_of_nonneg_left hGreenBound hQ _ = ((floor / target) * Q) * weighted := by ring have hMassPrice : weighted ≤ (floor / target) * Q := le_of_mul_le_mul_right hprod hweightedPos have hTargetMass : target * weighted ≤ floor * Q := by calc target * weighted ≤ target * ((floor / target) * Q) := mul_le_mul_of_nonneg_left hMassPrice htarget.le _ = floor * Q := by rw [← mul_assoc, mul_div_cancel₀ floor htarget.ne'] have hPaid : (target * m) * floor ≤ Q * floor := by calc (target * m) * floor = target * (floor * m) := by ring _ ≤ target * weighted := mul_le_mul_of_nonneg_left hweighted htarget.le _ ≤ floor * Q := hTargetMass _ = Q * floor := by ring exact le_of_mul_le_mul_right hPaid hfloor /-- Universal coverage selects one fixed leaf weight. Actual profiles at that weight, rather than the finite data by itself, supply the energy bound. -/ theorem checkedTree_positive_energy (p : Params) (small turn : Bool) (b : Box) (tree : Tree) (hchecked : checkTree p small turn b tree = true) (t r : ℝ) (hpoint : Contains b t r) (m Q : ℝ) (hm : 0 < m) (hQ : 0 ≤ Q) (hprofiles : ∀ w : ℝ, 0 ≤ w → w ≤ 1 → Nonempty (PositiveMatrixProfile p small t r m Q w)) : (p.target : ℝ) * m ≤ Q := by obtain ⟨leafBox, tag, hmem, hgood⟩ := checkTree_coverage p small tree turn b hchecked t r hpoint have htarget : (0 : ℝ) < (p.target : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hgood.1.2.2.1 obtain ⟨w, hw0, hw1, hBlock⟩ := checkedTree_parameters p small turn b tree hchecked t r hpoint obtain ⟨profile⟩ := hprofiles w hw0 hw1 exact weightedMass_energy_of_block (p.target : ℝ) (branchFloor small w) m profile.weighted Q profile.green profile.top profile.cross profile.trunk profile.leftNorm profile.rightNorm htarget (branchFloor_pos small w hw0) hm hQ profile.weighted_floor profile.cauchy profile.green_form profile.norm_mass (hBlock profile.top profile.cross profile.trunk profile.entry_top profile.entry_trunk_nonneg profile.entry_cross_sq profile.entry_trunk_sq) end end QuantileFiniteCertificate end /- END M067 -/ /- BEGIN M068 -/ section namespace QuantileFiniteCertificate inductive PositiveMethod where | fk | forest (params : Params) (large small : Tree) structure PositiveEntry where band : Band method : PositiveMethod def GoodPositiveLink (e : PositiveEntry) : Prop := match e.method with | .fk => e.band.value ≤ radialConstant | .forest p _ _ => p.x ≤ e.band.lo ∧ e.band.value ≤ p.target def positiveLinkDecidable (e : PositiveEntry) : Decidable (GoodPositiveLink e) := by cases e with | mk b method => cases method <;> unfold GoodPositiveLink <;> infer_instance def checkPositiveLink (e : PositiveEntry) : Bool := @decide (GoodPositiveLink e) (positiveLinkDecidable e) def checkPositiveCatalog : List PositiveEntry → Bool | [] => true | e :: rest => checkPositiveLink e && checkPositiveCatalog rest def positiveBands (es : List PositiveEntry) : List Band := es.map PositiveEntry.band def PositiveMethodAccepted : PositiveMethod → Prop | .fk => True | .forest p large small => checkTree p false true rootBox large = true ∧ checkTree p true true smallRootBox small = true def PositiveCatalogAccepted (es : List PositiveEntry) : Prop := ∀ e ∈ es, PositiveMethodAccepted e.method theorem checkPositiveLink_sound {e : PositiveEntry} (h : checkPositiveLink e = true) : GoodPositiveLink e := by letI := positiveLinkDecidable e exact of_decide_eq_true h theorem checkPositiveCatalog_sound (es : List PositiveEntry) : checkPositiveCatalog es = true → ∀ e ∈ es, GoodPositiveLink e := by induction es with | nil => intro h; simp | cons e rest ih => intro h d hd have hh : checkPositiveLink e = true ∧ checkPositiveCatalog rest = true := Bool.and_eq_true_iff.mp h rcases List.mem_cons.mp hd with hde | hdr · subst d exact checkPositiveLink_sound hh.1 · exact ih hh.2 d hdr theorem positiveCatalogAccepted_nil : PositiveCatalogAccepted [] := by intro e he simp at he theorem positiveCatalogAccepted_cons (e : PositiveEntry) (es : List PositiveEntry) (he : PositiveMethodAccepted e.method) (hs : PositiveCatalogAccepted es) : PositiveCatalogAccepted (e :: es) := by intro d hd rcases List.mem_cons.mp hd with hde | hds · subst d exact he · exact hs d hds theorem positiveCatalogAccepted_append (as bs : List PositiveEntry) (ha : PositiveCatalogAccepted as) (hb : PositiveCatalogAccepted bs) : PositiveCatalogAccepted (as ++ bs) := by intro e he rcases List.mem_append.mp he with hmem | hmem · exact ha e hmem · exact hb e hmem noncomputable section def PositiveMethodControl (method : PositiveMethod) (x a k qP : ℝ) : Prop := match method with | .fk => k * (radialConstant : ℝ) ≤ a * qP | .forest p large small => PositiveMethodAccepted (.forest p large small) → (p.x : ℝ) ≤ x → k * (p.target : ℝ) ≤ a * qP theorem positiveEntry_price {e : PositiveEntry} (hlink : GoodPositiveLink e) (haccepted : PositiveMethodAccepted e.method) (x a k qP : ℝ) (hk : 0 ≤ k) (hcontrol : PositiveMethodControl e.method x a k qP) (hx : (e.band.lo : ℝ) ≤ x) : k * (e.band.value : ℝ) ≤ a * qP := by cases e with | mk band method => cases method with | fk => have hvalue : (band.value : ℝ) ≤ (radialConstant : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink exact (mul_le_mul_of_nonneg_left hvalue hk).trans hcontrol | forest p large small => have hp : (p.x : ℝ) ≤ (band.lo : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink.1 have hvalue : (band.value : ℝ) ≤ (p.target : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink.2 exact (mul_le_mul_of_nonneg_left hvalue hk).trans (hcontrol haccepted (hp.trans hx)) theorem checkedPositiveCatalog_price (es : List PositiveEntry) (hcheck : checkPositiveCatalog es = true) (haccepted : PositiveCatalogAccepted es) (x a k qP : ℝ) (hk : 0 ≤ k) (hcontrol : ∀ e ∈ es, PositiveMethodControl e.method x a k qP) : ∀ band ∈ positiveBands es, (band.lo : ℝ) ≤ x → k * (band.value : ℝ) ≤ a * qP := by intro band hband hx obtain ⟨e, hemem, heq⟩ := List.mem_map.mp hband subst band exact positiveEntry_price (checkPositiveCatalog_sound es hcheck e hemem) (haccepted e hemem) x a k qP hk (hcontrol e hemem) hx end end QuantileFiniteCertificate end /- END M068 -/ /- BEGIN M069 -/ section /-! Actual real-log bounds for the unchanged negative quantile table. The existing native logarithm upper bound, with 64 terms, fits every preserved compact table ceiling. No new sharp-remainder calculus lemma or logarithm approximation is assumed. The original 32-term sharp generator remains only a data proposal. -/ open Set Finset open scoped BigOperators namespace Polya26.QuantileLogBounds /-- Executable exact upper bound from the existing native real-log lemma. The unchanged negative table's compact witnesses pass this check at `n = 64`. -/ def oddLogUpperRat (beta : ℚ) (n : ℕ) : ℚ := let x := (1 - beta) / (1 + beta) 2 * ((∑ i ∈ Finset.range n, x ^ (2 * i + 1) / (2 * i + 1)) + x ^ (2 * n + 1) / (1 - x ^ 2)) /-- Executable certificate predicate, including its analytic beta premises. -/ def checkLogUpper (beta L : ℚ) (n : ℕ) : Bool := decide (0 < beta ∧ beta ≤ 1 ∧ oddLogUpperRat beta n ≤ L) noncomputable section def oddLogSeries (x : ℝ) (n : ℕ) : ℝ := ∑ i ∈ Finset.range n, x ^ (2 * i + 1) / (2 * i + 1) def oddLogUpper (x : ℝ) (n : ℕ) : ℝ := 2 * (oddLogSeries x n + x ^ (2 * n + 1) / (1 - x ^ 2)) /-- The existing Mathlib logarithm bound is sufficient with more terms. -/ theorem half_log_ratio_le_series_native {x : ℝ} (hx0 : 0 ≤ x) (hx1 : x < 1) (n : ℕ) : (1 / 2 : ℝ) * Real.log ((1 + x) / (1 - x)) ≤ oddLogSeries x n + x ^ (2 * n + 1) / (1 - x ^ 2) := by simpa only [oddLogSeries] using Real.log_div_le_sum_range_add hx0 hx1 n theorem log_ratio_le_oddLogUpper {x : ℝ} (hx0 : 0 ≤ x) (hx1 : x < 1) (n : ℕ) : Real.log ((1 + x) / (1 - x)) ≤ oddLogUpper x n := by have h := half_log_ratio_le_series_native hx0 hx1 n unfold oddLogUpper linarith theorem beta_rank_nonneg {beta : ℝ} (hbeta : 0 < beta) (hbeta1 : beta ≤ 1) : 0 ≤ (1 - beta) / (1 + beta) := div_nonneg (sub_nonneg.mpr hbeta1) (by linarith) theorem beta_rank_lt_one {beta : ℝ} (hbeta : 0 < beta) : (1 - beta) / (1 + beta) < 1 := by apply (div_lt_iff₀ (by linarith : 0 < 1 + beta)).mpr linarith theorem beta_rank_ratio {beta : ℝ} (hbeta : 0 < beta) : (1 + (1 - beta) / (1 + beta)) / (1 - (1 - beta) / (1 + beta)) = 1 / beta := by have hplus : 1 + beta ≠ 0 := ne_of_gt (by linarith) have hminus : 1 - (1 - beta) / (1 + beta) ≠ 0 := by have h := beta_rank_lt_one hbeta linarith field_simp [hplus, hminus, hbeta.ne'] <;> ring theorem log_inv_le_oddLogUpper {beta : ℝ} (hbeta : 0 < beta) (hbeta1 : beta ≤ 1) (n : ℕ) : Real.log (1 / beta) ≤ oddLogUpper ((1 - beta) / (1 + beta)) n := by have h := log_ratio_le_oddLogUpper (beta_rank_nonneg hbeta hbeta1) (beta_rank_lt_one hbeta) n rwa [beta_rank_ratio hbeta] at h /-- The one-term native lower bound, with the actual beta normalization. -/ theorem log_inv_ge_lower_ratio {beta : ℝ} (hbeta : 0 < beta) (hbeta1 : beta ≤ 1) : 2 * (1 - beta) / (1 + beta) ≤ Real.log (1 / beta) := by have h := Real.sum_range_le_log_div (beta_rank_nonneg hbeta hbeta1) (beta_rank_lt_one hbeta) 1 rw [beta_rank_ratio hbeta] at h norm_num only [Finset.sum_range_one, Nat.mul_zero, zero_add, pow_one, Nat.cast_one, div_one] at h rw [mul_div_assoc] linarith /-- The exact lower bound used for the log-monotone negative HS polynomial. -/ theorem log_inv_ge_twentyTwo_thirtyNine {beta : ℝ} (hbeta : 0 < beta) (hbetaMax : beta ≤ 14 / 25) : (22 / 39 : ℝ) ≤ Real.log (1 / beta) := by have hbeta1 : beta ≤ 1 := by linarith have hbase := log_inv_ge_lower_ratio hbeta hbeta1 rw [mul_div_assoc] at hbase have hrank : (11 / 39 : ℝ) ≤ (1 - beta) / (1 + beta) := by apply (le_div_iff₀ (by linarith : 0 < 1 + beta)).mpr linarith linarith theorem log_inv_gt_half {beta : ℝ} (hbeta : 0 < beta) (hbetaMax : beta ≤ 14 / 25) : (1 / 2 : ℝ) < Real.log (1 / beta) := by have h := log_inv_ge_twentyTwo_thirtyNine hbeta hbetaMax linarith /-- Positive inverse-log monotonicity for transport along beta intervals. -/ theorem log_inv_antitone {lo beta : ℝ} (hlo : 0 < lo) (horder : lo ≤ beta) : Real.log (1 / beta) ≤ Real.log (1 / lo) := by exact Real.log_le_log (one_div_pos.mpr (hlo.trans_le horder)) (one_div_le_one_div_of_le hlo horder) theorem oddLogUpperRat_cast (beta : ℚ) (n : ℕ) : (oddLogUpperRat beta n : ℝ) = oddLogUpper ((1 - (beta : ℝ)) / (1 + (beta : ℝ))) n := by simp only [oddLogUpperRat, oddLogUpper, oddLogSeries, Rat.cast_mul, Rat.cast_add, Rat.cast_sum, Rat.cast_div, Rat.cast_sub, Rat.cast_one, Rat.cast_pow, Rat.cast_natCast, Rat.cast_ofNat] /-- A compact rational upper witness is accepted by an exact rational check. -/ theorem log_inv_le_rational_upper {beta L : ℚ} (hbeta : 0 < beta) (hbeta1 : beta ≤ 1) (n : ℕ) (hcheck : oddLogUpperRat beta n ≤ L) : Real.log (1 / (beta : ℝ)) ≤ (L : ℝ) := by have hbetaR : (0 : ℝ) < (beta : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hbeta have hbetaR1 : (beta : ℝ) ≤ 1 := by exact_mod_cast hbeta1 have h := log_inv_le_oddLogUpper hbetaR hbetaR1 n rw [← oddLogUpperRat_cast beta n] at h exact h.trans ((Rat.cast_le (K := ℝ)).mpr hcheck) /-- The same witness bounds every beta at or above its positive rational endpoint. -/ theorem log_inv_le_rational_upper_on {lo L : ℚ} (hlo : 0 < lo) (hlo1 : lo ≤ 1) (n : ℕ) (hcheck : oddLogUpperRat lo n ≤ L) {beta : ℝ} (horder : (lo : ℝ) ≤ beta) : Real.log (1 / beta) ≤ (L : ℝ) := (log_inv_antitone ((Rat.cast_pos (K := ℝ)).mpr hlo) horder).trans (log_inv_le_rational_upper hlo hlo1 n hcheck) theorem checked_log_inv_le {beta L : ℚ} {n : ℕ} (hcheck : checkLogUpper beta L n = true) : Real.log (1 / (beta : ℝ)) ≤ (L : ℝ) := by have hg : 0 < beta ∧ beta ≤ 1 ∧ oddLogUpperRat beta n ≤ L := by exact of_decide_eq_true hcheck exact log_inv_le_rational_upper hg.1 hg.2.1 n hg.2.2 theorem checked_log_inv_le_on {lo L : ℚ} {n : ℕ} (hcheck : checkLogUpper lo L n = true) {beta : ℝ} (horder : (lo : ℝ) ≤ beta) : Real.log (1 / beta) ≤ (L : ℝ) := by have hg : 0 < lo ∧ lo ≤ 1 ∧ oddLogUpperRat lo n ≤ L := by exact of_decide_eq_true hcheck exact log_inv_le_rational_upper_on hg.1 hg.2.1 n hg.2.2 horder /-- Expanded negative weighted-log HS coefficient. Its actual integral identification and beta monotonicity are supplied separately by the Green worker. -/ theorem negativeHSsq_log_difference (beta p Llo Lhi : ℝ) : negativeHSsq beta p Lhi - negativeHSsq beta p Llo = beta ^ 2 * (1 - p) * (Lhi - Llo) * ((1 - p) * (Lhi + Llo) + 1 - 3 * p) := by unfold negativeHSsq ring /-- The pure algebraic envelope step is valid on the whole weight interval, including each table weight 0, 1/4, and 1/2. -/ theorem negativeHSsq_log_mono (beta p Llo Lhi : ℝ) (hp0 : 0 ≤ p) (hpHalf : p ≤ 1 / 2) (hLlo : 1 / 2 ≤ Llo) (hL : Llo ≤ Lhi) : negativeHSsq beta p Llo ≤ negativeHSsq beta p Lhi := by have hp1 : 0 ≤ 1 - p := by linarith have hsum : 1 ≤ Lhi + Llo := by linarith have hproduct := mul_le_mul_of_nonneg_left hsum hp1 have hbracket : 0 ≤ (1 - p) * (Lhi + Llo) + 1 - 3 * p := by linarith apply le_of_sub_nonneg rw [negativeHSsq_log_difference] exact mul_nonneg (mul_nonneg (mul_nonneg (sq_nonneg beta) hp1) (sub_nonneg.mpr hL)) hbracket /-- Accepted rational log ceilings now dominate the ACTUAL negative coefficient. -/ theorem negativeHSsq_checked_log_envelope {beta L : ℚ} {n : ℕ} (hcheck : checkLogUpper beta L n = true) (hbetaMax : beta ≤ 14 / 25) {p : ℝ} (hp0 : 0 ≤ p) (hpHalf : p ≤ 1 / 2) : negativeHSsq (beta : ℝ) p (Real.log (1 / (beta : ℝ))) ≤ negativeHSsq (beta : ℝ) p (L : ℝ) := by have hg : 0 < beta ∧ beta ≤ 1 ∧ oddLogUpperRat beta n ≤ L := by exact of_decide_eq_true hcheck have hbetaR : (0 : ℝ) < (beta : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hg.1 have hmaxR : (beta : ℝ) ≤ 14 / 25 := by simpa only [Rat.cast_div, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hbetaMax exact negativeHSsq_log_mono (beta : ℝ) p _ _ hp0 hpHalf (log_inv_gt_half hbetaR hmaxR).le (checked_log_inv_le hcheck) end end Polya26.QuantileLogBounds end /- END M069 -/ /- BEGIN M070 -/ section namespace QuantileFiniteCertificate structure NegativeRow where beta : ℚ weight : ℚ logUpper : ℚ target : ℚ terms : ℕ def negativeHSsqRat (row : NegativeRow) : ℚ := let beta := row.beta let p := row.weight let L := row.logUpper p ^ 2 / 2 + 4 * beta * p * (1 - p) + beta ^ 2 * ((1 - p) ^ 2 * L ^ 2 + (1 - p) * (1 - 3 * p) * L + 1 / 2 - 4 * p + (7 / 2) * p ^ 2) def negativeRowFloor (row : NegativeRow) : ℚ := 5 / 8 + (3 / 8) * row.weight def GoodNegativeRow (row : NegativeRow) : Prop := 0 < row.beta ∧ row.beta ≤ 14 / 25 ∧ 0 ≤ row.weight ∧ row.weight ≤ 1 / 2 ∧ 0 ≤ row.target ∧ 0 ≤ negativeHSsqRat row ∧ row.target ^ 2 * negativeHSsqRat row ≤ negativeRowFloor row ^ 2 def negativeRowDecidable (row : NegativeRow) : Decidable (GoodNegativeRow row) := by unfold GoodNegativeRow infer_instance def checkNegativeRowNumerics (row : NegativeRow) : Bool := @decide (GoodNegativeRow row) (negativeRowDecidable row) /-- The logarithm proof is supplied separately, so linking a catalog never recomputes its accepted 64-term rational series. -/ def NegativeRowAccepted (row : NegativeRow) : Prop := checkNegativeRowNumerics row = true ∧ Polya26.QuantileLogBounds.checkLogUpper row.beta row.logUpper row.terms = true theorem checkNegativeRowNumerics_sound {row : NegativeRow} (h : checkNegativeRowNumerics row = true) : GoodNegativeRow row := by letI := negativeRowDecidable row exact of_decide_eq_true h noncomputable section theorem negativeHSsqRat_cast (row : NegativeRow) : (negativeHSsqRat row : ℝ) = Polya26.QuantileLogBounds.negativeHSsq (row.beta : ℝ) (row.weight : ℝ) (row.logUpper : ℝ) := by simp only [negativeHSsqRat, Polya26.QuantileLogBounds.negativeHSsq, Rat.cast_add, Rat.cast_mul, Rat.cast_sub, Rat.cast_div, Rat.cast_pow, Rat.cast_ofNat, Rat.cast_one] theorem negativeRowFloor_cast (row : NegativeRow) : (negativeRowFloor row : ℝ) = (5 / 8 : ℝ) + (3 / 8) * (row.weight : ℝ) := by simp only [negativeRowFloor, Rat.cast_add, Rat.cast_mul, Rat.cast_div, Rat.cast_ofNat] /-- The exact row budget dominates the actual real-log Hilbert--Schmidt coefficient. The input `S` is the actual nonnegative kernel-norm bound. -/ theorem acceptedNegativeRow_hs_price {row : NegativeRow} (haccepted : NegativeRowAccepted row) (S : ℝ) (hS : 0 ≤ S) (hSq : S ^ 2 ≤ Polya26.QuantileLogBounds.negativeHSsq (row.beta : ℝ) (row.weight : ℝ) (Real.log (1 / (row.beta : ℝ)))) : (row.target : ℝ) * S ≤ (negativeRowFloor row : ℝ) := by rcases checkNegativeRowNumerics_sound haccepted.1 with ⟨hbeta, hmax, hp0, hpHalf, htarget, hnonneg, hbudget⟩ have hp0R : (0 : ℝ) ≤ (row.weight : ℝ) := (Rat.cast_nonneg (K := ℝ)).mpr hp0 have hpHalfR : (row.weight : ℝ) ≤ 1 / 2 := by simpa only [Rat.cast_div, Rat.cast_one, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hpHalf have htargetR : (0 : ℝ) ≤ (row.target : ℝ) := (Rat.cast_nonneg (K := ℝ)).mpr htarget have hfloorR : (0 : ℝ) ≤ (negativeRowFloor row : ℝ) := by rw [negativeRowFloor_cast] linarith have hlog := Polya26.QuantileLogBounds.negativeHSsq_checked_log_envelope haccepted.2 hmax hp0R hpHalfR have hSqRat : S ^ 2 ≤ (negativeHSsqRat row : ℝ) := by rw [negativeHSsqRat_cast] exact hSq.trans hlog have hbudgetR : (row.target : ℝ) ^ 2 * (negativeHSsqRat row : ℝ) ≤ (negativeRowFloor row : ℝ) ^ 2 := by simpa only [Rat.cast_mul, Rat.cast_pow] using (Rat.cast_le (K := ℝ)).mpr hbudget have hsquare : ((row.target : ℝ) * S) ^ 2 ≤ (negativeRowFloor row : ℝ) ^ 2 := by calc ((row.target : ℝ) * S) ^ 2 = (row.target : ℝ) ^ 2 * S ^ 2 := by ring _ ≤ (row.target : ℝ) ^ 2 * (negativeHSsqRat row : ℝ) := mul_le_mul_of_nonneg_left hSqRat (sq_nonneg _) _ ≤ (negativeRowFloor row : ℝ) ^ 2 := hbudgetR exact (sq_le_sq₀ (mul_nonneg htargetR hS) hfloorR).mp hsquare /-- A positive weighted mass and the two actual Cauchy/Green estimates give the unweighted phase price advertised by this exact accepted row. -/ theorem acceptedNegativeRow_mass_energy {row : NegativeRow} (haccepted : NegativeRowAccepted row) (m weighted Q D S : ℝ) (hm : 0 < m) (hQ : 0 ≤ Q) (hS : 0 ≤ S) (hweighted : (negativeRowFloor row : ℝ) * m ≤ weighted) (hCauchy : weighted ^ 2 ≤ Q * D) (hGreen : D ≤ S * weighted) (hSq : S ^ 2 ≤ Polya26.QuantileLogBounds.negativeHSsq (row.beta : ℝ) (row.weight : ℝ) (Real.log (1 / (row.beta : ℝ)))) : (row.target : ℝ) * m ≤ Q := by rcases checkNegativeRowNumerics_sound haccepted.1 with ⟨hbeta, hmax, hp0, hpHalf, htarget, hnonneg, hbudget⟩ have hp0R : (0 : ℝ) ≤ (row.weight : ℝ) := (Rat.cast_nonneg (K := ℝ)).mpr hp0 have htargetR : (0 : ℝ) ≤ (row.target : ℝ) := (Rat.cast_nonneg (K := ℝ)).mpr htarget have hfloor : (0 : ℝ) < (negativeRowFloor row : ℝ) := by rw [negativeRowFloor_cast] linarith have hweightedPos : 0 < weighted := (mul_pos hfloor hm).trans_le hweighted have hprod : weighted * weighted ≤ (S * Q) * weighted := by calc weighted * weighted = weighted ^ 2 := by ring _ ≤ Q * D := hCauchy _ ≤ Q * (S * weighted) := mul_le_mul_of_nonneg_left hGreen hQ _ = (S * Q) * weighted := by ring have hweightedPrice : weighted ≤ S * Q := le_of_mul_le_mul_right hprod hweightedPos have hhs := acceptedNegativeRow_hs_price haccepted S hS hSq have hprice : ((row.target : ℝ) * m) * (negativeRowFloor row : ℝ) ≤ Q * (negativeRowFloor row : ℝ) := by calc ((row.target : ℝ) * m) * (negativeRowFloor row : ℝ) = (row.target : ℝ) * ((negativeRowFloor row : ℝ) * m) := by ring _ ≤ (row.target : ℝ) * weighted := mul_le_mul_of_nonneg_left hweighted htargetR _ ≤ (row.target : ℝ) * (S * Q) := mul_le_mul_of_nonneg_left hweightedPrice htargetR _ = ((row.target : ℝ) * S) * Q := by ring _ ≤ (negativeRowFloor row : ℝ) * Q := mul_le_mul_of_nonneg_right hhs hQ _ = Q * (negativeRowFloor row : ℝ) := by ring exact le_of_mul_le_mul_right hprice hfloor end end QuantileFiniteCertificate end /- END M070 -/ /- BEGIN M071 -/ section namespace QuantileFiniteCertificate inductive NegativeMethod where | fk | hs (row : NegativeRow) structure NegativeEntry where band : Band method : NegativeMethod def GoodNegativeLink (e : NegativeEntry) : Prop := match e.method with | .fk => e.band.value ≤ radialConstant | .hs row => e.band.hi ≤ row.beta ∧ e.band.value ≤ row.target def negativeLinkDecidable (e : NegativeEntry) : Decidable (GoodNegativeLink e) := by cases e with | mk b method => cases method <;> unfold GoodNegativeLink <;> infer_instance def checkNegativeLink (e : NegativeEntry) : Bool := @decide (GoodNegativeLink e) (negativeLinkDecidable e) def checkNegativeCatalog : List NegativeEntry → Bool | [] => true | e :: rest => checkNegativeLink e && checkNegativeCatalog rest def negativeBands (es : List NegativeEntry) : List Band := es.map NegativeEntry.band def NegativeMethodAccepted : NegativeMethod → Prop | .fk => True | .hs row => NegativeRowAccepted row def NegativeCatalogAccepted (es : List NegativeEntry) : Prop := ∀ e ∈ es, NegativeMethodAccepted e.method theorem checkNegativeLink_sound {e : NegativeEntry} (h : checkNegativeLink e = true) : GoodNegativeLink e := by letI := negativeLinkDecidable e exact of_decide_eq_true h theorem checkNegativeCatalog_sound (es : List NegativeEntry) : checkNegativeCatalog es = true → ∀ e ∈ es, GoodNegativeLink e := by induction es with | nil => intro h; simp | cons e rest ih => intro h d hd have hh : checkNegativeLink e = true ∧ checkNegativeCatalog rest = true := Bool.and_eq_true_iff.mp h rcases List.mem_cons.mp hd with hde | hdr · subst d exact checkNegativeLink_sound hh.1 · exact ih hh.2 d hdr theorem negativeCatalogAccepted_nil : NegativeCatalogAccepted [] := by intro e he simp at he theorem negativeCatalogAccepted_cons (e : NegativeEntry) (es : List NegativeEntry) (he : NegativeMethodAccepted e.method) (hs : NegativeCatalogAccepted es) : NegativeCatalogAccepted (e :: es) := by intro d hd rcases List.mem_cons.mp hd with hde | hds · subst d exact he · exact hs d hds theorem negativeCatalogAccepted_append (as bs : List NegativeEntry) (ha : NegativeCatalogAccepted as) (hb : NegativeCatalogAccepted bs) : NegativeCatalogAccepted (as ++ bs) := by intro e he rcases List.mem_append.mp he with hmem | hmem · exact ha e hmem · exact hb e hmem noncomputable section /-- A radial profile on the actual phase supplies the HS method control. Its enlarged cutoff is exactly `row.beta`, and its accepted real-log row is retained as an explicit argument. -/ def NegativeMethodControl (method : NegativeMethod) (beta b k qN : ℝ) : Prop := match method with | .fk => k * (radialConstant : ℝ) ≤ b * qN | .hs row => NegativeRowAccepted row → beta ≤ (row.beta : ℝ) → k * (row.target : ℝ) ≤ b * qN theorem negativeEntry_price {e : NegativeEntry} (hlink : GoodNegativeLink e) (haccepted : NegativeMethodAccepted e.method) (beta b k qN : ℝ) (hk : 0 ≤ k) (hcontrol : NegativeMethodControl e.method beta b k qN) (hbeta : beta ≤ (e.band.hi : ℝ)) : k * (e.band.value : ℝ) ≤ b * qN := by cases e with | mk band method => cases method with | fk => have hvalue : (band.value : ℝ) ≤ (radialConstant : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink exact (mul_le_mul_of_nonneg_left hvalue hk).trans hcontrol | hs row => have hbetaRow : (band.hi : ℝ) ≤ (row.beta : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink.1 have hvalue : (band.value : ℝ) ≤ (row.target : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink.2 exact (mul_le_mul_of_nonneg_left hvalue hk).trans (hcontrol haccepted (hbeta.trans hbetaRow)) theorem checkedNegativeCatalog_price (es : List NegativeEntry) (hcheck : checkNegativeCatalog es = true) (haccepted : NegativeCatalogAccepted es) (beta b k qN : ℝ) (hk : 0 ≤ k) (hcontrol : ∀ e ∈ es, NegativeMethodControl e.method beta b k qN) : ∀ band ∈ negativeBands es, beta ≤ (band.hi : ℝ) → k * (band.value : ℝ) ≤ b * qN := by intro band hband hbeta obtain ⟨e, hemem, heq⟩ := List.mem_map.mp hband subst band exact negativeEntry_price (checkNegativeCatalog_sound es hcheck e hemem) (haccepted e hemem) beta b k qN hk (hcontrol e hemem) hbeta end end QuantileFiniteCertificate end /- END M071 -/ /- BEGIN M072 -/ section namespace QuantileFiniteCertificate noncomputable section theorem phasePrice_of_normalized (scale m k Q area energy target : ℝ) (hscale : 0 ≤ scale) (hk : k = scale * m) (hprice : target * m ≤ Q) (hbudget : scale * Q ≤ area * energy) : k * target ≤ area * energy := by calc k * target = scale * (target * m) := by rw [hk]; ring _ ≤ scale * Q := mul_le_mul_of_nonneg_left hprice hscale _ ≤ area * energy := hbudget /-- Actual normalized positive profiles in the large-branch or all-small case. The two constructors retain the exact root box they inhabit. -/ inductive PositivePhaseWitness (p : Params) (m Q : ℝ) : Prop where | large (t r : ℝ) (hpoint : Contains rootBox t r) (hprofiles : ∀ w : ℝ, 0 ≤ w → w ≤ 1 → Nonempty (PositiveMatrixProfile p false t r m Q w)) | small (t r : ℝ) (hpoint : Contains smallRootBox t r) (hprofiles : ∀ w : ℝ, 0 ≤ w → w ≤ 1 → Nonempty (PositiveMatrixProfile p true t r m Q w)) theorem acceptedForest_profile_price {p : Params} {large small : Tree} (haccepted : PositiveMethodAccepted (.forest p large small)) (m Q : ℝ) (hm : 0 < m) (hQ : 0 ≤ Q) (hprofile : PositivePhaseWitness p m Q) : (p.target : ℝ) * m ≤ Q := by cases hprofile with | large t r hpoint hprofiles => exact checkedTree_positive_energy p false true rootBox large haccepted.1 t r hpoint m Q hm hQ hprofiles | small t r hpoint hprofiles => exact checkedTree_positive_energy p true true smallRootBox small haccepted.2 t r hpoint m Q hm hQ hprofiles /-- The physical worker supplies normalized profile quantities and their actual area/energy budget. This theorem constructs the forest MethodControl used by the typed catalog, including the normalization factor. -/ theorem forestControl_of_profileWitness (p : Params) (large small : Tree) (x a k qP scale m : ℝ) (hscale : 0 ≤ scale) (hm : 0 < m) (hk : k = scale * m) (hprofiles : PositiveMethodAccepted (.forest p large small) → (p.x : ℝ) ≤ x → ∃ Q : ℝ, 0 ≤ Q ∧ scale * Q ≤ a * qP ∧ PositivePhaseWitness p m Q) : PositiveMethodControl (.forest p large small) x a k qP := by intro haccepted hx obtain ⟨Q, hQ, hbudget, hprofile⟩ := hprofiles haccepted hx exact phasePrice_of_normalized scale m k Q a qP (p.target : ℝ) hscale hk (acceptedForest_profile_price haccepted m Q hm hQ hprofile) hbudget /-- Actual original weighted mass and radial Cauchy/Green estimates at the exact enlarged row cutoff, evaluated with the actual logarithm. -/ structure NegativePhaseWitness (row : NegativeRow) (m Q : ℝ) where weighted : ℝ green : ℝ kernelNorm : ℝ kernelNorm_nonneg : 0 ≤ kernelNorm weighted_floor : (negativeRowFloor row : ℝ) * m ≤ weighted cauchy : weighted ^ 2 ≤ Q * green green_bound : green ≤ kernelNorm * weighted kernelNorm_sq : kernelNorm ^ 2 ≤ Polya26.QuantileLogBounds.negativeHSsq (row.beta : ℝ) (row.weight : ℝ) (Real.log (1 / (row.beta : ℝ))) theorem acceptedHS_profile_price {row : NegativeRow} (haccepted : NegativeRowAccepted row) (m Q : ℝ) (hm : 0 < m) (hQ : 0 ≤ Q) (hprofile : Nonempty (NegativePhaseWitness row m Q)) : (row.target : ℝ) * m ≤ Q := by obtain ⟨profile⟩ := hprofile exact acceptedNegativeRow_mass_energy haccepted m profile.weighted Q profile.green profile.kernelNorm hm hQ profile.kernelNorm_nonneg profile.weighted_floor profile.cauchy profile.green_bound profile.kernelNorm_sq /-- Enlarge only the radial weighting cutoff. No larger geometric hole, wrong-direction inverse-log comparison or HS beta monotonicity is assumed. -/ theorem hsControl_of_profileWitness (row : NegativeRow) (beta b k qN scale m : ℝ) (hscale : 0 ≤ scale) (hm : 0 < m) (hk : k = scale * m) (hprofiles : NegativeRowAccepted row → beta ≤ (row.beta : ℝ) → ∃ Q : ℝ, 0 ≤ Q ∧ scale * Q ≤ b * qN ∧ Nonempty (NegativePhaseWitness row m Q)) : NegativeMethodControl (.hs row) beta b k qN := by intro haccepted hbeta obtain ⟨Q, hQ, hbudget, hprofile⟩ := hprofiles haccepted hbeta exact phasePrice_of_normalized scale m k Q b qN (row.target : ℝ) hscale hk (acceptedHS_profile_price haccepted m Q hm hQ hprofile) hbudget end end QuantileFiniteCertificate end /- END M072 -/ /- BEGIN M073 -/ section namespace QuantileFiniteCertificate inductive AdaptiveTree where | leaf (tag : ℕ) | cutT (cut : ℚ) (left right : AdaptiveTree) | cutR (cut : ℚ) (left right : AdaptiveTree) def adaptiveTLeft (b : Box) (cut : ℚ) : Box := ⟨b.tlo, cut, b.rlo, b.rhi⟩ def adaptiveTRight (b : Box) (cut : ℚ) : Box := ⟨cut, b.thi, b.rlo, b.rhi⟩ def adaptiveRLeft (b : Box) (cut : ℚ) : Box := ⟨b.tlo, b.thi, b.rlo, cut⟩ def adaptiveRRight (b : Box) (cut : ℚ) : Box := ⟨b.tlo, b.thi, cut, b.rhi⟩ def GoodTCut (b : Box) (cut : ℚ) : Prop := b.tlo ≤ cut ∧ cut ≤ b.thi def GoodRCut (b : Box) (cut : ℚ) : Prop := b.rlo ≤ cut ∧ cut ≤ b.rhi /-- Opaque checked children assemble without evaluating a parent Boolean. Absolute cut coordinates introduce no midpoint arithmetic in child boxes. -/ inductive AdaptiveChecked (p : Params) (small : Bool) : Box → AdaptiveTree → Prop where | leaf (b : Box) (tag : ℕ) (h : LeafGood p small b tag) : AdaptiveChecked p small b (.leaf tag) | cutT (b : Box) (cut : ℚ) (left right : AdaptiveTree) (hcut : GoodTCut b cut) (hl : AdaptiveChecked p small (adaptiveTLeft b cut) left) (hr : AdaptiveChecked p small (adaptiveTRight b cut) right) : AdaptiveChecked p small b (.cutT cut left right) | cutR (b : Box) (cut : ℚ) (left right : AdaptiveTree) (hcut : GoodRCut b cut) (hl : AdaptiveChecked p small (adaptiveRLeft b cut) left) (hr : AdaptiveChecked p small (adaptiveRRight b cut) right) : AdaptiveChecked p small b (.cutR cut left right) theorem adaptiveLeaf_checked (p : Params) (small : Bool) (b : Box) (tag : ℕ) (h : checkLeaf p small b tag = true) : AdaptiveChecked p small b (.leaf tag) := .leaf b tag (checkLeaf_sound h) noncomputable section theorem adaptiveTCut_cover (b : Box) (cut : ℚ) (t r : ℝ) (h : Contains b t r) : Contains (adaptiveTLeft b cut) t r ∨ Contains (adaptiveTRight b cut) t r := by by_cases hcut : t ≤ (cut : ℝ) · exact Or.inl ⟨h.1, hcut, h.2.2.1, h.2.2.2⟩ · exact Or.inr ⟨(lt_of_not_ge hcut).le, h.2.1, h.2.2.1, h.2.2.2⟩ theorem adaptiveRCut_cover (b : Box) (cut : ℚ) (t r : ℝ) (h : Contains b t r) : Contains (adaptiveRLeft b cut) t r ∨ Contains (adaptiveRRight b cut) t r := by by_cases hcut : r ≤ (cut : ℝ) · exact Or.inl ⟨h.1, h.2.1, h.2.2.1, hcut⟩ · exact Or.inr ⟨h.1, h.2.1, (lt_of_not_ge hcut).le, h.2.2.2⟩ /-- Universal closed-box coverage for any admitted rational cuts and either axis, including all original endpoint and all-small branch cases. -/ theorem AdaptiveChecked.coverage {p : Params} {small : Bool} {b : Box} {tree : AdaptiveTree} (h : AdaptiveChecked p small b tree) : ∀ t r : ℝ, Contains b t r → ∃ leafBox : Box, ∃ tag : ℕ, Contains leafBox t r ∧ LeafGood p small leafBox tag := by induction h with | leaf b tag hgood => intro t r hpoint exact ⟨b, tag, hpoint, hgood⟩ | cutT b cut left right hcut hl hr ihl ihr => intro t r hpoint rcases adaptiveTCut_cover b cut t r hpoint with hleft | hright · exact ihl t r hleft · exact ihr t r hright | cutR b cut left right hcut hl hr ihl ihr => intro t r hpoint rcases adaptiveRCut_cover b cut t r hpoint with hleft | hright · exact ihl t r hleft · exact ihr t r hright /-- The identical checked leaf transport is reused for the new coverage tree. No numerical or analytic envelope predicate is weakened. -/ theorem adaptive_parameters {p : Params} {small : Bool} {b : Box} {tree : AdaptiveTree} (h : AdaptiveChecked p small b tree) (t r : ℝ) (hpoint : Contains b t r) : ∃ w : ℝ, 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal small t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor small w / (p.target : ℝ)) top cross trunk := by obtain ⟨leafBox, tag, hmem, hgood⟩ := h.coverage t r hpoint exact ⟨((envelope p leafBox tag).weight : ℝ), leafParameters_transport hgood t r hmem⟩ theorem adaptive_positive_energy {p : Params} {small : Bool} {b : Box} {tree : AdaptiveTree} (h : AdaptiveChecked p small b tree) (t r : ℝ) (hpoint : Contains b t r) (m Q : ℝ) (hm : 0 < m) (hQ : 0 ≤ Q) (hprofiles : ∀ w : ℝ, 0 ≤ w → w ≤ 1 → Nonempty (PositiveMatrixProfile p small t r m Q w)) : (p.target : ℝ) * m ≤ Q := by obtain ⟨leafBox, tag, hmem, hgood⟩ := h.coverage t r hpoint have htarget : (0 : ℝ) < (p.target : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hgood.1.2.2.1 obtain ⟨w, hw0, hw1, hBlock⟩ := adaptive_parameters h t r hpoint obtain ⟨profile⟩ := hprofiles w hw0 hw1 exact weightedMass_energy_of_block (p.target : ℝ) (branchFloor small w) m profile.weighted Q profile.green profile.top profile.cross profile.trunk profile.leftNorm profile.rightNorm htarget (branchFloor_pos small w hw0) hm hQ profile.weighted_floor profile.cauchy profile.green_form profile.norm_mass (hBlock profile.top profile.cross profile.trunk profile.entry_top profile.entry_trunk_nonneg profile.entry_cross_sq profile.entry_trunk_sq) theorem adaptiveForest_profile_price {p : Params} {large small : AdaptiveTree} (hlarge : AdaptiveChecked p false rootBox large) (hsmall : AdaptiveChecked p true smallRootBox small) (m Q : ℝ) (hm : 0 < m) (hQ : 0 ≤ Q) (hprofile : PositivePhaseWitness p m Q) : (p.target : ℝ) * m ≤ Q := by cases hprofile with | large t r hpoint hprofiles => exact adaptive_positive_energy hlarge t r hpoint m Q hm hQ hprofiles | small t r hpoint hprofiles => exact adaptive_positive_energy hsmall t r hpoint m Q hm hQ hprofiles theorem adaptiveForestControl_of_profileWitness (p : Params) (large small : AdaptiveTree) (x a k qP scale m : ℝ) (hscale : 0 ≤ scale) (hm : 0 < m) (hk : k = scale * m) (hprofiles : AdaptiveChecked p false rootBox large → AdaptiveChecked p true smallRootBox small → (p.x : ℝ) ≤ x → ∃ Q : ℝ, 0 ≤ Q ∧ scale * Q ≤ a * qP ∧ PositivePhaseWitness p m Q) : AdaptiveChecked p false rootBox large → AdaptiveChecked p true smallRootBox small → (p.x : ℝ) ≤ x → k * (p.target : ℝ) ≤ a * qP := by intro hlarge hsmall hx obtain ⟨Q, hQ, hbudget, hprofile⟩ := hprofiles hlarge hsmall hx exact phasePrice_of_normalized scale m k Q a qP (p.target : ℝ) hscale hk (adaptiveForest_profile_price hlarge hsmall m Q hm hQ hprofile) hbudget end inductive AdaptivePositiveMethod where | fk | forest (params : Params) (large small : AdaptiveTree) structure AdaptivePositiveEntry where band : Band method : AdaptivePositiveMethod def GoodAdaptivePositiveLink (e : AdaptivePositiveEntry) : Prop := match e.method with | .fk => e.band.value ≤ radialConstant | .forest p _ _ => p.x ≤ e.band.lo ∧ e.band.value ≤ p.target def adaptivePositiveLinkDecidable (e : AdaptivePositiveEntry) : Decidable (GoodAdaptivePositiveLink e) := by cases e with | mk b method => cases method <;> unfold GoodAdaptivePositiveLink <;> infer_instance def checkAdaptivePositiveLink (e : AdaptivePositiveEntry) : Bool := @decide (GoodAdaptivePositiveLink e) (adaptivePositiveLinkDecidable e) def checkAdaptivePositiveCatalog : List AdaptivePositiveEntry → Bool | [] => true | e :: rest => checkAdaptivePositiveLink e && checkAdaptivePositiveCatalog rest def adaptivePositiveBands (es : List AdaptivePositiveEntry) : List Band := es.map AdaptivePositiveEntry.band def AdaptivePositiveMethodAccepted : AdaptivePositiveMethod → Prop | .fk => True | .forest p large small => AdaptiveChecked p false rootBox large ∧ AdaptiveChecked p true smallRootBox small def AdaptivePositiveCatalogAccepted (es : List AdaptivePositiveEntry) : Prop := ∀ e ∈ es, AdaptivePositiveMethodAccepted e.method theorem checkAdaptivePositiveLink_sound {e : AdaptivePositiveEntry} (h : checkAdaptivePositiveLink e = true) : GoodAdaptivePositiveLink e := by letI := adaptivePositiveLinkDecidable e exact of_decide_eq_true h theorem checkAdaptivePositiveCatalog_sound (es : List AdaptivePositiveEntry) : checkAdaptivePositiveCatalog es = true → ∀ e ∈ es, GoodAdaptivePositiveLink e := by induction es with | nil => intro h; simp | cons e rest ih => intro h d hd have hh : checkAdaptivePositiveLink e = true ∧ checkAdaptivePositiveCatalog rest = true := Bool.and_eq_true_iff.mp h rcases List.mem_cons.mp hd with hde | hdr · subst d exact checkAdaptivePositiveLink_sound hh.1 · exact ih hh.2 d hdr theorem adaptivePositiveCatalogAccepted_nil : AdaptivePositiveCatalogAccepted [] := by intro e he simp at he theorem adaptivePositiveCatalogAccepted_cons (e : AdaptivePositiveEntry) (es : List AdaptivePositiveEntry) (he : AdaptivePositiveMethodAccepted e.method) (hs : AdaptivePositiveCatalogAccepted es) : AdaptivePositiveCatalogAccepted (e :: es) := by intro d hd rcases List.mem_cons.mp hd with hde | hds · subst d exact he · exact hs d hds noncomputable section def AdaptivePositiveMethodControl (method : AdaptivePositiveMethod) (x a k qP : ℝ) : Prop := match method with | .fk => k * (radialConstant : ℝ) ≤ a * qP | .forest p large small => AdaptivePositiveMethodAccepted (.forest p large small) → (p.x : ℝ) ≤ x → k * (p.target : ℝ) ≤ a * qP theorem adaptivePositiveEntry_price {e : AdaptivePositiveEntry} (hlink : GoodAdaptivePositiveLink e) (haccepted : AdaptivePositiveMethodAccepted e.method) (x a k qP : ℝ) (hk : 0 ≤ k) (hcontrol : AdaptivePositiveMethodControl e.method x a k qP) (hx : (e.band.lo : ℝ) ≤ x) : k * (e.band.value : ℝ) ≤ a * qP := by cases e with | mk band method => cases method with | fk => have hvalue : (band.value : ℝ) ≤ (radialConstant : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink exact (mul_le_mul_of_nonneg_left hvalue hk).trans hcontrol | forest p large small => have hp : (p.x : ℝ) ≤ (band.lo : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink.1 have hvalue : (band.value : ℝ) ≤ (p.target : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink.2 exact (mul_le_mul_of_nonneg_left hvalue hk).trans (hcontrol haccepted (hp.trans hx)) theorem checkedAdaptivePositiveCatalog_price (es : List AdaptivePositiveEntry) (hcheck : checkAdaptivePositiveCatalog es = true) (haccepted : AdaptivePositiveCatalogAccepted es) (x a k qP : ℝ) (hk : 0 ≤ k) (hcontrol : ∀ e ∈ es, AdaptivePositiveMethodControl e.method x a k qP) : ∀ band ∈ adaptivePositiveBands es, (band.lo : ℝ) ≤ x → k * (band.value : ℝ) ≤ a * qP := by intro band hband hx obtain ⟨e, hemem, heq⟩ := List.mem_map.mp hband subst band exact adaptivePositiveEntry_price (checkAdaptivePositiveCatalog_sound es hcheck e hemem) (haccepted e hemem) x a k qP hk (hcontrol e hemem) hx theorem adaptiveProfile_methodControl (p : Params) (large small : AdaptiveTree) (x a k qP scale m : ℝ) (hscale : 0 ≤ scale) (hm : 0 < m) (hk : k = scale * m) (hprofiles : AdaptiveChecked p false rootBox large → AdaptiveChecked p true smallRootBox small → (p.x : ℝ) ≤ x → ∃ Q : ℝ, 0 ≤ Q ∧ scale * Q ≤ a * qP ∧ PositivePhaseWitness p m Q) : AdaptivePositiveMethodControl (.forest p large small) x a k qP := by intro haccepted hx exact adaptiveForestControl_of_profileWitness p large small x a k qP scale m hscale hm hk hprofiles haccepted.1 haccepted.2 hx theorem adaptiveHighTail_price (p : Params) (large small : AdaptiveTree) (haccepted : AdaptivePositiveMethodAccepted (.forest p large small)) (hxConfig : p.x ≤ 7 / 50) (hpriceConfig : 8 / 3 ≤ p.target) (x a k qP : ℝ) (hk : 0 ≤ k) (hcontrol : AdaptivePositiveMethodControl (.forest p large small) x a k qP) (hx : (7 : ℝ) / 50 ≤ x) : k * (8 / 3) ≤ a * qP := by have hxR : (p.x : ℝ) ≤ 7 / 50 := by simpa only [Rat.cast_div, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hxConfig have hpriceR : (8 / 3 : ℝ) ≤ (p.target : ℝ) := by simpa only [Rat.cast_div, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hpriceConfig exact (mul_le_mul_of_nonneg_left hpriceR hk).trans (hcontrol haccepted (hxR.trans hx)) end end QuantileFiniteCertificate end /- END M073 -/ /- BEGIN M074 -/ section namespace QuantileFiniteCertificate def GoodHighTail (e : PositiveEntry) : Prop := e.band.lo ≤ 7 / 50 ∧ 8 / 3 ≤ e.band.value ∧ GoodPositiveLink e def highTailDecidable (e : PositiveEntry) : Decidable (GoodHighTail e) := by letI := positiveLinkDecidable e unfold GoodHighTail infer_instance def checkHighTail (e : PositiveEntry) : Bool := @decide (GoodHighTail e) (highTailDecidable e) def GoodLowTail (e : NegativeEntry) : Prop := 1 / 16 ≤ e.band.hi ∧ 3020629 / 1000000 ≤ e.band.value ∧ GoodNegativeLink e def lowTailDecidable (e : NegativeEntry) : Decidable (GoodLowTail e) := by letI := negativeLinkDecidable e unfold GoodLowTail infer_instance def checkLowTail (e : NegativeEntry) : Bool := @decide (GoodLowTail e) (lowTailDecidable e) theorem checkHighTail_sound {e : PositiveEntry} (h : checkHighTail e = true) : GoodHighTail e := by letI := highTailDecidable e exact of_decide_eq_true h theorem checkLowTail_sound {e : NegativeEntry} (h : checkLowTail e = true) : GoodLowTail e := by letI := lowTailDecidable e exact of_decide_eq_true h noncomputable section theorem checkedHighTail_price {e : PositiveEntry} (hcheck : checkHighTail e = true) (haccepted : PositiveMethodAccepted e.method) (x a k qP : ℝ) (hk : 0 ≤ k) (hcontrol : PositiveMethodControl e.method x a k qP) (hx : (7 : ℝ) / 50 ≤ x) : k * (8 / 3) ≤ a * qP := by rcases checkHighTail_sound hcheck with ⟨hlo, hvalue, hlink⟩ have hloR : (e.band.lo : ℝ) ≤ 7 / 50 := by simpa only [Rat.cast_div, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hlo have hvalueR : (8 / 3 : ℝ) ≤ (e.band.value : ℝ) := by simpa only [Rat.cast_div, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hvalue exact (mul_le_mul_of_nonneg_left hvalueR hk).trans (positiveEntry_price hlink haccepted x a k qP hk hcontrol (hloR.trans hx)) theorem checkedLowTail_price {e : NegativeEntry} (hcheck : checkLowTail e = true) (haccepted : NegativeMethodAccepted e.method) (beta b k qN : ℝ) (hk : 0 ≤ k) (hcontrol : NegativeMethodControl e.method beta b k qN) (hbeta : beta ≤ 1 / 16) : k * (3020629 / 1000000) ≤ b * qN := by rcases checkLowTail_sound hcheck with ⟨hhi, hvalue, hlink⟩ have hhiR : (1 / 16 : ℝ) ≤ (e.band.hi : ℝ) := by simpa only [Rat.cast_div, Rat.cast_one, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hhi have hvalueR : (3020629 / 1000000 : ℝ) ≤ (e.band.value : ℝ) := by simpa only [Rat.cast_div, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hvalue exact (mul_le_mul_of_nonneg_left hvalueR hk).trans (negativeEntry_price hlink haccepted beta b k qN hk hcontrol (hbeta.trans hhiR)) /-- Complete scalar closure with every step bound linked to the very same accepted forest or logarithmic row stored in its catalog entry. Actual phase profile control remains an explicit analytic input. -/ theorem completeCatalog_energy (ps : List PositiveEntry) (ns : List NegativeEntry) (highTail : PositiveEntry) (lowTail : NegativeEntry) (hposLinks : checkPositiveCatalog ps = true) (hnegLinks : checkNegativeCatalog ns = true) (hposAccepted : PositiveCatalogAccepted ps) (hnegAccepted : NegativeCatalogAccepted ns) (hposBands : checkBands (1 / 64) (7 / 50) (positiveBands ps) = true) (hnegBands : checkBands (1 / 16) (14 / 25) (negativeBands ns) = true) (hgrid : checkGrid (negativeBands ns) (positiveBands ps) = true) (hhighLink : checkHighTail highTail = true) (hlowLink : checkLowTail lowTail = true) (hhighAccepted : PositiveMethodAccepted highTail.method) (hlowAccepted : NegativeMethodAccepted lowTail.method) (x beta a b A k qP qN : ℝ) (ha : 0 < a) (hb : 0 < b) (hA : a + b ≤ A) (hk : 0 ≤ k) (hqP : 0 ≤ qP) (hqN : 0 ≤ qN) (hx0 : 0 ≤ x) (hbeta : 0 < beta) (hratio : x / beta = b / a) (hFKP : k * (23 / 16) ≤ a * qP) (hFKN : k * (23 / 16) ≤ b * qN) (hposControl : ∀ e ∈ ps, PositiveMethodControl e.method x a k qP) (hnegControl : ∀ e ∈ ns, NegativeMethodControl e.method beta b k qN) (hhighControl : PositiveMethodControl highTail.method x a k qP) (hlowControl : NegativeMethodControl lowTail.method beta b k qN) : 8 * k ≤ A * (qP + qN) := by apply completeScalar_energy (positiveBands ps) (negativeBands ns) hposBands hnegBands hgrid x beta a b A k qP qN ha hb hA hk hqP hqN hx0 hbeta hratio hFKP hFKN · exact fun hx => checkedHighTail_price hhighLink hhighAccepted x a k qP hk hhighControl hx · exact fun hb' => checkedLowTail_price hlowLink hlowAccepted beta b k qN hk hlowControl hb' · exact checkedPositiveCatalog_price ps hposLinks hposAccepted x a k qP hk hposControl · exact checkedNegativeCatalog_price ns hnegLinks hnegAccepted beta b k qN hk hnegControl end end QuantileFiniteCertificate end /- END M074 -/ /- BEGIN M075 -/ section namespace QuantileFiniteCertificate def endpointEnvelope (p : Params) (small : Bool) (b : Box) (weight endpoint : ℚ) : Envelope := let len := 1 - b.tlo let w0 := p.alpha * b.tlo + 4 * p.x let w1 := p.alpha + 4 * p.x let R := len * (1 / w0 + 1 / w1) / 2 let I0 := len ^ 3 * (1 + 3 * w1 / w0) / (12 * w1 ^ 2) let I1 := len ^ 4 * (2 + 3 * w1 / w0) / (60 * w1 ^ 2) let ell := if small then 1 else quantileFraction * weight + 1 - quantileFraction let D := if small then b.thi / (2 * radialConstant) else b.thi * max (weight * endpoint) (1 - endpoint) / radialConstant let H := if small then b.thi else b.thi * (1 - (1 - weight) * endpoint) ⟨weight, ell / p.target, D, H, R, I0, I1⟩ /-- A new explicit-weight envelope predicate. The original LeafGood is unchanged. The two endpoint matrices share weight,L,R,I0,I1 and the actual trunk budget. -/ def WeightedLeafGood (p : Params) (small : Bool) (b : Box) (weight : ℚ) : Prop := GoodParams p ∧ GoodBox b ∧ 0 ≤ weight ∧ weight ≤ 1 ∧ (if small then weight = 1 else True) ∧ GoodEnvelope (endpointEnvelope p small b weight b.rlo) ∧ GoodEnvelope (endpointEnvelope p small b weight b.rhi) def weightedLeafDecidable (p : Params) (small : Bool) (b : Box) (weight : ℚ) : Decidable (WeightedLeafGood p small b weight) := by unfold WeightedLeafGood GoodParams GoodBox GoodEnvelope infer_instance def checkWeightedLeaf (p : Params) (small : Bool) (b : Box) (weight : ℚ) : Bool := @decide (WeightedLeafGood p small b weight) (weightedLeafDecidable p small b weight) theorem checkWeightedLeaf_sound {p : Params} {small : Bool} {b : Box} {weight : ℚ} (h : checkWeightedLeaf p small b weight = true) : WeightedLeafGood p small b weight := by letI := weightedLeafDecidable p small b weight exact of_decide_eq_true h noncomputable section /-- The exact endpoint PSD certificate gives a Schur credit for every admissible actual trunk, without introducing a rational square-root bound. -/ theorem envelope_schur_credit {e : Envelope} (h : GoodEnvelope e) (trunk : ℝ) (htrunk : 0 ≤ trunk) (htrunkSq : trunk ^ 2 ≤ 2 * (e.I1 : ℝ)) : 0 < (e.L : ℝ) - ((e.D : ℝ) + (e.R : ℝ) * (e.H : ℝ)) ∧ 0 ≤ (e.L : ℝ) - trunk ∧ (e.I0 : ℝ) * (e.H : ℝ) ≤ ((e.L : ℝ) - ((e.D : ℝ) + (e.R : ℝ) * (e.H : ℝ))) * ((e.L : ℝ) - trunk) := by rcases h with ⟨hw0, hw1, hL, hD, hH, hR, hI0, hI1, hgap, hnum, hsq⟩ let A : ℝ := (e.L : ℝ) - ((e.D : ℝ) + (e.R : ℝ) * (e.H : ℝ)) let B : ℝ := (e.L : ℝ) * A - (e.I0 : ℝ) * (e.H : ℝ) have hA : 0 < A := by have hh := (Rat.cast_pos (K := ℝ)).mpr hgap simpa [A, Envelope.gap, sub_sub] using hh have hB : 0 ≤ B := by have hh := (Rat.cast_nonneg (K := ℝ)).mpr hnum simpa [B, A, Envelope.numerator, Envelope.gap, sub_sub] using hh have hsqR : 2 * (e.I1 : ℝ) * A ^ 2 ≤ B ^ 2 := by have hh := (Rat.cast_le (K := ℝ)).mpr hsq simpa [B, A, Envelope.numerator, Envelope.gap, sub_sub, Rat.cast_pow] using hh have hAB : A * trunk ≤ B := by have hnonneg : 0 ≤ A * trunk := mul_nonneg hA.le htrunk have hsq' : (A * trunk) ^ 2 ≤ B ^ 2 := by calc (A * trunk) ^ 2 = A ^ 2 * trunk ^ 2 := by ring _ ≤ A ^ 2 * (2 * (e.I1 : ℝ)) := mul_le_mul_of_nonneg_left htrunkSq (sq_nonneg A) _ ≤ B ^ 2 := by simpa [mul_comm] using hsqR exact (sq_le_sq₀ hnonneg hB).mp hsq' have hcredit : (e.I0 : ℝ) * (e.H : ℝ) ≤ A * ((e.L : ℝ) - trunk) := by dsimp [B] at hAB nlinarith have hcross0 : 0 ≤ (e.I0 : ℝ) * (e.H : ℝ) := mul_nonneg ((Rat.cast_nonneg (K := ℝ)).mpr hI0) ((Rat.cast_nonneg (K := ℝ)).mpr hH) have htrunkGap : 0 ≤ (e.L : ℝ) - trunk := by have hp : 0 ≤ A * ((e.L : ℝ) - trunk) := hcross0.trans hcredit exact nonneg_of_mul_nonneg_left (by simpa [mul_comm] using hp) hA exact ⟨hA, htrunkGap, hcredit⟩ theorem affine_le_of_endpoints (m b lo hi x C : ℝ) (hlo : lo ≤ x) (hhi : x ≤ hi) (hleft : m * lo + b ≤ C) (hright : m * hi + b ≤ C) : m * x + b ≤ C := by by_cases hm : 0 ≤ m · have hh := mul_le_mul_of_nonneg_left hhi hm linarith · have hh := mul_le_mul_of_nonpos_left hlo (le_of_not_ge hm) linarith theorem affine_lt_of_endpoints (m b lo hi x C : ℝ) (hlo : lo ≤ x) (hhi : x ≤ hi) (hleft : m * lo + b < C) (hright : m * hi + b < C) : m * x + b < C := by by_cases hm : 0 ≤ m · have hh := mul_le_mul_of_nonneg_left hhi hm linarith · have hh := mul_le_mul_of_nonpos_left hlo (le_of_not_ge hm) linarith /-- A common L and trunk bound lets endpoint Schur credits interpolate, because top is the maximum of two affine functions and cross-square is affine. -/ theorem affine_endpoint_block (L a b c d j k lo hi r top cross trunk : ℝ) (hlo : lo ≤ r) (hhi : r ≤ hi) (htrunkGap : 0 ≤ L - trunk) (hgapLo : 0 < L - max (a * lo + b) (c * lo + d)) (hgapHi : 0 < L - max (a * hi + b) (c * hi + d)) (hcreditLo : j * lo + k ≤ (L - max (a * lo + b) (c * lo + d)) * (L - trunk)) (hcreditHi : j * hi + k ≤ (L - max (a * hi + b) (c * hi + d)) * (L - trunk)) (htop : top ≤ max (a * r + b) (c * r + d)) (hcross : cross ^ 2 ≤ j * r + k) : BlockBound L top cross trunk := by have hleftLo : a * lo + b < L := (le_max_left _ _).trans_lt (by linarith) have hleftHi : a * hi + b < L := (le_max_left _ _).trans_lt (by linarith) have hrightLo : c * lo + d < L := (le_max_right _ _).trans_lt (by linarith) have hrightHi : c * hi + d < L := (le_max_right _ _).trans_lt (by linarith) have hleftR := affine_lt_of_endpoints a b lo hi r L hlo hhi hleftLo hleftHi have hrightR := affine_lt_of_endpoints c d lo hi r L hlo hhi hrightLo hrightHi have hmaxR : max (a * r + b) (c * r + d) < L := max_lt_iff.mpr ⟨hleftR, hrightR⟩ have hleftCreditLo : j * lo + k + (a * lo + b) * (L - trunk) ≤ L * (L - trunk) := by have hm := mul_le_mul_of_nonneg_right (le_max_left (a * lo + b) (c * lo + d)) htrunkGap nlinarith have hleftCreditHi : j * hi + k + (a * hi + b) * (L - trunk) ≤ L * (L - trunk) := by have hm := mul_le_mul_of_nonneg_right (le_max_left (a * hi + b) (c * hi + d)) htrunkGap nlinarith have hrightCreditLo : j * lo + k + (c * lo + d) * (L - trunk) ≤ L * (L - trunk) := by have hm := mul_le_mul_of_nonneg_right (le_max_right (a * lo + b) (c * lo + d)) htrunkGap nlinarith have hrightCreditHi : j * hi + k + (c * hi + d) * (L - trunk) ≤ L * (L - trunk) := by have hm := mul_le_mul_of_nonneg_right (le_max_right (a * hi + b) (c * hi + d)) htrunkGap nlinarith have hleftCredit : j * r + k + (a * r + b) * (L - trunk) ≤ L * (L - trunk) := by have hh := affine_le_of_endpoints (j + a * (L - trunk)) (k + b * (L - trunk)) lo hi r (L * (L - trunk)) hlo hhi (by convert hleftCreditLo using 1 <;> ring) (by convert hleftCreditHi using 1 <;> ring) convert hh using 1 <;> ring have hrightCredit : j * r + k + (c * r + d) * (L - trunk) ≤ L * (L - trunk) := by have hh := affine_le_of_endpoints (j + c * (L - trunk)) (k + d * (L - trunk)) lo hi r (L * (L - trunk)) hlo hhi (by convert hrightCreditLo using 1 <;> ring) (by convert hrightCreditHi using 1 <;> ring) convert hh using 1 <;> ring have hcredit : j * r + k ≤ (L - max (a * r + b) (c * r + d)) * (L - trunk) := by rcases le_total (a * r + b) (c * r + d) with h | h · rw [max_eq_right h] nlinarith · rw [max_eq_left h] nlinarith apply blockBound_of_schur L top cross trunk · linarith · have hm := mul_le_mul_of_nonneg_right (by linarith : L - max (a * r + b) (c * r + d) ≤ L - top) htrunkGap exact hcross.trans (hcredit.trans hm) theorem endpointTail_bounds {p : Params} {b : Box} (hp : GoodParams p) (hb : GoodBox b) (small : Bool) (weight : ℚ) (t r : ℝ) (hm : Contains b t r) : let e := endpointEnvelope p small b weight b.rlo (0 ≤ tailR (p.alpha : ℝ) (p.x : ℝ) t ∧ tailR (p.alpha : ℝ) (p.x : ℝ) t ≤ (e.R : ℝ)) ∧ (0 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t ∧ tailI0 (p.alpha : ℝ) (p.x : ℝ) t ≤ (e.I0 : ℝ)) ∧ (0 ≤ tailI1 (p.alpha : ℝ) (p.x : ℝ) t ∧ tailI1 (p.alpha : ℝ) (p.x : ℝ) t ≤ (e.I1 : ℝ)) := by have hbox := goodBox_cast hb have hx : 0 < (p.x : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hp.1 have ha : 0 ≤ (p.alpha : ℝ) := ((Rat.cast_pos (K := ℝ)).mpr hp.2.1).le have hh := tailBounds_antitone (p.alpha : ℝ) (p.x : ℝ) (b.tlo : ℝ) t ha hx hbox.1 hm.1 (hm.2.1.trans hbox.2.2.1) simpa [tailR, tailI0, tailI1, endpointEnvelope, Rat.cast_pow] using hh theorem upperHead_max_affine (tau weight R r : ℝ) (htau : 0 ≤ tau) : tau * max (weight * r) (1 - r) / (radialConstant : ℝ) + R * tau * (1 - (1 - weight) * r) = max (((tau / (radialConstant : ℝ)) * weight - R * tau * (1 - weight)) * r + R * tau) ((-tau / (radialConstant : ℝ) - R * tau * (1 - weight)) * r + tau / (radialConstant : ℝ) + R * tau) := by have hc : 0 ≤ tau / (radialConstant : ℝ) := div_nonneg htau (by norm_num [radialConstant]) calc _ = (tau / (radialConstant : ℝ)) * max (weight * r) (1 - r) + R * tau * (1 - (1 - weight) * r) := by ring _ = max ((tau / (radialConstant : ℝ)) * (weight * r)) ((tau / (radialConstant : ℝ)) * (1 - r)) + R * tau * (1 - (1 - weight) * r) := by rw [mul_max_of_nonneg _ _ hc] _ = max ((tau / (radialConstant : ℝ)) * (weight * r) + R * tau * (1 - (1 - weight) * r)) ((tau / (radialConstant : ℝ)) * (1 - r) + R * tau * (1 - (1 - weight) * r)) := by rw [max_add_add_right] _ = _ := by congr 1 <;> ring theorem weightedLarge_parameters {p : Params} {b : Box} {weight : ℚ} (h : WeightedLeafGood p false b weight) (t r : ℝ) (hm : Contains b t r) : let w := (weight : ℝ) 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal false t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass false t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass false t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor false w / (p.target : ℝ)) top cross trunk := by rcases h with ⟨hp, hb, hw0Q, hw1Q, hsmall, heLo, heHi⟩ let w : ℝ := (weight : ℝ) let tau : ℝ := (b.thi : ℝ) let eLo := endpointEnvelope p false b weight b.rlo let eHi := endpointEnvelope p false b weight b.rhi let L : ℝ := (eLo.L : ℝ) let R : ℝ := (eLo.R : ℝ) let I0 : ℝ := (eLo.I0 : ℝ) let I1 : ℝ := (eLo.I1 : ℝ) let a := (tau / (radialConstant : ℝ)) * w - R * tau * (1 - w) let bb := R * tau let c := -tau / (radialConstant : ℝ) - R * tau * (1 - w) let d := tau / (radialConstant : ℝ) + R * tau let j := -I0 * tau * (1 - w) let k := I0 * tau have hw0 : 0 ≤ w := (Rat.cast_nonneg (K := ℝ)).mpr hw0Q have hw1 : w ≤ 1 := by simpa [w] using (Rat.cast_le (K := ℝ)).mpr hw1Q have hbox := goodBox_cast hb have ht0 : 0 ≤ t := hbox.1.trans hm.1 have htau0 : 0 ≤ tau := ht0.trans hm.2.1 have hr0 : 0 ≤ r := (by linarith [hbox.2.2.2.1] : (0 : ℝ) ≤ (b.rlo : ℝ)).trans hm.2.2.1 have hr1 : r ≤ 1 := hm.2.2.2.trans hbox.2.2.2.2.2 have hH0 := branchMass_nonneg false t r w ht0 hr0 hr1 hw0 have hHupper : branchMass false t r w ≤ tau * (1 - (1 - w) * r) := by have hf : 0 ≤ w * r + 1 - r := by nlinarith [mul_nonneg hw0 hr0] have hh := mul_le_mul_of_nonneg_right hm.2.1 hf simpa [branchMass, tau, show 1 - (1 - w) * r = w * r + 1 - r by ring] using hh have hDupper : branchDiagonal false t r w ≤ tau * max (w * r) (1 - r) / (radialConstant : ℝ) := by have hmax0 : 0 ≤ max (w * r) (1 - r) := (mul_nonneg hw0 hr0).trans (le_max_left _ _) have hh := div_le_div_of_nonneg_right (mul_le_mul_of_nonneg_right hm.2.1 hmax0) (by norm_num [radialConstant] : (0 : ℝ) ≤ (radialConstant : ℝ)) simpa [branchDiagonal, tau] using hh obtain ⟨hR, hI0, hI1⟩ := endpointTail_bounds hp hb false weight t r hm have hR0 : 0 ≤ R := hR.1.trans hR.2 have hI00 : 0 ≤ I0 := hI0.1.trans hI0.2 have hTopLo : (eLo.D : ℝ) + (eLo.R : ℝ) * (eLo.H : ℝ) = max (a * (b.rlo : ℝ) + bb) (c * (b.rlo : ℝ) + d) := by simpa [eLo, endpointEnvelope, Rat.cast_max, a, bb, c, d, tau, w, R, add_assoc, mul_assoc] using upperHead_max_affine tau w R (b.rlo : ℝ) htau0 have hTopHi : (eHi.D : ℝ) + (eHi.R : ℝ) * (eHi.H : ℝ) = max (a * (b.rhi : ℝ) + bb) (c * (b.rhi : ℝ) + d) := by simpa [eHi, eLo, endpointEnvelope, Rat.cast_max, a, bb, c, d, tau, w, R, add_assoc, mul_assoc] using upperHead_max_affine tau w R (b.rhi : ℝ) htau0 have hCrossLo : (eLo.I0 : ℝ) * (eLo.H : ℝ) = j * (b.rlo : ℝ) + k := by dsimp [eLo, endpointEnvelope, j, k, I0, tau, w] push_cast ring have hCrossHi : (eHi.I0 : ℝ) * (eHi.H : ℝ) = j * (b.rhi : ℝ) + k := by dsimp [eHi, eLo, endpointEnvelope, j, k, I0, tau, w] push_cast ring refine ⟨hw0, hw1, ?_⟩ intro top cross trunk htop htrunk hcross htrunkSq have htrunkSqEnv : trunk ^ 2 ≤ 2 * I1 := htrunkSq.trans (mul_le_mul_of_nonneg_left hI1.2 (by norm_num : (0 : ℝ) ≤ 2)) obtain ⟨hgapLo, htrunkGap, hcreditLo⟩ := envelope_schur_credit heLo trunk htrunk htrunkSqEnv obtain ⟨hgapHi, htrunkGapHi, hcreditHi⟩ := envelope_schur_credit heHi trunk htrunk htrunkSqEnv change 0 < L - ((eHi.D : ℝ) + (eHi.R : ℝ) * (eHi.H : ℝ)) at hgapHi change (eHi.I0 : ℝ) * (eHi.H : ℝ) ≤ (L - ((eHi.D : ℝ) + (eHi.R : ℝ) * (eHi.H : ℝ))) * (L - trunk) at hcreditHi rw [hTopLo] at hgapLo hcreditLo rw [hTopHi] at hgapHi hcreditHi rw [hCrossLo] at hcreditLo rw [hCrossHi] at hcreditHi have htop' : top ≤ max (a * r + bb) (c * r + d) := by calc top ≤ branchDiagonal false t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass false t r w := htop _ ≤ tau * max (w * r) (1 - r) / (radialConstant : ℝ) + R * (tau * (1 - (1 - w) * r)) := add_le_add hDupper (mul_le_mul hR.2 hHupper hH0 hR0) _ = max (a * r + bb) (c * r + d) := by simpa [a, bb, c, d, mul_assoc, add_assoc] using upperHead_max_affine tau w R r htau0 have hcross' : cross ^ 2 ≤ j * r + k := by calc cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass false t r w := hcross _ ≤ I0 * (tau * (1 - (1 - w) * r)) := mul_le_mul hI0.2 hHupper hH0 hI00 _ = j * r + k := by dsimp [j, k]; ring have hh := affine_endpoint_block L a bb c d j k (b.rlo : ℝ) (b.rhi : ℝ) r top cross trunk hm.2.2.1 hm.2.2.2 htrunkGap hgapLo hgapHi hcreditLo hcreditHi htop' hcross' simpa [L, eLo, endpointEnvelope, branchFloor] using hh theorem weightedSmall_parameters {p : Params} {b : Box} {weight : ℚ} (h : WeightedLeafGood p true b weight) (t r : ℝ) (hm : Contains b t r) : let w := (weight : ℝ) 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal true t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass true t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass true t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor true w / (p.target : ℝ)) top cross trunk := by rcases h with ⟨hp, hb, hw0Q, hw1Q, hsmall, heLo, heHi⟩ let w : ℝ := (weight : ℝ) let e := endpointEnvelope p true b weight b.rlo have hw0 : 0 ≤ w := (Rat.cast_nonneg (K := ℝ)).mpr hw0Q have hw1 : w ≤ 1 := by simpa [w] using (Rat.cast_le (K := ℝ)).mpr hw1Q have hbox := goodBox_cast hb have ht0 : 0 ≤ t := hbox.1.trans hm.1 have hH0 : 0 ≤ branchMass true t r w := ht0 have hH : branchMass true t r w ≤ (e.H : ℝ) := by simpa [branchMass, e, endpointEnvelope] using hm.2.1 have hD : branchDiagonal true t r w ≤ (e.D : ℝ) := by have hh := div_le_div_of_nonneg_right hm.2.1 (by norm_num [radialConstant] : (0 : ℝ) ≤ 2 * (radialConstant : ℝ)) simpa [branchDiagonal, e, endpointEnvelope] using hh obtain ⟨hR, hI0, hI1⟩ := endpointTail_bounds hp hb true weight t r hm have hR0 : 0 ≤ (e.R : ℝ) := hR.1.trans hR.2 have hI00 : 0 ≤ (e.I0 : ℝ) := hI0.1.trans hI0.2 refine ⟨hw0, hw1, ?_⟩ intro top cross trunk htop htrunk hcross htrunkSq have hh := acceptedEnvelope_transport heLo top cross trunk (htop.trans (add_le_add hD (mul_le_mul hR.2 hH hH0 hR0))) htrunk (hcross.trans (mul_le_mul hI0.2 hH hH0 hI00)) (htrunkSq.trans (mul_le_mul_of_nonneg_left hI1.2 (by norm_num : (0 : ℝ) ≤ 2))) simpa [e, endpointEnvelope, branchFloor] using hh theorem weightedLeafParameters_transport {p : Params} {small : Bool} {b : Box} {weight : ℚ} (h : WeightedLeafGood p small b weight) (t r : ℝ) (hm : Contains b t r) : let w := (weight : ℝ) 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal small t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor small w / (p.target : ℝ)) top cross trunk := by cases small · exact weightedLarge_parameters h t r hm · exact weightedSmall_parameters h t r hm end end QuantileFiniteCertificate end /- END M075 -/ /- BEGIN M076 -/ section /-! Exact head-tangent and cross-moment bounds for compact certificates. -/ noncomputable section namespace QuantileFiniteCertificate def tailProductRSlope (alpha x m : ℝ) : ℝ := (4 * x - 8 * x * m - alpha * m ^ 2) / (2 * (alpha * m + 4 * x) ^ 2) + (1 - 2 * m) / (2 * (alpha + 4 * x)) def tailProductRTangent (alpha x m t : ℝ) : ℝ := m * tailR alpha x m + tailProductRSlope alpha x m * (t - m) theorem tailProductR_tangent_identity (alpha x m t : ℝ) (halpha : 0 ≤ alpha) (hx : 0 < x) (hm : 0 ≤ m) (ht : 0 ≤ t) : tailProductRTangent alpha x m t - t * tailR alpha x t = (t - m) ^ 2 * ((4 * x) * (4 * x + alpha) / (2 * (alpha * m + 4 * x) ^ 2 * (alpha * t + 4 * x)) + 1 / (2 * (alpha + 4 * x))) := by have hzm : 0 < alpha * m + 4 * x := by positivity have hzt : 0 < alpha * t + 4 * x := by positivity have hv : 0 < alpha + 4 * x := by positivity unfold tailProductRTangent tailProductRSlope tailR field_simp [ne_of_gt hzm, ne_of_gt hzt, ne_of_gt hv] <;> ring theorem tailProductR_le_tangent (alpha x m t : ℝ) (halpha : 0 ≤ alpha) (hx : 0 < x) (hm : 0 ≤ m) (ht : 0 ≤ t) : t * tailR alpha x t ≤ tailProductRTangent alpha x m t := by have hzm : 0 < alpha * m + 4 * x := by positivity have hzt : 0 < alpha * t + 4 * x := by positivity have hv : 0 < alpha + 4 * x := by positivity have hcredit : 0 ≤ (t - m) ^ 2 * ((4 * x) * (4 * x + alpha) / (2 * (alpha * m + 4 * x) ^ 2 * (alpha * t + 4 * x)) + 1 / (2 * (alpha + 4 * x))) := by positivity rw [← tailProductR_tangent_identity alpha x m t halpha hx hm ht] at hcredit exact sub_nonneg.mp hcredit /-- The cubic mass factor decreases beyond its quarter-interval maximum. -/ theorem quarterCubicProduct_antitone (s t : ℝ) (hs : 1 / 4 ≤ s) (hst : s ≤ t) (ht : t ≤ 1) : t * (1 - t) ^ 3 ≤ s * (1 - s) ^ 3 := by have hs0 : 0 ≤ s := by linarith have hd : 0 ≤ t - s := sub_nonneg.mpr hst have hu : 0 ≤ 1 - t := sub_nonneg.mpr ht have hbr : 0 ≤ 3 * s - (1 - t) := by linarith have hcredit : 0 ≤ (t - s) * ((1 - t) ^ 2 * (3 * s - (1 - t)) + 3 * s * (1 - t) * (t - s) + s * (t - s) ^ 2) := by positivity have hid : s * (1 - s) ^ 3 - t * (1 - t) ^ 3 = (t - s) * ((1 - t) ^ 2 * (3 * s - (1 - t)) + 3 * s * (1 - t) * (t - s) + s * (t - s) ^ 2) := by ring rw [← hid] at hcredit exact sub_nonneg.mp hcredit theorem tailI0_product_antitone (alpha x s t : ℝ) (halpha : 0 ≤ alpha) (hx : 0 < x) (hs : 1 / 4 ≤ s) (hst : s ≤ t) (ht : t ≤ 1) : t * tailI0 alpha x t ≤ s * tailI0 alpha x s := by have hs0 : 0 ≤ s := by linarith have ht0 : 0 ≤ t := hs0.trans hst have hs1 : s ≤ 1 := hst.trans ht have hzs : 0 < alpha * s + 4 * x := by positivity have hzt : 0 < alpha * t + 4 * x := by positivity have hv : 0 < alpha + 4 * x := by positivity have hzorder : alpha * s + 4 * x ≤ alpha * t + 4 * x := by have hmul := mul_le_mul_of_nonneg_left hst halpha linarith have hdiv : 3 * (alpha + 4 * x) / (alpha * t + 4 * x) ≤ 3 * (alpha + 4 * x) / (alpha * s + 4 * x) := div_le_div_of_nonneg_left (show 0 ≤ 3 * (alpha + 4 * x) by positivity) hzs hzorder have hratio : 1 + 3 * (alpha + 4 * x) / (alpha * t + 4 * x) ≤ 1 + 3 * (alpha + 4 * x) / (alpha * s + 4 * x) := by linarith have hratio0 : 0 ≤ 1 + 3 * (alpha + 4 * x) / (alpha * t + 4 * x) := by positivity have hqs : 0 ≤ s * (1 - s) ^ 3 := by positivity have hq := quarterCubicProduct_antitone s t hs hst ht have hprod := mul_le_mul hq hratio hratio0 hqs have hresult := div_le_div_of_nonneg_right hprod (show 0 ≤ 12 * (alpha + 4 * x) ^ 2 by positivity) simpa [tailI0, div_eq_mul_inv, mul_assoc, mul_left_comm, mul_comm] using hresult end QuantileFiniteCertificate end end /- END M076 -/ /- BEGIN M077 -/ section namespace QuantileFiniteCertificate def tailRRat (p : Params) (t : ℚ) : ℚ := (1 - t) * (1 / (p.alpha * t + 4 * p.x) + 1 / (p.alpha + 4 * p.x)) / 2 def tailI0Rat (p : Params) (t : ℚ) : ℚ := (1 - t) ^ 3 * (1 + 3 * (p.alpha + 4 * p.x) / (p.alpha * t + 4 * p.x)) / (12 * (p.alpha + 4 * p.x) ^ 2) def tailI1Rat (p : Params) (t : ℚ) : ℚ := (1 - t) ^ 4 * (2 + 3 * (p.alpha + 4 * p.x) / (p.alpha * t + 4 * p.x)) / (60 * (p.alpha + 4 * p.x) ^ 2) def tailProductSlopeRat (p : Params) (m : ℚ) : ℚ := (4 * p.x - 8 * p.x * m - p.alpha * m ^ 2) / (2 * (p.alpha * m + 4 * p.x) ^ 2) + (1 - 2 * m) / (2 * (p.alpha + 4 * p.x)) def tailProductTangentRat (p : Params) (m t : ℚ) : ℚ := m * tailRRat p m + tailProductSlopeRat p m * (t - m) def branchDiagonalCoefficientRat (small : Bool) (weight endpoint : ℚ) : ℚ := if small then 1 / (2 * radialConstant) else max (weight * endpoint) (1 - endpoint) / radialConstant def branchMassCoefficientRat (small : Bool) (weight endpoint : ℚ) : ℚ := if small then 1 else 1 - (1 - weight) * endpoint def tangentTopRat (p : Params) (small : Bool) (b : Box) (weight endpoint m : ℚ) : ℚ := let d := branchDiagonalCoefficientRat small weight endpoint let h := branchMassCoefficientRat small weight endpoint max (d * b.tlo + h * tailProductTangentRat p m b.tlo) (d * b.thi + h * tailProductTangentRat p m b.thi) def tangentCrossProductRat (p : Params) (b : Box) : ℚ := if 1 / 4 ≤ b.tlo then b.tlo * tailI0Rat p b.tlo else b.thi * tailI0Rat p b.tlo def tangentEnvelope (p : Params) (small : Bool) (b : Box) (weight endpoint m : ℚ) : Envelope := let ell := if small then 1 else quantileFraction * weight + 1 - quantileFraction ⟨weight, ell / p.target, tangentTopRat p small b weight endpoint m, 1, 0, branchMassCoefficientRat small weight endpoint * tangentCrossProductRat p b, tailI1Rat p b.tlo⟩ /-- Rational tangents can differ at the two endpoints; the branch weight is shared. -/ def TangentLeafGood (p : Params) (small : Bool) (b : Box) (weight mLo mHi : ℚ) : Prop := GoodParams p ∧ GoodBox b ∧ 0 ≤ weight ∧ weight ≤ 1 ∧ (if small then weight = 1 else True) ∧ 0 ≤ mLo ∧ mLo ≤ 1 ∧ 0 ≤ mHi ∧ mHi ≤ 1 ∧ GoodEnvelope (tangentEnvelope p small b weight b.rlo mLo) ∧ GoodEnvelope (tangentEnvelope p small b weight b.rhi mHi) def tangentLeafDecidable (p : Params) (small : Bool) (b : Box) (weight mLo mHi : ℚ) : Decidable (TangentLeafGood p small b weight mLo mHi) := by unfold TangentLeafGood GoodParams GoodBox GoodEnvelope infer_instance def checkTangentLeaf (p : Params) (small : Bool) (b : Box) (weight mLo mHi : ℚ) : Bool := @decide (TangentLeafGood p small b weight mLo mHi) (tangentLeafDecidable p small b weight mLo mHi) theorem checkTangentLeaf_sound {p : Params} {small : Bool} {b : Box} {weight mLo mHi : ℚ} (h : checkTangentLeaf p small b weight mLo mHi = true) : TangentLeafGood p small b weight mLo mHi := by letI := tangentLeafDecidable p small b weight mLo mHi exact of_decide_eq_true h noncomputable section theorem tailRRat_cast (p : Params) (t : ℚ) : (tailRRat p t : ℝ) = tailR (p.alpha : ℝ) (p.x : ℝ) (t : ℝ) := by simp [tailRRat, tailR] theorem tailI0Rat_cast (p : Params) (t : ℚ) : (tailI0Rat p t : ℝ) = tailI0 (p.alpha : ℝ) (p.x : ℝ) (t : ℝ) := by simp [tailI0Rat, tailI0, Rat.cast_pow] theorem tailI1Rat_cast (p : Params) (t : ℚ) : (tailI1Rat p t : ℝ) = tailI1 (p.alpha : ℝ) (p.x : ℝ) (t : ℝ) := by simp [tailI1Rat, tailI1, Rat.cast_pow] theorem tailProductTangentRat_cast (p : Params) (m t : ℚ) : (tailProductTangentRat p m t : ℝ) = tailProductRTangent (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) (t : ℝ) := by simp [tailProductTangentRat, tailProductSlopeRat, tailProductRTangent, tailProductRSlope, tailRRat_cast, Rat.cast_pow] theorem branchCoefficient_identities (small : Bool) (weight endpoint : ℚ) (t : ℝ) : branchDiagonal small t (endpoint : ℝ) (weight : ℝ) = (branchDiagonalCoefficientRat small weight endpoint : ℝ) * t ∧ branchMass small t (endpoint : ℝ) (weight : ℝ) = (branchMassCoefficientRat small weight endpoint : ℝ) * t := by cases small <;> constructor <;> simp [branchDiagonal, branchMass, branchDiagonalCoefficientRat, branchMassCoefficientRat, Rat.cast_max, div_eq_mul_inv] <;> ring theorem branchMassCoefficient_nonneg (small : Bool) (weight endpoint : ℚ) (hw0 : 0 ≤ weight) (hr0 : 0 ≤ endpoint) (hr1 : endpoint ≤ 1) : 0 ≤ (branchMassCoefficientRat small weight endpoint : ℝ) := by cases small · have hw : (0 : ℝ) ≤ (weight : ℝ) := (Rat.cast_nonneg (K := ℝ)).mpr hw0 have hr : (0 : ℝ) ≤ (endpoint : ℝ) := (Rat.cast_nonneg (K := ℝ)).mpr hr0 have hr' : (endpoint : ℝ) ≤ 1 := by simpa using (Rat.cast_le (K := ℝ)).mpr hr1 simp [branchMassCoefficientRat] nlinarith [mul_nonneg hw hr] · norm_num [branchMassCoefficientRat] theorem tangentCrossProduct_bound {p : Params} {b : Box} (hp : GoodParams p) (hb : GoodBox b) (t : ℝ) (htlo : (b.tlo : ℝ) ≤ t) (hthi : t ≤ (b.thi : ℝ)) : t * tailI0 (p.alpha : ℝ) (p.x : ℝ) t ≤ (tangentCrossProductRat p b : ℝ) := by have hbox := goodBox_cast hb have ht0 : 0 ≤ t := hbox.1.trans htlo have ht1 : t ≤ 1 := hthi.trans hbox.2.2.1 have hx : 0 < (p.x : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hp.1 have ha : 0 ≤ (p.alpha : ℝ) := ((Rat.cast_pos (K := ℝ)).mpr hp.2.1).le by_cases hquarter : (1 / 4 : ℚ) ≤ b.tlo · have hquarterR : (1 / 4 : ℝ) ≤ (b.tlo : ℝ) := by simpa using (Rat.cast_le (K := ℝ)).mpr hquarter have hh := tailI0_product_antitone (p.alpha : ℝ) (p.x : ℝ) (b.tlo : ℝ) t ha hx hquarterR htlo ht1 rw [tangentCrossProductRat, if_pos hquarter] simpa only [Rat.cast_mul, tailI0Rat_cast] using hh · obtain ⟨hR, hI0, hI1⟩ := tailBounds_antitone (p.alpha : ℝ) (p.x : ℝ) (b.tlo : ℝ) t ha hx hbox.1 htlo ht1 have hthi0 : (0 : ℝ) ≤ (b.thi : ℝ) := ht0.trans hthi have hh := mul_le_mul hthi hI0.2 hI0.1 hthi0 rw [tangentCrossProductRat, if_neg hquarter] simpa only [Rat.cast_mul, tailI0Rat_cast] using hh theorem tangentEndpoint_bounds {p : Params} {b : Box} (small : Bool) (weight endpoint m : ℚ) (hp : GoodParams p) (hb : GoodBox b) (hw0 : 0 ≤ weight) (hr0 : 0 ≤ endpoint) (hr1 : endpoint ≤ 1) (hm : 0 ≤ m) (t : ℝ) (htlo : (b.tlo : ℝ) ≤ t) (hthi : t ≤ (b.thi : ℝ)) : let e := tangentEnvelope p small b weight endpoint m branchDiagonal small t (endpoint : ℝ) (weight : ℝ) + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t (endpoint : ℝ) (weight : ℝ) ≤ (e.D : ℝ) ∧ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t (endpoint : ℝ) (weight : ℝ) ≤ (e.I0 : ℝ) := by let d : ℝ := (branchDiagonalCoefficientRat small weight endpoint : ℝ) let h : ℝ := (branchMassCoefficientRat small weight endpoint : ℝ) let slope := tailProductRSlope (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) let value := (m : ℝ) * tailR (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) have hcoeff0 : 0 ≤ h := branchMassCoefficient_nonneg small weight endpoint hw0 hr0 hr1 obtain ⟨hD, hH⟩ := branchCoefficient_identities small weight endpoint t have hx : 0 < (p.x : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hp.1 have ha : 0 ≤ (p.alpha : ℝ) := ((Rat.cast_pos (K := ℝ)).mpr hp.2.1).le have hmR : (0 : ℝ) ≤ (m : ℝ) := (Rat.cast_nonneg (K := ℝ)).mpr hm have ht0 : 0 ≤ t := (goodBox_cast hb).1.trans htlo have htan := tailProductR_le_tangent (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) t ha hx hmR ht0 have hAffine (s : ℝ) : d * s + h * tailProductRTangent (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) s = (d + h * slope) * s + h * (value - slope * (m : ℝ)) := by dsimp [tailProductRTangent, slope, value] ring have hmax : d * t + h * tailProductRTangent (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) t ≤ max (d * (b.tlo : ℝ) + h * tailProductRTangent (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) (b.tlo : ℝ)) (d * (b.thi : ℝ) + h * tailProductRTangent (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) (b.thi : ℝ)) := by rw [hAffine t] exact affine_le_of_endpoints (d + h * slope) (h * (value - slope * (m : ℝ))) (b.tlo : ℝ) (b.thi : ℝ) t (max (d * (b.tlo : ℝ) + h * tailProductRTangent (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) (b.tlo : ℝ)) (d * (b.thi : ℝ) + h * tailProductRTangent (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) (b.thi : ℝ))) htlo hthi ((hAffine (b.tlo : ℝ)).symm.trans_le (le_max_left _ _)) ((hAffine (b.thi : ℝ)).symm.trans_le (le_max_right _ _)) constructor · calc _ = d * t + h * (t * tailR (p.alpha : ℝ) (p.x : ℝ) t) := by rw [hD, hH]; ring _ ≤ d * t + h * tailProductRTangent (p.alpha : ℝ) (p.x : ℝ) (m : ℝ) t := by have hh := mul_le_mul_of_nonneg_left htan hcoeff0; linarith _ ≤ _ := hmax _ = _ := by simp [tangentEnvelope, tangentTopRat, Rat.cast_max, tailProductTangentRat_cast, d, h] · have hh := mul_le_mul_of_nonneg_left (tangentCrossProduct_bound hp hb t htlo hthi) hcoeff0 calc _ = h * (t * tailI0 (p.alpha : ℝ) (p.x : ℝ) t) := by rw [hH]; ring _ ≤ h * (tangentCrossProductRat p b : ℝ) := hh _ = _ := by simp [tangentEnvelope, h] theorem tangentLarge_parameters {p : Params} {b : Box} {weight mLo mHi : ℚ} (h : TangentLeafGood p false b weight mLo mHi) (t r : ℝ) (hm : Contains b t r) : let w := (weight : ℝ) 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal false t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass false t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass false t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor false w / (p.target : ℝ)) top cross trunk := by rcases h with ⟨hp, hb, hw0Q, hw1Q, hsmall, hmLo0, hmLo1, hmHi0, hmHi1, heLo, heHi⟩ let w : ℝ := (weight : ℝ) let eLo := tangentEnvelope p false b weight b.rlo mLo let eHi := tangentEnvelope p false b weight b.rhi mHi let L : ℝ := (eLo.L : ℝ) let R : ℝ := tailR (p.alpha : ℝ) (p.x : ℝ) t let I0 : ℝ := tailI0 (p.alpha : ℝ) (p.x : ℝ) t let a := (t / (radialConstant : ℝ)) * w - R * t * (1 - w) let bb := R * t let c := -t / (radialConstant : ℝ) - R * t * (1 - w) let d := t / (radialConstant : ℝ) + R * t let j := -I0 * t * (1 - w) let k := I0 * t have hw0 : 0 ≤ w := (Rat.cast_nonneg (K := ℝ)).mpr hw0Q have hw1 : w ≤ 1 := by simpa [w] using (Rat.cast_le (K := ℝ)).mpr hw1Q have hbox := goodBox_cast hb have ht0 : 0 ≤ t := hbox.1.trans hm.1 have hrlo0 : (0 : ℚ) ≤ b.rlo := by linarith [hb.2.2.2.1] have hrlo1 : b.rlo ≤ 1 := hb.2.2.2.2.1.trans hb.2.2.2.2.2 have hrhi0 : (0 : ℚ) ≤ b.rhi := hrlo0.trans hb.2.2.2.2.1 have hrhi1 : b.rhi ≤ 1 := hb.2.2.2.2.2 obtain ⟨hTopBoundLo, hCrossBoundLo⟩ := tangentEndpoint_bounds false weight b.rlo mLo hp hb hw0Q hrlo0 hrlo1 hmLo0 t hm.1 hm.2.1 obtain ⟨hTopBoundHi, hCrossBoundHi⟩ := tangentEndpoint_bounds false weight b.rhi mHi hp hb hw0Q hrhi0 hrhi1 hmHi0 t hm.1 hm.2.1 have hActualTop (s : ℝ) : branchDiagonal false t s w + R * branchMass false t s w = max (a * s + bb) (c * s + d) := by calc _ = t * max (w * s) (1 - s) / (radialConstant : ℝ) + R * t * (1 - (1 - w) * s) := by simp only [branchDiagonal, branchMass, Bool.false_eq_true, ite_false]; ring _ = _ := by simpa [a, bb, c, d, add_assoc] using upperHead_max_affine t w R s ht0 have hTopLo := hActualTop (b.rlo : ℝ) have hTopHi := hActualTop (b.rhi : ℝ) have hCrossLo : I0 * branchMass false t (b.rlo : ℝ) w = j * (b.rlo : ℝ) + k := by dsimp [branchMass, j, k] ring have hCrossHi : I0 * branchMass false t (b.rhi : ℝ) w = j * (b.rhi : ℝ) + k := by dsimp [branchMass, j, k] ring obtain ⟨hR, hI0, hI1⟩ := endpointTail_bounds hp hb false weight t r hm refine ⟨hw0, hw1, ?_⟩ intro top cross trunk htop htrunk hcross htrunkSq have htrunkSqEnv : trunk ^ 2 ≤ 2 * (eLo.I1 : ℝ) := by have hh := htrunkSq.trans (mul_le_mul_of_nonneg_left hI1.2 (by norm_num : (0 : ℝ) ≤ 2)) simpa [eLo, tangentEnvelope, tailI1Rat, endpointEnvelope] using hh obtain ⟨hgapLo, htrunkGap, hcreditLo⟩ := envelope_schur_credit heLo trunk htrunk htrunkSqEnv obtain ⟨hgapHi, htrunkGapHi, hcreditHi⟩ := envelope_schur_credit heHi trunk htrunk htrunkSqEnv have hgapLoR : 0 < L - (eLo.D : ℝ) := by simpa [L, eLo, tangentEnvelope] using hgapLo have hgapHiR : 0 < L - (eHi.D : ℝ) := by simpa [L, eLo, eHi, tangentEnvelope] using hgapHi have htrunkGapR : 0 ≤ L - trunk := htrunkGap have hcreditLoR : (eLo.I0 : ℝ) ≤ (L - (eLo.D : ℝ)) * (L - trunk) := by simpa [L, eLo, tangentEnvelope] using hcreditLo have hcreditHiR : (eHi.I0 : ℝ) ≤ (L - (eHi.D : ℝ)) * (L - trunk) := by simpa [L, eLo, eHi, tangentEnvelope] using hcreditHi have hgapLo' : 0 < L - max (a * (b.rlo : ℝ) + bb) (c * (b.rlo : ℝ) + d) := by rw [← hTopLo] change branchDiagonal false t (b.rlo : ℝ) w + R * branchMass false t (b.rlo : ℝ) w ≤ (eLo.D : ℝ) at hTopBoundLo linarith have hgapHi' : 0 < L - max (a * (b.rhi : ℝ) + bb) (c * (b.rhi : ℝ) + d) := by rw [← hTopHi] change branchDiagonal false t (b.rhi : ℝ) w + R * branchMass false t (b.rhi : ℝ) w ≤ (eHi.D : ℝ) at hTopBoundHi linarith have hcreditLo' : j * (b.rlo : ℝ) + k ≤ (L - max (a * (b.rlo : ℝ) + bb) (c * (b.rlo : ℝ) + d)) * (L - trunk) := by rw [← hCrossLo, ← hTopLo] have hmul := mul_le_mul_of_nonneg_right (by linarith : L - (eLo.D : ℝ) ≤ L - (branchDiagonal false t (b.rlo : ℝ) w + R * branchMass false t (b.rlo : ℝ) w)) htrunkGapR exact hCrossBoundLo.trans (hcreditLoR.trans hmul) have hcreditHi' : j * (b.rhi : ℝ) + k ≤ (L - max (a * (b.rhi : ℝ) + bb) (c * (b.rhi : ℝ) + d)) * (L - trunk) := by rw [← hCrossHi, ← hTopHi] have hmul := mul_le_mul_of_nonneg_right (by linarith : L - (eHi.D : ℝ) ≤ L - (branchDiagonal false t (b.rhi : ℝ) w + R * branchMass false t (b.rhi : ℝ) w)) htrunkGapR exact hCrossBoundHi.trans (hcreditHiR.trans hmul) have htop' : top ≤ max (a * r + bb) (c * r + d) := by exact htop.trans_eq (hActualTop r) have hcross' : cross ^ 2 ≤ j * r + k := by convert hcross using 1 <;> dsimp [branchMass, j, k] <;> ring have hh := affine_endpoint_block L a bb c d j k (b.rlo : ℝ) (b.rhi : ℝ) r top cross trunk hm.2.2.1 hm.2.2.2 htrunkGapR hgapLo' hgapHi' hcreditLo' hcreditHi' htop' hcross' simpa [L, eLo, tangentEnvelope, branchFloor] using hh theorem tangentSmall_parameters {p : Params} {b : Box} {weight mLo mHi : ℚ} (h : TangentLeafGood p true b weight mLo mHi) (t r : ℝ) (hm : Contains b t r) : let w := (weight : ℝ) 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal true t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass true t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass true t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor true w / (p.target : ℝ)) top cross trunk := by rcases h with ⟨hp, hb, hw0Q, hw1Q, hsmall, hmLo0, hmLo1, hmHi0, hmHi1, heLo, heHi⟩ let w : ℝ := (weight : ℝ) let e := tangentEnvelope p true b weight b.rlo mLo have hw0 : 0 ≤ w := (Rat.cast_nonneg (K := ℝ)).mpr hw0Q have hw1 : w ≤ 1 := by simpa [w] using (Rat.cast_le (K := ℝ)).mpr hw1Q have hrlo0 : (0 : ℚ) ≤ b.rlo := by linarith [hb.2.2.2.1] have hrlo1 : b.rlo ≤ 1 := hb.2.2.2.2.1.trans hb.2.2.2.2.2 obtain ⟨hTop, hCross⟩ := tangentEndpoint_bounds true weight b.rlo mLo hp hb hw0Q hrlo0 hrlo1 hmLo0 t hm.1 hm.2.1 obtain ⟨hR, hI0, hI1⟩ := endpointTail_bounds hp hb true weight t r hm refine ⟨hw0, hw1, ?_⟩ intro top cross trunk htop htrunk hcross htrunkSq have htrunkSqEnv : trunk ^ 2 ≤ 2 * (e.I1 : ℝ) := by have hh := htrunkSq.trans (mul_le_mul_of_nonneg_left hI1.2 (by norm_num : (0 : ℝ) ≤ 2)) simpa [e, tangentEnvelope, tailI1Rat, endpointEnvelope] using hh have hh := acceptedEnvelope_transport heLo top cross trunk (by simpa [tangentEnvelope, branchDiagonal, branchMass] using htop.trans hTop) htrunk (by simpa [tangentEnvelope, branchMass] using hcross.trans hCross) htrunkSqEnv simpa [e, tangentEnvelope, branchFloor] using hh theorem tangentLeafParameters_transport {p : Params} {small : Bool} {b : Box} {weight mLo mHi : ℚ} (h : TangentLeafGood p small b weight mLo mHi) (t r : ℝ) (hm : Contains b t r) : let w := (weight : ℝ) 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal small t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor small w / (p.target : ℝ)) top cross trunk := by cases small · exact tangentLarge_parameters h t r hm · exact tangentSmall_parameters h t r hm end end QuantileFiniteCertificate end /- END M077 -/ /- BEGIN M078 -/ section namespace QuantileFiniteCertificate inductive TangentTree where | leaf (weight mLo mHi : ℚ) | cutT (cut : ℚ) (left right : TangentTree) | cutR (cut : ℚ) (left right : TangentTree) /-- Opaque checked children assemble without evaluating a parent Boolean. Absolute cut coordinates introduce no midpoint arithmetic in child boxes. -/ inductive TangentChecked (p : Params) (small : Bool) : Box → TangentTree → Prop where | leaf (b : Box) (weight mLo mHi : ℚ) (h : TangentLeafGood p small b weight mLo mHi) : TangentChecked p small b (.leaf weight mLo mHi) | cutT (b : Box) (cut : ℚ) (left right : TangentTree) (hcut : GoodTCut b cut) (hl : TangentChecked p small (adaptiveTLeft b cut) left) (hr : TangentChecked p small (adaptiveTRight b cut) right) : TangentChecked p small b (.cutT cut left right) | cutR (b : Box) (cut : ℚ) (left right : TangentTree) (hcut : GoodRCut b cut) (hl : TangentChecked p small (adaptiveRLeft b cut) left) (hr : TangentChecked p small (adaptiveRRight b cut) right) : TangentChecked p small b (.cutR cut left right) theorem tangentLeaf_checked (p : Params) (small : Bool) (b : Box) (weight mLo mHi : ℚ) (h : checkTangentLeaf p small b weight mLo mHi = true) : TangentChecked p small b (.leaf weight mLo mHi) := .leaf b weight mLo mHi (checkTangentLeaf_sound h) noncomputable section /-- Universal real closed-box coverage with explicit rational leaf weights, arbitrary admitted rational cuts and all original endpoint/small cases. -/ theorem TangentChecked.coverage {p : Params} {small : Bool} {b : Box} {tree : TangentTree} (h : TangentChecked p small b tree) : ∀ t r : ℝ, Contains b t r → ∃ leafBox : Box, ∃ weight mLo mHi : ℚ, Contains leafBox t r ∧ TangentLeafGood p small leafBox weight mLo mHi := by induction h with | leaf b weight mLo mHi hgood => intro t r hpoint exact ⟨b, weight, mLo, mHi, hpoint, hgood⟩ | cutT b cut left right hcut hl hr ihl ihr => intro t r hpoint rcases adaptiveTCut_cover b cut t r hpoint with hleft | hright · exact ihl t r hleft · exact ihr t r hright | cutR b cut left right hcut hl hr ihl ihr => intro t r hpoint rcases adaptiveRCut_cover b cut t r hpoint with hleft | hright · exact ihl t r hleft · exact ihr t r hright /-- Real transport consumes shared weights and independently admitted all-t endpoint tangents. The original LeafGood and its already checked forests remain unchanged. -/ theorem tangent_parameters {p : Params} {small : Bool} {b : Box} {tree : TangentTree} (h : TangentChecked p small b tree) (t r : ℝ) (hpoint : Contains b t r) : ∃ w : ℝ, 0 ≤ w ∧ w ≤ 1 ∧ ∀ top cross trunk : ℝ, top ≤ branchDiagonal small t r w + tailR (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → 0 ≤ trunk → cross ^ 2 ≤ tailI0 (p.alpha : ℝ) (p.x : ℝ) t * branchMass small t r w → trunk ^ 2 ≤ 2 * tailI1 (p.alpha : ℝ) (p.x : ℝ) t → BlockBound (branchFloor small w / (p.target : ℝ)) top cross trunk := by obtain ⟨leafBox, weight, mLo, mHi, hmem, hgood⟩ := h.coverage t r hpoint exact ⟨(weight : ℝ), tangentLeafParameters_transport hgood t r hmem⟩ theorem tangent_positive_energy {p : Params} {small : Bool} {b : Box} {tree : TangentTree} (h : TangentChecked p small b tree) (t r : ℝ) (hpoint : Contains b t r) (m Q : ℝ) (hm : 0 < m) (hQ : 0 ≤ Q) (hprofiles : ∀ w : ℝ, 0 ≤ w → w ≤ 1 → Nonempty (PositiveMatrixProfile p small t r m Q w)) : (p.target : ℝ) * m ≤ Q := by obtain ⟨leafBox, weight, mLo, mHi, hmem, hgood⟩ := h.coverage t r hpoint have htarget : (0 : ℝ) < (p.target : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hgood.1.2.2.1 obtain ⟨w, hw0, hw1, hBlock⟩ := tangent_parameters h t r hpoint obtain ⟨profile⟩ := hprofiles w hw0 hw1 exact weightedMass_energy_of_block (p.target : ℝ) (branchFloor small w) m profile.weighted Q profile.green profile.top profile.cross profile.trunk profile.leftNorm profile.rightNorm htarget (branchFloor_pos small w hw0) hm hQ profile.weighted_floor profile.cauchy profile.green_form profile.norm_mass (hBlock profile.top profile.cross profile.trunk profile.entry_top profile.entry_trunk_nonneg profile.entry_cross_sq profile.entry_trunk_sq) theorem tangentForest_profile_price {p : Params} {large small : TangentTree} (hlarge : TangentChecked p false rootBox large) (hsmall : TangentChecked p true smallRootBox small) (m Q : ℝ) (hm : 0 < m) (hQ : 0 ≤ Q) (hprofile : PositivePhaseWitness p m Q) : (p.target : ℝ) * m ≤ Q := by cases hprofile with | large t r hpoint hprofiles => exact tangent_positive_energy hlarge t r hpoint m Q hm hQ hprofiles | small t r hpoint hprofiles => exact tangent_positive_energy hsmall t r hpoint m Q hm hQ hprofiles theorem tangentForestControl_of_profileWitness (p : Params) (large small : TangentTree) (x a k qP scale m : ℝ) (hscale : 0 ≤ scale) (hm : 0 < m) (hk : k = scale * m) (hprofiles : TangentChecked p false rootBox large → TangentChecked p true smallRootBox small → (p.x : ℝ) ≤ x → ∃ Q : ℝ, 0 ≤ Q ∧ scale * Q ≤ a * qP ∧ PositivePhaseWitness p m Q) : TangentChecked p false rootBox large → TangentChecked p true smallRootBox small → (p.x : ℝ) ≤ x → k * (p.target : ℝ) ≤ a * qP := by intro hlarge hsmall hx obtain ⟨Q, hQ, hbudget, hprofile⟩ := hprofiles hlarge hsmall hx exact phasePrice_of_normalized scale m k Q a qP (p.target : ℝ) hscale hk (tangentForest_profile_price hlarge hsmall m Q hm hQ hprofile) hbudget end inductive TangentPositiveMethod where | fk | forest (params : Params) (large small : TangentTree) structure TangentPositiveEntry where band : Band method : TangentPositiveMethod def GoodTangentPositiveLink (e : TangentPositiveEntry) : Prop := match e.method with | .fk => e.band.value ≤ radialConstant | .forest p _ _ => p.x ≤ e.band.lo ∧ e.band.value ≤ p.target def tangentPositiveLinkDecidable (e : TangentPositiveEntry) : Decidable (GoodTangentPositiveLink e) := by cases e with | mk b method => cases method <;> unfold GoodTangentPositiveLink <;> infer_instance def checkTangentPositiveLink (e : TangentPositiveEntry) : Bool := @decide (GoodTangentPositiveLink e) (tangentPositiveLinkDecidable e) def checkTangentPositiveCatalog : List TangentPositiveEntry → Bool | [] => true | e :: rest => checkTangentPositiveLink e && checkTangentPositiveCatalog rest def tangentPositiveBands (es : List TangentPositiveEntry) : List Band := es.map TangentPositiveEntry.band def TangentPositiveMethodAccepted : TangentPositiveMethod → Prop | .fk => True | .forest p large small => TangentChecked p false rootBox large ∧ TangentChecked p true smallRootBox small def TangentPositiveCatalogAccepted (es : List TangentPositiveEntry) : Prop := ∀ e ∈ es, TangentPositiveMethodAccepted e.method theorem checkTangentPositiveLink_sound {e : TangentPositiveEntry} (h : checkTangentPositiveLink e = true) : GoodTangentPositiveLink e := by letI := tangentPositiveLinkDecidable e exact of_decide_eq_true h theorem checkTangentPositiveCatalog_sound (es : List TangentPositiveEntry) : checkTangentPositiveCatalog es = true → ∀ e ∈ es, GoodTangentPositiveLink e := by induction es with | nil => intro h; simp | cons e rest ih => intro h d hd have hh : checkTangentPositiveLink e = true ∧ checkTangentPositiveCatalog rest = true := Bool.and_eq_true_iff.mp h rcases List.mem_cons.mp hd with hde | hdr · subst d exact checkTangentPositiveLink_sound hh.1 · exact ih hh.2 d hdr theorem tangentPositiveCatalogAccepted_nil : TangentPositiveCatalogAccepted [] := by intro e he simp at he theorem tangentPositiveCatalogAccepted_cons (e : TangentPositiveEntry) (es : List TangentPositiveEntry) (he : TangentPositiveMethodAccepted e.method) (hs : TangentPositiveCatalogAccepted es) : TangentPositiveCatalogAccepted (e :: es) := by intro d hd rcases List.mem_cons.mp hd with hde | hds · subst d exact he · exact hs d hds noncomputable section def TangentPositiveMethodControl (method : TangentPositiveMethod) (x a k qP : ℝ) : Prop := match method with | .fk => k * (radialConstant : ℝ) ≤ a * qP | .forest p large small => TangentPositiveMethodAccepted (.forest p large small) → (p.x : ℝ) ≤ x → k * (p.target : ℝ) ≤ a * qP theorem tangentPositiveEntry_price {e : TangentPositiveEntry} (hlink : GoodTangentPositiveLink e) (haccepted : TangentPositiveMethodAccepted e.method) (x a k qP : ℝ) (hk : 0 ≤ k) (hcontrol : TangentPositiveMethodControl e.method x a k qP) (hx : (e.band.lo : ℝ) ≤ x) : k * (e.band.value : ℝ) ≤ a * qP := by cases e with | mk band method => cases method with | fk => have hvalue : (band.value : ℝ) ≤ (radialConstant : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink exact (mul_le_mul_of_nonneg_left hvalue hk).trans hcontrol | forest p large small => have hp : (p.x : ℝ) ≤ (band.lo : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink.1 have hvalue : (band.value : ℝ) ≤ (p.target : ℝ) := (Rat.cast_le (K := ℝ)).mpr hlink.2 exact (mul_le_mul_of_nonneg_left hvalue hk).trans (hcontrol haccepted (hp.trans hx)) theorem checkedTangentPositiveCatalog_price (es : List TangentPositiveEntry) (hcheck : checkTangentPositiveCatalog es = true) (haccepted : TangentPositiveCatalogAccepted es) (x a k qP : ℝ) (hk : 0 ≤ k) (hcontrol : ∀ e ∈ es, TangentPositiveMethodControl e.method x a k qP) : ∀ band ∈ tangentPositiveBands es, (band.lo : ℝ) ≤ x → k * (band.value : ℝ) ≤ a * qP := by intro band hband hx obtain ⟨e, hemem, heq⟩ := List.mem_map.mp hband subst band exact tangentPositiveEntry_price (checkTangentPositiveCatalog_sound es hcheck e hemem) (haccepted e hemem) x a k qP hk (hcontrol e hemem) hx theorem tangentProfile_methodControl (p : Params) (large small : TangentTree) (x a k qP scale m : ℝ) (hscale : 0 ≤ scale) (hm : 0 < m) (hk : k = scale * m) (hprofiles : TangentChecked p false rootBox large → TangentChecked p true smallRootBox small → (p.x : ℝ) ≤ x → ∃ Q : ℝ, 0 ≤ Q ∧ scale * Q ≤ a * qP ∧ PositivePhaseWitness p m Q) : TangentPositiveMethodControl (.forest p large small) x a k qP := by intro haccepted hx exact tangentForestControl_of_profileWitness p large small x a k qP scale m hscale hm hk hprofiles haccepted.1 haccepted.2 hx theorem tangentHighTail_price (p : Params) (large small : TangentTree) (haccepted : TangentPositiveMethodAccepted (.forest p large small)) (hxConfig : p.x ≤ 7 / 50) (hpriceConfig : 8 / 3 ≤ p.target) (x a k qP : ℝ) (hk : 0 ≤ k) (hcontrol : TangentPositiveMethodControl (.forest p large small) x a k qP) (hx : (7 : ℝ) / 50 ≤ x) : k * (8 / 3) ≤ a * qP := by have hxR : (p.x : ℝ) ≤ 7 / 50 := by simpa only [Rat.cast_div, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hxConfig have hpriceR : (8 / 3 : ℝ) ≤ (p.target : ℝ) := by simpa only [Rat.cast_div, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hpriceConfig exact (mul_le_mul_of_nonneg_left hpriceR hk).trans (hcontrol haccepted (hxR.trans hx)) end end QuantileFiniteCertificate end /- END M078 -/ /- BEGIN M079 -/ section namespace Polya26.SelectedProfileAssembly abbrev actual_physical_scalar_inputs := @Polya26.Strike.S05.Header.PrimitiveSupport.actual_physical_scalar_inputs end Polya26.SelectedProfileAssembly end /- END M079 -/ /- BEGIN M080 -/ section noncomputable section open Set MeasureTheory open scoped Topology ContDiff namespace Polya26.SelectedProfileAssembly open Math30.Polya Polya26.Strike.S06 QuantileFiniteCertificate structure PositiveBandPriceControls (ps : List Band) (u : Plane → ℝ) (K : Set Plane) : Prop where high_x : (7 : ℝ) / 50 ≤ terminalX u K → physicalScale u * (8 / 3) ≤ positiveArea u * positiveEnergy u bands : ∀ p ∈ ps, (p.lo : ℝ) ≤ terminalX u K → physicalScale u * (p.value : ℝ) ≤ positiveArea u * positiveEnergy u /-- Exact negative prices for the original physical phase, including the low-beta tail. These fields are the outstanding actual HS controls. -/ structure NegativeBandPriceControls (ns : List Band) (u : Plane → ℝ) (K : Set Plane) : Prop where low_beta : terminalBeta u K ≤ (1 : ℝ) / 16 → physicalScale u * (3020629 / 1000000) ≤ negativeArea u * negativeEnergy u bands : ∀ n ∈ ns, terminalBeta u K ≤ (n.hi : ℝ) → physicalScale u * (n.value : ℝ) ≤ negativeArea u * negativeEnergy u structure BandPriceControls (ps ns : List Band) (u : Plane → ℝ) (K : Set Plane) : Prop where positive : PositiveBandPriceControls ps u K negative : NegativeBandPriceControls ns u K def ActualPositiveBandPrices (ps : List Band) : Prop := ∀ (Ω : PlanarLipschitzDomain) (u : Plane → ℝ), IsTestFunction Ω.carrier u → 0 < OriginalMass u → ∀ τ K, SelectedProfileConditions u τ K → PositiveBandPriceControls ps u K def ActualNegativeBandPrices (ns : List Band) : Prop := ∀ (Ω : PlanarLipschitzDomain) (u : Plane → ℝ), IsTestFunction Ω.carrier u → 0 < OriginalMass u → ∀ τ K, SelectedProfileConditions u τ K → NegativeBandPriceControls ns u K theorem physical_price_of_normalized (m a q C : ℝ) (h : m * C ≤ a * (q / (4 * Real.pi))) : (4 * Real.pi * m) * C ≤ a * q := by have hscaled := mul_le_mul_of_nonneg_left h (by positivity : 0 ≤ 4 * Real.pi) have hright : (4 * Real.pi) * (a * (q / (4 * Real.pi))) = a * q := by field_simp rw [hright] at hscaled convert hscaled using 1 <;> ring theorem positive_band_controls_of_normalized (ps : List Band) (u : Plane → ℝ) (K : Set Plane) (hHigh : (7 : ℝ) / 50 ≤ terminalX u K → (OriginalMass u / 2) * (8 / 3) ≤ positiveArea u * (positiveEnergy u / (4 * Real.pi))) (hP : ∀ p ∈ ps, (p.lo : ℝ) ≤ terminalX u K → (OriginalMass u / 2) * (p.value : ℝ) ≤ positiveArea u * (positiveEnergy u / (4 * Real.pi))) : PositiveBandPriceControls ps u K := by exact ⟨fun hx => physical_price_of_normalized _ _ _ _ (hHigh hx), fun p hp hx => physical_price_of_normalized _ _ _ _ (hP p hp hx)⟩ theorem negative_band_controls_of_normalized (ns : List Band) (u : Plane → ℝ) (K : Set Plane) (hLow : terminalBeta u K ≤ (1 : ℝ) / 16 → (OriginalMass u / 2) * (3020629 / 1000000) ≤ negativeArea u * (negativeEnergy u / (4 * Real.pi))) (hN : ∀ n ∈ ns, terminalBeta u K ≤ (n.hi : ℝ) → (OriginalMass u / 2) * (n.value : ℝ) ≤ negativeArea u * (negativeEnergy u / (4 * Real.pi))) : NegativeBandPriceControls ns u K := by exact ⟨fun hb => physical_price_of_normalized _ _ _ _ (hLow hb), fun n hn hb => physical_price_of_normalized _ _ _ _ (hN n hn hb)⟩ theorem selected_profile_energy_of_band_controls (ps ns : List Band) (hps : checkBands (1 / 64) (7 / 50) ps = true) (hns : checkBands (1 / 16) (14 / 25) ns = true) (hgrid : checkGrid ns ps = true) {Ω : PlanarLipschitzDomain} {u : Plane → ℝ} (hu : IsTestFunction Ω.carrier u) (hm : 0 < OriginalMass u) {τ : ℝ} {K : Set Plane} (h : SelectedProfileConditions u τ K) (hP : PositiveBandPriceControls ps u K) (hN : NegativeBandPriceControls ns u K) : 16 * Real.pi * OriginalMass u ≤ area Ω.carrier * OriginalEnergy u := by have hp := actual_physical_scalar_inputs hu hm h have hs := completeScalar_energy ps ns hps hns hgrid (terminalX u K) (terminalBeta u K) (positiveArea u) (negativeArea u) (area Ω.carrier) (physicalScale u) (positiveEnergy u) (negativeEnergy u) hp.positive_area_pos hp.negative_area_pos hp.areas_le hp.scale_nonneg hp.positive_energy_nonneg hp.negative_energy_nonneg hp.x_nonneg hp.beta_pos hp.ratio hp.positive_fk hp.negative_fk hP.high_x hN.low_beta hP.bands hN.bands calc 16 * Real.pi * OriginalMass u = 8 * physicalScale u := by dsimp [physicalScale]; ring _ ≤ area Ω.carrier * (positiveEnergy u + negativeEnergy u) := hs _ ≤ area Ω.carrier * OriginalEnergy u := mul_le_mul_of_nonneg_left hp.energy_budget (area_pos Ω).le /-- Exact s06 endpoint. All physical area, mass and FK premises have been discharged; only the two actual band-control Props and the fully checked arithmetic tables remain explicit. -/ theorem selectedProfileEnergy_of_checked_bands (ps ns : List Band) (hps : checkBands (1 / 64) (7 / 50) ps = true) (hns : checkBands (1 / 16) (14 / 25) ns = true) (hgrid : checkGrid ns ps = true) (hP : ActualPositiveBandPrices ps) (hN : ActualNegativeBandPrices ns) : SelectedProfileEnergy := by intro Ω u hu hm τ K h exact selected_profile_energy_of_band_controls ps ns hps hns hgrid hu hm h (hP Ω u hu hm τ K h) (hN Ω u hu hm τ K h) end Polya26.SelectedProfileAssembly end end /- END M080 -/ /- BEGIN M081 -/ section namespace QuantileFiniteCertificate.TangentData def n0 : TangentTree := .leaf 1 (1 / 16) (1 / 16) def n1 : TangentTree := .leaf 1 (1 / 8) (1 / 8) def n2 : TangentTree := .cutT (1 / 16) n0 n1 def n3 : TangentTree := .leaf 1 (1 / 4) (1 / 4) def n4 : TangentTree := .cutT (1 / 8) n2 n3 def n5 : TangentTree := .leaf (1 / 2) (101 / 128) 1 def n6 : TangentTree := .cutT (1 / 4) n4 n5 def n7 : TangentTree := .cutT (1 / 8) n1 n3 def n8 : TangentTree := .cutT (1 / 16) n0 n7 def n9 : TangentTree := .leaf 1 (83 / 128) (83 / 128) def n10 : TangentTree := .cutT (1 / 4) n8 n9 def n11 : TangentTree := .leaf (9 / 16) (49 / 64) 1 def n12 : TangentTree := .cutT (1 / 4) n4 n11 def n13 : TangentTree := .leaf 1 (1 / 32) (1 / 32) def n14 : TangentTree := .cutT (1 / 32) n13 n0 def n15 : TangentTree := .cutR (3 / 4) n14 n14 def n16 : TangentTree := .cutT (1 / 16) n15 n1 def n17 : TangentTree := .leaf 1 (3 / 16) (3 / 16) def n18 : TangentTree := .cutT (3 / 16) n17 n3 def n19 : TangentTree := .cutT (1 / 8) n16 n18 def n20 : TangentTree := .leaf (3 / 4) (1 / 2) (1 / 2) def n21 : TangentTree := .leaf (1 / 2) (51 / 64) 1 def n22 : TangentTree := .cutT (1 / 2) n20 n21 def n23 : TangentTree := .cutT (1 / 4) n19 n22 def n24 : TangentTree := .cutT (1 / 16) n14 n7 def n25 : TangentTree := .leaf 1 (21 / 32) (21 / 32) def n26 : TangentTree := .cutT (1 / 4) n24 n25 def n27 : TangentTree := .leaf (5 / 8) (1 / 2) (1 / 2) def n28 : TangentTree := .leaf (1 / 2) (103 / 128) 1 def n29 : TangentTree := .cutT (1 / 2) n27 n28 def n30 : TangentTree := .cutT (1 / 4) n19 n29 def n31 : TangentTree := .leaf 1 (85 / 128) (85 / 128) def n32 : TangentTree := .cutT (1 / 4) n24 n31 def n33 : TangentTree := .leaf (3 / 4) (3 / 8) (3 / 8) def n34 : TangentTree := .cutT (3 / 8) n33 n20 def n35 : TangentTree := .leaf (17 / 32) (51 / 64) 1 def n36 : TangentTree := .cutT (1 / 2) n34 n35 def n37 : TangentTree := .cutT (1 / 4) n19 n36 def n38 : TangentTree := .cutT (3 / 8) n33 n27 def n39 : TangentTree := .leaf 1 (43 / 64) (99 / 128) def n40 : TangentTree := .leaf (1 / 2) (91 / 128) 1 def n41 : TangentTree := .cutR (5 / 8) n39 n40 def n42 : TangentTree := .cutT (1 / 2) n38 n41 def n43 : TangentTree := .cutT (1 / 4) n19 n42 def n44 : TangentTree := .cutT (1 / 8) n1 n18 def n45 : TangentTree := .cutT (1 / 16) n14 n44 def n46 : TangentTree := .leaf 1 (43 / 64) (43 / 64) def n47 : TangentTree := .cutT (1 / 4) n45 n46 def n48 : TangentTree := .leaf 1 (1 / 64) (1 / 64) def n49 : TangentTree := .cutT (1 / 64) n48 n13 def n50 : TangentTree := .cutR (5 / 8) n49 n49 def n51 : TangentTree := .cutT (1 / 32) n50 n0 def n52 : TangentTree := .cutR (7 / 8) n49 n49 def n53 : TangentTree := .cutT (1 / 32) n52 n0 def n54 : TangentTree := .cutR (3 / 4) n51 n53 def n55 : TangentTree := .leaf 1 (3 / 32) (3 / 32) def n56 : TangentTree := .cutT (3 / 32) n55 n1 def n57 : TangentTree := .cutR (13 / 16) n56 n56 def n58 : TangentTree := .cutR (5 / 8) n1 n57 def n59 : TangentTree := .cutT (1 / 16) n54 n58 def n60 : TangentTree := .leaf (7 / 8) (1 / 4) (1 / 4) def n61 : TangentTree := .cutT (3 / 16) n17 n60 def n62 : TangentTree := .cutT (1 / 8) n59 n61 def n63 : TangentTree := .leaf (11 / 16) (3 / 8) (3 / 8) def n64 : TangentTree := .cutT (3 / 8) n63 n27 def n65 : TangentTree := .leaf 1 (43 / 64) (25 / 32) def n66 : TangentTree := .leaf (3 / 8) (99 / 128) 1 def n67 : TangentTree := .cutR (5 / 8) n65 n66 def n68 : TangentTree := .cutT (1 / 2) n64 n67 def n69 : TangentTree := .cutT (1 / 4) n62 n68 def n70 : TangentTree := .cutT (1 / 32) n49 n0 def n71 : TangentTree := .cutT (1 / 16) n70 n44 def n72 : TangentTree := .cutT (1 / 4) n71 n46 def n73 : TangentTree := .cutR (3 / 4) n56 n56 def n74 : TangentTree := .cutT (1 / 16) n54 n73 def n75 : TangentTree := .leaf 1 (5 / 32) (5 / 32) def n76 : TangentTree := .cutT (5 / 32) n75 n17 def n77 : TangentTree := .cutR (3 / 4) n17 n76 def n78 : TangentTree := .leaf 1 (7 / 32) (7 / 32) def n79 : TangentTree := .cutT (7 / 32) n78 n3 def n80 : TangentTree := .cutR (3 / 4) n3 n79 def n81 : TangentTree := .cutT (3 / 16) n77 n80 def n82 : TangentTree := .cutT (1 / 8) n74 n81 def n83 : TangentTree := .leaf (3 / 4) (5 / 16) (5 / 16) def n84 : TangentTree := .cutT (5 / 16) n83 n33 def n85 : TangentTree := .leaf 1 (1 / 2) (1 / 2) def n86 : TangentTree := .leaf (1 / 2) (1 / 2) (1 / 2) def n87 : TangentTree := .cutR (5 / 8) n85 n86 def n88 : TangentTree := .cutT (3 / 8) n84 n87 def n89 : TangentTree := .leaf 1 (87 / 128) (101 / 128) def n90 : TangentTree := .cutR (5 / 8) n89 n66 def n91 : TangentTree := .cutT (1 / 2) n88 n90 def n92 : TangentTree := .cutT (1 / 4) n82 n91 def n93 : TangentTree := .cutT (1 / 8) n56 n18 def n94 : TangentTree := .cutT (1 / 16) n70 n93 def n95 : TangentTree := .leaf 1 (87 / 128) (87 / 128) def n96 : TangentTree := .cutT (1 / 4) n94 n95 def n97 : TangentTree := .cutT (5 / 16) n83 n63 def n98 : TangentTree := .cutT (3 / 8) n97 n87 def n99 : TangentTree := .leaf (3 / 8) (25 / 32) 1 def n100 : TangentTree := .cutR (5 / 8) n89 n99 def n101 : TangentTree := .cutT (1 / 2) n98 n100 def n102 : TangentTree := .cutT (1 / 4) n82 n101 def n103 : TangentTree := .cutR (13 / 16) n76 n76 def n104 : TangentTree := .cutR (5 / 8) n17 n103 def n105 : TangentTree := .leaf (3 / 4) (1 / 4) (1 / 4) def n106 : TangentTree := .cutT (7 / 32) n78 n105 def n107 : TangentTree := .cutR (3 / 4) n3 n106 def n108 : TangentTree := .cutT (3 / 16) n104 n107 def n109 : TangentTree := .cutT (1 / 8) n74 n108 def n110 : TangentTree := .leaf (23 / 32) (5 / 16) (5 / 16) def n111 : TangentTree := .cutT (5 / 16) n110 n63 def n112 : TangentTree := .cutT (3 / 8) n111 n87 def n113 : TangentTree := .leaf 1 (11 / 16) (51 / 64) def n114 : TangentTree := .leaf (13 / 32) (99 / 128) 1 def n115 : TangentTree := .cutR (5 / 8) n113 n114 def n116 : TangentTree := .cutT (1 / 2) n112 n115 def n117 : TangentTree := .cutT (1 / 4) n109 n116 def n118 : TangentTree := .cutT (1 / 16) n70 n56 def n119 : TangentTree := .cutT (1 / 8) n118 n18 def n120 : TangentTree := .leaf 1 (11 / 16) (11 / 16) def n121 : TangentTree := .cutT (1 / 4) n119 n120 def n122 : TangentTree := .leaf 1 (1 / 128) (1 / 128) def n123 : TangentTree := .cutT (1 / 128) n122 n48 def n124 : TangentTree := .cutR (9 / 16) n123 n123 def n125 : TangentTree := .cutT (1 / 64) n124 n13 def n126 : TangentTree := .cutR (11 / 16) n123 n123 def n127 : TangentTree := .cutT (1 / 64) n126 n13 def n128 : TangentTree := .cutR (5 / 8) n125 n127 def n129 : TangentTree := .leaf 1 (3 / 64) (3 / 64) def n130 : TangentTree := .cutT (3 / 64) n129 n0 def n131 : TangentTree := .cutR (21 / 32) n130 n130 def n132 : TangentTree := .cutR (9 / 16) n0 n131 def n133 : TangentTree := .cutT (1 / 32) n128 n132 def n134 : TangentTree := .cutR (13 / 16) n123 n123 def n135 : TangentTree := .cutT (1 / 64) n134 n13 def n136 : TangentTree := .cutR (15 / 16) n123 n123 def n137 : TangentTree := .cutT (1 / 64) n136 n13 def n138 : TangentTree := .cutR (7 / 8) n135 n137 def n139 : TangentTree := .cutR (7 / 8) n130 n130 def n140 : TangentTree := .cutT (1 / 32) n138 n139 def n141 : TangentTree := .cutR (3 / 4) n133 n140 def n142 : TangentTree := .cutT (1 / 16) n141 n73 def n143 : TangentTree := .cutR (3 / 4) n76 n76 def n144 : TangentTree := .leaf 1 (13 / 64) (13 / 64) def n145 : TangentTree := .cutT (13 / 64) n144 n78 def n146 : TangentTree := .cutR (29 / 32) n78 n145 def n147 : TangentTree := .cutT (7 / 32) n146 n105 def n148 : TangentTree := .cutR (13 / 16) n79 n147 def n149 : TangentTree := .cutR (5 / 8) n3 n148 def n150 : TangentTree := .cutT (3 / 16) n143 n149 def n151 : TangentTree := .cutT (1 / 8) n142 n150 def n152 : TangentTree := .leaf 1 (5 / 16) (5 / 16) def n153 : TangentTree := .leaf (5 / 8) (5 / 16) (5 / 16) def n154 : TangentTree := .cutR (3 / 4) n152 n153 def n155 : TangentTree := .leaf 1 (3 / 8) (3 / 8) def n156 : TangentTree := .leaf (5 / 8) (3 / 8) (3 / 8) def n157 : TangentTree := .cutR (5 / 8) n155 n156 def n158 : TangentTree := .cutT (5 / 16) n154 n157 def n159 : TangentTree := .cutT (3 / 8) n158 n87 def n160 : TangentTree := .leaf (3 / 4) (3 / 4) (47 / 64) def n161 : TangentTree := .leaf (1 / 2) (93 / 128) (99 / 128) def n162 : TangentTree := .leaf (1 / 4) (3 / 4) 1 def n163 : TangentTree := .cutR (3 / 4) n161 n162 def n164 : TangentTree := .cutR (5 / 8) n160 n163 def n165 : TangentTree := .cutT (1 / 2) n159 n164 def n166 : TangentTree := .cutT (1 / 4) n151 n165 def n167 : TangentTree := .cutT (1 / 64) n123 n13 def n168 : TangentTree := .cutT (1 / 32) n167 n0 def n169 : TangentTree := .cutT (1 / 16) n168 n56 def n170 : TangentTree := .cutT (1 / 8) n169 n18 def n171 : TangentTree := .cutT (1 / 2) n85 n120 def n172 : TangentTree := .cutT (1 / 4) n170 n171 def n173 : TangentTree := .cutR (5 / 8) n130 n130 def n174 : TangentTree := .cutT (1 / 32) n128 n173 def n175 : TangentTree := .cutR (3 / 4) n174 n140 def n176 : TangentTree := .cutT (1 / 16) n175 n73 def n177 : TangentTree := .leaf 1 (15 / 64) (15 / 64) def n178 : TangentTree := .cutT (15 / 64) n177 n3 def n179 : TangentTree := .cutR (55 / 64) n3 n178 def n180 : TangentTree := .cutT (7 / 32) n78 n179 def n181 : TangentTree := .cutR (25 / 32) n79 n180 def n182 : TangentTree := .leaf (1 / 2) (1 / 4) (1 / 4) def n183 : TangentTree := .cutT (15 / 64) n177 n182 def n184 : TangentTree := .cutT (7 / 32) n145 n183 def n185 : TangentTree := .cutR (15 / 16) n181 n184 def n186 : TangentTree := .cutR (5 / 8) n3 n185 def n187 : TangentTree := .cutT (3 / 16) n143 n186 def n188 : TangentTree := .cutT (1 / 8) n176 n187 def n189 : TangentTree := .leaf (9 / 16) (3 / 8) (3 / 8) def n190 : TangentTree := .cutR (5 / 8) n155 n189 def n191 : TangentTree := .cutT (5 / 16) n154 n190 def n192 : TangentTree := .leaf (1 / 2) (7 / 16) (7 / 16) def n193 : TangentTree := .cutT (7 / 16) n192 n86 def n194 : TangentTree := .cutR (5 / 8) n85 n193 def n195 : TangentTree := .cutT (3 / 8) n191 n194 def n196 : TangentTree := .leaf (4 / 5) (95 / 128) (97 / 128) def n197 : TangentTree := .leaf (1 / 2) (47 / 64) (25 / 32) def n198 : TangentTree := .leaf (1 / 4) (97 / 128) 1 def n199 : TangentTree := .cutR (3 / 4) n197 n198 def n200 : TangentTree := .cutR (5 / 8) n196 n199 def n201 : TangentTree := .cutT (1 / 2) n195 n200 def n202 : TangentTree := .cutT (1 / 4) n188 n201 def n203 : TangentTree := .cutT (1 / 32) n167 n130 def n204 : TangentTree := .cutT (1 / 16) n203 n56 def n205 : TangentTree := .cutT (1 / 8) n204 n18 def n206 : TangentTree := .leaf 1 (89 / 128) (89 / 128) def n207 : TangentTree := .cutT (1 / 2) n85 n206 def n208 : TangentTree := .cutT (1 / 4) n205 n207 def n209 : TangentTree := .leaf 1 (11 / 64) (11 / 64) def n210 : TangentTree := .cutT (11 / 64) n209 n17 def n211 : TangentTree := .cutR (7 / 8) n17 n210 def n212 : TangentTree := .cutT (5 / 32) n75 n211 def n213 : TangentTree := .cutR (3 / 4) n76 n212 def n214 : TangentTree := .cutR (55 / 64) n78 n145 def n215 : TangentTree := .cutR (29 / 32) n178 n183 def n216 : TangentTree := .cutT (7 / 32) n214 n215 def n217 : TangentTree := .cutR (25 / 32) n79 n216 def n218 : TangentTree := .leaf (1 / 2) (15 / 64) (15 / 64) def n219 : TangentTree := .cutT (15 / 64) n218 n182 def n220 : TangentTree := .cutT (7 / 32) n145 n219 def n221 : TangentTree := .cutR (15 / 16) n217 n220 def n222 : TangentTree := .cutR (5 / 8) n3 n221 def n223 : TangentTree := .cutT (3 / 16) n213 n222 def n224 : TangentTree := .cutT (1 / 8) n176 n223 def n225 : TangentTree := .leaf 1 (11 / 32) (11 / 32) def n226 : TangentTree := .cutT (11 / 32) n225 n33 def n227 : TangentTree := .cutT (5 / 16) n152 n226 def n228 : TangentTree := .leaf (7 / 8) (1 / 2) (1 / 2) def n229 : TangentTree := .leaf (9 / 16) (1 / 2) (1 / 2) def n230 : TangentTree := .cutR (5 / 8) n228 n229 def n231 : TangentTree := .cutT (3 / 8) n227 n230 def n232 : TangentTree := .leaf (4 / 5) (3 / 4) (97 / 128) def n233 : TangentTree := .leaf (1 / 2) (47 / 64) (101 / 128) def n234 : TangentTree := .cutR (5 / 8) n232 n233 def n235 : TangentTree := .cutT (1 / 2) n231 n234 def n236 : TangentTree := .leaf (5 / 8) (9 / 32) (9 / 32) def n237 : TangentTree := .leaf (1 / 2) (5 / 16) (5 / 16) def n238 : TangentTree := .cutT (9 / 32) n236 n237 def n239 : TangentTree := .leaf (1 / 2) (3 / 8) (3 / 8) def n240 : TangentTree := .leaf (1 / 4) (1 / 2) (1 / 2) def n241 : TangentTree := .cutT (3 / 8) n239 n240 def n242 : TangentTree := .cutT (5 / 16) n238 n241 def n243 : TangentTree := .cutT (1 / 2) n242 n198 def n244 : TangentTree := .cutR (3 / 4) n235 n243 def n245 : TangentTree := .cutT (1 / 4) n224 n244 def n246 : TangentTree := .cutT (3 / 16) n76 n3 def n247 : TangentTree := .cutT (1 / 8) n204 n246 def n248 : TangentTree := .cutT (3 / 8) n155 n85 def n249 : TangentTree := .cutT (1 / 2) n248 n206 def n250 : TangentTree := .cutT (1 / 4) n247 n249 def n251 : TangentTree := .leaf 1 (5 / 64) (5 / 64) def n252 : TangentTree := .cutT (5 / 64) n251 n55 def n253 : TangentTree := .cutR (7 / 8) n55 n252 def n254 : TangentTree := .cutT (3 / 32) n253 n1 def n255 : TangentTree := .cutR (3 / 4) n56 n254 def n256 : TangentTree := .cutT (1 / 16) n175 n255 def n257 : TangentTree := .leaf 1 (9 / 64) (9 / 64) def n258 : TangentTree := .cutT (9 / 64) n257 n75 def n259 : TangentTree := .cutR (7 / 8) n75 n258 def n260 : TangentTree := .cutT (5 / 32) n259 n211 def n261 : TangentTree := .cutR (3 / 4) n76 n260 def n262 : TangentTree := .cutR (25 / 32) n78 n145 def n263 : TangentTree := .cutR (25 / 32) n3 n178 def n264 : TangentTree := .cutT (7 / 32) n262 n263 def n265 : TangentTree := .cutR (11 / 16) n79 n264 def n266 : TangentTree := .leaf (3 / 4) (7 / 32) (7 / 32) def n267 : TangentTree := .cutT (13 / 64) n144 n266 def n268 : TangentTree := .leaf (3 / 4) (15 / 64) (15 / 64) def n269 : TangentTree := .cutT (15 / 64) n268 n105 def n270 : TangentTree := .cutT (7 / 32) n267 n269 def n271 : TangentTree := .cutR (7 / 8) n265 n270 def n272 : TangentTree := .cutT (3 / 16) n261 n271 def n273 : TangentTree := .cutT (1 / 8) n256 n272 def n274 : TangentTree := .leaf 1 (9 / 32) (9 / 32) def n275 : TangentTree := .cutT (9 / 32) n274 n152 def n276 : TangentTree := .leaf (3 / 4) (11 / 32) (11 / 32) def n277 : TangentTree := .cutT (11 / 32) n276 n33 def n278 : TangentTree := .cutT (5 / 16) n275 n277 def n279 : TangentTree := .leaf 1 (7 / 16) (7 / 16) def n280 : TangentTree := .cutT (7 / 16) n279 n85 def n281 : TangentTree := .leaf (5 / 8) (7 / 16) (7 / 16) def n282 : TangentTree := .cutT (7 / 16) n281 n86 def n283 : TangentTree := .cutR (5 / 8) n280 n282 def n284 : TangentTree := .cutT (3 / 8) n278 n283 def n285 : TangentTree := .leaf 1 (45 / 64) (97 / 128) def n286 : TangentTree := .leaf (3 / 4) (91 / 128) (3 / 4) def n287 : TangentTree := .cutR (9 / 16) n285 n286 def n288 : TangentTree := .leaf (1 / 2) (95 / 128) (101 / 128) def n289 : TangentTree := .cutR (5 / 8) n287 n288 def n290 : TangentTree := .cutT (1 / 2) n284 n289 def n291 : TangentTree := .leaf (1 / 4) (49 / 64) 1 def n292 : TangentTree := .cutT (1 / 2) n242 n291 def n293 : TangentTree := .cutR (3 / 4) n290 n292 def n294 : TangentTree := .cutT (1 / 4) n273 n293 def n295 : TangentTree := .leaf 1 (45 / 64) (45 / 64) def n296 : TangentTree := .cutT (1 / 2) n248 n295 def n297 : TangentTree := .cutT (1 / 4) n247 n296 def n298 : TangentTree := .leaf 1 (27 / 128) (27 / 128) def n299 : TangentTree := .cutT (27 / 128) n298 n78 def n300 : TangentTree := .cutR (15 / 16) n78 n299 def n301 : TangentTree := .cutR (29 / 32) n78 n300 def n302 : TangentTree := .cutT (13 / 64) n144 n301 def n303 : TangentTree := .leaf (11 / 16) (15 / 64) (15 / 64) def n304 : TangentTree := .leaf (5 / 8) (1 / 4) (1 / 4) def n305 : TangentTree := .cutT (15 / 64) n303 n304 def n306 : TangentTree := .cutT (7 / 32) n302 n305 def n307 : TangentTree := .cutR (7 / 8) n265 n306 def n308 : TangentTree := .cutT (3 / 16) n261 n307 def n309 : TangentTree := .cutT (1 / 8) n256 n308 def n310 : TangentTree := .leaf (4 / 5) (1 / 2) (1 / 2) def n311 : TangentTree := .cutT (7 / 16) n279 n310 def n312 : TangentTree := .cutR (5 / 8) n311 n282 def n313 : TangentTree := .cutT (3 / 8) n278 n312 def n314 : TangentTree := .leaf (3 / 4) (91 / 128) (97 / 128) def n315 : TangentTree := .cutR (9 / 16) n285 n314 def n316 : TangentTree := .leaf (17 / 32) (47 / 64) (103 / 128) def n317 : TangentTree := .cutR (5 / 8) n315 n316 def n318 : TangentTree := .cutT (1 / 2) n313 n317 def n319 : TangentTree := .cutR (3 / 4) n318 n292 def n320 : TangentTree := .cutT (1 / 4) n309 n319 def n321 : TangentTree := .leaf 1 (7 / 64) (7 / 64) def n322 : TangentTree := .cutT (7 / 64) n321 n1 def n323 : TangentTree := .cutR (7 / 8) n1 n322 def n324 : TangentTree := .cutT (3 / 32) n253 n323 def n325 : TangentTree := .cutR (3 / 4) n56 n324 def n326 : TangentTree := .cutT (1 / 16) n175 n325 def n327 : TangentTree := .leaf 1 (31 / 128) (31 / 128) def n328 : TangentTree := .cutT (31 / 128) n327 n3 def n329 : TangentTree := .cutR (27 / 32) n3 n328 def n330 : TangentTree := .cutT (15 / 64) n177 n329 def n331 : TangentTree := .cutR (3 / 4) n3 n330 def n332 : TangentTree := .cutT (7 / 32) n262 n331 def n333 : TangentTree := .cutR (11 / 16) n79 n332 def n334 : TangentTree := .leaf 1 (25 / 128) (25 / 128) def n335 : TangentTree := .cutT (25 / 128) n334 n144 def n336 : TangentTree := .cutR (15 / 16) n144 n335 def n337 : TangentTree := .cutT (27 / 128) n298 n266 def n338 : TangentTree := .cutR (15 / 16) n78 n337 def n339 : TangentTree := .cutR (29 / 32) n78 n338 def n340 : TangentTree := .cutT (13 / 64) n336 n339 def n341 : TangentTree := .leaf 1 (29 / 128) (29 / 128) def n342 : TangentTree := .cutT (29 / 128) n341 n177 def n343 : TangentTree := .leaf (1 / 2) (29 / 128) (29 / 128) def n344 : TangentTree := .cutT (29 / 128) n343 n218 def n345 : TangentTree := .cutR (15 / 16) n342 n344 def n346 : TangentTree := .leaf (1 / 2) (31 / 128) (31 / 128) def n347 : TangentTree := .cutT (31 / 128) n346 n182 def n348 : TangentTree := .cutR (57 / 64) n328 n347 def n349 : TangentTree := .cutR (61 / 64) n348 n182 def n350 : TangentTree := .cutR (31 / 32) n349 n182 def n351 : TangentTree := .cutT (15 / 64) n345 n350 def n352 : TangentTree := .cutT (7 / 32) n340 n351 def n353 : TangentTree := .cutR (7 / 8) n333 n352 def n354 : TangentTree := .cutT (3 / 16) n261 n353 def n355 : TangentTree := .cutT (1 / 8) n326 n354 def n356 : TangentTree := .leaf (25 / 32) (11 / 32) (11 / 32) def n357 : TangentTree := .cutT (11 / 32) n356 n157 def n358 : TangentTree := .cutT (5 / 16) n275 n357 def n359 : TangentTree := .leaf (9 / 16) (7 / 16) (7 / 16) def n360 : TangentTree := .cutT (7 / 16) n359 n229 def n361 : TangentTree := .cutR (5 / 8) n311 n360 def n362 : TangentTree := .cutT (3 / 8) n358 n361 def n363 : TangentTree := .leaf (7 / 8) (95 / 128) (47 / 64) def n364 : TangentTree := .leaf (23 / 32) (93 / 128) (3 / 4) def n365 : TangentTree := .cutR (9 / 16) n363 n364 def n366 : TangentTree := .leaf (4 / 7) (23 / 32) (93 / 128) def n367 : TangentTree := .leaf (1 / 2) (23 / 32) (51 / 64) def n368 : TangentTree := .cutR (21 / 32) n366 n367 def n369 : TangentTree := .cutR (5 / 8) n365 n368 def n370 : TangentTree := .cutT (1 / 2) n362 n369 def n371 : TangentTree := .leaf (3 / 4) (17 / 64) (17 / 64) def n372 : TangentTree := .leaf (1 / 2) (9 / 32) (9 / 32) def n373 : TangentTree := .cutT (17 / 64) n371 n372 def n374 : TangentTree := .cutR (7 / 8) n373 n372 def n375 : TangentTree := .cutT (9 / 32) n374 n237 def n376 : TangentTree := .leaf (3 / 8) (3 / 8) (3 / 8) def n377 : TangentTree := .cutT (3 / 8) n376 n240 def n378 : TangentTree := .cutT (5 / 16) n375 n377 def n379 : TangentTree := .leaf (1 / 4) (99 / 128) 1 def n380 : TangentTree := .cutT (1 / 2) n378 n379 def n381 : TangentTree := .cutR (3 / 4) n370 n380 def n382 : TangentTree := .cutT (1 / 4) n355 n381 def n383 : TangentTree := .leaf 1 (91 / 128) (91 / 128) def n384 : TangentTree := .cutT (1 / 2) n248 n383 def n385 : TangentTree := .cutT (1 / 4) n247 n384 def n386 : TangentTree := .cutR (29 / 32) n210 n210 def n387 : TangentTree := .cutR (13 / 16) n17 n386 def n388 : TangentTree := .cutT (5 / 32) n259 n387 def n389 : TangentTree := .cutR (3 / 4) n76 n388 def n390 : TangentTree := .leaf (3 / 4) (27 / 128) (27 / 128) def n391 : TangentTree := .cutT (27 / 128) n390 n266 def n392 : TangentTree := .cutR (15 / 16) n299 n391 def n393 : TangentTree := .cutR (29 / 32) n78 n392 def n394 : TangentTree := .cutT (13 / 64) n336 n393 def n395 : TangentTree := .cutR (7 / 8) n145 n394 def n396 : TangentTree := .cutT (29 / 128) n341 n268 def n397 : TangentTree := .cutR (7 / 8) n177 n396 def n398 : TangentTree := .leaf (15 / 16) (1 / 4) (1 / 4) def n399 : TangentTree := .leaf (3 / 4) (31 / 128) (31 / 128) def n400 : TangentTree := .cutT (31 / 128) n399 n105 def n401 : TangentTree := .cutR (27 / 32) n398 n400 def n402 : TangentTree := .cutR (29 / 32) n401 n347 def n403 : TangentTree := .cutT (15 / 64) n397 n402 def n404 : TangentTree := .cutR (13 / 16) n178 n403 def n405 : TangentTree := .leaf (3 / 4) (29 / 128) (29 / 128) def n406 : TangentTree := .cutT (29 / 128) n405 n218 def n407 : TangentTree := .cutT (15 / 64) n406 n347 def n408 : TangentTree := .cutR (15 / 16) n404 n407 def n409 : TangentTree := .cutT (7 / 32) n395 n408 def n410 : TangentTree := .cutR (3 / 4) n79 n409 def n411 : TangentTree := .cutT (3 / 16) n389 n410 def n412 : TangentTree := .cutT (1 / 8) n326 n411 def n413 : TangentTree := .leaf (25 / 32) (5 / 16) (5 / 16) def n414 : TangentTree := .cutT (9 / 32) n274 n413 def n415 : TangentTree := .leaf (1 / 2) (11 / 32) (11 / 32) def n416 : TangentTree := .cutR (11 / 16) n225 n415 def n417 : TangentTree := .cutT (11 / 32) n416 n157 def n418 : TangentTree := .cutT (5 / 16) n414 n417 def n419 : TangentTree := .leaf (7 / 8) (7 / 16) (7 / 16) def n420 : TangentTree := .leaf (27 / 32) (1 / 2) (1 / 2) def n421 : TangentTree := .cutT (7 / 16) n419 n420 def n422 : TangentTree := .cutR (5 / 8) n421 n360 def n423 : TangentTree := .cutT (3 / 8) n418 n422 def n424 : TangentTree := .leaf (8 / 9) (95 / 128) (95 / 128) def n425 : TangentTree := .leaf (3 / 4) (23 / 32) (47 / 64) def n426 : TangentTree := .leaf (11 / 16) (91 / 128) (95 / 128) def n427 : TangentTree := .cutR (19 / 32) n425 n426 def n428 : TangentTree := .cutR (9 / 16) n424 n427 def n429 : TangentTree := .leaf (4 / 7) (93 / 128) (47 / 64) def n430 : TangentTree := .leaf (1 / 2) (93 / 128) (103 / 128) def n431 : TangentTree := .cutR (21 / 32) n429 n430 def n432 : TangentTree := .cutR (5 / 8) n428 n431 def n433 : TangentTree := .cutT (1 / 2) n423 n432 def n434 : TangentTree := .leaf (3 / 4) (9 / 32) (9 / 32) def n435 : TangentTree := .cutT (17 / 64) n371 n434 def n436 : TangentTree := .leaf (1 / 2) (17 / 64) (17 / 64) def n437 : TangentTree := .cutT (17 / 64) n436 n372 def n438 : TangentTree := .cutR (7 / 8) n435 n437 def n439 : TangentTree := .leaf 1 (19 / 64) (19 / 64) def n440 : TangentTree := .cutT (19 / 64) n439 n237 def n441 : TangentTree := .leaf (9 / 16) (5 / 16) (5 / 16) def n442 : TangentTree := .cutR (25 / 32) n440 n441 def n443 : TangentTree := .cutR (29 / 32) n442 n237 def n444 : TangentTree := .cutR (15 / 16) n443 n237 def n445 : TangentTree := .cutT (9 / 32) n438 n444 def n446 : TangentTree := .leaf (1 / 2) (21 / 64) (21 / 64) def n447 : TangentTree := .cutT (21 / 64) n446 n239 def n448 : TangentTree := .leaf (3 / 8) (1 / 2) (1 / 2) def n449 : TangentTree := .cutT (3 / 8) n447 n448 def n450 : TangentTree := .cutT (5 / 16) n445 n449 def n451 : TangentTree := .cutT (1 / 2) n450 n379 def n452 : TangentTree := .cutR (3 / 4) n433 n451 def n453 : TangentTree := .cutT (1 / 4) n412 n452 def n454 : TangentTree := .cutR (5 / 8) n3 n178 def n455 : TangentTree := .cutT (7 / 32) n78 n454 def n456 : TangentTree := .cutR (121 / 128) n299 n337 def n457 : TangentTree := .cutR (63 / 64) n456 n391 def n458 : TangentTree := .cutR (29 / 32) n78 n457 def n459 : TangentTree := .cutT (13 / 64) n336 n458 def n460 : TangentTree := .cutR (7 / 8) n145 n459 def n461 : TangentTree := .cutT (29 / 128) n405 n268 def n462 : TangentTree := .cutR (7 / 8) n342 n461 def n463 : TangentTree := .cutR (27 / 32) n177 n462 def n464 : TangentTree := .cutR (27 / 32) n328 n400 def n465 : TangentTree := .cutT (31 / 128) n399 n182 def n466 : TangentTree := .cutR (29 / 32) n464 n465 def n467 : TangentTree := .cutT (15 / 64) n463 n466 def n468 : TangentTree := .cutR (13 / 16) n178 n467 def n469 : TangentTree := .cutR (15 / 16) n468 n407 def n470 : TangentTree := .cutT (7 / 32) n460 n469 def n471 : TangentTree := .cutR (3 / 4) n455 n470 def n472 : TangentTree := .cutT (3 / 16) n389 n471 def n473 : TangentTree := .cutT (1 / 8) n326 n472 def n474 : TangentTree := .cutT (19 / 64) n439 n83 def n475 : TangentTree := .cutR (5 / 8) n152 n474 def n476 : TangentTree := .cutT (9 / 32) n274 n475 def n477 : TangentTree := .cutT (5 / 16) n476 n417 def n478 : TangentTree := .leaf 1 (13 / 32) (13 / 32) def n479 : TangentTree := .cutT (13 / 32) n478 n279 def n480 : TangentTree := .cutR (9 / 16) n85 n20 def n481 : TangentTree := .cutT (7 / 16) n479 n480 def n482 : TangentTree := .leaf (5 / 8) (13 / 32) (13 / 32) def n483 : TangentTree := .cutT (13 / 32) n482 n281 def n484 : TangentTree := .cutT (7 / 16) n483 n229 def n485 : TangentTree := .cutR (5 / 8) n481 n484 def n486 : TangentTree := .cutT (3 / 8) n477 n485 def n487 : TangentTree := .leaf (7 / 8) (5 / 8) (5 / 8) def n488 : TangentTree := .leaf 1 (23 / 32) (99 / 128) def n489 : TangentTree := .cutT (5 / 8) n487 n488 def n490 : TangentTree := .leaf (3 / 4) (93 / 128) (47 / 64) def n491 : TangentTree := .leaf (13 / 20) (93 / 128) (47 / 64) def n492 : TangentTree := .cutR (19 / 32) n490 n491 def n493 : TangentTree := .cutR (9 / 16) n489 n492 def n494 : TangentTree := .leaf (15 / 32) (95 / 128) (101 / 128) def n495 : TangentTree := .cutR (21 / 32) n429 n494 def n496 : TangentTree := .cutR (5 / 8) n493 n495 def n497 : TangentTree := .cutT (1 / 2) n486 n496 def n498 : TangentTree := .leaf 1 (17 / 64) (17 / 64) def n499 : TangentTree := .cutT (17 / 64) n498 n434 def n500 : TangentTree := .leaf (5 / 8) (17 / 64) (17 / 64) def n501 : TangentTree := .cutT (17 / 64) n500 n372 def n502 : TangentTree := .cutR (27 / 32) n373 n501 def n503 : TangentTree := .cutR (31 / 32) n502 n372 def n504 : TangentTree := .cutR (13 / 16) n499 n503 def n505 : TangentTree := .leaf (1 / 2) (19 / 64) (19 / 64) def n506 : TangentTree := .cutT (19 / 64) n505 n237 def n507 : TangentTree := .cutR (27 / 32) n506 n237 def n508 : TangentTree := .cutR (29 / 32) n507 n237 def n509 : TangentTree := .cutR (15 / 16) n508 n237 def n510 : TangentTree := .cutT (9 / 32) n504 n509 def n511 : TangentTree := .cutT (5 / 16) n510 n449 def n512 : TangentTree := .leaf (1 / 4) (25 / 32) 1 def n513 : TangentTree := .cutT (1 / 2) n511 n512 def n514 : TangentTree := .cutR (3 / 4) n497 n513 def n515 : TangentTree := .cutT (1 / 4) n473 n514 def n516 : TangentTree := .leaf 1 (23 / 32) (23 / 32) def n517 : TangentTree := .cutT (1 / 2) n248 n516 def n518 : TangentTree := .cutT (1 / 4) n247 n517 def n519 : TangentTree := .leaf (11 / 16) (7 / 32) (7 / 32) def n520 : TangentTree := .cutT (27 / 128) n390 n519 def n521 : TangentTree := .cutR (15 / 16) n299 n520 def n522 : TangentTree := .cutR (29 / 32) n299 n521 def n523 : TangentTree := .cutT (13 / 64) n336 n522 def n524 : TangentTree := .cutR (7 / 8) n145 n523 def n525 : TangentTree := .cutR (27 / 32) n177 n396 def n526 : TangentTree := .cutT (31 / 128) n399 n304 def n527 : TangentTree := .cutR (27 / 32) n328 n526 def n528 : TangentTree := .cutT (15 / 64) n525 n527 def n529 : TangentTree := .cutR (25 / 32) n178 n528 def n530 : TangentTree := .leaf (5 / 8) (31 / 128) (31 / 128) def n531 : TangentTree := .cutT (31 / 128) n530 n182 def n532 : TangentTree := .cutT (15 / 64) n461 n531 def n533 : TangentTree := .cutR (29 / 32) n529 n532 def n534 : TangentTree := .leaf (5 / 8) (29 / 128) (29 / 128) def n535 : TangentTree := .leaf (5 / 8) (15 / 64) (15 / 64) def n536 : TangentTree := .cutT (29 / 128) n534 n535 def n537 : TangentTree := .cutT (15 / 64) n536 n347 def n538 : TangentTree := .cutR (15 / 16) n533 n537 def n539 : TangentTree := .cutT (7 / 32) n524 n538 def n540 : TangentTree := .cutR (3 / 4) n455 n539 def n541 : TangentTree := .cutT (3 / 16) n389 n540 def n542 : TangentTree := .cutT (1 / 8) n326 n541 def n543 : TangentTree := .leaf (7 / 8) (11 / 32) (11 / 32) def n544 : TangentTree := .leaf (9 / 16) (11 / 32) (11 / 32) def n545 : TangentTree := .cutR (11 / 16) n543 n544 def n546 : TangentTree := .leaf (19 / 32) (3 / 8) (3 / 8) def n547 : TangentTree := .cutR (5 / 8) n155 n546 def n548 : TangentTree := .cutT (11 / 32) n545 n547 def n549 : TangentTree := .cutT (5 / 16) n476 n548 def n550 : TangentTree := .leaf (4 / 5) (7 / 16) (7 / 16) def n551 : TangentTree := .cutT (13 / 32) n478 n550 def n552 : TangentTree := .cutT (7 / 16) n551 n480 def n553 : TangentTree := .leaf (9 / 16) (13 / 32) (13 / 32) def n554 : TangentTree := .cutT (13 / 32) n553 n359 def n555 : TangentTree := .leaf (35 / 64) (1 / 2) (1 / 2) def n556 : TangentTree := .cutT (7 / 16) n554 n555 def n557 : TangentTree := .cutR (5 / 8) n552 n556 def n558 : TangentTree := .cutT (3 / 8) n549 n557 def n559 : TangentTree := .leaf (8 / 9) (5 / 8) (5 / 8) def n560 : TangentTree := .cutT (5 / 8) n559 n488 def n561 : TangentTree := .leaf (3 / 4) (5 / 8) (5 / 8) def n562 : TangentTree := .leaf (3 / 4) (93 / 128) (95 / 128) def n563 : TangentTree := .cutT (5 / 8) n561 n562 def n564 : TangentTree := .leaf (11 / 16) (5 / 8) (5 / 8) def n565 : TangentTree := .leaf (3 / 4) (95 / 128) (99 / 128) def n566 : TangentTree := .cutT (5 / 8) n564 n565 def n567 : TangentTree := .cutR (19 / 32) n563 n566 def n568 : TangentTree := .cutR (9 / 16) n560 n567 def n569 : TangentTree := .leaf (4 / 7) (47 / 64) (95 / 128) def n570 : TangentTree := .leaf (1 / 2) (93 / 128) (95 / 128) def n571 : TangentTree := .leaf (3 / 8) (49 / 64) (3 / 4) def n572 : TangentTree := .cutR (11 / 16) n570 n571 def n573 : TangentTree := .cutR (21 / 32) n569 n572 def n574 : TangentTree := .cutR (5 / 8) n568 n573 def n575 : TangentTree := .cutT (1 / 2) n558 n574 def n576 : TangentTree := .cutR (15 / 16) n501 n372 def n577 : TangentTree := .cutR (31 / 32) n576 n372 def n578 : TangentTree := .cutR (13 / 16) n499 n577 def n579 : TangentTree := .leaf (5 / 8) (19 / 64) (19 / 64) def n580 : TangentTree := .cutT (19 / 64) n579 n237 def n581 : TangentTree := .cutR (29 / 32) n506 n237 def n582 : TangentTree := .cutR (13 / 16) n580 n581 def n583 : TangentTree := .cutT (9 / 32) n578 n582 def n584 : TangentTree := .cutT (5 / 16) n583 n449 def n585 : TangentTree := .cutT (1 / 2) n584 n512 def n586 : TangentTree := .cutR (3 / 4) n575 n585 def n587 : TangentTree := .cutT (1 / 4) n542 n586 def n588 : TangentTree := .cutT (1 / 32) n50 n173 def n589 : TangentTree := .cutT (1 / 32) n52 n139 def n590 : TangentTree := .cutR (3 / 4) n588 n589 def n591 : TangentTree := .cutT (1 / 16) n590 n325 def n592 : TangentTree := .leaf 1 (23 / 128) (23 / 128) def n593 : TangentTree := .cutT (23 / 128) n592 n17 def n594 : TangentTree := .cutR (61 / 64) n17 n593 def n595 : TangentTree := .cutT (11 / 64) n209 n594 def n596 : TangentTree := .cutR (29 / 32) n210 n595 def n597 : TangentTree := .cutR (13 / 16) n17 n596 def n598 : TangentTree := .cutT (5 / 32) n259 n597 def n599 : TangentTree := .cutR (3 / 4) n76 n598 def n600 : TangentTree := .leaf (3 / 4) (13 / 64) (13 / 64) def n601 : TangentTree := .cutT (25 / 128) n334 n600 def n602 : TangentTree := .cutR (61 / 64) n335 n601 def n603 : TangentTree := .cutR (29 / 32) n144 n602 def n604 : TangentTree := .leaf 1 (53 / 256) (53 / 256) def n605 : TangentTree := .cutT (53 / 256) n604 n390 def n606 : TangentTree := .cutR (31 / 32) n390 n605 def n607 : TangentTree := .cutR (61 / 64) n298 n606 def n608 : TangentTree := .leaf 1 (55 / 256) (55 / 256) def n609 : TangentTree := .cutT (55 / 256) n608 n266 def n610 : TangentTree := .leaf (3 / 4) (55 / 256) (55 / 256) def n611 : TangentTree := .cutT (55 / 256) n610 n266 def n612 : TangentTree := .cutR (31 / 32) n609 n611 def n613 : TangentTree := .cutT (27 / 128) n607 n612 def n614 : TangentTree := .cutR (15 / 16) n337 n613 def n615 : TangentTree := .cutR (29 / 32) n299 n614 def n616 : TangentTree := .cutT (13 / 64) n603 n615 def n617 : TangentTree := .cutR (7 / 8) n145 n616 def n618 : TangentTree := .cutR (13 / 16) n177 n342 def n619 : TangentTree := .leaf (11 / 16) (1 / 4) (1 / 4) def n620 : TangentTree := .cutT (31 / 128) n399 n619 def n621 : TangentTree := .cutR (53 / 64) n328 n620 def n622 : TangentTree := .cutR (25 / 32) n3 n621 def n623 : TangentTree := .cutT (15 / 64) n618 n622 def n624 : TangentTree := .leaf 1 (57 / 256) (57 / 256) def n625 : TangentTree := .cutT (57 / 256) n624 n405 def n626 : TangentTree := .cutR (59 / 64) n405 n625 def n627 : TangentTree := .leaf (3 / 4) (59 / 256) (59 / 256) def n628 : TangentTree := .cutT (59 / 256) n627 n268 def n629 : TangentTree := .cutR (115 / 128) n268 n628 def n630 : TangentTree := .leaf (1 / 2) (59 / 256) (59 / 256) def n631 : TangentTree := .cutT (59 / 256) n630 n218 def n632 : TangentTree := .cutR (119 / 128) n629 n631 def n633 : TangentTree := .cutR (57 / 64) n268 n632 def n634 : TangentTree := .cutT (29 / 128) n626 n633 def n635 : TangentTree := .leaf (3 / 4) (57 / 256) (57 / 256) def n636 : TangentTree := .cutT (57 / 256) n635 n343 def n637 : TangentTree := .cutR (121 / 128) n625 n636 def n638 : TangentTree := .cutR (125 / 128) n637 n534 def n639 : TangentTree := .cutR (63 / 64) n638 n534 def n640 : TangentTree := .cutR (31 / 32) n631 n218 def n641 : TangentTree := .cutT (29 / 128) n639 n640 def n642 : TangentTree := .cutR (15 / 16) n634 n641 def n643 : TangentTree := .leaf (43 / 64) (31 / 128) (31 / 128) def n644 : TangentTree := .leaf (21 / 32) (31 / 128) (31 / 128) def n645 : TangentTree := .cutR (29 / 32) n643 n644 def n646 : TangentTree := .cutT (31 / 128) n645 n304 def n647 : TangentTree := .cutR (57 / 64) n526 n646 def n648 : TangentTree := .cutR (61 / 64) n647 n347 def n649 : TangentTree := .cutR (31 / 32) n648 n347 def n650 : TangentTree := .cutT (15 / 64) n642 n649 def n651 : TangentTree := .cutR (7 / 8) n623 n650 def n652 : TangentTree := .cutT (7 / 32) n617 n651 def n653 : TangentTree := .cutR (3 / 4) n455 n652 def n654 : TangentTree := .cutT (3 / 16) n599 n653 def n655 : TangentTree := .cutT (1 / 8) n591 n654 def n656 : TangentTree := .leaf 1 (21 / 64) (21 / 64) def n657 : TangentTree := .cutT (21 / 64) n656 n225 def n658 : TangentTree := .cutR (19 / 32) n225 n657 def n659 : TangentTree := .cutT (21 / 64) n446 n415 def n660 : TangentTree := .cutR (11 / 16) n658 n659 def n661 : TangentTree := .leaf (37 / 64) (3 / 8) (3 / 8) def n662 : TangentTree := .cutR (5 / 8) n155 n661 def n663 : TangentTree := .cutT (11 / 32) n660 n662 def n664 : TangentTree := .cutT (5 / 16) n476 n663 def n665 : TangentTree := .cutT (13 / 32) n478 n419 def n666 : TangentTree := .leaf (23 / 32) (1 / 2) (1 / 2) def n667 : TangentTree := .cutR (9 / 16) n85 n666 def n668 : TangentTree := .cutT (7 / 16) n665 n667 def n669 : TangentTree := .leaf (9 / 16) (15 / 32) (15 / 32) def n670 : TangentTree := .cutT (15 / 32) n669 n229 def n671 : TangentTree := .cutT (7 / 16) n554 n670 def n672 : TangentTree := .cutR (5 / 8) n668 n671 def n673 : TangentTree := .cutT (3 / 8) n664 n672 def n674 : TangentTree := .leaf 1 (9 / 16) (9 / 16) def n675 : TangentTree := .leaf 1 (5 / 8) (5 / 8) def n676 : TangentTree := .cutT (9 / 16) n674 n675 def n677 : TangentTree := .leaf (7 / 8) (97 / 128) (3 / 4) def n678 : TangentTree := .cutT (5 / 8) n676 n677 def n679 : TangentTree := .leaf (3 / 4) (47 / 64) (95 / 128) def n680 : TangentTree := .cutT (5 / 8) n561 n679 def n681 : TangentTree := .leaf (21 / 32) (5 / 8) (5 / 8) def n682 : TangentTree := .leaf (5 / 8) (95 / 128) (47 / 64) def n683 : TangentTree := .cutT (5 / 8) n681 n682 def n684 : TangentTree := .cutR (19 / 32) n680 n683 def n685 : TangentTree := .cutR (9 / 16) n678 n684 def n686 : TangentTree := .leaf (4 / 7) (5 / 8) (5 / 8) def n687 : TangentTree := .leaf (1 / 2) (49 / 64) (47 / 64) def n688 : TangentTree := .cutT (5 / 8) n686 n687 def n689 : TangentTree := .leaf (1 / 2) (47 / 64) (95 / 128) def n690 : TangentTree := .leaf (5 / 12) (95 / 128) (99 / 128) def n691 : TangentTree := .cutR (11 / 16) n689 n690 def n692 : TangentTree := .cutR (21 / 32) n688 n691 def n693 : TangentTree := .cutR (5 / 8) n685 n692 def n694 : TangentTree := .cutT (1 / 2) n673 n693 def n695 : TangentTree := .leaf 1 (33 / 128) (33 / 128) def n696 : TangentTree := .cutT (33 / 128) n695 n371 def n697 : TangentTree := .cutR (25 / 32) n498 n696 def n698 : TangentTree := .leaf (1 / 2) (33 / 128) (33 / 128) def n699 : TangentTree := .cutT (33 / 128) n698 n436 def n700 : TangentTree := .cutR (27 / 32) n697 n699 def n701 : TangentTree := .cutT (17 / 64) n700 n236 def n702 : TangentTree := .leaf (9 / 16) (17 / 64) (17 / 64) def n703 : TangentTree := .cutT (17 / 64) n702 n372 def n704 : TangentTree := .cutR (7 / 8) n701 n703 def n705 : TangentTree := .leaf (3 / 8) (5 / 16) (5 / 16) def n706 : TangentTree := .cutR (27 / 32) n580 n705 def n707 : TangentTree := .cutR (15 / 16) n706 n237 def n708 : TangentTree := .cutT (9 / 32) n704 n707 def n709 : TangentTree := .cutT (21 / 64) n446 n376 def n710 : TangentTree := .cutT (3 / 8) n709 n448 def n711 : TangentTree := .cutT (5 / 16) n708 n710 def n712 : TangentTree := .leaf (1 / 4) (101 / 128) 1 def n713 : TangentTree := .cutT (1 / 2) n711 n712 def n714 : TangentTree := .cutR (3 / 4) n694 n713 def n715 : TangentTree := .cutT (1 / 4) n655 n714 def n716 : TangentTree := .cutT (1 / 32) n49 n130 def n717 : TangentTree := .cutT (1 / 16) n716 n56 def n718 : TangentTree := .cutT (1 / 8) n717 n246 def n719 : TangentTree := .leaf 1 (93 / 128) (93 / 128) def n720 : TangentTree := .cutT (1 / 2) n248 n719 def n721 : TangentTree := .cutT (1 / 4) n718 n720 def n722 : TangentTree := .leaf 1 (51 / 256) (51 / 256) def n723 : TangentTree := .cutT (51 / 256) n722 n144 def n724 : TangentTree := .cutR (125 / 128) n144 n723 def n725 : TangentTree := .cutT (25 / 128) n334 n724 def n726 : TangentTree := .cutR (61 / 64) n335 n725 def n727 : TangentTree := .cutR (29 / 32) n144 n726 def n728 : TangentTree := .cutT (53 / 256) n604 n298 def n729 : TangentTree := .cutR (15 / 16) n298 n728 def n730 : TangentTree := .leaf (7 / 8) (7 / 32) (7 / 32) def n731 : TangentTree := .cutR (119 / 128) n730 n609 def n732 : TangentTree := .cutR (61 / 64) n731 n611 def n733 : TangentTree := .cutT (27 / 128) n729 n732 def n734 : TangentTree := .cutR (29 / 32) n299 n733 def n735 : TangentTree := .leaf (3 / 4) (53 / 256) (53 / 256) def n736 : TangentTree := .cutT (53 / 256) n735 n390 def n737 : TangentTree := .cutT (27 / 128) n736 n611 def n738 : TangentTree := .cutR (31 / 32) n734 n737 def n739 : TangentTree := .cutT (13 / 64) n727 n738 def n740 : TangentTree := .cutR (7 / 8) n145 n739 def n741 : TangentTree := .leaf 1 (61 / 256) (61 / 256) def n742 : TangentTree := .cutT (61 / 256) n741 n327 def n743 : TangentTree := .cutR (55 / 64) n399 n742 def n744 : TangentTree := .leaf 1 (63 / 256) (63 / 256) def n745 : TangentTree := .cutT (63 / 256) n744 n3 def n746 : TangentTree := .cutR (107 / 128) n3 n745 def n747 : TangentTree := .cutT (63 / 256) n744 n105 def n748 : TangentTree := .cutR (109 / 128) n746 n747 def n749 : TangentTree := .leaf (3 / 4) (63 / 256) (63 / 256) def n750 : TangentTree := .cutT (63 / 256) n749 n105 def n751 : TangentTree := .cutR (55 / 64) n748 n750 def n752 : TangentTree := .cutT (31 / 128) n743 n751 def n753 : TangentTree := .cutR (13 / 16) n328 n752 def n754 : TangentTree := .cutR (25 / 32) n3 n753 def n755 : TangentTree := .cutT (15 / 64) n618 n754 def n756 : TangentTree := .cutT (57 / 256) n624 n341 def n757 : TangentTree := .cutR (115 / 128) n341 n756 def n758 : TangentTree := .cutT (57 / 256) n635 n405 def n759 : TangentTree := .cutR (59 / 64) n757 n758 def n760 : TangentTree := .leaf 1 (59 / 256) (59 / 256) def n761 : TangentTree := .cutT (59 / 256) n760 n177 def n762 : TangentTree := .cutR (57 / 64) n761 n628 def n763 : TangentTree := .cutT (59 / 256) n627 n218 def n764 : TangentTree := .cutR (59 / 64) n762 n763 def n765 : TangentTree := .cutT (29 / 128) n759 n764 def n766 : TangentTree := .leaf (1 / 2) (57 / 256) (57 / 256) def n767 : TangentTree := .cutT (57 / 256) n766 n343 def n768 : TangentTree := .cutR (125 / 128) n636 n767 def n769 : TangentTree := .leaf (9 / 16) (29 / 128) (29 / 128) def n770 : TangentTree := .cutR (127 / 128) n768 n769 def n771 : TangentTree := .cutR (61 / 64) n758 n770 def n772 : TangentTree := .cutT (29 / 128) n771 n640 def n773 : TangentTree := .cutR (15 / 16) n765 n772 def n774 : TangentTree := .leaf (3 / 4) (61 / 256) (61 / 256) def n775 : TangentTree := .cutT (61 / 256) n774 n399 def n776 : TangentTree := .cutT (63 / 256) n749 n182 def n777 : TangentTree := .cutT (31 / 128) n775 n776 def n778 : TangentTree := .cutT (61 / 256) n774 n346 def n779 : TangentTree := .leaf (9 / 16) (31 / 128) (31 / 128) def n780 : TangentTree := .cutR (15 / 16) n778 n779 def n781 : TangentTree := .cutR (121 / 128) n780 n346 def n782 : TangentTree := .leaf (1 / 2) (63 / 256) (63 / 256) def n783 : TangentTree := .cutT (63 / 256) n782 n182 def n784 : TangentTree := .cutR (119 / 128) n783 n182 def n785 : TangentTree := .cutT (31 / 128) n781 n784 def n786 : TangentTree := .cutR (61 / 64) n785 n347 def n787 : TangentTree := .cutR (29 / 32) n777 n786 def n788 : TangentTree := .cutT (15 / 64) n773 n787 def n789 : TangentTree := .cutR (7 / 8) n755 n788 def n790 : TangentTree := .cutT (7 / 32) n740 n789 def n791 : TangentTree := .cutR (3 / 4) n455 n790 def n792 : TangentTree := .cutT (3 / 16) n599 n791 def n793 : TangentTree := .cutT (1 / 8) n591 n792 def n794 : TangentTree := .cutT (17 / 64) n498 n274 def n795 : TangentTree := .cutR (5 / 8) n274 n794 def n796 : TangentTree := .leaf (3 / 4) (19 / 64) (19 / 64) def n797 : TangentTree := .cutT (19 / 64) n796 n153 def n798 : TangentTree := .cutR (5 / 8) n152 n797 def n799 : TangentTree := .cutT (9 / 32) n795 n798 def n800 : TangentTree := .cutT (21 / 64) n656 n276 def n801 : TangentTree := .cutR (19 / 32) n225 n800 def n802 : TangentTree := .cutR (11 / 16) n801 n659 def n803 : TangentTree := .leaf (5 / 8) (23 / 64) (23 / 64) def n804 : TangentTree := .cutT (23 / 64) n803 n156 def n805 : TangentTree := .cutR (5 / 8) n155 n804 def n806 : TangentTree := .cutT (11 / 32) n802 n805 def n807 : TangentTree := .cutT (5 / 16) n799 n806 def n808 : TangentTree := .leaf (7 / 8) (13 / 32) (13 / 32) def n809 : TangentTree := .leaf (27 / 32) (7 / 16) (7 / 16) def n810 : TangentTree := .cutT (13 / 32) n808 n809 def n811 : TangentTree := .leaf (3 / 4) (15 / 32) (15 / 32) def n812 : TangentTree := .cutT (15 / 32) n811 n20 def n813 : TangentTree := .cutR (9 / 16) n85 n812 def n814 : TangentTree := .cutT (7 / 16) n810 n813 def n815 : TangentTree := .cutR (5 / 8) n814 n671 def n816 : TangentTree := .cutT (3 / 8) n807 n815 def n817 : TangentTree := .leaf (7 / 8) (9 / 16) (9 / 16) def n818 : TangentTree := .cutT (9 / 16) n817 n487 def n819 : TangentTree := .leaf (7 / 8) (97 / 128) (97 / 128) def n820 : TangentTree := .cutT (5 / 8) n818 n819 def n821 : TangentTree := .leaf (3 / 4) (9 / 16) (9 / 16) def n822 : TangentTree := .cutT (9 / 16) n821 n561 def n823 : TangentTree := .leaf (3 / 4) (47 / 64) (3 / 4) def n824 : TangentTree := .cutT (5 / 8) n822 n823 def n825 : TangentTree := .leaf (11 / 16) (9 / 16) (9 / 16) def n826 : TangentTree := .leaf (5 / 8) (5 / 8) (5 / 8) def n827 : TangentTree := .cutT (9 / 16) n825 n826 def n828 : TangentTree := .leaf (5 / 8) (3 / 4) (47 / 64) def n829 : TangentTree := .cutT (5 / 8) n827 n828 def n830 : TangentTree := .cutR (19 / 32) n824 n829 def n831 : TangentTree := .cutR (9 / 16) n820 n830 def n832 : TangentTree := .leaf (37 / 64) (5 / 8) (5 / 8) def n833 : TangentTree := .leaf (4 / 7) (95 / 128) (3 / 4) def n834 : TangentTree := .cutT (5 / 8) n832 n833 def n835 : TangentTree := .leaf (1 / 2) (47 / 64) (3 / 4) def n836 : TangentTree := .leaf (5 / 12) (3 / 4) (99 / 128) def n837 : TangentTree := .cutR (11 / 16) n835 n836 def n838 : TangentTree := .cutR (21 / 32) n834 n837 def n839 : TangentTree := .cutR (5 / 8) n831 n838 def n840 : TangentTree := .cutT (1 / 2) n816 n839 def n841 : TangentTree := .cutT (33 / 128) n695 n498 def n842 : TangentTree := .leaf (3 / 4) (35 / 128) (35 / 128) def n843 : TangentTree := .cutT (35 / 128) n842 n434 def n844 : TangentTree := .cutT (17 / 64) n841 n843 def n845 : TangentTree := .leaf (3 / 4) (33 / 128) (33 / 128) def n846 : TangentTree := .cutT (33 / 128) n845 n371 def n847 : TangentTree := .leaf (1 / 2) (35 / 128) (35 / 128) def n848 : TangentTree := .cutT (35 / 128) n847 n372 def n849 : TangentTree := .cutT (17 / 64) n846 n848 def n850 : TangentTree := .leaf (5 / 8) (33 / 128) (33 / 128) def n851 : TangentTree := .cutT (33 / 128) n850 n436 def n852 : TangentTree := .cutR (57 / 64) n851 n436 def n853 : TangentTree := .cutR (15 / 16) n852 n436 def n854 : TangentTree := .cutT (17 / 64) n853 n372 def n855 : TangentTree := .cutR (27 / 32) n849 n854 def n856 : TangentTree := .cutR (31 / 32) n855 n372 def n857 : TangentTree := .cutR (13 / 16) n844 n856 def n858 : TangentTree := .leaf (19 / 32) (19 / 64) (19 / 64) def n859 : TangentTree := .cutT (19 / 64) n858 n237 def n860 : TangentTree := .cutR (27 / 32) n859 n705 def n861 : TangentTree := .cutR (15 / 16) n860 n237 def n862 : TangentTree := .cutT (9 / 32) n857 n861 def n863 : TangentTree := .cutT (5 / 16) n862 n710 def n864 : TangentTree := .cutT (1 / 2) n863 n712 def n865 : TangentTree := .cutR (3 / 4) n840 n864 def n866 : TangentTree := .cutT (1 / 4) n793 n865 def n867 : TangentTree := .cutR (13 / 16) n78 n299 def n868 : TangentTree := .cutT (13 / 64) n144 n867 def n869 : TangentTree := .cutT (55 / 256) n608 n78 def n870 : TangentTree := .cutR (15 / 16) n869 n611 def n871 : TangentTree := .cutT (27 / 128) n729 n870 def n872 : TangentTree := .cutR (29 / 32) n299 n871 def n873 : TangentTree := .cutR (31 / 32) n872 n737 def n874 : TangentTree := .cutT (13 / 64) n727 n873 def n875 : TangentTree := .cutR (7 / 8) n868 n874 def n876 : TangentTree := .leaf (7 / 8) (15 / 64) (15 / 64) def n877 : TangentTree := .cutT (29 / 128) n341 n876 def n878 : TangentTree := .cutR (13 / 16) n177 n877 def n879 : TangentTree := .cutT (61 / 256) n741 n399 def n880 : TangentTree := .cutR (27 / 32) n327 n879 def n881 : TangentTree := .cutR (109 / 128) n747 n750 def n882 : TangentTree := .cutR (53 / 64) n3 n881 def n883 : TangentTree := .cutT (31 / 128) n880 n882 def n884 : TangentTree := .cutR (13 / 16) n328 n883 def n885 : TangentTree := .cutT (15 / 64) n878 n884 def n886 : TangentTree := .cutR (29 / 32) n756 n758 def n887 : TangentTree := .cutT (59 / 256) n760 n268 def n888 : TangentTree := .cutR (57 / 64) n887 n628 def n889 : TangentTree := .cutR (59 / 64) n888 n628 def n890 : TangentTree := .cutT (29 / 128) n886 n889 def n891 : TangentTree := .cutT (57 / 256) n635 n534 def n892 : TangentTree := .cutR (125 / 128) n891 n767 def n893 : TangentTree := .cutR (61 / 64) n758 n892 def n894 : TangentTree := .leaf (5 / 8) (59 / 256) (59 / 256) def n895 : TangentTree := .cutT (59 / 256) n894 n218 def n896 : TangentTree := .cutR (123 / 128) n895 n631 def n897 : TangentTree := .cutR (125 / 128) n896 n218 def n898 : TangentTree := .cutR (63 / 64) n897 n218 def n899 : TangentTree := .cutT (29 / 128) n893 n898 def n900 : TangentTree := .cutR (15 / 16) n890 n899 def n901 : TangentTree := .leaf (5 / 8) (63 / 256) (63 / 256) def n902 : TangentTree := .cutT (63 / 256) n901 n304 def n903 : TangentTree := .cutT (31 / 128) n775 n902 def n904 : TangentTree := .leaf (5 / 8) (61 / 256) (61 / 256) def n905 : TangentTree := .cutT (61 / 256) n904 n346 def n906 : TangentTree := .leaf (1 / 2) (61 / 256) (61 / 256) def n907 : TangentTree := .cutT (61 / 256) n906 n346 def n908 : TangentTree := .cutR (119 / 128) n905 n907 def n909 : TangentTree := .cutT (31 / 128) n908 n784 def n910 : TangentTree := .cutR (61 / 64) n909 n347 def n911 : TangentTree := .cutR (29 / 32) n903 n910 def n912 : TangentTree := .cutT (15 / 64) n900 n911 def n913 : TangentTree := .cutR (7 / 8) n885 n912 def n914 : TangentTree := .cutT (7 / 32) n875 n913 def n915 : TangentTree := .cutR (3 / 4) n455 n914 def n916 : TangentTree := .cutT (3 / 16) n599 n915 def n917 : TangentTree := .cutT (1 / 8) n591 n916 def n918 : TangentTree := .leaf 1 (37 / 128) (37 / 128) def n919 : TangentTree := .cutT (37 / 128) n918 n796 def n920 : TangentTree := .cutR (23 / 32) n439 n919 def n921 : TangentTree := .cutT (19 / 64) n920 n153 def n922 : TangentTree := .cutR (5 / 8) n152 n921 def n923 : TangentTree := .cutT (9 / 32) n795 n922 def n924 : TangentTree := .cutT (5 / 16) n923 n806 def n925 : TangentTree := .leaf (3 / 4) (7 / 16) (7 / 16) def n926 : TangentTree := .cutR (19 / 32) n279 n925 def n927 : TangentTree := .cutT (13 / 32) n808 n926 def n928 : TangentTree := .cutT (7 / 16) n927 n813 def n929 : TangentTree := .leaf (9 / 16) (25 / 64) (25 / 64) def n930 : TangentTree := .cutT (25 / 64) n929 n553 def n931 : TangentTree := .cutT (13 / 32) n930 n359 def n932 : TangentTree := .cutT (7 / 16) n931 n670 def n933 : TangentTree := .cutR (5 / 8) n928 n932 def n934 : TangentTree := .cutT (3 / 8) n924 n933 def n935 : TangentTree := .leaf (8 / 9) (9 / 16) (9 / 16) def n936 : TangentTree := .cutT (9 / 16) n935 n487 def n937 : TangentTree := .leaf (8 / 9) (97 / 128) (49 / 64) def n938 : TangentTree := .cutT (5 / 8) n936 n937 def n939 : TangentTree := .leaf (3 / 4) (95 / 128) (3 / 4) def n940 : TangentTree := .cutT (5 / 8) n822 n939 def n941 : TangentTree := .leaf (5 / 8) (3 / 4) (95 / 128) def n942 : TangentTree := .cutT (5 / 8) n827 n941 def n943 : TangentTree := .cutR (19 / 32) n940 n942 def n944 : TangentTree := .cutR (9 / 16) n938 n943 def n945 : TangentTree := .leaf (4 / 7) (9 / 16) (9 / 16) def n946 : TangentTree := .cutT (9 / 16) n945 n686 def n947 : TangentTree := .cutT (5 / 8) n946 n833 def n948 : TangentTree := .leaf (31 / 64) (5 / 8) (5 / 8) def n949 : TangentTree := .leaf (1 / 2) (95 / 128) (105 / 128) def n950 : TangentTree := .cutT (5 / 8) n948 n949 def n951 : TangentTree := .cutR (21 / 32) n947 n950 def n952 : TangentTree := .cutR (5 / 8) n944 n951 def n953 : TangentTree := .cutT (1 / 2) n934 n952 def n954 : TangentTree := .cutT (35 / 128) n842 n236 def n955 : TangentTree := .cutT (17 / 64) n696 n954 def n956 : TangentTree := .cutT (33 / 128) n850 n500 def n957 : TangentTree := .cutR (7 / 8) n956 n699 def n958 : TangentTree := .leaf (5 / 8) (35 / 128) (35 / 128) def n959 : TangentTree := .cutT (35 / 128) n958 n372 def n960 : TangentTree := .cutR (55 / 64) n959 n372 def n961 : TangentTree := .cutR (29 / 32) n960 n372 def n962 : TangentTree := .cutT (17 / 64) n957 n961 def n963 : TangentTree := .leaf (3 / 8) (9 / 32) (9 / 32) def n964 : TangentTree := .cutR (15 / 16) n962 n963 def n965 : TangentTree := .leaf (1 / 4) (9 / 32) (9 / 32) def n966 : TangentTree := .cutR (31 / 32) n964 n965 def n967 : TangentTree := .cutR (13 / 16) n955 n966 def n968 : TangentTree := .leaf (3 / 4) (37 / 128) (37 / 128) def n969 : TangentTree := .cutT (37 / 128) n968 n505 def n970 : TangentTree := .leaf (1 / 2) (37 / 128) (37 / 128) def n971 : TangentTree := .cutT (37 / 128) n970 n505 def n972 : TangentTree := .cutR (53 / 64) n971 n505 def n973 : TangentTree := .cutR (25 / 32) n969 n972 def n974 : TangentTree := .cutT (19 / 64) n973 n441 def n975 : TangentTree := .leaf (1 / 4) (5 / 16) (5 / 16) def n976 : TangentTree := .cutR (7 / 8) n974 n975 def n977 : TangentTree := .cutR (29 / 32) n976 n237 def n978 : TangentTree := .cutR (15 / 16) n977 n237 def n979 : TangentTree := .cutT (9 / 32) n967 n978 def n980 : TangentTree := .cutT (5 / 16) n979 n710 def n981 : TangentTree := .leaf (1 / 4) (51 / 64) 1 def n982 : TangentTree := .cutT (1 / 2) n980 n981 def n983 : TangentTree := .cutR (3 / 4) n953 n982 def n984 : TangentTree := .cutT (1 / 4) n917 n983 def n985 : TangentTree := .leaf 1 (47 / 64) (47 / 64) def n986 : TangentTree := .cutT (1 / 2) n248 n985 def n987 : TangentTree := .cutT (1 / 4) n718 n986 def n988 : TangentTree := .cutT (1 / 32) n50 n132 def n989 : TangentTree := .cutR (3 / 4) n988 n589 def n990 : TangentTree := .cutT (3 / 32) n55 n323 def n991 : TangentTree := .cutR (3 / 4) n56 n990 def n992 : TangentTree := .cutT (1 / 16) n989 n991 def n993 : TangentTree := .cutT (51 / 256) n722 n600 def n994 : TangentTree := .cutR (31 / 32) n144 n993 def n995 : TangentTree := .cutT (25 / 128) n334 n994 def n996 : TangentTree := .cutR (61 / 64) n335 n995 def n997 : TangentTree := .cutR (29 / 32) n144 n996 def n998 : TangentTree := .cutT (27 / 128) n298 n609 def n999 : TangentTree := .cutR (31 / 32) n605 n736 def n1000 : TangentTree := .cutR (61 / 64) n728 n999 def n1001 : TangentTree := .leaf (5 / 8) (7 / 32) (7 / 32) def n1002 : TangentTree := .cutT (55 / 256) n610 n1001 def n1003 : TangentTree := .cutR (31 / 32) n611 n1002 def n1004 : TangentTree := .cutT (27 / 128) n1000 n1003 def n1005 : TangentTree := .cutR (15 / 16) n998 n1004 def n1006 : TangentTree := .cutR (29 / 32) n299 n1005 def n1007 : TangentTree := .cutT (13 / 64) n997 n1006 def n1008 : TangentTree := .cutR (7 / 8) n868 n1007 def n1009 : TangentTree := .cutR (55 / 64) n177 n761 def n1010 : TangentTree := .cutT (29 / 128) n341 n1009 def n1011 : TangentTree := .cutR (13 / 16) n177 n1010 def n1012 : TangentTree := .leaf (7 / 8) (31 / 128) (31 / 128) def n1013 : TangentTree := .cutR (27 / 32) n1012 n775 def n1014 : TangentTree := .cutR (27 / 32) n747 n750 def n1015 : TangentTree := .cutR (53 / 64) n745 n1014 def n1016 : TangentTree := .cutT (31 / 128) n1013 n1015 def n1017 : TangentTree := .cutR (13 / 16) n328 n1016 def n1018 : TangentTree := .cutT (15 / 64) n1011 n1017 def n1019 : TangentTree := .cutT (59 / 256) n627 n535 def n1020 : TangentTree := .cutR (59 / 64) n888 n1019 def n1021 : TangentTree := .cutT (29 / 128) n886 n1020 def n1022 : TangentTree := .leaf (5 / 8) (57 / 256) (57 / 256) def n1023 : TangentTree := .cutT (57 / 256) n1022 n534 def n1024 : TangentTree := .cutR (121 / 128) n758 n1023 def n1025 : TangentTree := .cutR (125 / 128) n1024 n767 def n1026 : TangentTree := .cutR (63 / 64) n1025 n767 def n1027 : TangentTree := .cutR (63 / 64) n896 n218 def n1028 : TangentTree := .cutT (29 / 128) n1026 n1027 def n1029 : TangentTree := .cutR (15 / 16) n1021 n1028 def n1030 : TangentTree := .cutT (61 / 256) n774 n530 def n1031 : TangentTree := .cutT (61 / 256) n904 n530 def n1032 : TangentTree := .cutR (119 / 128) n1031 n907 def n1033 : TangentTree := .cutR (29 / 32) n1030 n1032 def n1034 : TangentTree := .cutT (63 / 256) n901 n182 def n1035 : TangentTree := .cutR (117 / 128) n1034 n783 def n1036 : TangentTree := .cutR (15 / 16) n1035 n182 def n1037 : TangentTree := .cutT (31 / 128) n1033 n1036 def n1038 : TangentTree := .cutR (57 / 64) n903 n1037 def n1039 : TangentTree := .cutT (31 / 128) n907 n182 def n1040 : TangentTree := .cutR (61 / 64) n1038 n1039 def n1041 : TangentTree := .cutR (31 / 32) n1040 n347 def n1042 : TangentTree := .cutT (15 / 64) n1029 n1041 def n1043 : TangentTree := .cutR (7 / 8) n1018 n1042 def n1044 : TangentTree := .cutT (7 / 32) n1008 n1043 def n1045 : TangentTree := .cutR (3 / 4) n455 n1044 def n1046 : TangentTree := .cutT (3 / 16) n599 n1045 def n1047 : TangentTree := .cutT (1 / 8) n992 n1046 def n1048 : TangentTree := .cutR (11 / 16) n439 n919 def n1049 : TangentTree := .leaf (3 / 4) (39 / 128) (39 / 128) def n1050 : TangentTree := .cutT (39 / 128) n1049 n237 def n1051 : TangentTree := .cutR (89 / 128) n152 n1050 def n1052 : TangentTree := .leaf (1 / 2) (39 / 128) (39 / 128) def n1053 : TangentTree := .cutT (39 / 128) n1052 n237 def n1054 : TangentTree := .cutR (47 / 64) n1051 n1053 def n1055 : TangentTree := .cutR (21 / 32) n152 n1054 def n1056 : TangentTree := .cutT (19 / 64) n1048 n1055 def n1057 : TangentTree := .cutR (5 / 8) n152 n1056 def n1058 : TangentTree := .cutT (9 / 32) n795 n1057 def n1059 : TangentTree := .leaf (9 / 16) (21 / 64) (21 / 64) def n1060 : TangentTree := .cutT (21 / 64) n1059 n415 def n1061 : TangentTree := .cutR (11 / 16) n801 n1060 def n1062 : TangentTree := .leaf (19 / 32) (23 / 64) (23 / 64) def n1063 : TangentTree := .cutT (23 / 64) n1062 n189 def n1064 : TangentTree := .cutR (5 / 8) n155 n1063 def n1065 : TangentTree := .cutT (11 / 32) n1061 n1064 def n1066 : TangentTree := .cutT (5 / 16) n1058 n1065 def n1067 : TangentTree := .leaf 1 (25 / 64) (25 / 64) def n1068 : TangentTree := .cutT (25 / 64) n1067 n808 def n1069 : TangentTree := .cutT (13 / 32) n1068 n926 def n1070 : TangentTree := .leaf (8 / 9) (1 / 2) (1 / 2) def n1071 : TangentTree := .leaf (23 / 32) (15 / 32) (15 / 32) def n1072 : TangentTree := .cutT (15 / 32) n1071 n666 def n1073 : TangentTree := .cutR (9 / 16) n1070 n1072 def n1074 : TangentTree := .cutT (7 / 16) n1069 n1073 def n1075 : TangentTree := .leaf (4 / 7) (7 / 16) (7 / 16) def n1076 : TangentTree := .cutR (21 / 32) n1075 n192 def n1077 : TangentTree := .cutT (13 / 32) n930 n1076 def n1078 : TangentTree := .leaf (71 / 128) (15 / 32) (15 / 32) def n1079 : TangentTree := .cutT (15 / 32) n1078 n555 def n1080 : TangentTree := .cutT (7 / 16) n1077 n1079 def n1081 : TangentTree := .cutR (5 / 8) n1074 n1080 def n1082 : TangentTree := .cutT (3 / 8) n1066 n1081 def n1083 : TangentTree := .leaf (29 / 32) (9 / 16) (9 / 16) def n1084 : TangentTree := .cutT (9 / 16) n1083 n559 def n1085 : TangentTree := .leaf (57 / 64) (97 / 128) (49 / 64) def n1086 : TangentTree := .cutT (5 / 8) n1084 n1085 def n1087 : TangentTree := .leaf (3 / 4) (95 / 128) (97 / 128) def n1088 : TangentTree := .cutT (5 / 8) n822 n1087 def n1089 : TangentTree := .leaf (13 / 20) (9 / 16) (9 / 16) def n1090 : TangentTree := .cutT (9 / 16) n1089 n564 def n1091 : TangentTree := .leaf (5 / 8) (97 / 128) (95 / 128) def n1092 : TangentTree := .cutT (5 / 8) n1090 n1091 def n1093 : TangentTree := .cutR (19 / 32) n1088 n1092 def n1094 : TangentTree := .cutR (9 / 16) n1086 n1093 def n1095 : TangentTree := .leaf (4 / 7) (3 / 4) (97 / 128) def n1096 : TangentTree := .cutT (5 / 8) n946 n1095 def n1097 : TangentTree := .leaf (1 / 2) (9 / 16) (9 / 16) def n1098 : TangentTree := .leaf (1 / 2) (5 / 8) (5 / 8) def n1099 : TangentTree := .cutT (9 / 16) n1097 n1098 def n1100 : TangentTree := .leaf (1 / 2) (95 / 128) (53 / 64) def n1101 : TangentTree := .cutT (5 / 8) n1099 n1100 def n1102 : TangentTree := .cutR (21 / 32) n1096 n1101 def n1103 : TangentTree := .cutR (5 / 8) n1094 n1102 def n1104 : TangentTree := .cutT (1 / 2) n1082 n1103 def n1105 : TangentTree := .cutT (33 / 128) n845 n500 def n1106 : TangentTree := .cutR (27 / 32) n1105 n956 def n1107 : TangentTree := .cutR (7 / 8) n959 n372 def n1108 : TangentTree := .cutR (57 / 64) n1107 n372 def n1109 : TangentTree := .cutT (17 / 64) n1106 n1108 def n1110 : TangentTree := .cutT (33 / 128) n698 n963 def n1111 : TangentTree := .cutR (29 / 32) n1109 n1110 def n1112 : TangentTree := .cutR (31 / 32) n1111 n965 def n1113 : TangentTree := .cutR (13 / 16) n955 n1112 def n1114 : TangentTree := .leaf (5 / 8) (37 / 128) (37 / 128) def n1115 : TangentTree := .cutT (37 / 128) n1114 n505 def n1116 : TangentTree := .cutT (19 / 64) n1115 n1053 def n1117 : TangentTree := .cutR (55 / 64) n971 n505 def n1118 : TangentTree := .cutT (19 / 64) n1117 n237 def n1119 : TangentTree := .cutR (29 / 32) n1118 n975 def n1120 : TangentTree := .cutR (13 / 16) n1116 n1119 def n1121 : TangentTree := .cutT (9 / 32) n1113 n1120 def n1122 : TangentTree := .leaf (11 / 32) (3 / 8) (3 / 8) def n1123 : TangentTree := .cutT (21 / 64) n446 n1122 def n1124 : TangentTree := .leaf (5 / 16) (1 / 2) (1 / 2) def n1125 : TangentTree := .cutT (3 / 8) n1123 n1124 def n1126 : TangentTree := .cutT (5 / 16) n1121 n1125 def n1127 : TangentTree := .cutT (1 / 2) n1126 n981 def n1128 : TangentTree := .cutR (3 / 4) n1104 n1127 def n1129 : TangentTree := .cutT (1 / 4) n1047 n1128 def n1130 : TangentTree := .cutT (1 / 8) n118 n246 def n1131 : TangentTree := .cutT (1 / 4) n1130 n986 def n1132 : TangentTree := .cutR (3 / 4) n51 n589 def n1133 : TangentTree := .cutT (1 / 16) n1132 n73 def n1134 : TangentTree := .cutR (125 / 128) n723 n993 def n1135 : TangentTree := .cutT (25 / 128) n334 n1134 def n1136 : TangentTree := .cutR (61 / 64) n335 n1135 def n1137 : TangentTree := .cutR (29 / 32) n144 n1136 def n1138 : TangentTree := .cutT (27 / 128) n298 n869 def n1139 : TangentTree := .cutR (123 / 128) n728 n736 def n1140 : TangentTree := .cutR (15 / 16) n298 n1139 def n1141 : TangentTree := .cutR (15 / 16) n609 n611 def n1142 : TangentTree := .cutR (31 / 32) n1141 n611 def n1143 : TangentTree := .cutT (27 / 128) n1140 n1142 def n1144 : TangentTree := .cutR (59 / 64) n1138 n1143 def n1145 : TangentTree := .cutT (27 / 128) n736 n1002 def n1146 : TangentTree := .cutR (63 / 64) n1144 n1145 def n1147 : TangentTree := .cutR (29 / 32) n299 n1146 def n1148 : TangentTree := .cutT (13 / 64) n1137 n1147 def n1149 : TangentTree := .cutR (7 / 8) n868 n1148 def n1150 : TangentTree := .cutR (109 / 128) n742 n775 def n1151 : TangentTree := .cutR (53 / 64) n327 n1150 def n1152 : TangentTree := .cutT (63 / 256) n749 n304 def n1153 : TangentTree := .cutR (27 / 32) n747 n1152 def n1154 : TangentTree := .cutR (53 / 64) n745 n1153 def n1155 : TangentTree := .cutT (31 / 128) n1151 n1154 def n1156 : TangentTree := .cutR (13 / 16) n328 n1155 def n1157 : TangentTree := .cutT (15 / 64) n1011 n1156 def n1158 : TangentTree := .cutR (117 / 128) n625 n758 def n1159 : TangentTree := .cutR (57 / 64) n756 n1158 def n1160 : TangentTree := .cutR (57 / 64) n887 n1019 def n1161 : TangentTree := .cutT (59 / 256) n894 n535 def n1162 : TangentTree := .cutR (59 / 64) n1160 n1161 def n1163 : TangentTree := .cutT (29 / 128) n1159 n1162 def n1164 : TangentTree := .cutR (125 / 128) n1023 n767 def n1165 : TangentTree := .cutR (61 / 64) n891 n1164 def n1166 : TangentTree := .cutT (29 / 128) n1165 n1027 def n1167 : TangentTree := .cutR (15 / 16) n1163 n1166 def n1168 : TangentTree := .cutR (29 / 32) n1030 n1031 def n1169 : TangentTree := .cutR (115 / 128) n902 n783 def n1170 : TangentTree := .cutR (59 / 64) n1169 n783 def n1171 : TangentTree := .cutT (31 / 128) n1168 n1170 def n1172 : TangentTree := .cutR (15 / 16) n1171 n1039 def n1173 : TangentTree := .cutR (61 / 64) n1172 n1039 def n1174 : TangentTree := .cutR (31 / 32) n1173 n347 def n1175 : TangentTree := .cutT (15 / 64) n1167 n1174 def n1176 : TangentTree := .cutR (7 / 8) n1157 n1175 def n1177 : TangentTree := .cutT (7 / 32) n1149 n1176 def n1178 : TangentTree := .cutR (3 / 4) n455 n1177 def n1179 : TangentTree := .cutT (3 / 16) n599 n1178 def n1180 : TangentTree := .cutT (1 / 8) n1133 n1179 def n1181 : TangentTree := .leaf 1 (39 / 128) (39 / 128) def n1182 : TangentTree := .cutT (39 / 128) n1181 n83 def n1183 : TangentTree := .cutR (43 / 64) n152 n1182 def n1184 : TangentTree := .cutR (23 / 32) n1183 n1050 def n1185 : TangentTree := .cutT (19 / 64) n1048 n1184 def n1186 : TangentTree := .cutR (5 / 8) n152 n1185 def n1187 : TangentTree := .cutT (9 / 32) n795 n1186 def n1188 : TangentTree := .leaf (3 / 4) (21 / 64) (21 / 64) def n1189 : TangentTree := .cutT (21 / 64) n1188 n276 def n1190 : TangentTree := .cutR (19 / 32) n225 n1189 def n1191 : TangentTree := .cutR (11 / 16) n1190 n1060 def n1192 : TangentTree := .leaf (7 / 8) (3 / 8) (3 / 8) def n1193 : TangentTree := .cutT (23 / 64) n1062 n546 def n1194 : TangentTree := .cutR (5 / 8) n1192 n1193 def n1195 : TangentTree := .cutT (11 / 32) n1191 n1194 def n1196 : TangentTree := .cutT (5 / 16) n1187 n1195 def n1197 : TangentTree := .leaf (11 / 16) (7 / 16) (7 / 16) def n1198 : TangentTree := .cutR (19 / 32) n419 n1197 def n1199 : TangentTree := .cutT (13 / 32) n1068 n1198 def n1200 : TangentTree := .leaf (115 / 128) (1 / 2) (1 / 2) def n1201 : TangentTree := .cutR (9 / 16) n1200 n1072 def n1202 : TangentTree := .cutT (7 / 16) n1199 n1201 def n1203 : TangentTree := .leaf (4 / 7) (15 / 32) (15 / 32) def n1204 : TangentTree := .leaf (1 / 2) (15 / 32) (15 / 32) def n1205 : TangentTree := .cutR (21 / 32) n1203 n1204 def n1206 : TangentTree := .leaf (4 / 7) (1 / 2) (1 / 2) def n1207 : TangentTree := .cutR (21 / 32) n1206 n86 def n1208 : TangentTree := .cutT (15 / 32) n1205 n1207 def n1209 : TangentTree := .cutT (7 / 16) n1077 n1208 def n1210 : TangentTree := .cutR (5 / 8) n1202 n1209 def n1211 : TangentTree := .cutT (3 / 8) n1196 n1210 def n1212 : TangentTree := .leaf (7 / 8) (17 / 32) (17 / 32) def n1213 : TangentTree := .cutT (17 / 32) n1212 n817 def n1214 : TangentTree := .leaf (5 / 6) (5 / 8) (5 / 8) def n1215 : TangentTree := .cutR (17 / 32) n675 n1214 def n1216 : TangentTree := .cutT (9 / 16) n1213 n1215 def n1217 : TangentTree := .leaf 1 (95 / 128) (49 / 64) def n1218 : TangentTree := .leaf (5 / 6) (3 / 4) (97 / 128) def n1219 : TangentTree := .cutR (17 / 32) n1217 n1218 def n1220 : TangentTree := .cutT (5 / 8) n1216 n1219 def n1221 : TangentTree := .leaf (3 / 4) (17 / 32) (17 / 32) def n1222 : TangentTree := .cutT (17 / 32) n1221 n821 def n1223 : TangentTree := .cutT (9 / 16) n1222 n561 def n1224 : TangentTree := .leaf (3 / 4) (3 / 4) (97 / 128) def n1225 : TangentTree := .cutT (5 / 8) n1223 n1224 def n1226 : TangentTree := .leaf (11 / 16) (17 / 32) (17 / 32) def n1227 : TangentTree := .cutT (17 / 32) n1226 n825 def n1228 : TangentTree := .leaf (13 / 20) (5 / 8) (5 / 8) def n1229 : TangentTree := .cutT (9 / 16) n1227 n1228 def n1230 : TangentTree := .leaf (13 / 20) (3 / 4) (97 / 128) def n1231 : TangentTree := .cutT (5 / 8) n1229 n1230 def n1232 : TangentTree := .cutR (19 / 32) n1225 n1231 def n1233 : TangentTree := .cutR (9 / 16) n1220 n1232 def n1234 : TangentTree := .leaf (7 / 16) (25 / 32) (51 / 64) def n1235 : TangentTree := .cutT (5 / 8) n1099 n1234 def n1236 : TangentTree := .cutR (21 / 32) n1096 n1235 def n1237 : TangentTree := .cutR (5 / 8) n1233 n1236 def n1238 : TangentTree := .cutT (1 / 2) n1211 n1237 def n1239 : TangentTree := .cutT (35 / 128) n958 n236 def n1240 : TangentTree := .cutT (17 / 64) n696 n1239 def n1241 : TangentTree := .cutR (27 / 32) n956 n956 def n1242 : TangentTree := .cutT (17 / 64) n1241 n1108 def n1243 : TangentTree := .cutR (29 / 32) n1242 n1110 def n1244 : TangentTree := .cutR (31 / 32) n1243 n965 def n1245 : TangentTree := .cutR (13 / 16) n1240 n1244 def n1246 : TangentTree := .cutT (37 / 128) n968 n796 def n1247 : TangentTree := .cutR (49 / 64) n1246 n1115 def n1248 : TangentTree := .cutR (53 / 64) n1247 n505 def n1249 : TangentTree := .cutR (27 / 32) n1248 n505 def n1250 : TangentTree := .cutR (51 / 64) n1053 n237 def n1251 : TangentTree := .cutR (27 / 32) n1250 n237 def n1252 : TangentTree := .cutT (19 / 64) n1249 n1251 def n1253 : TangentTree := .cutR (7 / 8) n1252 n975 def n1254 : TangentTree := .cutR (29 / 32) n1253 n975 def n1255 : TangentTree := .cutR (15 / 16) n1254 n237 def n1256 : TangentTree := .cutT (9 / 32) n1245 n1255 def n1257 : TangentTree := .cutT (5 / 16) n1256 n1125 def n1258 : TangentTree := .leaf (1 / 4) (103 / 128) 1 def n1259 : TangentTree := .cutT (1 / 2) n1257 n1258 def n1260 : TangentTree := .cutR (3 / 4) n1238 n1259 def n1261 : TangentTree := .cutT (1 / 4) n1180 n1260 def n1262 : TangentTree := .cutR (123 / 128) n144 n723 def n1263 : TangentTree := .cutR (63 / 64) n1262 n993 def n1264 : TangentTree := .cutT (25 / 128) n334 n1263 def n1265 : TangentTree := .cutR (15 / 16) n335 n1264 def n1266 : TangentTree := .cutR (119 / 128) n298 n728 def n1267 : TangentTree := .cutR (61 / 64) n1266 n605 def n1268 : TangentTree := .cutR (59 / 64) n869 n1141 def n1269 : TangentTree := .cutT (27 / 128) n1267 n1268 def n1270 : TangentTree := .cutR (29 / 32) n299 n1269 def n1271 : TangentTree := .cutR (31 / 32) n1270 n1145 def n1272 : TangentTree := .cutT (13 / 64) n1265 n1271 def n1273 : TangentTree := .cutR (7 / 8) n868 n1272 def n1274 : TangentTree := .cutT (15 / 64) n177 n328 def n1275 : TangentTree := .cutR (7 / 8) n341 n625 def n1276 : TangentTree := .cutR (7 / 8) n761 n628 def n1277 : TangentTree := .cutT (29 / 128) n1275 n1276 def n1278 : TangentTree := .cutR (27 / 32) n342 n1277 def n1279 : TangentTree := .cutT (29 / 128) n758 n1161 def n1280 : TangentTree := .cutR (29 / 32) n1278 n1279 def n1281 : TangentTree := .cutT (31 / 128) n327 n745 def n1282 : TangentTree := .cutR (111 / 128) n879 n1030 def n1283 : TangentTree := .cutR (27 / 32) n742 n1282 def n1284 : TangentTree := .cutR (7 / 8) n1153 n902 def n1285 : TangentTree := .cutT (31 / 128) n1283 n1284 def n1286 : TangentTree := .cutR (53 / 64) n1281 n1285 def n1287 : TangentTree := .cutT (31 / 128) n1031 n1034 def n1288 : TangentTree := .cutR (57 / 64) n1286 n1287 def n1289 : TangentTree := .cutT (31 / 128) n1031 n783 def n1290 : TangentTree := .cutR (29 / 32) n1288 n1289 def n1291 : TangentTree := .cutT (15 / 64) n1280 n1290 def n1292 : TangentTree := .cutR (13 / 16) n1274 n1291 def n1293 : TangentTree := .cutR (31 / 32) n907 n346 def n1294 : TangentTree := .cutT (31 / 128) n1293 n182 def n1295 : TangentTree := .cutT (15 / 64) n1166 n1294 def n1296 : TangentTree := .cutR (15 / 16) n1292 n1295 def n1297 : TangentTree := .cutT (7 / 32) n1273 n1296 def n1298 : TangentTree := .cutR (3 / 4) n455 n1297 def n1299 : TangentTree := .cutT (3 / 16) n599 n1298 def n1300 : TangentTree := .cutT (1 / 8) n74 n1299 def n1301 : TangentTree := .cutR (11 / 16) n439 n1246 def n1302 : TangentTree := .leaf (5 / 8) (39 / 128) (39 / 128) def n1303 : TangentTree := .cutT (39 / 128) n1302 n153 def n1304 : TangentTree := .cutR (11 / 16) n152 n1303 def n1305 : TangentTree := .cutR (21 / 32) n152 n1304 def n1306 : TangentTree := .cutT (19 / 64) n1301 n1305 def n1307 : TangentTree := .cutR (5 / 8) n152 n1306 def n1308 : TangentTree := .cutT (9 / 32) n795 n1307 def n1309 : TangentTree := .cutR (37 / 64) n225 n657 def n1310 : TangentTree := .leaf (5 / 8) (11 / 32) (11 / 32) def n1311 : TangentTree := .cutT (21 / 64) n1188 n1310 def n1312 : TangentTree := .cutR (21 / 32) n1309 n1311 def n1313 : TangentTree := .leaf (1 / 2) (41 / 128) (41 / 128) def n1314 : TangentTree := .cutT (41 / 128) n1313 n446 def n1315 : TangentTree := .cutT (21 / 64) n1314 n415 def n1316 : TangentTree := .cutR (11 / 16) n1312 n1315 def n1317 : TangentTree := .leaf (27 / 32) (3 / 8) (3 / 8) def n1318 : TangentTree := .leaf (37 / 64) (23 / 64) (23 / 64) def n1319 : TangentTree := .cutT (23 / 64) n1318 n661 def n1320 : TangentTree := .cutR (5 / 8) n1317 n1319 def n1321 : TangentTree := .cutT (11 / 32) n1316 n1320 def n1322 : TangentTree := .cutT (5 / 16) n1308 n1321 def n1323 : TangentTree := .leaf (7 / 8) (25 / 64) (25 / 64) def n1324 : TangentTree := .cutT (25 / 64) n1323 n808 def n1325 : TangentTree := .cutT (13 / 32) n1324 n1198 def n1326 : TangentTree := .leaf 1 (15 / 32) (15 / 32) def n1327 : TangentTree := .cutT (15 / 32) n1326 n85 def n1328 : TangentTree := .leaf (3 / 4) (29 / 64) (29 / 64) def n1329 : TangentTree := .cutT (29 / 64) n1328 n811 def n1330 : TangentTree := .leaf (11 / 16) (1 / 2) (1 / 2) def n1331 : TangentTree := .cutR (19 / 32) n20 n1330 def n1332 : TangentTree := .cutT (15 / 32) n1329 n1331 def n1333 : TangentTree := .cutR (9 / 16) n1327 n1332 def n1334 : TangentTree := .cutT (7 / 16) n1325 n1333 def n1335 : TangentTree := .cutR (21 / 32) n281 n192 def n1336 : TangentTree := .cutT (13 / 32) n930 n1335 def n1337 : TangentTree := .cutT (7 / 16) n1336 n1208 def n1338 : TangentTree := .cutR (5 / 8) n1334 n1337 def n1339 : TangentTree := .cutT (3 / 8) n1322 n1338 def n1340 : TangentTree := .leaf (8 / 9) (17 / 32) (17 / 32) def n1341 : TangentTree := .cutT (17 / 32) n1340 n935 def n1342 : TangentTree := .cutT (9 / 16) n1341 n1215 def n1343 : TangentTree := .leaf 1 (95 / 128) (99 / 128) def n1344 : TangentTree := .leaf (5 / 6) (97 / 128) (97 / 128) def n1345 : TangentTree := .cutR (17 / 32) n1343 n1344 def n1346 : TangentTree := .cutT (5 / 8) n1342 n1345 def n1347 : TangentTree := .cutR (19 / 32) n1222 n1227 def n1348 : TangentTree := .leaf (95 / 128) (5 / 8) (5 / 8) def n1349 : TangentTree := .cutR (19 / 32) n1348 n1228 def n1350 : TangentTree := .cutT (9 / 16) n1347 n1349 def n1351 : TangentTree := .leaf (14 / 19) (97 / 128) (97 / 128) def n1352 : TangentTree := .cutR (19 / 32) n1351 n1230 def n1353 : TangentTree := .cutT (5 / 8) n1350 n1352 def n1354 : TangentTree := .cutR (9 / 16) n1346 n1353 def n1355 : TangentTree := .leaf (19 / 32) (9 / 16) (9 / 16) def n1356 : TangentTree := .cutT (9 / 16) n1355 n686 def n1357 : TangentTree := .leaf (4 / 7) (3 / 4) (49 / 64) def n1358 : TangentTree := .cutT (5 / 8) n1356 n1357 def n1359 : TangentTree := .leaf (11 / 24) (99 / 128) (13 / 16) def n1360 : TangentTree := .cutT (5 / 8) n1099 n1359 def n1361 : TangentTree := .cutR (21 / 32) n1358 n1360 def n1362 : TangentTree := .cutR (5 / 8) n1354 n1361 def n1363 : TangentTree := .cutT (1 / 2) n1339 n1362 def n1364 : TangentTree := .leaf (81 / 128) (33 / 128) (33 / 128) def n1365 : TangentTree := .cutT (33 / 128) n1364 n500 def n1366 : TangentTree := .cutR (53 / 64) n1105 n1365 def n1367 : TangentTree := .cutR (57 / 64) n1366 n699 def n1368 : TangentTree := .leaf (9 / 16) (35 / 128) (35 / 128) def n1369 : TangentTree := .cutT (35 / 128) n1368 n372 def n1370 : TangentTree := .cutR (7 / 8) n1369 n372 def n1371 : TangentTree := .cutR (57 / 64) n1370 n372 def n1372 : TangentTree := .cutT (17 / 64) n1367 n1371 def n1373 : TangentTree := .cutR (29 / 32) n1372 n1110 def n1374 : TangentTree := .cutR (31 / 32) n1373 n965 def n1375 : TangentTree := .cutR (13 / 16) n1240 n1374 def n1376 : TangentTree := .cutT (37 / 128) n1114 n579 def n1377 : TangentTree := .cutR (25 / 32) n1376 n972 def n1378 : TangentTree := .cutT (19 / 64) n1377 n1251 def n1379 : TangentTree := .cutR (7 / 8) n1378 n975 def n1380 : TangentTree := .cutR (29 / 32) n1379 n975 def n1381 : TangentTree := .cutR (15 / 16) n1380 n237 def n1382 : TangentTree := .cutT (9 / 32) n1375 n1381 def n1383 : TangentTree := .leaf (43 / 128) (3 / 8) (3 / 8) def n1384 : TangentTree := .cutT (21 / 64) n446 n1383 def n1385 : TangentTree := .cutT (3 / 8) n1384 n1124 def n1386 : TangentTree := .cutT (5 / 16) n1382 n1385 def n1387 : TangentTree := .cutT (1 / 2) n1386 n1258 def n1388 : TangentTree := .cutR (3 / 4) n1363 n1387 def n1389 : TangentTree := .cutT (1 / 4) n1300 n1388 def n1390 : TangentTree := .leaf 1 (95 / 128) (95 / 128) def n1391 : TangentTree := .cutT (1 / 2) n248 n1390 def n1392 : TangentTree := .cutT (1 / 4) n1130 n1391 def n1393 : TangentTree := .cutT (29 / 128) n341 n761 def n1394 : TangentTree := .cutR (29 / 32) n625 n758 def n1395 : TangentTree := .cutR (57 / 64) n756 n1394 def n1396 : TangentTree := .cutR (229 / 256) n628 n628 def n1397 : TangentTree := .cutR (117 / 128) n1396 n1019 def n1398 : TangentTree := .cutR (59 / 64) n1397 n1161 def n1399 : TangentTree := .cutT (29 / 128) n1395 n1398 def n1400 : TangentTree := .cutR (7 / 8) n1393 n1399 def n1401 : TangentTree := .cutR (27 / 32) n342 n1400 def n1402 : TangentTree := .cutR (107 / 128) n327 n879 def n1403 : TangentTree := .cutR (55 / 64) n1402 n775 def n1404 : TangentTree := .cutR (107 / 128) n747 n750 def n1405 : TangentTree := .cutR (55 / 64) n1404 n1152 def n1406 : TangentTree := .cutT (31 / 128) n1403 n1405 def n1407 : TangentTree := .cutR (59 / 64) n1031 n907 def n1408 : TangentTree := .cutR (119 / 128) n1407 n907 def n1409 : TangentTree := .cutR (57 / 64) n1030 n1408 def n1410 : TangentTree := .cutT (31 / 128) n1409 n1170 def n1411 : TangentTree := .cutR (7 / 8) n1406 n1410 def n1412 : TangentTree := .cutT (15 / 64) n1401 n1411 def n1413 : TangentTree := .cutR (13 / 16) n1274 n1412 def n1414 : TangentTree := .cutT (15 / 64) n1028 n1294 def n1415 : TangentTree := .cutR (15 / 16) n1413 n1414 def n1416 : TangentTree := .cutT (7 / 32) n1273 n1415 def n1417 : TangentTree := .cutR (3 / 4) n455 n1416 def n1418 : TangentTree := .cutT (3 / 16) n599 n1417 def n1419 : TangentTree := .cutT (1 / 8) n74 n1418 def n1420 : TangentTree := .leaf (7 / 8) (9 / 32) (9 / 32) def n1421 : TangentTree := .cutT (17 / 64) n498 n1420 def n1422 : TangentTree := .cutR (5 / 8) n274 n1421 def n1423 : TangentTree := .cutT (39 / 128) n1049 n83 def n1424 : TangentTree := .cutR (89 / 128) n152 n1423 def n1425 : TangentTree := .cutR (47 / 64) n1424 n1053 def n1426 : TangentTree := .cutR (21 / 32) n152 n1425 def n1427 : TangentTree := .cutT (19 / 64) n1301 n1426 def n1428 : TangentTree := .cutR (5 / 8) n152 n1427 def n1429 : TangentTree := .cutT (9 / 32) n1422 n1428 def n1430 : TangentTree := .leaf 1 (23 / 64) (23 / 64) def n1431 : TangentTree := .cutT (23 / 64) n1430 n155 def n1432 : TangentTree := .leaf (3 / 4) (23 / 64) (23 / 64) def n1433 : TangentTree := .leaf (9 / 16) (23 / 64) (23 / 64) def n1434 : TangentTree := .cutR (21 / 32) n1432 n1433 def n1435 : TangentTree := .leaf (73 / 128) (3 / 8) (3 / 8) def n1436 : TangentTree := .cutT (23 / 64) n1434 n1435 def n1437 : TangentTree := .cutR (5 / 8) n1431 n1436 def n1438 : TangentTree := .cutT (11 / 32) n1316 n1437 def n1439 : TangentTree := .cutT (5 / 16) n1429 n1438 def n1440 : TangentTree := .leaf (27 / 32) (13 / 32) (13 / 32) def n1441 : TangentTree := .cutT (25 / 64) n1323 n1440 def n1442 : TangentTree := .cutT (13 / 32) n1441 n1198 def n1443 : TangentTree := .cutT (15 / 32) n1326 n1070 def n1444 : TangentTree := .cutT (29 / 64) n1328 n1071 def n1445 : TangentTree := .cutT (15 / 32) n1444 n1331 def n1446 : TangentTree := .cutR (9 / 16) n1443 n1445 def n1447 : TangentTree := .cutT (7 / 16) n1442 n1446 def n1448 : TangentTree := .leaf (73 / 128) (25 / 64) (25 / 64) def n1449 : TangentTree := .cutT (25 / 64) n1448 n553 def n1450 : TangentTree := .leaf (19 / 32) (7 / 16) (7 / 16) def n1451 : TangentTree := .cutR (21 / 32) n1450 n192 def n1452 : TangentTree := .cutT (13 / 32) n1449 n1451 def n1453 : TangentTree := .cutT (7 / 16) n1452 n1208 def n1454 : TangentTree := .cutR (5 / 8) n1447 n1453 def n1455 : TangentTree := .cutT (3 / 8) n1439 n1454 def n1456 : TangentTree := .leaf (15 / 16) (97 / 128) (97 / 128) def n1457 : TangentTree := .cutR (17 / 32) n1456 n1344 def n1458 : TangentTree := .cutT (5 / 8) n1342 n1457 def n1459 : TangentTree := .cutT (17 / 32) n1226 n1089 def n1460 : TangentTree := .cutR (19 / 32) n1222 n1459 def n1461 : TangentTree := .leaf (3 / 4) (19 / 32) (19 / 32) def n1462 : TangentTree := .cutT (19 / 32) n1461 n561 def n1463 : TangentTree := .cutR (19 / 32) n1462 n681 def n1464 : TangentTree := .cutT (9 / 16) n1460 n1463 def n1465 : TangentTree := .leaf (3 / 4) (3 / 4) (3 / 4) def n1466 : TangentTree := .leaf (23 / 32) (3 / 4) (97 / 128) def n1467 : TangentTree := .cutR (37 / 64) n1465 n1466 def n1468 : TangentTree := .leaf (13 / 20) (97 / 128) (49 / 64) def n1469 : TangentTree := .cutR (19 / 32) n1467 n1468 def n1470 : TangentTree := .cutT (5 / 8) n1464 n1469 def n1471 : TangentTree := .cutR (9 / 16) n1458 n1470 def n1472 : TangentTree := .leaf (4 / 7) (17 / 32) (17 / 32) def n1473 : TangentTree := .cutT (17 / 32) n1472 n945 def n1474 : TangentTree := .cutT (9 / 16) n1473 n686 def n1475 : TangentTree := .leaf (4 / 7) (97 / 128) (49 / 64) def n1476 : TangentTree := .cutT (5 / 8) n1474 n1475 def n1477 : TangentTree := .leaf (11 / 24) (99 / 128) (105 / 128) def n1478 : TangentTree := .cutT (5 / 8) n1099 n1477 def n1479 : TangentTree := .cutR (21 / 32) n1476 n1478 def n1480 : TangentTree := .cutR (5 / 8) n1471 n1479 def n1481 : TangentTree := .cutT (1 / 2) n1455 n1480 def n1482 : TangentTree := .leaf (11 / 16) (33 / 128) (33 / 128) def n1483 : TangentTree := .cutT (33 / 128) n1482 n500 def n1484 : TangentTree := .cutT (33 / 128) n850 n702 def n1485 : TangentTree := .cutR (27 / 32) n1483 n1484 def n1486 : TangentTree := .cutT (17 / 64) n1485 n1371 def n1487 : TangentTree := .cutR (29 / 32) n1486 n1110 def n1488 : TangentTree := .cutR (31 / 32) n1487 n965 def n1489 : TangentTree := .cutR (13 / 16) n1240 n1488 def n1490 : TangentTree := .leaf (3 / 8) (19 / 64) (19 / 64) def n1491 : TangentTree := .cutR (53 / 64) n971 n1490 def n1492 : TangentTree := .cutR (25 / 32) n1376 n1491 def n1493 : TangentTree := .cutR (13 / 16) n1053 n237 def n1494 : TangentTree := .cutT (19 / 64) n1492 n1493 def n1495 : TangentTree := .cutR (7 / 8) n1494 n975 def n1496 : TangentTree := .cutR (29 / 32) n1495 n975 def n1497 : TangentTree := .cutR (15 / 16) n1496 n237 def n1498 : TangentTree := .cutT (9 / 32) n1489 n1497 def n1499 : TangentTree := .cutT (11 / 32) n415 n376 def n1500 : TangentTree := .leaf 0 (3 / 8) (21 / 64) def n1501 : TangentTree := .cutR (7 / 8) n1499 n1500 def n1502 : TangentTree := .cutT (21 / 64) n446 n1501 def n1503 : TangentTree := .leaf (11 / 32) (1 / 2) (1 / 2) def n1504 : TangentTree := .cutT (3 / 8) n1502 n1503 def n1505 : TangentTree := .cutT (5 / 16) n1498 n1504 def n1506 : TangentTree := .leaf (1 / 4) (13 / 16) 1 def n1507 : TangentTree := .cutT (1 / 2) n1505 n1506 def n1508 : TangentTree := .cutR (3 / 4) n1481 n1507 def n1509 : TangentTree := .cutT (1 / 4) n1419 n1508 def n1510 : TangentTree := .leaf (7 / 8) (13 / 64) (13 / 64) def n1511 : TangentTree := .cutR (63 / 64) n1510 n723 def n1512 : TangentTree := .cutT (25 / 128) n334 n1511 def n1513 : TangentTree := .cutR (15 / 16) n335 n1512 def n1514 : TangentTree := .leaf (7 / 8) (27 / 128) (27 / 128) def n1515 : TangentTree := .cutR (121 / 128) n1514 n605 def n1516 : TangentTree := .cutR (31 / 32) n1515 n736 def n1517 : TangentTree := .cutT (27 / 128) n1516 n1142 def n1518 : TangentTree := .cutR (59 / 64) n1138 n1517 def n1519 : TangentTree := .leaf (1 / 2) (7 / 32) (7 / 32) def n1520 : TangentTree := .cutT (55 / 256) n610 n1519 def n1521 : TangentTree := .cutT (27 / 128) n736 n1520 def n1522 : TangentTree := .cutR (63 / 64) n1518 n1521 def n1523 : TangentTree := .cutR (29 / 32) n299 n1522 def n1524 : TangentTree := .cutT (13 / 64) n1513 n1523 def n1525 : TangentTree := .cutR (7 / 8) n868 n1524 def n1526 : TangentTree := .cutR (101 / 128) n177 n342 def n1527 : TangentTree := .cutR (13 / 16) n3 n745 def n1528 : TangentTree := .cutT (31 / 128) n327 n1527 def n1529 : TangentTree := .cutR (101 / 128) n328 n1528 def n1530 : TangentTree := .cutT (15 / 64) n1526 n1529 def n1531 : TangentTree := .cutR (227 / 256) n341 n756 def n1532 : TangentTree := .cutR (227 / 256) n887 n628 def n1533 : TangentTree := .cutT (29 / 128) n1531 n1532 def n1534 : TangentTree := .cutR (111 / 128) n1010 n1533 def n1535 : TangentTree := .cutT (31 / 128) n1150 n1153 def n1536 : TangentTree := .cutT (31 / 128) n1030 n902 def n1537 : TangentTree := .cutR (7 / 8) n1535 n1536 def n1538 : TangentTree := .cutT (15 / 64) n1534 n1537 def n1539 : TangentTree := .cutR (53 / 64) n1530 n1538 def n1540 : TangentTree := .cutT (29 / 128) n758 n1019 def n1541 : TangentTree := .cutT (31 / 128) n905 n783 def n1542 : TangentTree := .cutT (15 / 64) n1540 n1541 def n1543 : TangentTree := .cutR (29 / 32) n1539 n1542 def n1544 : TangentTree := .cutR (123 / 128) n758 n636 def n1545 : TangentTree := .cutR (125 / 128) n1544 n767 def n1546 : TangentTree := .cutR (63 / 64) n1545 n767 def n1547 : TangentTree := .cutR (123 / 128) n631 n631 def n1548 : TangentTree := .cutR (125 / 128) n1547 n218 def n1549 : TangentTree := .cutR (63 / 64) n1548 n218 def n1550 : TangentTree := .cutT (29 / 128) n1546 n1549 def n1551 : TangentTree := .cutT (15 / 64) n1550 n1294 def n1552 : TangentTree := .cutR (15 / 16) n1543 n1551 def n1553 : TangentTree := .cutT (7 / 32) n1525 n1552 def n1554 : TangentTree := .cutR (3 / 4) n455 n1553 def n1555 : TangentTree := .cutT (3 / 16) n599 n1554 def n1556 : TangentTree := .cutT (1 / 8) n74 n1555 def n1557 : TangentTree := .cutR (21 / 32) n152 n1182 def n1558 : TangentTree := .cutT (39 / 128) n1302 n237 def n1559 : TangentTree := .cutR (23 / 32) n1557 n1558 def n1560 : TangentTree := .cutT (19 / 64) n1301 n1559 def n1561 : TangentTree := .cutR (5 / 8) n152 n1560 def n1562 : TangentTree := .cutT (9 / 32) n1422 n1561 def n1563 : TangentTree := .cutT (11 / 32) n225 n1431 def n1564 : TangentTree := .cutR (11 / 16) n1188 n1314 def n1565 : TangentTree := .cutR (21 / 32) n225 n544 def n1566 : TangentTree := .cutT (21 / 64) n1564 n1565 def n1567 : TangentTree := .cutR (21 / 32) n33 n239 def n1568 : TangentTree := .cutT (23 / 64) n1434 n1567 def n1569 : TangentTree := .cutT (11 / 32) n1566 n1568 def n1570 : TangentTree := .cutR (5 / 8) n1563 n1569 def n1571 : TangentTree := .cutT (5 / 16) n1562 n1570 def n1572 : TangentTree := .leaf 1 (27 / 64) (27 / 64) def n1573 : TangentTree := .cutT (27 / 64) n1572 n419 def n1574 : TangentTree := .leaf (43 / 64) (7 / 16) (7 / 16) def n1575 : TangentTree := .cutR (19 / 32) n1573 n1574 def n1576 : TangentTree := .cutT (13 / 32) n1441 n1575 def n1577 : TangentTree := .leaf (21 / 32) (1 / 2) (1 / 2) def n1578 : TangentTree := .cutR (19 / 32) n20 n1577 def n1579 : TangentTree := .cutT (15 / 32) n1444 n1578 def n1580 : TangentTree := .cutR (9 / 16) n1443 n1579 def n1581 : TangentTree := .cutT (7 / 16) n1576 n1580 def n1582 : TangentTree := .cutR (5 / 8) n1581 n1453 def n1583 : TangentTree := .cutT (3 / 8) n1571 n1582 def n1584 : TangentTree := .leaf (15 / 16) (9 / 16) (9 / 16) def n1585 : TangentTree := .cutR (35 / 64) n1584 n817 def n1586 : TangentTree := .cutT (17 / 32) n1340 n1585 def n1587 : TangentTree := .leaf (5 / 6) (19 / 32) (19 / 32) def n1588 : TangentTree := .cutT (19 / 32) n1587 n1214 def n1589 : TangentTree := .cutR (17 / 32) n675 n1588 def n1590 : TangentTree := .cutT (9 / 16) n1586 n1589 def n1591 : TangentTree := .leaf (15 / 16) (49 / 64) (49 / 64) def n1592 : TangentTree := .leaf (6 / 7) (97 / 128) (97 / 128) def n1593 : TangentTree := .leaf (13 / 16) (3 / 4) (97 / 128) def n1594 : TangentTree := .cutR (35 / 64) n1592 n1593 def n1595 : TangentTree := .cutR (17 / 32) n1591 n1594 def n1596 : TangentTree := .cutT (5 / 8) n1590 n1595 def n1597 : TangentTree := .leaf (13 / 20) (17 / 32) (17 / 32) def n1598 : TangentTree := .cutT (17 / 32) n1597 n1089 def n1599 : TangentTree := .cutR (19 / 32) n1222 n1598 def n1600 : TangentTree := .leaf (13 / 20) (19 / 32) (19 / 32) def n1601 : TangentTree := .cutT (19 / 32) n1600 n1228 def n1602 : TangentTree := .cutR (19 / 32) n1462 n1601 def n1603 : TangentTree := .cutT (9 / 16) n1599 n1602 def n1604 : TangentTree := .leaf (3 / 4) (97 / 128) (97 / 128) def n1605 : TangentTree := .cutR (37 / 64) n1604 n1466 def n1606 : TangentTree := .leaf (2 / 3) (97 / 128) (97 / 128) def n1607 : TangentTree := .leaf (5 / 8) (97 / 128) (97 / 128) def n1608 : TangentTree := .cutR (39 / 64) n1606 n1607 def n1609 : TangentTree := .cutR (19 / 32) n1605 n1608 def n1610 : TangentTree := .cutT (5 / 8) n1603 n1609 def n1611 : TangentTree := .cutR (9 / 16) n1596 n1610 def n1612 : TangentTree := .leaf (31 / 64) (9 / 16) (9 / 16) def n1613 : TangentTree := .cutT (9 / 16) n1612 n1098 def n1614 : TangentTree := .leaf (11 / 24) (25 / 32) (105 / 128) def n1615 : TangentTree := .cutT (5 / 8) n1613 n1614 def n1616 : TangentTree := .cutR (21 / 32) n1476 n1615 def n1617 : TangentTree := .cutR (5 / 8) n1611 n1616 def n1618 : TangentTree := .cutT (1 / 2) n1583 n1617 def n1619 : TangentTree := .cutR (29 / 32) n851 n436 def n1620 : TangentTree := .cutR (59 / 64) n1619 n436 def n1621 : TangentTree := .cutR (27 / 32) n956 n1620 def n1622 : TangentTree := .leaf (7 / 16) (9 / 32) (9 / 32) def n1623 : TangentTree := .cutR (55 / 64) n959 n1622 def n1624 : TangentTree := .cutR (29 / 32) n1623 n372 def n1625 : TangentTree := .cutT (17 / 64) n1621 n1624 def n1626 : TangentTree := .cutR (15 / 16) n1625 n963 def n1627 : TangentTree := .cutR (31 / 32) n1626 n965 def n1628 : TangentTree := .cutR (13 / 16) n1240 n1627 def n1629 : TangentTree := .cutT (19 / 64) n1376 n1053 def n1630 : TangentTree := .cutR (27 / 32) n971 n505 def n1631 : TangentTree := .cutT (19 / 64) n1630 n237 def n1632 : TangentTree := .cutR (25 / 32) n1629 n1631 def n1633 : TangentTree := .cutR (29 / 32) n1632 n975 def n1634 : TangentTree := .cutR (15 / 16) n1633 n237 def n1635 : TangentTree := .cutT (9 / 32) n1628 n1634 def n1636 : TangentTree := .cutT (3 / 8) n1384 n1503 def n1637 : TangentTree := .cutT (5 / 16) n1635 n1636 def n1638 : TangentTree := .cutT (1 / 2) n1637 n1506 def n1639 : TangentTree := .cutR (3 / 4) n1618 n1638 def n1640 : TangentTree := .cutT (1 / 4) n1556 n1639 def n1641 : TangentTree := .leaf 1 (3 / 4) (3 / 4) def n1642 : TangentTree := .cutT (5 / 8) n675 n1641 def n1643 : TangentTree := .cutT (1 / 2) n248 n1642 def n1644 : TangentTree := .cutT (1 / 4) n1130 n1643 def n1645 : TangentTree := .cutR (3 / 4) n78 n145 def n1646 : TangentTree := .leaf (13 / 16) (15 / 64) (15 / 64) def n1647 : TangentTree := .cutT (29 / 128) n341 n1646 def n1648 : TangentTree := .cutR (53 / 64) n177 n1647 def n1649 : TangentTree := .cutR (107 / 128) n327 n742 def n1650 : TangentTree := .cutR (55 / 64) n1649 n775 def n1651 : TangentTree := .cutR (53 / 64) n60 n1014 def n1652 : TangentTree := .cutT (31 / 128) n1650 n1651 def n1653 : TangentTree := .cutR (13 / 16) n328 n1652 def n1654 : TangentTree := .cutT (15 / 64) n1648 n1653 def n1655 : TangentTree := .cutR (25 / 32) n178 n1654 def n1656 : TangentTree := .cutT (7 / 32) n1645 n1655 def n1657 : TangentTree := .cutR (11 / 16) n79 n1656 def n1658 : TangentTree := .cutR (241 / 256) n609 n611 def n1659 : TangentTree := .cutR (123 / 128) n1658 n611 def n1660 : TangentTree := .cutR (31 / 32) n1659 n1520 def n1661 : TangentTree := .cutT (27 / 128) n606 n1660 def n1662 : TangentTree := .cutR (59 / 64) n337 n1661 def n1663 : TangentTree := .leaf (1 / 2) (55 / 256) (55 / 256) def n1664 : TangentTree := .cutT (55 / 256) n1663 n1519 def n1665 : TangentTree := .cutT (27 / 128) n736 n1664 def n1666 : TangentTree := .cutR (63 / 64) n1662 n1665 def n1667 : TangentTree := .cutR (29 / 32) n299 n1666 def n1668 : TangentTree := .cutT (13 / 64) n603 n1667 def n1669 : TangentTree := .cutT (29 / 128) n756 n628 def n1670 : TangentTree := .cutT (29 / 128) n625 n628 def n1671 : TangentTree := .cutR (123 / 128) n636 n767 def n1672 : TangentTree := .cutR (125 / 128) n1671 n767 def n1673 : TangentTree := .cutR (15 / 16) n758 n1672 def n1674 : TangentTree := .cutR (121 / 128) n763 n631 def n1675 : TangentTree := .cutR (123 / 128) n1674 n218 def n1676 : TangentTree := .cutR (31 / 32) n1675 n218 def n1677 : TangentTree := .cutT (29 / 128) n1673 n1676 def n1678 : TangentTree := .cutR (59 / 64) n1670 n1677 def n1679 : TangentTree := .cutT (29 / 128) n769 n218 def n1680 : TangentTree := .cutR (63 / 64) n1678 n1679 def n1681 : TangentTree := .cutR (29 / 32) n1669 n1680 def n1682 : TangentTree := .cutR (115 / 128) n778 n905 def n1683 : TangentTree := .cutR (119 / 128) n1682 n907 def n1684 : TangentTree := .cutR (57 / 64) n775 n1683 def n1685 : TangentTree := .cutR (115 / 128) n1034 n783 def n1686 : TangentTree := .cutR (117 / 128) n1685 n182 def n1687 : TangentTree := .cutR (59 / 64) n1686 n182 def n1688 : TangentTree := .cutT (31 / 128) n1684 n1687 def n1689 : TangentTree := .cutR (15 / 16) n1688 n347 def n1690 : TangentTree := .cutR (61 / 64) n1689 n347 def n1691 : TangentTree := .cutR (31 / 32) n1690 n347 def n1692 : TangentTree := .cutT (15 / 64) n1681 n1691 def n1693 : TangentTree := .cutT (7 / 32) n1668 n1692 def n1694 : TangentTree := .cutR (7 / 8) n1657 n1693 def n1695 : TangentTree := .cutT (3 / 16) n599 n1694 def n1696 : TangentTree := .cutT (1 / 8) n74 n1695 def n1697 : TangentTree := .cutR (23 / 32) n1557 n1053 def n1698 : TangentTree := .cutT (19 / 64) n1301 n1697 def n1699 : TangentTree := .cutR (5 / 8) n152 n1698 def n1700 : TangentTree := .cutT (9 / 32) n795 n1699 def n1701 : TangentTree := .leaf (71 / 128) (21 / 64) (21 / 64) def n1702 : TangentTree := .cutR (21 / 32) n656 n1701 def n1703 : TangentTree := .cutT (21 / 64) n1702 n1565 def n1704 : TangentTree := .cutT (11 / 32) n1703 n1436 def n1705 : TangentTree := .cutR (5 / 8) n1563 n1704 def n1706 : TangentTree := .cutT (5 / 16) n1700 n1705 def n1707 : TangentTree := .leaf (11 / 16) (13 / 32) (13 / 32) def n1708 : TangentTree := .cutR (19 / 32) n478 n1707 def n1709 : TangentTree := .cutT (13 / 32) n1708 n1575 def n1710 : TangentTree := .leaf (23 / 32) (29 / 64) (29 / 64) def n1711 : TangentTree := .cutT (29 / 64) n1710 n1071 def n1712 : TangentTree := .cutT (15 / 32) n1711 n1578 def n1713 : TangentTree := .cutR (9 / 16) n1443 n1712 def n1714 : TangentTree := .cutT (7 / 16) n1709 n1713 def n1715 : TangentTree := .cutR (5 / 8) n1714 n1453 def n1716 : TangentTree := .cutT (3 / 8) n1706 n1715 def n1717 : TangentTree := .leaf (29 / 32) (17 / 32) (17 / 32) def n1718 : TangentTree := .cutT (17 / 32) n1717 n1585 def n1719 : TangentTree := .leaf (15 / 16) (5 / 8) (5 / 8) def n1720 : TangentTree := .cutR (17 / 32) n1719 n1588 def n1721 : TangentTree := .cutT (9 / 16) n1718 n1720 def n1722 : TangentTree := .leaf (13 / 16) (97 / 128) (49 / 64) def n1723 : TangentTree := .cutR (35 / 64) n1592 n1722 def n1724 : TangentTree := .cutR (17 / 32) n1591 n1723 def n1725 : TangentTree := .cutT (5 / 8) n1721 n1724 def n1726 : TangentTree := .leaf (21 / 32) (17 / 32) (17 / 32) def n1727 : TangentTree := .cutT (17 / 32) n1726 n1089 def n1728 : TangentTree := .cutR (19 / 32) n1222 n1727 def n1729 : TangentTree := .cutT (9 / 16) n1728 n1602 def n1730 : TangentTree := .leaf (28 / 37) (97 / 128) (97 / 128) def n1731 : TangentTree := .leaf (27 / 38) (97 / 128) (97 / 128) def n1732 : TangentTree := .cutR (37 / 64) n1730 n1731 def n1733 : TangentTree := .cutR (19 / 32) n1732 n1608 def n1734 : TangentTree := .cutT (5 / 8) n1729 n1733 def n1735 : TangentTree := .cutR (9 / 16) n1725 n1734 def n1736 : TangentTree := .leaf (4 / 7) (49 / 64) (99 / 128) def n1737 : TangentTree := .cutT (5 / 8) n1474 n1736 def n1738 : TangentTree := .leaf (63 / 128) (9 / 16) (9 / 16) def n1739 : TangentTree := .cutT (9 / 16) n1738 n1098 def n1740 : TangentTree := .leaf (15 / 32) (99 / 128) (53 / 64) def n1741 : TangentTree := .cutT (5 / 8) n1739 n1740 def n1742 : TangentTree := .cutR (21 / 32) n1737 n1741 def n1743 : TangentTree := .cutR (5 / 8) n1735 n1742 def n1744 : TangentTree := .cutT (1 / 2) n1716 n1743 def n1745 : TangentTree := .cutT (17 / 64) n1105 n848 def n1746 : TangentTree := .cutR (15 / 16) n1620 n436 def n1747 : TangentTree := .cutR (29 / 32) n848 n372 def n1748 : TangentTree := .cutT (17 / 64) n1746 n1747 def n1749 : TangentTree := .cutR (27 / 32) n1745 n1748 def n1750 : TangentTree := .cutR (31 / 32) n1749 n965 def n1751 : TangentTree := .cutR (13 / 16) n1240 n1750 def n1752 : TangentTree := .cutR (49 / 64) n969 n971 def n1753 : TangentTree := .cutR (53 / 64) n1752 n505 def n1754 : TangentTree := .cutR (27 / 32) n1753 n505 def n1755 : TangentTree := .cutT (19 / 64) n1754 n1493 def n1756 : TangentTree := .cutR (7 / 8) n1755 n975 def n1757 : TangentTree := .cutR (29 / 32) n1756 n975 def n1758 : TangentTree := .cutR (15 / 16) n1757 n237 def n1759 : TangentTree := .cutT (9 / 32) n1751 n1758 def n1760 : TangentTree := .cutT (3 / 8) n1123 n1503 def n1761 : TangentTree := .cutT (5 / 16) n1759 n1760 def n1762 : TangentTree := .leaf (1 / 4) (105 / 128) 1 def n1763 : TangentTree := .cutT (1 / 2) n1761 n1762 def n1764 : TangentTree := .cutR (3 / 4) n1744 n1763 def n1765 : TangentTree := .cutT (1 / 4) n1696 n1764 def n1766 : TangentTree := .cutT (1 / 16) n15 n73 def n1767 : TangentTree := .cutR (53 / 64) n177 n396 def n1768 : TangentTree := .cutR (55 / 64) n399 n879 def n1769 : TangentTree := .cutR (53 / 64) n105 n750 def n1770 : TangentTree := .cutR (55 / 64) n1769 n776 def n1771 : TangentTree := .cutT (31 / 128) n1768 n1770 def n1772 : TangentTree := .cutR (13 / 16) n328 n1771 def n1773 : TangentTree := .cutT (15 / 64) n1767 n1772 def n1774 : TangentTree := .cutR (25 / 32) n178 n1773 def n1775 : TangentTree := .cutT (7 / 32) n262 n1774 def n1776 : TangentTree := .cutR (11 / 16) n79 n1775 def n1777 : TangentTree := .cutR (15 / 16) n144 n601 def n1778 : TangentTree := .cutR (29 / 32) n299 n520 def n1779 : TangentTree := .leaf (11 / 16) (27 / 128) (27 / 128) def n1780 : TangentTree := .leaf (21 / 32) (7 / 32) (7 / 32) def n1781 : TangentTree := .cutT (27 / 128) n1779 n1780 def n1782 : TangentTree := .cutR (31 / 32) n1778 n1781 def n1783 : TangentTree := .cutT (13 / 64) n1777 n1782 def n1784 : TangentTree := .cutT (29 / 128) n405 n628 def n1785 : TangentTree := .cutT (29 / 128) n625 n763 def n1786 : TangentTree := .cutR (123 / 128) n636 n534 def n1787 : TangentTree := .cutR (15 / 16) n758 n1786 def n1788 : TangentTree := .leaf (9 / 16) (15 / 64) (15 / 64) def n1789 : TangentTree := .cutR (121 / 128) n631 n1788 def n1790 : TangentTree := .cutR (31 / 32) n1789 n218 def n1791 : TangentTree := .cutT (29 / 128) n1787 n1790 def n1792 : TangentTree := .cutR (59 / 64) n1785 n1791 def n1793 : TangentTree := .cutR (63 / 64) n1792 n344 def n1794 : TangentTree := .cutR (29 / 32) n1784 n1793 def n1795 : TangentTree := .cutT (31 / 128) n775 n783 def n1796 : TangentTree := .cutR (119 / 128) n907 n346 def n1797 : TangentTree := .cutT (31 / 128) n1796 n182 def n1798 : TangentTree := .cutR (61 / 64) n1797 n347 def n1799 : TangentTree := .leaf (3 / 8) (1 / 4) (1 / 4) def n1800 : TangentTree := .cutR (63 / 64) n1798 n1799 def n1801 : TangentTree := .cutR (29 / 32) n1795 n1800 def n1802 : TangentTree := .cutT (15 / 64) n1794 n1801 def n1803 : TangentTree := .cutT (7 / 32) n1783 n1802 def n1804 : TangentTree := .cutR (7 / 8) n1776 n1803 def n1805 : TangentTree := .cutT (3 / 16) n389 n1804 def n1806 : TangentTree := .cutT (1 / 8) n1766 n1805 def n1807 : TangentTree := .cutR (11 / 16) n274 n794 def n1808 : TangentTree := .cutR (43 / 64) n152 n1050 def n1809 : TangentTree := .cutR (47 / 64) n1808 n1053 def n1810 : TangentTree := .cutR (21 / 32) n152 n1809 def n1811 : TangentTree := .cutT (19 / 64) n920 n1810 def n1812 : TangentTree := .cutR (5 / 8) n152 n1811 def n1813 : TangentTree := .cutT (9 / 32) n1807 n1812 def n1814 : TangentTree := .cutR (21 / 32) n656 n1059 def n1815 : TangentTree := .cutT (21 / 64) n1814 n1565 def n1816 : TangentTree := .cutT (23 / 64) n1318 n1435 def n1817 : TangentTree := .cutT (11 / 32) n1815 n1816 def n1818 : TangentTree := .cutR (5 / 8) n1563 n1817 def n1819 : TangentTree := .cutT (5 / 16) n1813 n1818 def n1820 : TangentTree := .leaf (43 / 64) (15 / 32) (15 / 32) def n1821 : TangentTree := .cutR (19 / 32) n811 n1820 def n1822 : TangentTree := .cutT (15 / 32) n1821 n1578 def n1823 : TangentTree := .cutR (9 / 16) n1443 n1822 def n1824 : TangentTree := .cutT (7 / 16) n1709 n1823 def n1825 : TangentTree := .leaf (19 / 32) (15 / 32) (15 / 32) def n1826 : TangentTree := .cutR (21 / 32) n1825 n1204 def n1827 : TangentTree := .cutT (15 / 32) n1826 n1207 def n1828 : TangentTree := .cutT (7 / 16) n1452 n1827 def n1829 : TangentTree := .cutR (5 / 8) n1824 n1828 def n1830 : TangentTree := .cutT (3 / 8) n1819 n1829 def n1831 : TangentTree := .leaf 1 (17 / 32) (17 / 32) def n1832 : TangentTree := .cutR (35 / 64) n1831 n1212 def n1833 : TangentTree := .leaf (13 / 16) (9 / 16) (9 / 16) def n1834 : TangentTree := .cutR (35 / 64) n1584 n1833 def n1835 : TangentTree := .cutT (17 / 32) n1832 n1834 def n1836 : TangentTree := .cutT (9 / 16) n1835 n1720 def n1837 : TangentTree := .leaf (16 / 17) (49 / 64) (99 / 128) def n1838 : TangentTree := .leaf (6 / 7) (97 / 128) (49 / 64) def n1839 : TangentTree := .leaf (29 / 36) (3 / 4) (3 / 4) def n1840 : TangentTree := .leaf (7 / 8) (99 / 128) (25 / 32) def n1841 : TangentTree := .cutT (3 / 4) n1839 n1840 def n1842 : TangentTree := .cutR (35 / 64) n1838 n1841 def n1843 : TangentTree := .cutR (17 / 32) n1837 n1842 def n1844 : TangentTree := .cutT (5 / 8) n1836 n1843 def n1845 : TangentTree := .leaf (95 / 128) (9 / 16) (9 / 16) def n1846 : TangentTree := .cutT (17 / 32) n1221 n1845 def n1847 : TangentTree := .leaf (21 / 32) (9 / 16) (9 / 16) def n1848 : TangentTree := .cutT (17 / 32) n1726 n1847 def n1849 : TangentTree := .cutR (19 / 32) n1846 n1848 def n1850 : TangentTree := .leaf (95 / 128) (19 / 32) (19 / 32) def n1851 : TangentTree := .cutT (19 / 32) n1850 n1348 def n1852 : TangentTree := .leaf (21 / 32) (19 / 32) (19 / 32) def n1853 : TangentTree := .cutT (19 / 32) n1852 n1228 def n1854 : TangentTree := .cutR (19 / 32) n1851 n1853 def n1855 : TangentTree := .cutT (9 / 16) n1849 n1854 def n1856 : TangentTree := .leaf (3 / 4) (21 / 32) (21 / 32) def n1857 : TangentTree := .cutT (21 / 32) n1856 n1465 def n1858 : TangentTree := .leaf (3 / 4) (49 / 64) (49 / 64) def n1859 : TangentTree := .cutT (3 / 4) n1857 n1858 def n1860 : TangentTree := .leaf (23 / 32) (21 / 32) (21 / 32) def n1861 : TangentTree := .leaf (23 / 32) (3 / 4) (3 / 4) def n1862 : TangentTree := .cutT (21 / 32) n1860 n1861 def n1863 : TangentTree := .leaf (3 / 4) (49 / 64) (25 / 32) def n1864 : TangentTree := .cutT (3 / 4) n1862 n1863 def n1865 : TangentTree := .cutR (37 / 64) n1859 n1864 def n1866 : TangentTree := .leaf (2 / 3) (97 / 128) (49 / 64) def n1867 : TangentTree := .leaf (5 / 8) (97 / 128) (49 / 64) def n1868 : TangentTree := .cutR (39 / 64) n1866 n1867 def n1869 : TangentTree := .cutR (19 / 32) n1865 n1868 def n1870 : TangentTree := .cutT (5 / 8) n1855 n1869 def n1871 : TangentTree := .cutR (9 / 16) n1844 n1870 def n1872 : TangentTree := .cutT (9 / 16) n1473 n832 def n1873 : TangentTree := .leaf (15 / 32) (5 / 8) (5 / 8) def n1874 : TangentTree := .cutT (9 / 16) n1738 n1873 def n1875 : TangentTree := .cutR (21 / 32) n1872 n1874 def n1876 : TangentTree := .leaf (15 / 32) (25 / 32) (107 / 128) def n1877 : TangentTree := .cutR (21 / 32) n1736 n1876 def n1878 : TangentTree := .cutT (5 / 8) n1875 n1877 def n1879 : TangentTree := .cutR (5 / 8) n1871 n1878 def n1880 : TangentTree := .cutT (1 / 2) n1830 n1879 def n1881 : TangentTree := .cutR (53 / 64) n846 n851 def n1882 : TangentTree := .cutR (57 / 64) n1881 n436 def n1883 : TangentTree := .cutR (29 / 32) n1882 n436 def n1884 : TangentTree := .cutR (55 / 64) n848 n372 def n1885 : TangentTree := .cutR (29 / 32) n1884 n372 def n1886 : TangentTree := .cutT (17 / 64) n1883 n1885 def n1887 : TangentTree := .cutR (15 / 16) n1886 n963 def n1888 : TangentTree := .cutR (31 / 32) n1887 n965 def n1889 : TangentTree := .cutR (13 / 16) n955 n1888 def n1890 : TangentTree := .cutR (25 / 32) n969 n971 def n1891 : TangentTree := .cutT (19 / 64) n1890 n1250 def n1892 : TangentTree := .cutR (27 / 32) n1891 n705 def n1893 : TangentTree := .cutR (15 / 16) n1892 n237 def n1894 : TangentTree := .cutT (9 / 32) n1889 n1893 def n1895 : TangentTree := .cutT (5 / 16) n1894 n1760 def n1896 : TangentTree := .cutT (1 / 2) n1895 n1762 def n1897 : TangentTree := .cutR (3 / 4) n1880 n1896 def n1898 : TangentTree := .cutT (1 / 4) n1806 n1897 def n1899 : TangentTree := .cutT (1 / 16) n14 n56 def n1900 : TangentTree := .cutT (1 / 8) n1899 n246 def n1901 : TangentTree := .leaf 1 (97 / 128) (97 / 128) def n1902 : TangentTree := .cutT (5 / 8) n675 n1901 def n1903 : TangentTree := .cutT (1 / 2) n248 n1902 def n1904 : TangentTree := .cutT (1 / 4) n1900 n1903 def n1905 : TangentTree := .cutR (53 / 64) n177 n342 def n1906 : TangentTree := .leaf (41 / 64) (1 / 4) (1 / 4) def n1907 : TangentTree := .cutT (31 / 128) n399 n1906 def n1908 : TangentTree := .cutR (13 / 16) n328 n1907 def n1909 : TangentTree := .cutT (15 / 64) n1905 n1908 def n1910 : TangentTree := .cutR (25 / 32) n178 n1909 def n1911 : TangentTree := .cutT (7 / 32) n262 n1910 def n1912 : TangentTree := .cutR (11 / 16) n79 n1911 def n1913 : TangentTree := .cutR (29 / 32) n299 n391 def n1914 : TangentTree := .cutT (27 / 128) n390 n1001 def n1915 : TangentTree := .cutR (31 / 32) n1913 n1914 def n1916 : TangentTree := .cutT (13 / 64) n1777 n1915 def n1917 : TangentTree := .leaf (21 / 32) (15 / 64) (15 / 64) def n1918 : TangentTree := .cutT (29 / 128) n405 n1917 def n1919 : TangentTree := .cutT (29 / 128) n534 n218 def n1920 : TangentTree := .cutR (15 / 16) n1918 n1919 def n1921 : TangentTree := .cutT (31 / 128) n530 n304 def n1922 : TangentTree := .cutR (59 / 64) n1921 n347 def n1923 : TangentTree := .cutR (61 / 64) n1922 n347 def n1924 : TangentTree := .cutR (31 / 32) n1923 n347 def n1925 : TangentTree := .cutT (15 / 64) n1920 n1924 def n1926 : TangentTree := .cutT (7 / 32) n1916 n1925 def n1927 : TangentTree := .cutR (7 / 8) n1912 n1926 def n1928 : TangentTree := .cutT (3 / 16) n213 n1927 def n1929 : TangentTree := .cutT (1 / 8) n1766 n1928 def n1930 : TangentTree := .cutT (19 / 64) n439 n152 def n1931 : TangentTree := .cutR (19 / 32) n152 n1930 def n1932 : TangentTree := .cutT (19 / 64) n919 n441 def n1933 : TangentTree := .cutR (11 / 16) n1931 n1932 def n1934 : TangentTree := .cutT (9 / 32) n795 n1933 def n1935 : TangentTree := .leaf (75 / 128) (21 / 64) (21 / 64) def n1936 : TangentTree := .leaf (37 / 64) (11 / 32) (11 / 32) def n1937 : TangentTree := .cutT (21 / 64) n1935 n1936 def n1938 : TangentTree := .cutT (11 / 32) n1937 n1319 def n1939 : TangentTree := .cutR (5 / 8) n1563 n1938 def n1940 : TangentTree := .cutT (5 / 16) n1934 n1939 def n1941 : TangentTree := .leaf (85 / 128) (15 / 32) (15 / 32) def n1942 : TangentTree := .cutR (19 / 32) n811 n1941 def n1943 : TangentTree := .leaf (85 / 128) (1 / 2) (1 / 2) def n1944 : TangentTree := .cutR (19 / 32) n20 n1943 def n1945 : TangentTree := .cutT (15 / 32) n1942 n1944 def n1946 : TangentTree := .cutR (9 / 16) n1443 n1945 def n1947 : TangentTree := .cutT (7 / 16) n1709 n1946 def n1948 : TangentTree := .cutT (13 / 32) n930 n1451 def n1949 : TangentTree := .cutT (7 / 16) n1948 n1827 def n1950 : TangentTree := .cutR (5 / 8) n1947 n1949 def n1951 : TangentTree := .cutT (3 / 8) n1940 n1950 def n1952 : TangentTree := .leaf 1 (97 / 128) (99 / 128) def n1953 : TangentTree := .leaf (29 / 32) (49 / 64) (49 / 64) def n1954 : TangentTree := .cutR (33 / 64) n1952 n1953 def n1955 : TangentTree := .leaf (6 / 7) (49 / 64) (49 / 64) def n1956 : TangentTree := .leaf (13 / 16) (21 / 32) (21 / 32) def n1957 : TangentTree := .leaf (13 / 16) (3 / 4) (3 / 4) def n1958 : TangentTree := .cutT (21 / 32) n1956 n1957 def n1959 : TangentTree := .leaf (13 / 16) (49 / 64) (99 / 128) def n1960 : TangentTree := .cutT (3 / 4) n1958 n1959 def n1961 : TangentTree := .cutR (35 / 64) n1955 n1960 def n1962 : TangentTree := .cutR (17 / 32) n1954 n1961 def n1963 : TangentTree := .cutT (5 / 8) n1836 n1962 def n1964 : TangentTree := .leaf (3 / 4) (33 / 64) (33 / 64) def n1965 : TangentTree := .cutT (33 / 64) n1964 n1221 def n1966 : TangentTree := .leaf (23 / 32) (9 / 16) (9 / 16) def n1967 : TangentTree := .cutR (37 / 64) n821 n1966 def n1968 : TangentTree := .cutT (17 / 32) n1965 n1967 def n1969 : TangentTree := .leaf (11 / 16) (33 / 64) (33 / 64) def n1970 : TangentTree := .cutT (33 / 64) n1969 n1226 def n1971 : TangentTree := .cutT (17 / 32) n1970 n1847 def n1972 : TangentTree := .cutR (19 / 32) n1968 n1971 def n1973 : TangentTree := .leaf (23 / 32) (19 / 32) (19 / 32) def n1974 : TangentTree := .cutR (37 / 64) n1461 n1973 def n1975 : TangentTree := .leaf (23 / 32) (5 / 8) (5 / 8) def n1976 : TangentTree := .cutR (37 / 64) n561 n1975 def n1977 : TangentTree := .cutT (19 / 32) n1974 n1976 def n1978 : TangentTree := .cutT (19 / 32) n1852 n681 def n1979 : TangentTree := .cutR (19 / 32) n1977 n1978 def n1980 : TangentTree := .cutT (9 / 16) n1972 n1979 def n1981 : TangentTree := .leaf (28 / 37) (3 / 4) (3 / 4) def n1982 : TangentTree := .cutT (21 / 32) n1856 n1981 def n1983 : TangentTree := .cutT (3 / 4) n1982 n1858 def n1984 : TangentTree := .cutR (37 / 64) n1983 n1864 def n1985 : TangentTree := .leaf (2 / 3) (21 / 32) (21 / 32) def n1986 : TangentTree := .leaf (2 / 3) (3 / 4) (3 / 4) def n1987 : TangentTree := .cutT (21 / 32) n1985 n1986 def n1988 : TangentTree := .leaf (2 / 3) (49 / 64) (49 / 64) def n1989 : TangentTree := .cutT (3 / 4) n1987 n1988 def n1990 : TangentTree := .leaf (5 / 8) (49 / 64) (49 / 64) def n1991 : TangentTree := .cutR (39 / 64) n1989 n1990 def n1992 : TangentTree := .cutR (19 / 32) n1984 n1991 def n1993 : TangentTree := .cutT (5 / 8) n1980 n1992 def n1994 : TangentTree := .cutR (9 / 16) n1963 n1993 def n1995 : TangentTree := .leaf (1 / 2) (17 / 32) (17 / 32) def n1996 : TangentTree := .cutT (17 / 32) n1995 n1097 def n1997 : TangentTree := .cutT (9 / 16) n1996 n948 def n1998 : TangentTree := .cutR (21 / 32) n1872 n1997 def n1999 : TangentTree := .leaf (37 / 64) (49 / 64) (25 / 32) def n2000 : TangentTree := .leaf (1 / 2) (49 / 64) (25 / 32) def n2001 : TangentTree := .leaf (3 / 8) (103 / 128) (101 / 128) def n2002 : TangentTree := .cutR (11 / 16) n2000 n2001 def n2003 : TangentTree := .cutR (21 / 32) n1999 n2002 def n2004 : TangentTree := .cutT (5 / 8) n1998 n2003 def n2005 : TangentTree := .cutR (5 / 8) n1994 n2004 def n2006 : TangentTree := .cutT (1 / 2) n1951 n2005 def n2007 : TangentTree := .cutT (33 / 128) n845 n436 def n2008 : TangentTree := .cutR (57 / 64) n699 n436 def n2009 : TangentTree := .cutR (27 / 32) n2007 n2008 def n2010 : TangentTree := .cutR (7 / 8) n848 n372 def n2011 : TangentTree := .cutT (17 / 64) n2009 n2010 def n2012 : TangentTree := .cutR (15 / 16) n2011 n963 def n2013 : TangentTree := .cutR (31 / 32) n2012 n372 def n2014 : TangentTree := .cutR (13 / 16) n955 n2013 def n2015 : TangentTree := .cutR (25 / 32) n971 n971 def n2016 : TangentTree := .cutT (19 / 64) n2015 n237 def n2017 : TangentTree := .cutR (27 / 32) n2016 n705 def n2018 : TangentTree := .cutR (15 / 16) n2017 n237 def n2019 : TangentTree := .cutT (9 / 32) n2014 n2018 def n2020 : TangentTree := .cutT (3 / 8) n709 n1503 def n2021 : TangentTree := .cutT (5 / 16) n2019 n2020 def n2022 : TangentTree := .leaf (1 / 4) (53 / 64) 1 def n2023 : TangentTree := .cutT (1 / 2) n2021 n2022 def n2024 : TangentTree := .cutR (3 / 4) n2006 n2023 def n2025 : TangentTree := .cutT (1 / 4) n1929 n2024 def n2026 : TangentTree := .cutT (1 / 8) n1899 n18 def n2027 : TangentTree := .cutT (1 / 4) n2026 n1903 def n2028 : TangentTree := .cutR (13 / 16) n328 n526 def n2029 : TangentTree := .cutT (15 / 64) n1905 n2028 def n2030 : TangentTree := .cutR (25 / 32) n178 n2029 def n2031 : TangentTree := .cutT (7 / 32) n262 n2030 def n2032 : TangentTree := .cutR (11 / 16) n79 n2031 def n2033 : TangentTree := .cutR (59 / 64) n299 n337 def n2034 : TangentTree := .cutR (31 / 32) n2033 n391 def n2035 : TangentTree := .cutT (13 / 64) n336 n2034 def n2036 : TangentTree := .cutT (29 / 128) n405 n535 def n2037 : TangentTree := .cutR (15 / 16) n2036 n1919 def n2038 : TangentTree := .cutR (31 / 32) n1922 n1799 def n2039 : TangentTree := .cutT (15 / 64) n2037 n2038 def n2040 : TangentTree := .cutT (7 / 32) n2035 n2039 def n2041 : TangentTree := .cutR (7 / 8) n2032 n2040 def n2042 : TangentTree := .cutT (3 / 16) n213 n2041 def n2043 : TangentTree := .cutT (1 / 8) n1766 n2042 def n2044 : TangentTree := .cutT (19 / 64) n579 n153 def n2045 : TangentTree := .cutR (11 / 16) n1931 n2044 def n2046 : TangentTree := .cutT (9 / 32) n795 n2045 def n2047 : TangentTree := .leaf (19 / 32) (21 / 64) (21 / 64) def n2048 : TangentTree := .leaf (19 / 32) (11 / 32) (11 / 32) def n2049 : TangentTree := .cutT (21 / 64) n2047 n2048 def n2050 : TangentTree := .cutT (11 / 32) n2049 n1319 def n2051 : TangentTree := .cutR (5 / 8) n1563 n2050 def n2052 : TangentTree := .cutT (5 / 16) n2046 n2051 def n2053 : TangentTree := .leaf (11 / 16) (31 / 64) (31 / 64) def n2054 : TangentTree := .cutT (31 / 64) n2053 n1330 def n2055 : TangentTree := .cutR (19 / 32) n20 n2054 def n2056 : TangentTree := .cutT (15 / 32) n1942 n2055 def n2057 : TangentTree := .cutR (9 / 16) n1443 n2056 def n2058 : TangentTree := .cutT (7 / 16) n1709 n2057 def n2059 : TangentTree := .cutR (5 / 8) n2058 n1949 def n2060 : TangentTree := .cutT (3 / 8) n2052 n2059 def n2061 : TangentTree := .leaf (15 / 16) (17 / 32) (17 / 32) def n2062 : TangentTree := .cutR (35 / 64) n2061 n1212 def n2063 : TangentTree := .cutT (17 / 32) n2062 n1834 def n2064 : TangentTree := .leaf (27 / 32) (19 / 32) (19 / 32) def n2065 : TangentTree := .leaf (107 / 128) (5 / 8) (5 / 8) def n2066 : TangentTree := .cutT (19 / 32) n2064 n2065 def n2067 : TangentTree := .cutR (17 / 32) n1719 n2066 def n2068 : TangentTree := .cutT (9 / 16) n2063 n2067 def n2069 : TangentTree := .leaf (31 / 34) (49 / 64) (49 / 64) def n2070 : TangentTree := .cutR (33 / 64) n1952 n2069 def n2071 : TangentTree := .leaf (6 / 7) (21 / 32) (21 / 32) def n2072 : TangentTree := .leaf (6 / 7) (3 / 4) (3 / 4) def n2073 : TangentTree := .cutT (21 / 32) n2071 n2072 def n2074 : TangentTree := .leaf (6 / 7) (99 / 128) (99 / 128) def n2075 : TangentTree := .cutT (3 / 4) n2073 n2074 def n2076 : TangentTree := .cutR (35 / 64) n2075 n1960 def n2077 : TangentTree := .cutR (17 / 32) n2070 n2076 def n2078 : TangentTree := .cutT (5 / 8) n2068 n2077 def n2079 : TangentTree := .leaf (13 / 20) (35 / 64) (35 / 64) def n2080 : TangentTree := .cutT (35 / 64) n2079 n1089 def n2081 : TangentTree := .cutT (17 / 32) n1970 n2080 def n2082 : TangentTree := .cutR (19 / 32) n1968 n2081 def n2083 : TangentTree := .leaf (2 / 3) (19 / 32) (19 / 32) def n2084 : TangentTree := .leaf (5 / 8) (19 / 32) (19 / 32) def n2085 : TangentTree := .cutR (39 / 64) n2083 n2084 def n2086 : TangentTree := .cutT (19 / 32) n2085 n681 def n2087 : TangentTree := .cutR (19 / 32) n1977 n2086 def n2088 : TangentTree := .cutT (9 / 16) n2082 n2087 def n2089 : TangentTree := .leaf (3 / 4) (99 / 128) (99 / 128) def n2090 : TangentTree := .cutT (3 / 4) n1982 n2089 def n2091 : TangentTree := .leaf (27 / 38) (3 / 4) (3 / 4) def n2092 : TangentTree := .cutT (21 / 32) n1860 n2091 def n2093 : TangentTree := .leaf (3 / 4) (99 / 128) (25 / 32) def n2094 : TangentTree := .cutT (3 / 4) n2092 n2093 def n2095 : TangentTree := .cutR (37 / 64) n2090 n2094 def n2096 : TangentTree := .leaf (2 / 3) (49 / 64) (99 / 128) def n2097 : TangentTree := .cutT (3 / 4) n1987 n2096 def n2098 : TangentTree := .leaf (5 / 8) (3 / 4) (3 / 4) def n2099 : TangentTree := .leaf (5 / 8) (49 / 64) (99 / 128) def n2100 : TangentTree := .cutT (3 / 4) n2098 n2099 def n2101 : TangentTree := .cutR (39 / 64) n2097 n2100 def n2102 : TangentTree := .cutR (19 / 32) n2095 n2101 def n2103 : TangentTree := .cutT (5 / 8) n2088 n2102 def n2104 : TangentTree := .cutR (9 / 16) n2078 n2103 def n2105 : TangentTree := .leaf (4 / 7) (19 / 32) (19 / 32) def n2106 : TangentTree := .cutT (19 / 32) n2105 n686 def n2107 : TangentTree := .cutT (9 / 16) n1473 n2106 def n2108 : TangentTree := .cutR (21 / 32) n2107 n1997 def n2109 : TangentTree := .leaf (16 / 27) (49 / 64) (49 / 64) def n2110 : TangentTree := .leaf (9 / 16) (49 / 64) (25 / 32) def n2111 : TangentTree := .cutR (81 / 128) n2109 n2110 def n2112 : TangentTree := .leaf (1 / 2) (99 / 128) (25 / 32) def n2113 : TangentTree := .cutR (11 / 16) n2112 n2001 def n2114 : TangentTree := .cutR (21 / 32) n2111 n2113 def n2115 : TangentTree := .cutT (5 / 8) n2108 n2114 def n2116 : TangentTree := .cutR (5 / 8) n2104 n2115 def n2117 : TangentTree := .cutT (1 / 2) n2060 n2116 def n2118 : TangentTree := .cutT (35 / 128) n842 n372 def n2119 : TangentTree := .cutT (17 / 64) n371 n2118 def n2120 : TangentTree := .leaf (9 / 16) (9 / 32) (9 / 32) def n2121 : TangentTree := .cutT (17 / 64) n2009 n2120 def n2122 : TangentTree := .cutR (15 / 16) n2121 n965 def n2123 : TangentTree := .cutR (31 / 32) n2122 n372 def n2124 : TangentTree := .cutR (13 / 16) n2119 n2123 def n2125 : TangentTree := .leaf (37 / 64) (19 / 64) (19 / 64) def n2126 : TangentTree := .cutT (19 / 64) n2125 n237 def n2127 : TangentTree := .cutR (27 / 32) n2126 n975 def n2128 : TangentTree := .cutR (15 / 16) n2127 n237 def n2129 : TangentTree := .cutT (9 / 32) n2124 n2128 def n2130 : TangentTree := .cutT (5 / 16) n2129 n2020 def n2131 : TangentTree := .cutT (1 / 2) n2130 n2022 def n2132 : TangentTree := .cutR (3 / 4) n2117 n2131 def n2133 : TangentTree := .cutT (1 / 4) n2043 n2132 def n2134 : TangentTree := .cutR (13 / 16) n328 n400 def n2135 : TangentTree := .cutT (15 / 64) n1905 n2134 def n2136 : TangentTree := .cutR (25 / 32) n178 n2135 def n2137 : TangentTree := .cutT (7 / 32) n262 n2136 def n2138 : TangentTree := .cutR (11 / 16) n79 n2137 def n2139 : TangentTree := .cutR (31 / 32) n1510 n335 def n2140 : TangentTree := .leaf (15 / 16) (7 / 32) (7 / 32) def n2141 : TangentTree := .cutR (59 / 64) n299 n391 def n2142 : TangentTree := .leaf (1 / 2) (27 / 128) (27 / 128) def n2143 : TangentTree := .cutT (27 / 128) n2142 n1519 def n2144 : TangentTree := .cutR (63 / 64) n2141 n2143 def n2145 : TangentTree := .cutR (29 / 32) n2140 n2144 def n2146 : TangentTree := .cutT (13 / 64) n2139 n2145 def n2147 : TangentTree := .cutR (15 / 16) n461 n344 def n2148 : TangentTree := .cutR (59 / 64) n531 n347 def n2149 : TangentTree := .leaf (7 / 16) (1 / 4) (1 / 4) def n2150 : TangentTree := .cutR (61 / 64) n2148 n2149 def n2151 : TangentTree := .cutR (31 / 32) n2150 n182 def n2152 : TangentTree := .cutT (15 / 64) n2147 n2151 def n2153 : TangentTree := .cutT (7 / 32) n2146 n2152 def n2154 : TangentTree := .cutR (7 / 8) n2138 n2153 def n2155 : TangentTree := .cutT (3 / 16) n213 n2154 def n2156 : TangentTree := .cutT (1 / 8) n1766 n2155 def n2157 : TangentTree := .cutR (11 / 16) n152 n797 def n2158 : TangentTree := .cutT (9 / 32) n795 n2157 def n2159 : TangentTree := .cutT (11 / 32) n225 n1192 def n2160 : TangentTree := .leaf (5 / 8) (21 / 64) (21 / 64) def n2161 : TangentTree := .cutT (21 / 64) n2160 n2048 def n2162 : TangentTree := .cutT (11 / 32) n2161 n1063 def n2163 : TangentTree := .cutR (5 / 8) n2159 n2162 def n2164 : TangentTree := .cutT (5 / 16) n2158 n2163 def n2165 : TangentTree := .leaf (21 / 32) (7 / 16) (7 / 16) def n2166 : TangentTree := .cutR (19 / 32) n1573 n2165 def n2167 : TangentTree := .cutT (13 / 32) n1708 n2166 def n2168 : TangentTree := .cutT (15 / 32) n1821 n1944 def n2169 : TangentTree := .cutR (9 / 16) n1443 n2168 def n2170 : TangentTree := .cutT (7 / 16) n2167 n2169 def n2171 : TangentTree := .cutR (5 / 8) n2170 n1949 def n2172 : TangentTree := .cutT (3 / 8) n2164 n2171 def n2173 : TangentTree := .leaf (16 / 17) (5 / 8) (5 / 8) def n2174 : TangentTree := .leaf (107 / 128) (19 / 32) (19 / 32) def n2175 : TangentTree := .leaf (6 / 7) (5 / 8) (5 / 8) def n2176 : TangentTree := .leaf (13 / 16) (5 / 8) (5 / 8) def n2177 : TangentTree := .cutR (35 / 64) n2175 n2176 def n2178 : TangentTree := .cutT (19 / 32) n2174 n2177 def n2179 : TangentTree := .cutR (17 / 32) n2173 n2178 def n2180 : TangentTree := .cutT (9 / 16) n2063 n2179 def n2181 : TangentTree := .leaf 1 (49 / 64) (25 / 32) def n2182 : TangentTree := .leaf (31 / 34) (99 / 128) (99 / 128) def n2183 : TangentTree := .cutR (33 / 64) n2181 n2182 def n2184 : TangentTree := .cutT (21 / 32) n1956 n1839 def n2185 : TangentTree := .leaf (13 / 16) (99 / 128) (99 / 128) def n2186 : TangentTree := .cutT (3 / 4) n2184 n2185 def n2187 : TangentTree := .cutR (35 / 64) n2075 n2186 def n2188 : TangentTree := .cutR (17 / 32) n2183 n2187 def n2189 : TangentTree := .cutT (5 / 8) n2180 n2188 def n2190 : TangentTree := .cutT (33 / 64) n1969 n1597 def n2191 : TangentTree := .leaf (2 / 3) (9 / 16) (9 / 16) def n2192 : TangentTree := .leaf (5 / 8) (9 / 16) (9 / 16) def n2193 : TangentTree := .cutR (39 / 64) n2191 n2192 def n2194 : TangentTree := .cutT (17 / 32) n2190 n2193 def n2195 : TangentTree := .cutR (19 / 32) n1968 n2194 def n2196 : TangentTree := .leaf (28 / 37) (5 / 8) (5 / 8) def n2197 : TangentTree := .cutR (37 / 64) n2196 n1975 def n2198 : TangentTree := .cutT (19 / 32) n1974 n2197 def n2199 : TangentTree := .leaf (2 / 3) (5 / 8) (5 / 8) def n2200 : TangentTree := .cutR (39 / 64) n2199 n826 def n2201 : TangentTree := .cutT (19 / 32) n2085 n2200 def n2202 : TangentTree := .cutR (19 / 32) n2198 n2201 def n2203 : TangentTree := .cutT (9 / 16) n2195 n2202 def n2204 : TangentTree := .leaf (3 / 4) (11 / 16) (11 / 16) def n2205 : TangentTree := .cutT (11 / 16) n2204 n1465 def n2206 : TangentTree := .cutT (21 / 32) n1856 n2205 def n2207 : TangentTree := .cutT (3 / 4) n2206 n2089 def n2208 : TangentTree := .leaf (23 / 32) (11 / 16) (11 / 16) def n2209 : TangentTree := .cutT (11 / 16) n2208 n1861 def n2210 : TangentTree := .cutT (21 / 32) n1860 n2209 def n2211 : TangentTree := .leaf (11 / 16) (25 / 32) (49 / 64) def n2212 : TangentTree := .cutT (3 / 4) n2210 n2211 def n2213 : TangentTree := .cutR (37 / 64) n2207 n2212 def n2214 : TangentTree := .leaf (2 / 3) (99 / 128) (99 / 128) def n2215 : TangentTree := .cutT (3 / 4) n1987 n2214 def n2216 : TangentTree := .leaf (5 / 8) (21 / 32) (21 / 32) def n2217 : TangentTree := .cutT (21 / 32) n2216 n2098 def n2218 : TangentTree := .leaf (5 / 8) (99 / 128) (99 / 128) def n2219 : TangentTree := .cutT (3 / 4) n2217 n2218 def n2220 : TangentTree := .cutR (39 / 64) n2215 n2219 def n2221 : TangentTree := .cutR (19 / 32) n2213 n2220 def n2222 : TangentTree := .cutT (5 / 8) n2203 n2221 def n2223 : TangentTree := .cutR (9 / 16) n2189 n2222 def n2224 : TangentTree := .leaf (9 / 16) (99 / 128) (25 / 32) def n2225 : TangentTree := .cutR (81 / 128) n2109 n2224 def n2226 : TangentTree := .leaf (1 / 2) (99 / 128) (101 / 128) def n2227 : TangentTree := .leaf (3 / 8) (13 / 16) (101 / 128) def n2228 : TangentTree := .cutR (11 / 16) n2226 n2227 def n2229 : TangentTree := .cutR (21 / 32) n2225 n2228 def n2230 : TangentTree := .cutT (5 / 8) n2108 n2229 def n2231 : TangentTree := .cutR (5 / 8) n2223 n2230 def n2232 : TangentTree := .cutT (1 / 2) n2172 n2231 def n2233 : TangentTree := .cutT (17 / 64) n371 n236 def n2234 : TangentTree := .cutR (29 / 32) n501 n963 def n2235 : TangentTree := .cutR (13 / 16) n2233 n2234 def n2236 : TangentTree := .leaf (9 / 16) (19 / 64) (19 / 64) def n2237 : TangentTree := .cutT (19 / 64) n2236 n237 def n2238 : TangentTree := .cutR (27 / 32) n2237 n975 def n2239 : TangentTree := .cutR (15 / 16) n2238 n237 def n2240 : TangentTree := .cutT (9 / 32) n2235 n2239 def n2241 : TangentTree := .cutT (3 / 8) n709 n1124 def n2242 : TangentTree := .cutT (5 / 16) n2240 n2241 def n2243 : TangentTree := .cutT (1 / 2) n2242 n2022 def n2244 : TangentTree := .cutR (3 / 4) n2232 n2243 def n2245 : TangentTree := .cutT (1 / 4) n2156 n2244 def n2246 : TangentTree := .leaf 1 (49 / 64) (49 / 64) def n2247 : TangentTree := .cutT (5 / 8) n675 n2246 def n2248 : TangentTree := .cutT (1 / 2) n248 n2247 def n2249 : TangentTree := .cutT (1 / 4) n2026 n2248 def n2250 : TangentTree := .cutR (31 / 32) n144 n335 def n2251 : TangentTree := .cutR (29 / 32) n78 n337 def n2252 : TangentTree := .cutR (31 / 32) n2251 n2143 def n2253 : TangentTree := .cutT (13 / 64) n2250 n2252 def n2254 : TangentTree := .cutR (7 / 8) n145 n2253 def n2255 : TangentTree := .cutR (13 / 16) n78 n2254 def n2256 : TangentTree := .cutR (101 / 128) n3 n328 def n2257 : TangentTree := .cutT (15 / 64) n177 n2256 def n2258 : TangentTree := .cutR (7 / 8) n342 n396 def n2259 : TangentTree := .cutR (57 / 64) n400 n347 def n2260 : TangentTree := .cutT (15 / 64) n2258 n2259 def n2261 : TangentTree := .cutR (53 / 64) n2257 n2260 def n2262 : TangentTree := .cutR (29 / 32) n2261 n407 def n2263 : TangentTree := .cutT (15 / 64) n344 n347 def n2264 : TangentTree := .cutR (15 / 16) n2262 n2263 def n2265 : TangentTree := .cutT (7 / 32) n2255 n2264 def n2266 : TangentTree := .cutR (3 / 4) n79 n2265 def n2267 : TangentTree := .cutT (3 / 16) n213 n2266 def n2268 : TangentTree := .cutT (1 / 8) n1766 n2267 def n2269 : TangentTree := .cutT (19 / 64) n796 n237 def n2270 : TangentTree := .cutR (11 / 16) n152 n2269 def n2271 : TangentTree := .cutT (9 / 32) n795 n2270 def n2272 : TangentTree := .cutT (21 / 64) n2160 n1310 def n2273 : TangentTree := .cutT (23 / 64) n1433 n189 def n2274 : TangentTree := .cutT (11 / 32) n2272 n2273 def n2275 : TangentTree := .cutR (5 / 8) n2159 n2274 def n2276 : TangentTree := .cutT (5 / 16) n2271 n2275 def n2277 : TangentTree := .cutR (19 / 32) n1573 n1197 def n2278 : TangentTree := .cutT (13 / 32) n1708 n2277 def n2279 : TangentTree := .leaf (21 / 32) (15 / 32) (15 / 32) def n2280 : TangentTree := .cutR (19 / 32) n811 n2279 def n2281 : TangentTree := .cutT (15 / 32) n2280 n1944 def n2282 : TangentTree := .cutR (9 / 16) n1443 n2281 def n2283 : TangentTree := .cutT (7 / 16) n2278 n2282 def n2284 : TangentTree := .cutT (7 / 16) n1948 n1208 def n2285 : TangentTree := .cutR (5 / 8) n2283 n2284 def n2286 : TangentTree := .cutT (3 / 8) n2276 n2285 def n2287 : TangentTree := .leaf (6 / 7) (19 / 32) (19 / 32) def n2288 : TangentTree := .leaf (13 / 16) (19 / 32) (19 / 32) def n2289 : TangentTree := .cutR (35 / 64) n2287 n2288 def n2290 : TangentTree := .cutT (19 / 32) n2289 n2177 def n2291 : TangentTree := .cutR (17 / 32) n2173 n2290 def n2292 : TangentTree := .cutT (9 / 16) n2063 n2291 def n2293 : TangentTree := .leaf (31 / 34) (3 / 4) (3 / 4) def n2294 : TangentTree := .leaf (7 / 8) (101 / 128) (99 / 128) def n2295 : TangentTree := .cutT (3 / 4) n2293 n2294 def n2296 : TangentTree := .cutR (33 / 64) n2181 n2295 def n2297 : TangentTree := .leaf (6 / 7) (11 / 16) (11 / 16) def n2298 : TangentTree := .cutT (11 / 16) n2297 n2072 def n2299 : TangentTree := .leaf (6 / 7) (99 / 128) (25 / 32) def n2300 : TangentTree := .cutT (3 / 4) n2298 n2299 def n2301 : TangentTree := .leaf (13 / 16) (11 / 16) (11 / 16) def n2302 : TangentTree := .cutT (11 / 16) n2301 n1957 def n2303 : TangentTree := .cutT (21 / 32) n1956 n2302 def n2304 : TangentTree := .leaf (13 / 16) (99 / 128) (25 / 32) def n2305 : TangentTree := .cutT (3 / 4) n2303 n2304 def n2306 : TangentTree := .cutR (35 / 64) n2300 n2305 def n2307 : TangentTree := .cutR (17 / 32) n2296 n2306 def n2308 : TangentTree := .cutT (5 / 8) n2292 n2307 def n2309 : TangentTree := .leaf (28 / 37) (19 / 32) (19 / 32) def n2310 : TangentTree := .cutR (37 / 64) n2309 n1973 def n2311 : TangentTree := .cutT (19 / 32) n2310 n2197 def n2312 : TangentTree := .cutR (19 / 32) n2311 n2201 def n2313 : TangentTree := .cutT (9 / 16) n2195 n2312 def n2314 : TangentTree := .leaf (28 / 37) (21 / 32) (21 / 32) def n2315 : TangentTree := .cutT (11 / 16) n2204 n1981 def n2316 : TangentTree := .cutT (21 / 32) n2314 n2315 def n2317 : TangentTree := .leaf (3 / 4) (25 / 32) (99 / 128) def n2318 : TangentTree := .cutT (3 / 4) n2316 n2317 def n2319 : TangentTree := .leaf (23 / 32) (99 / 128) (25 / 32) def n2320 : TangentTree := .cutT (3 / 4) n2210 n2319 def n2321 : TangentTree := .cutR (37 / 64) n2318 n2320 def n2322 : TangentTree := .leaf (2 / 3) (99 / 128) (25 / 32) def n2323 : TangentTree := .cutT (3 / 4) n1987 n2322 def n2324 : TangentTree := .leaf (5 / 8) (99 / 128) (25 / 32) def n2325 : TangentTree := .cutT (3 / 4) n2217 n2324 def n2326 : TangentTree := .cutR (39 / 64) n2323 n2325 def n2327 : TangentTree := .cutR (19 / 32) n2321 n2326 def n2328 : TangentTree := .cutT (5 / 8) n2313 n2327 def n2329 : TangentTree := .cutR (9 / 16) n2308 n2328 def n2330 : TangentTree := .leaf (16 / 27) (99 / 128) (99 / 128) def n2331 : TangentTree := .cutR (81 / 128) n2330 n2224 def n2332 : TangentTree := .leaf (1 / 2) (25 / 32) (101 / 128) def n2333 : TangentTree := .leaf (3 / 8) (13 / 16) (51 / 64) def n2334 : TangentTree := .cutR (11 / 16) n2332 n2333 def n2335 : TangentTree := .cutR (21 / 32) n2331 n2334 def n2336 : TangentTree := .cutT (5 / 8) n2108 n2335 def n2337 : TangentTree := .cutR (5 / 8) n2329 n2336 def n2338 : TangentTree := .cutT (1 / 2) n2286 n2337 def n2339 : TangentTree := .cutR (27 / 32) n506 n975 def n2340 : TangentTree := .cutR (15 / 16) n2339 n237 def n2341 : TangentTree := .cutT (9 / 32) n2235 n2340 def n2342 : TangentTree := .cutT (5 / 16) n2341 n2241 def n2343 : TangentTree := .leaf (1 / 4) (107 / 128) 1 def n2344 : TangentTree := .cutT (1 / 2) n2342 n2343 def n2345 : TangentTree := .cutR (3 / 4) n2338 n2344 def n2346 : TangentTree := .cutT (1 / 4) n2268 n2345 def n2347 : TangentTree := .cutT (27 / 128) n298 n1519 def n2348 : TangentTree := .cutR (31 / 32) n2251 n2347 def n2349 : TangentTree := .cutT (13 / 64) n600 n2348 def n2350 : TangentTree := .cutR (7 / 8) n145 n2349 def n2351 : TangentTree := .cutR (13 / 16) n78 n2350 def n2352 : TangentTree := .cutT (15 / 64) n177 n105 def n2353 : TangentTree := .cutT (29 / 128) n341 n218 def n2354 : TangentTree := .cutR (7 / 8) n268 n2353 def n2355 : TangentTree := .cutT (31 / 128) n327 n182 def n2356 : TangentTree := .cutR (7 / 8) n2355 n347 def n2357 : TangentTree := .cutT (15 / 64) n2354 n2356 def n2358 : TangentTree := .cutR (53 / 64) n2352 n2357 def n2359 : TangentTree := .cutR (29 / 32) n2358 n2263 def n2360 : TangentTree := .cutT (15 / 64) n344 n182 def n2361 : TangentTree := .cutR (15 / 16) n2359 n2360 def n2362 : TangentTree := .cutT (7 / 32) n2351 n2361 def n2363 : TangentTree := .cutR (3 / 4) n79 n2362 def n2364 : TangentTree := .cutT (3 / 16) n213 n2363 def n2365 : TangentTree := .cutT (1 / 8) n1766 n2364 def n2366 : TangentTree := .cutT (9 / 32) n274 n2270 def n2367 : TangentTree := .cutT (5 / 16) n2366 n2275 def n2368 : TangentTree := .leaf (3 / 4) (13 / 32) (13 / 32) def n2369 : TangentTree := .cutR (19 / 32) n478 n2368 def n2370 : TangentTree := .leaf (55 / 64) (7 / 16) (7 / 16) def n2371 : TangentTree := .cutR (19 / 32) n2370 n1197 def n2372 : TangentTree := .cutT (13 / 32) n2369 n2371 def n2373 : TangentTree := .cutT (15 / 32) n2280 n1578 def n2374 : TangentTree := .cutR (9 / 16) n1443 n2373 def n2375 : TangentTree := .cutT (7 / 16) n2372 n2374 def n2376 : TangentTree := .cutR (5 / 8) n2375 n1209 def n2377 : TangentTree := .cutT (3 / 8) n2367 n2376 def n2378 : TangentTree := .leaf 1 (19 / 32) (19 / 32) def n2379 : TangentTree := .cutT (19 / 32) n2378 n1719 def n2380 : TangentTree := .cutR (17 / 32) n2379 n2290 def n2381 : TangentTree := .cutT (9 / 16) n2063 n2380 def n2382 : TangentTree := .leaf (31 / 32) (25 / 32) (25 / 32) def n2383 : TangentTree := .leaf (15 / 16) (11 / 16) (11 / 16) def n2384 : TangentTree := .leaf (15 / 16) (3 / 4) (3 / 4) def n2385 : TangentTree := .cutT (11 / 16) n2383 n2384 def n2386 : TangentTree := .leaf (15 / 16) (99 / 128) (101 / 128) def n2387 : TangentTree := .cutT (3 / 4) n2385 n2386 def n2388 : TangentTree := .cutR (33 / 64) n2382 n2387 def n2389 : TangentTree := .leaf (6 / 7) (25 / 32) (25 / 32) def n2390 : TangentTree := .cutT (3 / 4) n2298 n2389 def n2391 : TangentTree := .cutT (21 / 32) n1956 n2301 def n2392 : TangentTree := .cutT (11 / 16) n2391 n1957 def n2393 : TangentTree := .cutT (3 / 4) n2392 n2304 def n2394 : TangentTree := .cutR (35 / 64) n2390 n2393 def n2395 : TangentTree := .cutR (17 / 32) n2388 n2394 def n2396 : TangentTree := .cutT (5 / 8) n2381 n2395 def n2397 : TangentTree := .leaf (28 / 37) (11 / 16) (11 / 16) def n2398 : TangentTree := .cutT (11 / 16) n2397 n1981 def n2399 : TangentTree := .cutT (21 / 32) n2314 n2398 def n2400 : TangentTree := .leaf (3 / 4) (25 / 32) (25 / 32) def n2401 : TangentTree := .cutT (3 / 4) n2399 n2400 def n2402 : TangentTree := .cutR (37 / 64) n2401 n2320 def n2403 : TangentTree := .leaf (2 / 3) (11 / 16) (11 / 16) def n2404 : TangentTree := .cutT (11 / 16) n2403 n1986 def n2405 : TangentTree := .cutT (21 / 32) n1985 n2404 def n2406 : TangentTree := .leaf (2 / 3) (25 / 32) (25 / 32) def n2407 : TangentTree := .cutT (3 / 4) n2405 n2406 def n2408 : TangentTree := .leaf (5 / 8) (25 / 32) (25 / 32) def n2409 : TangentTree := .cutT (3 / 4) n2217 n2408 def n2410 : TangentTree := .cutR (39 / 64) n2407 n2409 def n2411 : TangentTree := .cutR (19 / 32) n2402 n2410 def n2412 : TangentTree := .cutT (5 / 8) n2313 n2411 def n2413 : TangentTree := .cutR (9 / 16) n2396 n2412 def n2414 : TangentTree := .leaf (9 / 16) (25 / 32) (101 / 128) def n2415 : TangentTree := .cutR (81 / 128) n2330 n2414 def n2416 : TangentTree := .leaf (1 / 2) (25 / 32) (51 / 64) def n2417 : TangentTree := .leaf (5 / 12) (101 / 128) (105 / 128) def n2418 : TangentTree := .cutR (11 / 16) n2416 n2417 def n2419 : TangentTree := .cutR (21 / 32) n2415 n2418 def n2420 : TangentTree := .cutT (5 / 8) n2108 n2419 def n2421 : TangentTree := .cutR (5 / 8) n2413 n2420 def n2422 : TangentTree := .cutT (1 / 2) n2377 n2421 def n2423 : TangentTree := .cutR (29 / 32) n437 n372 def n2424 : TangentTree := .cutR (13 / 16) n373 n2423 def n2425 : TangentTree := .cutR (15 / 16) n507 n237 def n2426 : TangentTree := .cutT (9 / 32) n2424 n2425 def n2427 : TangentTree := .cutT (5 / 16) n2426 n2241 def n2428 : TangentTree := .cutT (1 / 2) n2427 n2343 def n2429 : TangentTree := .cutR (3 / 4) n2422 n2428 def n2430 : TangentTree := .cutT (1 / 4) n2365 n2429 def n2431 : TangentTree := .leaf 1 (99 / 128) (99 / 128) def n2432 : TangentTree := .cutT (5 / 8) n675 n2431 def n2433 : TangentTree := .cutT (1 / 2) n248 n2432 def n2434 : TangentTree := .cutT (1 / 4) n2026 n2433 def n2435 : TangentTree := .cutR (29 / 32) n17 n210 def n2436 : TangentTree := .cutT (5 / 32) n75 n2435 def n2437 : TangentTree := .cutR (13 / 16) n76 n2436 def n2438 : TangentTree := .cutR (5 / 8) n17 n2437 def n2439 : TangentTree := .cutT (13 / 64) n144 n519 def n2440 : TangentTree := .cutR (7 / 8) n145 n2439 def n2441 : TangentTree := .cutR (13 / 16) n78 n2440 def n2442 : TangentTree := .cutR (13 / 16) n3 n2355 def n2443 : TangentTree := .cutR (25 / 32) n3 n2442 def n2444 : TangentTree := .cutT (15 / 64) n177 n2443 def n2445 : TangentTree := .leaf (41 / 64) (15 / 64) (15 / 64) def n2446 : TangentTree := .cutR (59 / 64) n347 n182 def n2447 : TangentTree := .cutR (31 / 32) n2446 n182 def n2448 : TangentTree := .cutT (15 / 64) n2445 n2447 def n2449 : TangentTree := .cutR (7 / 8) n2444 n2448 def n2450 : TangentTree := .cutT (7 / 32) n2441 n2449 def n2451 : TangentTree := .cutR (3 / 4) n79 n2450 def n2452 : TangentTree := .cutT (3 / 16) n2438 n2451 def n2453 : TangentTree := .cutT (1 / 8) n1766 n2452 def n2454 : TangentTree := .cutR (11 / 16) n152 n506 def n2455 : TangentTree := .cutT (9 / 32) n274 n2454 def n2456 : TangentTree := .cutT (11 / 32) n225 n155 def n2457 : TangentTree := .cutT (23 / 64) n803 n189 def n2458 : TangentTree := .cutT (11 / 32) n2272 n2457 def n2459 : TangentTree := .cutR (5 / 8) n2456 n2458 def n2460 : TangentTree := .cutT (5 / 16) n2455 n2459 def n2461 : TangentTree := .cutT (13 / 32) n2369 n1198 def n2462 : TangentTree := .cutT (7 / 16) n2461 n2374 def n2463 : TangentTree := .leaf (1 / 2) (13 / 32) (13 / 32) def n2464 : TangentTree := .cutR (21 / 32) n482 n2463 def n2465 : TangentTree := .cutT (13 / 32) n2464 n1076 def n2466 : TangentTree := .cutT (15 / 32) n1203 n1206 def n2467 : TangentTree := .cutT (15 / 32) n1204 n86 def n2468 : TangentTree := .cutR (21 / 32) n2466 n2467 def n2469 : TangentTree := .cutT (7 / 16) n2465 n2468 def n2470 : TangentTree := .cutR (5 / 8) n2462 n2469 def n2471 : TangentTree := .cutT (3 / 8) n2460 n2470 def n2472 : TangentTree := .leaf (29 / 32) (11 / 16) (11 / 16) def n2473 : TangentTree := .cutT (11 / 16) n2472 n2384 def n2474 : TangentTree := .cutT (3 / 4) n2473 n2386 def n2475 : TangentTree := .cutR (33 / 64) n2382 n2474 def n2476 : TangentTree := .cutT (21 / 32) n2071 n2297 def n2477 : TangentTree := .cutT (11 / 16) n2476 n2072 def n2478 : TangentTree := .cutT (3 / 4) n2477 n2389 def n2479 : TangentTree := .leaf (13 / 16) (25 / 32) (101 / 128) def n2480 : TangentTree := .cutT (3 / 4) n2392 n2479 def n2481 : TangentTree := .cutR (35 / 64) n2478 n2480 def n2482 : TangentTree := .cutR (17 / 32) n2475 n2481 def n2483 : TangentTree := .cutT (5 / 8) n2381 n2482 def n2484 : TangentTree := .cutT (21 / 32) n2314 n2397 def n2485 : TangentTree := .cutT (11 / 16) n2484 n1981 def n2486 : TangentTree := .cutT (3 / 4) n2485 n2400 def n2487 : TangentTree := .cutT (11 / 16) n2208 n2091 def n2488 : TangentTree := .cutT (21 / 32) n1860 n2487 def n2489 : TangentTree := .leaf (23 / 32) (25 / 32) (101 / 128) def n2490 : TangentTree := .cutT (3 / 4) n2488 n2489 def n2491 : TangentTree := .cutR (37 / 64) n2486 n2490 def n2492 : TangentTree := .leaf (5 / 8) (25 / 32) (101 / 128) def n2493 : TangentTree := .cutT (3 / 4) n2217 n2492 def n2494 : TangentTree := .cutR (39 / 64) n2407 n2493 def n2495 : TangentTree := .cutR (19 / 32) n2491 n2494 def n2496 : TangentTree := .cutT (5 / 8) n2313 n2495 def n2497 : TangentTree := .cutR (9 / 16) n2483 n2496 def n2498 : TangentTree := .leaf (16 / 27) (99 / 128) (25 / 32) def n2499 : TangentTree := .cutR (81 / 128) n2498 n2414 def n2500 : TangentTree := .leaf (5 / 12) (51 / 64) (53 / 64) def n2501 : TangentTree := .cutR (11 / 16) n2416 n2500 def n2502 : TangentTree := .cutR (21 / 32) n2499 n2501 def n2503 : TangentTree := .cutT (5 / 8) n2108 n2502 def n2504 : TangentTree := .cutR (5 / 8) n2497 n2503 def n2505 : TangentTree := .cutT (1 / 2) n2471 n2504 def n2506 : TangentTree := .cutT (17 / 64) n498 n372 def n2507 : TangentTree := .cutR (25 / 32) n2506 n437 def n2508 : TangentTree := .cutR (29 / 32) n2507 n372 def n2509 : TangentTree := .cutR (15 / 16) n2508 n372 def n2510 : TangentTree := .cutR (7 / 8) n506 n237 def n2511 : TangentTree := .cutT (9 / 32) n2509 n2510 def n2512 : TangentTree := .cutT (5 / 16) n2511 n2241 def n2513 : TangentTree := .leaf (1 / 4) (27 / 32) 1 def n2514 : TangentTree := .cutT (1 / 2) n2512 n2513 def n2515 : TangentTree := .cutR (3 / 4) n2505 n2514 def n2516 : TangentTree := .cutT (1 / 4) n2453 n2515 def n2517 : TangentTree := .cutT (1 / 16) n14 n1 def n2518 : TangentTree := .cutT (1 / 8) n2517 n18 def n2519 : TangentTree := .cutT (1 / 4) n2518 n2433 def n2520 : TangentTree := .cutT (1 / 16) n15 n58 def n2521 : TangentTree := .cutR (7 / 8) n145 n267 def n2522 : TangentTree := .cutR (13 / 16) n78 n2521 def n2523 : TangentTree := .cutT (15 / 64) n535 n304 def n2524 : TangentTree := .cutR (7 / 8) n2352 n2523 def n2525 : TangentTree := .cutT (7 / 32) n2522 n2524 def n2526 : TangentTree := .cutR (3 / 4) n79 n2525 def n2527 : TangentTree := .cutT (3 / 16) n2438 n2526 def n2528 : TangentTree := .cutT (1 / 8) n2520 n2527 def n2529 : TangentTree := .cutR (11 / 16) n152 n440 def n2530 : TangentTree := .cutT (9 / 32) n274 n2529 def n2531 : TangentTree := .cutT (5 / 16) n2530 n2459 def n2532 : TangentTree := .leaf (11 / 16) (15 / 32) (15 / 32) def n2533 : TangentTree := .cutR (19 / 32) n811 n2532 def n2534 : TangentTree := .cutT (15 / 32) n2533 n1578 def n2535 : TangentTree := .cutR (9 / 16) n1443 n2534 def n2536 : TangentTree := .cutT (7 / 16) n2461 n2535 def n2537 : TangentTree := .leaf (4 / 7) (13 / 32) (13 / 32) def n2538 : TangentTree := .cutR (21 / 32) n2537 n2463 def n2539 : TangentTree := .cutT (13 / 32) n2538 n1076 def n2540 : TangentTree := .cutT (7 / 16) n2539 n2468 def n2541 : TangentTree := .cutR (5 / 8) n2536 n2540 def n2542 : TangentTree := .cutT (3 / 8) n2531 n2541 def n2543 : TangentTree := .leaf (15 / 16) (25 / 32) (51 / 64) def n2544 : TangentTree := .cutT (3 / 4) n2473 n2543 def n2545 : TangentTree := .cutR (33 / 64) n2382 n2544 def n2546 : TangentTree := .leaf (6 / 7) (101 / 128) (101 / 128) def n2547 : TangentTree := .cutT (3 / 4) n2477 n2546 def n2548 : TangentTree := .cutT (11 / 16) n2391 n1839 def n2549 : TangentTree := .cutT (3 / 4) n2548 n2479 def n2550 : TangentTree := .cutR (35 / 64) n2547 n2549 def n2551 : TangentTree := .cutR (17 / 32) n2545 n2550 def n2552 : TangentTree := .cutT (5 / 8) n2381 n2551 def n2553 : TangentTree := .leaf (95 / 128) (17 / 32) (17 / 32) def n2554 : TangentTree := .cutT (17 / 32) n2553 n1967 def n2555 : TangentTree := .cutT (17 / 32) n1726 n2193 def n2556 : TangentTree := .cutR (19 / 32) n2554 n2555 def n2557 : TangentTree := .cutT (9 / 16) n2556 n2312 def n2558 : TangentTree := .leaf (97 / 128) (3 / 4) (3 / 4) def n2559 : TangentTree := .cutT (11 / 16) n2484 n2558 def n2560 : TangentTree := .leaf (3 / 4) (101 / 128) (25 / 32) def n2561 : TangentTree := .cutT (3 / 4) n2559 n2560 def n2562 : TangentTree := .cutT (21 / 32) n1860 n2208 def n2563 : TangentTree := .cutT (11 / 16) n2562 n2091 def n2564 : TangentTree := .cutT (3 / 4) n2563 n2489 def n2565 : TangentTree := .cutR (37 / 64) n2561 n2564 def n2566 : TangentTree := .cutT (21 / 32) n1985 n2403 def n2567 : TangentTree := .cutT (11 / 16) n2566 n1986 def n2568 : TangentTree := .leaf (2 / 3) (25 / 32) (101 / 128) def n2569 : TangentTree := .cutT (3 / 4) n2567 n2568 def n2570 : TangentTree := .cutR (39 / 64) n2569 n2493 def n2571 : TangentTree := .cutR (19 / 32) n2565 n2570 def n2572 : TangentTree := .cutT (5 / 8) n2557 n2571 def n2573 : TangentTree := .cutR (9 / 16) n2552 n2572 def n2574 : TangentTree := .leaf (16 / 27) (25 / 32) (25 / 32) def n2575 : TangentTree := .leaf (37 / 64) (99 / 128) (25 / 32) def n2576 : TangentTree := .leaf (23 / 42) (25 / 32) (101 / 128) def n2577 : TangentTree := .cutR (41 / 64) n2575 n2576 def n2578 : TangentTree := .cutR (81 / 128) n2574 n2577 def n2579 : TangentTree := .leaf (1 / 2) (101 / 128) (51 / 64) def n2580 : TangentTree := .cutR (11 / 16) n2579 n2500 def n2581 : TangentTree := .cutR (21 / 32) n2578 n2580 def n2582 : TangentTree := .cutT (5 / 8) n2108 n2581 def n2583 : TangentTree := .cutR (5 / 8) n2573 n2582 def n2584 : TangentTree := .cutT (1 / 2) n2542 n2583 def n2585 : TangentTree := .cutR (13 / 16) n2506 n2423 def n2586 : TangentTree := .cutT (9 / 32) n2585 n2510 def n2587 : TangentTree := .cutT (5 / 16) n2586 n710 def n2588 : TangentTree := .cutT (1 / 2) n2587 n2513 def n2589 : TangentTree := .cutR (3 / 4) n2584 n2588 def n2590 : TangentTree := .cutT (1 / 4) n2528 n2589 def n2591 : TangentTree := .cutT (15 / 64) n268 n304 def n2592 : TangentTree := .cutR (29 / 32) n2591 n219 def n2593 : TangentTree := .cutT (7 / 32) n214 n2592 def n2594 : TangentTree := .cutR (25 / 32) n79 n2593 def n2595 : TangentTree := .cutT (7 / 32) n267 n219 def n2596 : TangentTree := .cutR (15 / 16) n2594 n2595 def n2597 : TangentTree := .cutR (5 / 8) n3 n2596 def n2598 : TangentTree := .cutT (3 / 16) n104 n2597 def n2599 : TangentTree := .cutT (1 / 8) n2520 n2598 def n2600 : TangentTree := .cutR (11 / 16) n152 n153 def n2601 : TangentTree := .cutT (9 / 32) n274 n2600 def n2602 : TangentTree := .cutT (11 / 32) n2048 n1435 def n2603 : TangentTree := .cutR (5 / 8) n2456 n2602 def n2604 : TangentTree := .cutT (5 / 16) n2601 n2603 def n2605 : TangentTree := .leaf (13 / 20) (1 / 2) (1 / 2) def n2606 : TangentTree := .cutR (19 / 32) n20 n2605 def n2607 : TangentTree := .cutT (15 / 32) n2533 n2606 def n2608 : TangentTree := .cutR (9 / 16) n1443 n2607 def n2609 : TangentTree := .cutT (7 / 16) n2461 n2608 def n2610 : TangentTree := .cutR (5 / 8) n2609 n2540 def n2611 : TangentTree := .cutT (3 / 8) n2604 n2610 def n2612 : TangentTree := .cutT (17 / 32) n2061 n1584 def n2613 : TangentTree := .cutT (17 / 32) n1212 n1833 def n2614 : TangentTree := .cutR (35 / 64) n2612 n2613 def n2615 : TangentTree := .cutT (9 / 16) n2614 n2380 def n2616 : TangentTree := .leaf (31 / 32) (101 / 128) (101 / 128) def n2617 : TangentTree := .cutR (33 / 64) n2616 n2544 def n2618 : TangentTree := .leaf (19 / 24) (3 / 4) (3 / 4) def n2619 : TangentTree := .cutR (71 / 128) n1957 n2618 def n2620 : TangentTree := .cutT (11 / 16) n2391 n2619 def n2621 : TangentTree := .leaf (13 / 16) (101 / 128) (101 / 128) def n2622 : TangentTree := .cutT (3 / 4) n2620 n2621 def n2623 : TangentTree := .cutR (35 / 64) n2547 n2622 def n2624 : TangentTree := .cutR (17 / 32) n2617 n2623 def n2625 : TangentTree := .cutT (5 / 8) n2615 n2624 def n2626 : TangentTree := .cutT (17 / 32) n1221 n1967 def n2627 : TangentTree := .cutR (19 / 32) n2626 n2555 def n2628 : TangentTree := .cutT (9 / 16) n2627 n2312 def n2629 : TangentTree := .leaf (49 / 64) (3 / 4) (3 / 4) def n2630 : TangentTree := .cutR (73 / 128) n2629 n1465 def n2631 : TangentTree := .cutT (11 / 16) n2484 n2630 def n2632 : TangentTree := .leaf (3 / 4) (101 / 128) (101 / 128) def n2633 : TangentTree := .cutT (3 / 4) n2631 n2632 def n2634 : TangentTree := .leaf (18 / 25) (3 / 4) (3 / 4) def n2635 : TangentTree := .leaf (11 / 16) (3 / 4) (3 / 4) def n2636 : TangentTree := .cutR (75 / 128) n2634 n2635 def n2637 : TangentTree := .cutT (11 / 16) n2562 n2636 def n2638 : TangentTree := .leaf (23 / 32) (101 / 128) (51 / 64) def n2639 : TangentTree := .cutT (3 / 4) n2637 n2638 def n2640 : TangentTree := .cutR (37 / 64) n2633 n2639 def n2641 : TangentTree := .leaf (2 / 3) (101 / 128) (101 / 128) def n2642 : TangentTree := .cutT (3 / 4) n2567 n2641 def n2643 : TangentTree := .leaf (5 / 8) (101 / 128) (101 / 128) def n2644 : TangentTree := .cutT (3 / 4) n2217 n2643 def n2645 : TangentTree := .cutR (39 / 64) n2642 n2644 def n2646 : TangentTree := .cutR (19 / 32) n2640 n2645 def n2647 : TangentTree := .cutT (5 / 8) n2628 n2646 def n2648 : TangentTree := .cutR (9 / 16) n2625 n2647 def n2649 : TangentTree := .leaf (37 / 64) (25 / 32) (101 / 128) def n2650 : TangentTree := .leaf (23 / 42) (101 / 128) (101 / 128) def n2651 : TangentTree := .cutR (41 / 64) n2649 n2650 def n2652 : TangentTree := .cutR (81 / 128) n2574 n2651 def n2653 : TangentTree := .leaf (1 / 2) (101 / 128) (103 / 128) def n2654 : TangentTree := .leaf (5 / 12) (51 / 64) (107 / 128) def n2655 : TangentTree := .cutR (11 / 16) n2653 n2654 def n2656 : TangentTree := .cutR (21 / 32) n2652 n2655 def n2657 : TangentTree := .cutT (5 / 8) n2108 n2656 def n2658 : TangentTree := .cutR (5 / 8) n2648 n2657 def n2659 : TangentTree := .cutT (1 / 2) n2611 n2658 def n2660 : TangentTree := .leaf (19 / 32) (9 / 32) (9 / 32) def n2661 : TangentTree := .cutT (9 / 32) n2660 n237 def n2662 : TangentTree := .cutT (3 / 8) n1122 n448 def n2663 : TangentTree := .cutT (5 / 16) n2661 n2662 def n2664 : TangentTree := .leaf (1 / 4) (109 / 128) 1 def n2665 : TangentTree := .cutT (1 / 2) n2663 n2664 def n2666 : TangentTree := .cutR (3 / 4) n2659 n2665 def n2667 : TangentTree := .cutT (1 / 4) n2599 n2666 def n2668 : TangentTree := .leaf 1 (25 / 32) (25 / 32) def n2669 : TangentTree := .cutT (5 / 8) n675 n2668 def n2670 : TangentTree := .cutT (1 / 2) n248 n2669 def n2671 : TangentTree := .cutT (1 / 4) n2518 n2670 def n2672 : TangentTree := .cutR (3 / 4) n1 n56 def n2673 : TangentTree := .cutT (1 / 16) n15 n2672 def n2674 : TangentTree := .cutR (29 / 32) n2352 n219 def n2675 : TangentTree := .cutT (7 / 32) n214 n2674 def n2676 : TangentTree := .cutR (25 / 32) n79 n2675 def n2677 : TangentTree := .cutT (13 / 64) n144 n1519 def n2678 : TangentTree := .cutT (7 / 32) n2677 n219 def n2679 : TangentTree := .cutR (15 / 16) n2676 n2678 def n2680 : TangentTree := .cutR (5 / 8) n3 n2679 def n2681 : TangentTree := .cutT (3 / 16) n104 n2680 def n2682 : TangentTree := .cutT (1 / 8) n2673 n2681 def n2683 : TangentTree := .cutR (11 / 16) n152 n237 def n2684 : TangentTree := .cutT (9 / 32) n274 n2683 def n2685 : TangentTree := .cutT (11 / 32) n1310 n189 def n2686 : TangentTree := .cutR (5 / 8) n2456 n2685 def n2687 : TangentTree := .cutT (5 / 16) n2684 n2686 def n2688 : TangentTree := .cutR (19 / 32) n419 n925 def n2689 : TangentTree := .cutT (13 / 32) n1440 n2688 def n2690 : TangentTree := .cutT (15 / 32) n2533 n1331 def n2691 : TangentTree := .cutR (9 / 16) n1443 n2690 def n2692 : TangentTree := .cutT (7 / 16) n2689 n2691 def n2693 : TangentTree := .cutT (13 / 32) n553 n1076 def n2694 : TangentTree := .cutT (7 / 16) n2693 n2468 def n2695 : TangentTree := .cutR (5 / 8) n2692 n2694 def n2696 : TangentTree := .cutT (3 / 8) n2687 n2695 def n2697 : TangentTree := .cutT (17 / 32) n1831 n1584 def n2698 : TangentTree := .cutR (35 / 64) n2697 n2613 def n2699 : TangentTree := .cutR (17 / 32) n2379 n2178 def n2700 : TangentTree := .cutT (9 / 16) n2698 n2699 def n2701 : TangentTree := .leaf (13 / 16) (101 / 128) (51 / 64) def n2702 : TangentTree := .cutT (3 / 4) n2620 n2701 def n2703 : TangentTree := .cutR (35 / 64) n2547 n2702 def n2704 : TangentTree := .cutR (17 / 32) n2617 n2703 def n2705 : TangentTree := .cutT (5 / 8) n2700 n2704 def n2706 : TangentTree := .cutR (19 / 32) n2626 n1848 def n2707 : TangentTree := .cutT (9 / 16) n2706 n2202 def n2708 : TangentTree := .leaf (3 / 4) (51 / 64) (101 / 128) def n2709 : TangentTree := .cutT (3 / 4) n2631 n2708 def n2710 : TangentTree := .cutR (37 / 64) n2709 n2639 def n2711 : TangentTree := .leaf (2 / 3) (101 / 128) (51 / 64) def n2712 : TangentTree := .cutT (3 / 4) n2567 n2711 def n2713 : TangentTree := .leaf (5 / 8) (11 / 16) (11 / 16) def n2714 : TangentTree := .cutT (11 / 16) n2713 n2098 def n2715 : TangentTree := .leaf (5 / 8) (101 / 128) (51 / 64) def n2716 : TangentTree := .cutT (3 / 4) n2714 n2715 def n2717 : TangentTree := .cutR (39 / 64) n2712 n2716 def n2718 : TangentTree := .cutR (19 / 32) n2710 n2717 def n2719 : TangentTree := .cutT (5 / 8) n2707 n2718 def n2720 : TangentTree := .cutR (9 / 16) n2705 n2719 def n2721 : TangentTree := .leaf (16 / 27) (101 / 128) (101 / 128) def n2722 : TangentTree := .leaf (23 / 42) (101 / 128) (51 / 64) def n2723 : TangentTree := .cutR (41 / 64) n2649 n2722 def n2724 : TangentTree := .cutR (81 / 128) n2721 n2723 def n2725 : TangentTree := .leaf (1 / 2) (51 / 64) (103 / 128) def n2726 : TangentTree := .leaf (5 / 12) (103 / 128) (107 / 128) def n2727 : TangentTree := .cutR (11 / 16) n2725 n2726 def n2728 : TangentTree := .cutR (21 / 32) n2724 n2727 def n2729 : TangentTree := .cutT (5 / 8) n2108 n2728 def n2730 : TangentTree := .cutR (5 / 8) n2720 n2729 def n2731 : TangentTree := .cutT (1 / 2) n2696 n2730 def n2732 : TangentTree := .cutT (9 / 32) n2120 n237 def n2733 : TangentTree := .cutT (3 / 8) n376 n448 def n2734 : TangentTree := .cutT (5 / 16) n2732 n2733 def n2735 : TangentTree := .cutT (1 / 2) n2734 n2664 def n2736 : TangentTree := .cutR (3 / 4) n2731 n2735 def n2737 : TangentTree := .cutT (1 / 4) n2682 n2736 def n2738 : TangentTree := .cutR (3 / 4) n3 n2352 def n2739 : TangentTree := .cutT (7 / 32) n78 n2738 def n2740 : TangentTree := .cutR (5 / 8) n3 n2739 def n2741 : TangentTree := .cutR (7 / 8) n2740 n2595 def n2742 : TangentTree := .cutT (3 / 16) n77 n2741 def n2743 : TangentTree := .cutT (1 / 8) n2673 n2742 def n2744 : TangentTree := .cutT (5 / 16) n414 n2686 def n2745 : TangentTree := .cutT (13 / 32) n808 n2688 def n2746 : TangentTree := .cutT (15 / 32) n1326 n228 def n2747 : TangentTree := .cutT (15 / 32) n1071 n1331 def n2748 : TangentTree := .cutR (9 / 16) n2746 n2747 def n2749 : TangentTree := .cutT (7 / 16) n2745 n2748 def n2750 : TangentTree := .leaf (71 / 128) (7 / 16) (7 / 16) def n2751 : TangentTree := .cutT (13 / 32) n553 n2750 def n2752 : TangentTree := .cutT (7 / 16) n2751 n2468 def n2753 : TangentTree := .cutR (5 / 8) n2749 n2752 def n2754 : TangentTree := .cutT (3 / 8) n2744 n2753 def n2755 : TangentTree := .cutT (19 / 32) n1587 n2177 def n2756 : TangentTree := .cutR (17 / 32) n2173 n2755 def n2757 : TangentTree := .cutT (9 / 16) n2698 n2756 def n2758 : TangentTree := .leaf (31 / 32) (3 / 4) (3 / 4) def n2759 : TangentTree := .leaf 1 (101 / 128) (103 / 128) def n2760 : TangentTree := .cutT (3 / 4) n2758 n2759 def n2761 : TangentTree := .leaf (15 / 16) (101 / 128) (103 / 128) def n2762 : TangentTree := .cutT (3 / 4) n2473 n2761 def n2763 : TangentTree := .cutR (33 / 64) n2760 n2762 def n2764 : TangentTree := .leaf (6 / 7) (51 / 64) (51 / 64) def n2765 : TangentTree := .cutT (3 / 4) n2477 n2764 def n2766 : TangentTree := .cutR (35 / 64) n2765 n2702 def n2767 : TangentTree := .cutR (17 / 32) n2763 n2766 def n2768 : TangentTree := .cutT (5 / 8) n2757 n2767 def n2769 : TangentTree := .cutT (17 / 32) n1597 n1847 def n2770 : TangentTree := .cutR (19 / 32) n1846 n2769 def n2771 : TangentTree := .cutT (19 / 32) n1852 n2200 def n2772 : TangentTree := .cutR (19 / 32) n2198 n2771 def n2773 : TangentTree := .cutT (9 / 16) n2770 n2772 def n2774 : TangentTree := .leaf (3 / 4) (51 / 64) (51 / 64) def n2775 : TangentTree := .cutT (3 / 4) n2631 n2774 def n2776 : TangentTree := .leaf (45 / 64) (3 / 4) (3 / 4) def n2777 : TangentTree := .cutR (75 / 128) n2634 n2776 def n2778 : TangentTree := .cutT (11 / 16) n2562 n2777 def n2779 : TangentTree := .cutT (3 / 4) n2778 n2638 def n2780 : TangentTree := .cutR (37 / 64) n2775 n2779 def n2781 : TangentTree := .leaf (2 / 3) (51 / 64) (51 / 64) def n2782 : TangentTree := .cutT (3 / 4) n2567 n2781 def n2783 : TangentTree := .leaf (5 / 8) (51 / 64) (51 / 64) def n2784 : TangentTree := .cutT (3 / 4) n2714 n2783 def n2785 : TangentTree := .cutR (39 / 64) n2782 n2784 def n2786 : TangentTree := .cutR (19 / 32) n2780 n2785 def n2787 : TangentTree := .cutT (5 / 8) n2773 n2786 def n2788 : TangentTree := .cutR (9 / 16) n2768 n2787 def n2789 : TangentTree := .leaf (37 / 64) (101 / 128) (101 / 128) def n2790 : TangentTree := .cutR (41 / 64) n2789 n2722 def n2791 : TangentTree := .cutR (81 / 128) n2721 n2790 def n2792 : TangentTree := .cutT (5 / 8) n2107 n2791 def n2793 : TangentTree := .cutT (9 / 16) n1612 n948 def n2794 : TangentTree := .leaf (5 / 12) (103 / 128) (27 / 32) def n2795 : TangentTree := .cutR (11 / 16) n2725 n2794 def n2796 : TangentTree := .cutT (5 / 8) n2793 n2795 def n2797 : TangentTree := .cutR (21 / 32) n2792 n2796 def n2798 : TangentTree := .cutR (5 / 8) n2788 n2797 def n2799 : TangentTree := .cutT (1 / 2) n2754 n2798 def n2800 : TangentTree := .cutT (9 / 32) n372 n237 def n2801 : TangentTree := .cutT (5 / 16) n2800 n2733 def n2802 : TangentTree := .leaf (1 / 4) (55 / 64) 1 def n2803 : TangentTree := .cutT (1 / 2) n2801 n2802 def n2804 : TangentTree := .cutR (3 / 4) n2799 n2803 def n2805 : TangentTree := .cutT (1 / 4) n2743 n2804 def n2806 : TangentTree := .leaf 1 (101 / 128) (101 / 128) def n2807 : TangentTree := .cutT (5 / 8) n675 n2806 def n2808 : TangentTree := .cutT (1 / 2) n248 n2807 def n2809 : TangentTree := .cutT (1 / 4) n2518 n2808 def n2810 : TangentTree := .cutR (3 / 4) n0 n14 def n2811 : TangentTree := .cutT (1 / 16) n2810 n2672 def n2812 : TangentTree := .cutR (13 / 16) n3 n178 def n2813 : TangentTree := .cutT (7 / 32) n78 n2812 def n2814 : TangentTree := .cutR (5 / 8) n3 n2813 def n2815 : TangentTree := .cutR (7 / 8) n2814 n220 def n2816 : TangentTree := .cutT (3 / 16) n77 n2815 def n2817 : TangentTree := .cutT (1 / 8) n2811 n2816 def n2818 : TangentTree := .cutT (9 / 32) n274 n83 def n2819 : TangentTree := .cutT (5 / 16) n2818 n2686 def n2820 : TangentTree := .cutR (21 / 32) n2466 n86 def n2821 : TangentTree := .cutT (7 / 16) n554 n2820 def n2822 : TangentTree := .cutR (5 / 8) n2749 n2821 def n2823 : TangentTree := .cutT (3 / 8) n2819 n2822 def n2824 : TangentTree := .cutR (35 / 64) n2697 n1213 def n2825 : TangentTree := .cutT (9 / 16) n2824 n2756 def n2826 : TangentTree := .leaf (32 / 33) (51 / 64) (51 / 64) def n2827 : TangentTree := .cutR (33 / 64) n2826 n2762 def n2828 : TangentTree := .leaf (13 / 16) (51 / 64) (103 / 128) def n2829 : TangentTree := .cutT (3 / 4) n2620 n2828 def n2830 : TangentTree := .cutR (35 / 64) n2765 n2829 def n2831 : TangentTree := .cutR (17 / 32) n2827 n2830 def n2832 : TangentTree := .cutT (5 / 8) n2825 n2831 def n2833 : TangentTree := .cutT (9 / 16) n1599 n2772 def n2834 : TangentTree := .leaf (23 / 32) (51 / 64) (103 / 128) def n2835 : TangentTree := .cutT (3 / 4) n2778 n2834 def n2836 : TangentTree := .cutR (37 / 64) n2775 n2835 def n2837 : TangentTree := .cutR (19 / 32) n2836 n2785 def n2838 : TangentTree := .cutT (5 / 8) n2833 n2837 def n2839 : TangentTree := .cutR (9 / 16) n2832 n2838 def n2840 : TangentTree := .leaf (16 / 27) (101 / 128) (51 / 64) def n2841 : TangentTree := .leaf (37 / 64) (101 / 128) (51 / 64) def n2842 : TangentTree := .leaf (23 / 42) (51 / 64) (51 / 64) def n2843 : TangentTree := .cutR (41 / 64) n2841 n2842 def n2844 : TangentTree := .cutR (81 / 128) n2840 n2843 def n2845 : TangentTree := .cutT (5 / 8) n1872 n2844 def n2846 : TangentTree := .leaf (1 / 2) (51 / 64) (13 / 16) def n2847 : TangentTree := .leaf (5 / 12) (13 / 16) (27 / 32) def n2848 : TangentTree := .cutR (11 / 16) n2846 n2847 def n2849 : TangentTree := .cutT (5 / 8) n2793 n2848 def n2850 : TangentTree := .cutR (21 / 32) n2845 n2849 def n2851 : TangentTree := .cutR (5 / 8) n2839 n2850 def n2852 : TangentTree := .cutT (1 / 2) n2823 n2851 def n2853 : TangentTree := .cutR (3 / 4) n2852 n2803 def n2854 : TangentTree := .cutT (1 / 4) n2817 n2853 def n2855 : TangentTree := .cutT (1 / 8) n2 n18 def n2856 : TangentTree := .cutT (1 / 4) n2855 n2808 def n2857 : TangentTree := .cutT (7 / 32) n78 n263 def n2858 : TangentTree := .cutR (11 / 16) n3 n2857 def n2859 : TangentTree := .cutR (7 / 8) n2858 n220 def n2860 : TangentTree := .cutT (3 / 16) n77 n2859 def n2861 : TangentTree := .cutT (1 / 8) n2 n2860 def n2862 : TangentTree := .cutT (11 / 32) n1310 n156 def n2863 : TangentTree := .cutR (5 / 8) n1192 n2862 def n2864 : TangentTree := .cutT (5 / 16) n2818 n2863 def n2865 : TangentTree := .cutR (9 / 16) n1327 n2747 def n2866 : TangentTree := .cutT (7 / 16) n927 n2865 def n2867 : TangentTree := .leaf (75 / 128) (1 / 2) (1 / 2) def n2868 : TangentTree := .cutR (21 / 32) n2867 n86 def n2869 : TangentTree := .cutT (7 / 16) n554 n2868 def n2870 : TangentTree := .cutR (5 / 8) n2866 n2869 def n2871 : TangentTree := .cutT (3 / 8) n2864 n2870 def n2872 : TangentTree := .cutR (35 / 64) n2697 n1833 def n2873 : TangentTree := .cutR (17 / 32) n1719 n2755 def n2874 : TangentTree := .cutT (9 / 16) n2872 n2873 def n2875 : TangentTree := .leaf (15 / 16) (51 / 64) (103 / 128) def n2876 : TangentTree := .cutT (3 / 4) n2385 n2875 def n2877 : TangentTree := .cutR (33 / 64) n2826 n2876 def n2878 : TangentTree := .leaf (6 / 7) (51 / 64) (103 / 128) def n2879 : TangentTree := .cutT (3 / 4) n2298 n2878 def n2880 : TangentTree := .cutR (35 / 64) n2879 n2829 def n2881 : TangentTree := .cutR (17 / 32) n2877 n2880 def n2882 : TangentTree := .cutT (5 / 8) n2874 n2881 def n2883 : TangentTree := .cutT (9 / 16) n1460 n1979 def n2884 : TangentTree := .leaf (3 / 4) (103 / 128) (51 / 64) def n2885 : TangentTree := .cutT (3 / 4) n2631 n2884 def n2886 : TangentTree := .cutR (37 / 64) n2885 n2835 def n2887 : TangentTree := .leaf (2 / 3) (51 / 64) (103 / 128) def n2888 : TangentTree := .cutT (3 / 4) n2567 n2887 def n2889 : TangentTree := .leaf (5 / 8) (51 / 64) (103 / 128) def n2890 : TangentTree := .cutT (3 / 4) n2714 n2889 def n2891 : TangentTree := .cutR (39 / 64) n2888 n2890 def n2892 : TangentTree := .cutR (19 / 32) n2886 n2891 def n2893 : TangentTree := .cutT (5 / 8) n2883 n2892 def n2894 : TangentTree := .cutR (9 / 16) n2882 n2893 def n2895 : TangentTree := .leaf (16 / 27) (51 / 64) (51 / 64) def n2896 : TangentTree := .leaf (23 / 42) (51 / 64) (103 / 128) def n2897 : TangentTree := .cutR (41 / 64) n2841 n2896 def n2898 : TangentTree := .cutR (81 / 128) n2895 n2897 def n2899 : TangentTree := .cutT (5 / 8) n1872 n2898 def n2900 : TangentTree := .leaf (1 / 2) (103 / 128) (13 / 16) def n2901 : TangentTree := .cutR (11 / 16) n2900 n2847 def n2902 : TangentTree := .cutT (5 / 8) n2793 n2901 def n2903 : TangentTree := .cutR (21 / 32) n2899 n2902 def n2904 : TangentTree := .cutR (5 / 8) n2894 n2903 def n2905 : TangentTree := .cutT (1 / 2) n2871 n2904 def n2906 : TangentTree := .cutR (3 / 4) n2905 n2803 def n2907 : TangentTree := .cutT (1 / 4) n2861 n2906 def n2908 : TangentTree := .cutR (5 / 8) n1317 n2685 def n2909 : TangentTree := .cutT (5 / 16) n2818 n2908 def n2910 : TangentTree := .cutR (9 / 16) n1443 n2747 def n2911 : TangentTree := .cutT (7 / 16) n2745 n2910 def n2912 : TangentTree := .cutT (7 / 16) n554 n2468 def n2913 : TangentTree := .cutR (5 / 8) n2911 n2912 def n2914 : TangentTree := .cutT (3 / 8) n2909 n2913 def n2915 : TangentTree := .cutT (9 / 16) n2698 n2380 def n2916 : TangentTree := .cutT (11 / 16) n120 n1641 def n2917 : TangentTree := .leaf 1 (51 / 64) (13 / 16) def n2918 : TangentTree := .cutT (3 / 4) n2916 n2917 def n2919 : TangentTree := .leaf (15 / 16) (21 / 32) (21 / 32) def n2920 : TangentTree := .cutT (21 / 32) n2919 n2383 def n2921 : TangentTree := .cutT (11 / 16) n2920 n2293 def n2922 : TangentTree := .leaf (29 / 32) (103 / 128) (103 / 128) def n2923 : TangentTree := .cutT (3 / 4) n2921 n2922 def n2924 : TangentTree := .cutR (33 / 64) n2918 n2923 def n2925 : TangentTree := .leaf (7 / 8) (3 / 4) (3 / 4) def n2926 : TangentTree := .leaf (27 / 32) (3 / 4) (3 / 4) def n2927 : TangentTree := .cutR (69 / 128) n2925 n2926 def n2928 : TangentTree := .cutT (11 / 16) n2476 n2927 def n2929 : TangentTree := .leaf (6 / 7) (103 / 128) (103 / 128) def n2930 : TangentTree := .cutT (3 / 4) n2928 n2929 def n2931 : TangentTree := .leaf (19 / 24) (21 / 32) (21 / 32) def n2932 : TangentTree := .cutR (71 / 128) n1956 n2931 def n2933 : TangentTree := .leaf (19 / 24) (11 / 16) (11 / 16) def n2934 : TangentTree := .cutR (71 / 128) n2301 n2933 def n2935 : TangentTree := .cutT (21 / 32) n2932 n2934 def n2936 : TangentTree := .leaf (13 / 16) (23 / 32) (23 / 32) def n2937 : TangentTree := .cutT (23 / 32) n2936 n1957 def n2938 : TangentTree := .leaf (19 / 24) (23 / 32) (23 / 32) def n2939 : TangentTree := .cutT (23 / 32) n2938 n2618 def n2940 : TangentTree := .cutR (71 / 128) n2937 n2939 def n2941 : TangentTree := .cutT (11 / 16) n2935 n2940 def n2942 : TangentTree := .leaf (13 / 16) (103 / 128) (51 / 64) def n2943 : TangentTree := .leaf (19 / 24) (51 / 64) (103 / 128) def n2944 : TangentTree := .cutR (71 / 128) n2942 n2943 def n2945 : TangentTree := .cutT (3 / 4) n2941 n2944 def n2946 : TangentTree := .cutR (35 / 64) n2930 n2945 def n2947 : TangentTree := .cutR (17 / 32) n2924 n2946 def n2948 : TangentTree := .cutT (5 / 8) n2915 n2947 def n2949 : TangentTree := .cutR (19 / 32) n2626 n2769 def n2950 : TangentTree := .leaf (25 / 32) (5 / 8) (5 / 8) def n2951 : TangentTree := .cutR (73 / 128) n2950 n561 def n2952 : TangentTree := .leaf (18 / 25) (5 / 8) (5 / 8) def n2953 : TangentTree := .leaf (45 / 64) (5 / 8) (5 / 8) def n2954 : TangentTree := .cutR (75 / 128) n2952 n2953 def n2955 : TangentTree := .cutR (37 / 64) n2951 n2954 def n2956 : TangentTree := .cutT (19 / 32) n2310 n2955 def n2957 : TangentTree := .cutR (19 / 32) n2956 n2201 def n2958 : TangentTree := .cutT (9 / 16) n2949 n2957 def n2959 : TangentTree := .leaf (49 / 64) (21 / 32) (21 / 32) def n2960 : TangentTree := .cutR (73 / 128) n2959 n1856 def n2961 : TangentTree := .leaf (49 / 64) (11 / 16) (11 / 16) def n2962 : TangentTree := .leaf (55 / 74) (11 / 16) (11 / 16) def n2963 : TangentTree := .cutR (73 / 128) n2961 n2962 def n2964 : TangentTree := .cutT (21 / 32) n2960 n2963 def n2965 : TangentTree := .leaf (49 / 64) (23 / 32) (23 / 32) def n2966 : TangentTree := .cutT (23 / 32) n2965 n2629 def n2967 : TangentTree := .leaf (55 / 74) (23 / 32) (23 / 32) def n2968 : TangentTree := .cutT (23 / 32) n2967 n1465 def n2969 : TangentTree := .cutR (73 / 128) n2966 n2968 def n2970 : TangentTree := .cutT (11 / 16) n2964 n2969 def n2971 : TangentTree := .leaf (49 / 64) (51 / 64) (51 / 64) def n2972 : TangentTree := .leaf (3 / 4) (51 / 64) (103 / 128) def n2973 : TangentTree := .cutR (73 / 128) n2971 n2972 def n2974 : TangentTree := .cutT (3 / 4) n2970 n2973 def n2975 : TangentTree := .leaf (18 / 25) (21 / 32) (21 / 32) def n2976 : TangentTree := .leaf (45 / 64) (21 / 32) (21 / 32) def n2977 : TangentTree := .cutR (75 / 128) n2975 n2976 def n2978 : TangentTree := .leaf (18 / 25) (11 / 16) (11 / 16) def n2979 : TangentTree := .leaf (45 / 64) (11 / 16) (11 / 16) def n2980 : TangentTree := .cutR (75 / 128) n2978 n2979 def n2981 : TangentTree := .cutT (21 / 32) n2977 n2980 def n2982 : TangentTree := .leaf (18 / 25) (23 / 32) (23 / 32) def n2983 : TangentTree := .cutT (23 / 32) n2982 n2634 def n2984 : TangentTree := .leaf (45 / 64) (23 / 32) (23 / 32) def n2985 : TangentTree := .cutT (23 / 32) n2984 n2776 def n2986 : TangentTree := .cutR (75 / 128) n2983 n2985 def n2987 : TangentTree := .cutT (11 / 16) n2981 n2986 def n2988 : TangentTree := .leaf (18 / 25) (51 / 64) (103 / 128) def n2989 : TangentTree := .leaf (45 / 64) (51 / 64) (103 / 128) def n2990 : TangentTree := .cutR (75 / 128) n2988 n2989 def n2991 : TangentTree := .cutT (3 / 4) n2987 n2990 def n2992 : TangentTree := .cutR (37 / 64) n2974 n2991 def n2993 : TangentTree := .leaf (43 / 64) (21 / 32) (21 / 32) def n2994 : TangentTree := .leaf (11 / 16) (11 / 16) (11 / 16) def n2995 : TangentTree := .leaf (17 / 26) (11 / 16) (11 / 16) def n2996 : TangentTree := .cutR (77 / 128) n2994 n2995 def n2997 : TangentTree := .cutT (21 / 32) n2993 n2996 def n2998 : TangentTree := .leaf (52 / 77) (3 / 4) (3 / 4) def n2999 : TangentTree := .leaf (17 / 26) (3 / 4) (3 / 4) def n3000 : TangentTree := .cutR (77 / 128) n2998 n2999 def n3001 : TangentTree := .cutT (11 / 16) n2997 n3000 def n3002 : TangentTree := .leaf (2 / 3) (103 / 128) (103 / 128) def n3003 : TangentTree := .cutT (3 / 4) n3001 n3002 def n3004 : TangentTree := .cutT (21 / 32) n2216 n2713 def n3005 : TangentTree := .cutT (11 / 16) n3004 n2098 def n3006 : TangentTree := .leaf (5 / 8) (103 / 128) (103 / 128) def n3007 : TangentTree := .cutT (3 / 4) n3005 n3006 def n3008 : TangentTree := .cutR (39 / 64) n3003 n3007 def n3009 : TangentTree := .cutR (19 / 32) n2992 n3008 def n3010 : TangentTree := .cutT (5 / 8) n2958 n3009 def n3011 : TangentTree := .cutR (9 / 16) n2948 n3010 def n3012 : TangentTree := .leaf (16 / 27) (11 / 16) (11 / 16) def n3013 : TangentTree := .leaf (16 / 27) (3 / 4) (3 / 4) def n3014 : TangentTree := .cutT (11 / 16) n3012 n3013 def n3015 : TangentTree := .leaf (5 / 8) (103 / 128) (13 / 16) def n3016 : TangentTree := .cutT (3 / 4) n3014 n3015 def n3017 : TangentTree := .leaf (37 / 64) (3 / 4) (3 / 4) def n3018 : TangentTree := .leaf (9 / 16) (103 / 128) (51 / 64) def n3019 : TangentTree := .cutT (3 / 4) n3017 n3018 def n3020 : TangentTree := .leaf (23 / 42) (3 / 4) (3 / 4) def n3021 : TangentTree := .leaf (9 / 16) (51 / 64) (13 / 16) def n3022 : TangentTree := .cutT (3 / 4) n3020 n3021 def n3023 : TangentTree := .cutR (41 / 64) n3019 n3022 def n3024 : TangentTree := .cutR (81 / 128) n3016 n3023 def n3025 : TangentTree := .cutT (5 / 8) n2107 n3024 def n3026 : TangentTree := .leaf (3 / 8) (5 / 8) (5 / 8) def n3027 : TangentTree := .cutR (11 / 16) n1098 n3026 def n3028 : TangentTree := .cutT (9 / 16) n1996 n3027 def n3029 : TangentTree := .leaf (1 / 2) (103 / 128) (105 / 128) def n3030 : TangentTree := .leaf (5 / 12) (13 / 16) (109 / 128) def n3031 : TangentTree := .cutR (11 / 16) n3029 n3030 def n3032 : TangentTree := .cutT (5 / 8) n3028 n3031 def n3033 : TangentTree := .cutR (21 / 32) n3025 n3032 def n3034 : TangentTree := .cutR (5 / 8) n3011 n3033 def n3035 : TangentTree := .cutT (1 / 2) n2914 n3034 def n3036 : TangentTree := .leaf (1 / 4) (111 / 128) 1 def n3037 : TangentTree := .cutT (1 / 2) n2801 n3036 def n3038 : TangentTree := .cutR (3 / 4) n3035 n3037 def n3039 : TangentTree := .cutT (1 / 4) n2861 n3038 def n3040 : TangentTree := .leaf 1 (51 / 64) (51 / 64) def n3041 : TangentTree := .cutT (5 / 8) n675 n3040 def n3042 : TangentTree := .cutT (1 / 2) n248 n3041 def n3043 : TangentTree := .cutT (1 / 4) n2855 n3042 def positive_21Cfg : Params := ⟨(461 / 8000), (689 / 500), (1493 / 1000)⟩ def positive_22Cfg : Params := ⟨(477 / 8000), (1383 / 1000), (1573 / 1000)⟩ def positive_23Cfg : Params := ⟨(493 / 8000), (347 / 250), (1649 / 1000)⟩ def positive_24Cfg : Params := ⟨(509 / 8000), (1393 / 1000), (1721 / 1000)⟩ def positive_25Cfg : Params := ⟨(21 / 320), (1397 / 1000), (1789 / 1000)⟩ def positive_26Cfg : Params := ⟨(541 / 8000), (701 / 500), (1853 / 1000)⟩ def positive_27Cfg : Params := ⟨(557 / 8000), (703 / 500), (957 / 500)⟩ def positive_28Cfg : Params := ⟨(573 / 8000), (141 / 100), (1971 / 1000)⟩ def positive_29Cfg : Params := ⟨(589 / 8000), (283 / 200), (253 / 125)⟩ def positive_30Cfg : Params := ⟨(121 / 1600), (1419 / 1000), (2073 / 1000)⟩ def positive_31Cfg : Params := ⟨(621 / 8000), (1423 / 1000), (2117 / 1000)⟩ def positive_32Cfg : Params := ⟨(637 / 8000), (1427 / 1000), (1079 / 500)⟩ def positive_33Cfg : Params := ⟨(653 / 8000), (1431 / 1000), (549 / 250)⟩ def positive_34Cfg : Params := ⟨(669 / 8000), (717 / 500), (223 / 100)⟩ def positive_35Cfg : Params := ⟨(137 / 1600), (719 / 500), (1131 / 500)⟩ def positive_36Cfg : Params := ⟨(701 / 8000), (721 / 500), (2291 / 1000)⟩ def positive_37Cfg : Params := ⟨(717 / 8000), (289 / 200), (2319 / 1000)⟩ def positive_38Cfg : Params := ⟨(733 / 8000), (1449 / 1000), (293 / 125)⟩ def positive_39Cfg : Params := ⟨(749 / 8000), (363 / 250), (296 / 125)⟩ def positive_40Cfg : Params := ⟨(153 / 1600), (182 / 125), (299 / 125)⟩ def positive_41Cfg : Params := ⟨(781 / 8000), (1459 / 1000), (483 / 200)⟩ def positive_42Cfg : Params := ⟨(797 / 8000), (731 / 500), (2437 / 1000)⟩ def positive_43Cfg : Params := ⟨(813 / 8000), (293 / 200), (1229 / 500)⟩ def positive_44Cfg : Params := ⟨(829 / 8000), (1469 / 1000), (2477 / 1000)⟩ def positive_45Cfg : Params := ⟨(169 / 1600), (184 / 125), (499 / 200)⟩ def positive_46Cfg : Params := ⟨(861 / 8000), (59 / 40), (314 / 125)⟩ def positive_47Cfg : Params := ⟨(877 / 8000), (739 / 500), (2527 / 1000)⟩ def positive_48Cfg : Params := ⟨(893 / 8000), (1481 / 1000), (127 / 50)⟩ def positive_49Cfg : Params := ⟨(909 / 8000), (371 / 250), (2553 / 1000)⟩ def positive_50Cfg : Params := ⟨(37 / 320), (1487 / 1000), (513 / 200)⟩ def positive_51Cfg : Params := ⟨(941 / 8000), (1489 / 1000), (322 / 125)⟩ def positive_52Cfg : Params := ⟨(957 / 8000), (373 / 250), (1293 / 500)⟩ def positive_53Cfg : Params := ⟨(973 / 8000), (299 / 200), (519 / 200)⟩ def positive_54Cfg : Params := ⟨(989 / 8000), (749 / 500), (651 / 250)⟩ def positive_55Cfg : Params := ⟨(201 / 1600), (3 / 2), (653 / 250)⟩ def positive_56Cfg : Params := ⟨(1021 / 8000), (1503 / 1000), (2619 / 1000)⟩ def positive_57Cfg : Params := ⟨(1037 / 8000), (753 / 500), (1313 / 500)⟩ def positive_58Cfg : Params := ⟨(1053 / 8000), (377 / 250), (2631 / 1000)⟩ def positive_59Cfg : Params := ⟨(1069 / 8000), (1511 / 1000), (659 / 250)⟩ def positive_60Cfg : Params := ⟨(217 / 1600), (1513 / 1000), (2641 / 1000)⟩ def positive_61Cfg : Params := ⟨(1101 / 8000), (379 / 250), (529 / 200)⟩ def high_xCfg : Params := ⟨(7 / 50), (243 / 160), (8 / 3)⟩ def positive_21Large : TangentTree := n6 def positive_21Small : TangentTree := n10 def positive_22Large : TangentTree := n12 def positive_22Small : TangentTree := n10 def positive_23Large : TangentTree := n23 def positive_23Small : TangentTree := n26 def positive_24Large : TangentTree := n30 def positive_24Small : TangentTree := n32 def positive_25Large : TangentTree := n37 def positive_25Small : TangentTree := n32 def positive_26Large : TangentTree := n43 def positive_26Small : TangentTree := n47 def positive_27Large : TangentTree := n69 def positive_27Small : TangentTree := n72 def positive_28Large : TangentTree := n92 def positive_28Small : TangentTree := n96 def positive_29Large : TangentTree := n102 def positive_29Small : TangentTree := n96 def positive_30Large : TangentTree := n117 def positive_30Small : TangentTree := n121 def positive_31Large : TangentTree := n166 def positive_31Small : TangentTree := n172 def positive_32Large : TangentTree := n202 def positive_32Small : TangentTree := n208 def positive_33Large : TangentTree := n245 def positive_33Small : TangentTree := n250 def positive_34Large : TangentTree := n294 def positive_34Small : TangentTree := n297 def positive_35Large : TangentTree := n320 def positive_35Small : TangentTree := n297 def positive_36Large : TangentTree := n382 def positive_36Small : TangentTree := n385 def positive_37Large : TangentTree := n453 def positive_37Small : TangentTree := n385 def positive_38Large : TangentTree := n515 def positive_38Small : TangentTree := n518 def positive_39Large : TangentTree := n587 def positive_39Small : TangentTree := n518 def positive_40Large : TangentTree := n715 def positive_40Small : TangentTree := n721 def positive_41Large : TangentTree := n866 def positive_41Small : TangentTree := n721 def positive_42Large : TangentTree := n984 def positive_42Small : TangentTree := n987 def positive_43Large : TangentTree := n1129 def positive_43Small : TangentTree := n1131 def positive_44Large : TangentTree := n1261 def positive_44Small : TangentTree := n1131 def positive_45Large : TangentTree := n1389 def positive_45Small : TangentTree := n1392 def positive_46Large : TangentTree := n1509 def positive_46Small : TangentTree := n1392 def positive_47Large : TangentTree := n1640 def positive_47Small : TangentTree := n1644 def positive_48Large : TangentTree := n1765 def positive_48Small : TangentTree := n1644 def positive_49Large : TangentTree := n1898 def positive_49Small : TangentTree := n1904 def positive_50Large : TangentTree := n2025 def positive_50Small : TangentTree := n2027 def positive_51Large : TangentTree := n2133 def positive_51Small : TangentTree := n2027 def positive_52Large : TangentTree := n2245 def positive_52Small : TangentTree := n2249 def positive_53Large : TangentTree := n2346 def positive_53Small : TangentTree := n2249 def positive_54Large : TangentTree := n2430 def positive_54Small : TangentTree := n2434 def positive_55Large : TangentTree := n2516 def positive_55Small : TangentTree := n2519 def positive_56Large : TangentTree := n2590 def positive_56Small : TangentTree := n2519 def positive_57Large : TangentTree := n2667 def positive_57Small : TangentTree := n2671 def positive_58Large : TangentTree := n2737 def positive_58Small : TangentTree := n2671 def positive_59Large : TangentTree := n2805 def positive_59Small : TangentTree := n2809 def positive_60Large : TangentTree := n2854 def positive_60Small : TangentTree := n2856 def positive_61Large : TangentTree := n2907 def positive_61Small : TangentTree := n2856 def high_xLarge : TangentTree := n3039 def high_xSmall : TangentTree := n3043 theorem positive_21LargeCheck6 : TangentChecked positive_21Cfg false ⟨0, 1, (1 / 2), 1⟩ n6 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_21Large_checked : TangentChecked positive_21Cfg false rootBox positive_21Large := positive_21LargeCheck6 theorem positive_21SmallCheck6 : TangentChecked positive_21Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n10 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_21Small_checked : TangentChecked positive_21Cfg true smallRootBox positive_21Small := positive_21SmallCheck6 theorem positive_22LargeCheck6 : TangentChecked positive_22Cfg false ⟨0, 1, (1 / 2), 1⟩ n12 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_22Large_checked : TangentChecked positive_22Cfg false rootBox positive_22Large := positive_22LargeCheck6 theorem positive_22SmallCheck6 : TangentChecked positive_22Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n10 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_22Small_checked : TangentChecked positive_22Cfg true smallRootBox positive_22Small := positive_22SmallCheck6 theorem positive_23LargeCheck16 : TangentChecked positive_23Cfg false ⟨0, 1, (1 / 2), 1⟩ n23 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_23Large_checked : TangentChecked positive_23Cfg false rootBox positive_23Large := positive_23LargeCheck16 theorem positive_23SmallCheck8 : TangentChecked positive_23Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n26 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_23Small_checked : TangentChecked positive_23Cfg true smallRootBox positive_23Small := positive_23SmallCheck8 theorem positive_24LargeCheck16 : TangentChecked positive_24Cfg false ⟨0, 1, (1 / 2), 1⟩ n30 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_24Large_checked : TangentChecked positive_24Cfg false rootBox positive_24Large := positive_24LargeCheck16 theorem positive_24SmallCheck8 : TangentChecked positive_24Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n32 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_24Small_checked : TangentChecked positive_24Cfg true smallRootBox positive_24Small := positive_24SmallCheck8 theorem positive_25LargeCheck18 : TangentChecked positive_25Cfg false ⟨0, 1, (1 / 2), 1⟩ n37 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_25Large_checked : TangentChecked positive_25Cfg false rootBox positive_25Large := positive_25LargeCheck18 theorem positive_25SmallCheck8 : TangentChecked positive_25Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n32 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_25Small_checked : TangentChecked positive_25Cfg true smallRootBox positive_25Small := positive_25SmallCheck8 theorem positive_26LargeCheck20 : TangentChecked positive_26Cfg false ⟨0, 1, (1 / 2), 1⟩ n43 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_26Large_checked : TangentChecked positive_26Cfg false rootBox positive_26Large := positive_26LargeCheck20 theorem positive_26SmallCheck10 : TangentChecked positive_26Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n47 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_26Small_checked : TangentChecked positive_26Cfg true smallRootBox positive_26Small := positive_26SmallCheck10 theorem positive_27LargeCheck28 : TangentChecked positive_27Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n59 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_27LargeCheck31 : TangentChecked positive_27Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n61 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_27LargeCheck32 : TangentChecked positive_27Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n62 := by exact @TangentChecked.cutT positive_27Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n59 n61 (by unfold GoodTCut; decide +kernel) positive_27LargeCheck28 positive_27LargeCheck31 theorem positive_27LargeCheck39 : TangentChecked positive_27Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n68 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_27LargeCheck40 : TangentChecked positive_27Cfg false ⟨0, 1, (1 / 2), 1⟩ n69 := by exact @TangentChecked.cutT positive_27Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n62 n68 (by unfold GoodTCut; decide +kernel) positive_27LargeCheck32 positive_27LargeCheck39 theorem positive_27Large_checked : TangentChecked positive_27Cfg false rootBox positive_27Large := positive_27LargeCheck40 theorem positive_27SmallCheck12 : TangentChecked positive_27Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n72 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_27Small_checked : TangentChecked positive_27Cfg true smallRootBox positive_27Small := positive_27SmallCheck12 theorem positive_28LargeCheck26 : TangentChecked positive_28Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n74 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_28LargeCheck37 : TangentChecked positive_28Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n81 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_28LargeCheck38 : TangentChecked positive_28Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n82 := by exact @TangentChecked.cutT positive_28Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n74 n81 (by unfold GoodTCut; decide +kernel) positive_28LargeCheck26 positive_28LargeCheck37 theorem positive_28LargeCheck49 : TangentChecked positive_28Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n91 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_28LargeCheck50 : TangentChecked positive_28Cfg false ⟨0, 1, (1 / 2), 1⟩ n92 := by exact @TangentChecked.cutT positive_28Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n82 n91 (by unfold GoodTCut; decide +kernel) positive_28LargeCheck38 positive_28LargeCheck49 theorem positive_28Large_checked : TangentChecked positive_28Cfg false rootBox positive_28Large := positive_28LargeCheck50 theorem positive_28SmallCheck14 : TangentChecked positive_28Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n96 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_28Small_checked : TangentChecked positive_28Cfg true smallRootBox positive_28Small := positive_28SmallCheck14 theorem positive_29LargeCheck26 : TangentChecked positive_29Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n74 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_29LargeCheck37 : TangentChecked positive_29Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n81 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_29LargeCheck38 : TangentChecked positive_29Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n82 := by exact @TangentChecked.cutT positive_29Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n74 n81 (by unfold GoodTCut; decide +kernel) positive_29LargeCheck26 positive_29LargeCheck37 theorem positive_29LargeCheck49 : TangentChecked positive_29Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n101 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_29LargeCheck50 : TangentChecked positive_29Cfg false ⟨0, 1, (1 / 2), 1⟩ n102 := by exact @TangentChecked.cutT positive_29Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n82 n101 (by unfold GoodTCut; decide +kernel) positive_29LargeCheck38 positive_29LargeCheck49 theorem positive_29Large_checked : TangentChecked positive_29Cfg false rootBox positive_29Large := positive_29LargeCheck50 theorem positive_29SmallCheck14 : TangentChecked positive_29Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n96 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_29Small_checked : TangentChecked positive_29Cfg true smallRootBox positive_29Small := positive_29SmallCheck14 theorem positive_30LargeCheck26 : TangentChecked positive_30Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n74 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_30LargeCheck41 : TangentChecked positive_30Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n108 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_30LargeCheck42 : TangentChecked positive_30Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n109 := by exact @TangentChecked.cutT positive_30Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n74 n108 (by unfold GoodTCut; decide +kernel) positive_30LargeCheck26 positive_30LargeCheck41 theorem positive_30LargeCheck53 : TangentChecked positive_30Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n116 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_30LargeCheck54 : TangentChecked positive_30Cfg false ⟨0, 1, (1 / 2), 1⟩ n117 := by exact @TangentChecked.cutT positive_30Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n109 n116 (by unfold GoodTCut; decide +kernel) positive_30LargeCheck42 positive_30LargeCheck53 theorem positive_30Large_checked : TangentChecked positive_30Cfg false rootBox positive_30Large := positive_30LargeCheck54 theorem positive_30SmallCheck14 : TangentChecked positive_30Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n121 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_30Small_checked : TangentChecked positive_30Cfg true smallRootBox positive_30Small := positive_30SmallCheck14 theorem positive_31LargeCheck28 : TangentChecked positive_31Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n133 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_31LargeCheck55 : TangentChecked positive_31Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n140 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_31LargeCheck56 : TangentChecked positive_31Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n141 := by exact @TangentChecked.cutR positive_31Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n133 n140 (by unfold GoodRCut; decide +kernel) positive_31LargeCheck28 positive_31LargeCheck55 theorem positive_31LargeCheck63 : TangentChecked positive_31Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n73 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_31LargeCheck64 : TangentChecked positive_31Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n142 := by exact @TangentChecked.cutT positive_31Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n141 n73 (by unfold GoodTCut; decide +kernel) positive_31LargeCheck56 positive_31LargeCheck63 theorem positive_31LargeCheck85 : TangentChecked positive_31Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n150 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_31LargeCheck86 : TangentChecked positive_31Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n151 := by exact @TangentChecked.cutT positive_31Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n142 n150 (by unfold GoodTCut; decide +kernel) positive_31LargeCheck64 positive_31LargeCheck85 theorem positive_31LargeCheck103 : TangentChecked positive_31Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n165 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_31LargeCheck104 : TangentChecked positive_31Cfg false ⟨0, 1, (1 / 2), 1⟩ n166 := by exact @TangentChecked.cutT positive_31Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n151 n165 (by unfold GoodTCut; decide +kernel) positive_31LargeCheck86 positive_31LargeCheck103 theorem positive_31Large_checked : TangentChecked positive_31Cfg false rootBox positive_31Large := positive_31LargeCheck104 theorem positive_31SmallCheck18 : TangentChecked positive_31Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n172 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_31Small_checked : TangentChecked positive_31Cfg true smallRootBox positive_31Small := positive_31SmallCheck18 theorem positive_32LargeCheck26 : TangentChecked positive_32Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n174 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_32LargeCheck53 : TangentChecked positive_32Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n140 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_32LargeCheck54 : TangentChecked positive_32Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n175 := by exact @TangentChecked.cutR positive_32Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n174 n140 (by unfold GoodRCut; decide +kernel) positive_32LargeCheck26 positive_32LargeCheck53 theorem positive_32LargeCheck61 : TangentChecked positive_32Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n73 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_32LargeCheck62 : TangentChecked positive_32Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n176 := by exact @TangentChecked.cutT positive_32Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n175 n73 (by unfold GoodTCut; decide +kernel) positive_32LargeCheck54 positive_32LargeCheck61 theorem positive_32LargeCheck91 : TangentChecked positive_32Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n187 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_32LargeCheck92 : TangentChecked positive_32Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n188 := by exact @TangentChecked.cutT positive_32Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n176 n187 (by unfold GoodTCut; decide +kernel) positive_32LargeCheck62 positive_32LargeCheck91 theorem positive_32LargeCheck111 : TangentChecked positive_32Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n201 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_32LargeCheck112 : TangentChecked positive_32Cfg false ⟨0, 1, (1 / 2), 1⟩ n202 := by exact @TangentChecked.cutT positive_32Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n188 n201 (by unfold GoodTCut; decide +kernel) positive_32LargeCheck92 positive_32LargeCheck111 theorem positive_32Large_checked : TangentChecked positive_32Cfg false rootBox positive_32Large := positive_32LargeCheck112 theorem positive_32SmallCheck20 : TangentChecked positive_32Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n208 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_32Small_checked : TangentChecked positive_32Cfg true smallRootBox positive_32Small := positive_32SmallCheck20 theorem positive_33LargeCheck26 : TangentChecked positive_33Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n174 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_33LargeCheck53 : TangentChecked positive_33Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n140 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_33LargeCheck54 : TangentChecked positive_33Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n175 := by exact @TangentChecked.cutR positive_33Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n174 n140 (by unfold GoodRCut; decide +kernel) positive_33LargeCheck26 positive_33LargeCheck53 theorem positive_33LargeCheck61 : TangentChecked positive_33Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n73 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_33LargeCheck62 : TangentChecked positive_33Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n176 := by exact @TangentChecked.cutT positive_33Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n175 n73 (by unfold GoodTCut; decide +kernel) positive_33LargeCheck54 positive_33LargeCheck61 theorem positive_33LargeCheck73 : TangentChecked positive_33Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n213 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_33LargeCheck100 : TangentChecked positive_33Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n222 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_33LargeCheck101 : TangentChecked positive_33Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n223 := by exact @TangentChecked.cutT positive_33Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n213 n222 (by unfold GoodTCut; decide +kernel) positive_33LargeCheck73 positive_33LargeCheck100 theorem positive_33LargeCheck102 : TangentChecked positive_33Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n224 := by exact @TangentChecked.cutT positive_33Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n176 n223 (by unfold GoodTCut; decide +kernel) positive_33LargeCheck62 positive_33LargeCheck101 theorem positive_33LargeCheck125 : TangentChecked positive_33Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n244 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_33LargeCheck126 : TangentChecked positive_33Cfg false ⟨0, 1, (1 / 2), 1⟩ n245 := by exact @TangentChecked.cutT positive_33Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n224 n244 (by unfold GoodTCut; decide +kernel) positive_33LargeCheck102 positive_33LargeCheck125 theorem positive_33Large_checked : TangentChecked positive_33Cfg false rootBox positive_33Large := positive_33LargeCheck126 theorem positive_33SmallCheck24 : TangentChecked positive_33Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n250 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_33Small_checked : TangentChecked positive_33Cfg true smallRootBox positive_33Small := positive_33SmallCheck24 theorem positive_34LargeCheck26 : TangentChecked positive_34Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n174 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_34LargeCheck53 : TangentChecked positive_34Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n140 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_34LargeCheck54 : TangentChecked positive_34Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n175 := by exact @TangentChecked.cutR positive_34Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n174 n140 (by unfold GoodRCut; decide +kernel) positive_34LargeCheck26 positive_34LargeCheck53 theorem positive_34LargeCheck65 : TangentChecked positive_34Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n255 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_34LargeCheck66 : TangentChecked positive_34Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n256 := by exact @TangentChecked.cutT positive_34Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n175 n255 (by unfold GoodTCut; decide +kernel) positive_34LargeCheck54 positive_34LargeCheck65 theorem positive_34LargeCheck81 : TangentChecked positive_34Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n261 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_34LargeCheck104 : TangentChecked positive_34Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n271 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_34LargeCheck105 : TangentChecked positive_34Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n272 := by exact @TangentChecked.cutT positive_34Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n261 n271 (by unfold GoodTCut; decide +kernel) positive_34LargeCheck81 positive_34LargeCheck104 theorem positive_34LargeCheck106 : TangentChecked positive_34Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n273 := by exact @TangentChecked.cutT positive_34Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n256 n272 (by unfold GoodTCut; decide +kernel) positive_34LargeCheck66 positive_34LargeCheck105 theorem positive_34LargeCheck137 : TangentChecked positive_34Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n293 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_34LargeCheck138 : TangentChecked positive_34Cfg false ⟨0, 1, (1 / 2), 1⟩ n294 := by exact @TangentChecked.cutT positive_34Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n273 n293 (by unfold GoodTCut; decide +kernel) positive_34LargeCheck106 positive_34LargeCheck137 theorem positive_34Large_checked : TangentChecked positive_34Cfg false rootBox positive_34Large := positive_34LargeCheck138 theorem positive_34SmallCheck24 : TangentChecked positive_34Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n297 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_34Small_checked : TangentChecked positive_34Cfg true smallRootBox positive_34Small := positive_34SmallCheck24 theorem positive_35LargeCheck26 : TangentChecked positive_35Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n174 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_35LargeCheck53 : TangentChecked positive_35Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n140 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_35LargeCheck54 : TangentChecked positive_35Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n175 := by exact @TangentChecked.cutR positive_35Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n174 n140 (by unfold GoodRCut; decide +kernel) positive_35LargeCheck26 positive_35LargeCheck53 theorem positive_35LargeCheck65 : TangentChecked positive_35Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n255 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_35LargeCheck66 : TangentChecked positive_35Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n256 := by exact @TangentChecked.cutT positive_35Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n175 n255 (by unfold GoodTCut; decide +kernel) positive_35LargeCheck54 positive_35LargeCheck65 theorem positive_35LargeCheck81 : TangentChecked positive_35Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n261 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_35LargeCheck110 : TangentChecked positive_35Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n307 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_35LargeCheck111 : TangentChecked positive_35Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n308 := by exact @TangentChecked.cutT positive_35Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n261 n307 (by unfold GoodTCut; decide +kernel) positive_35LargeCheck81 positive_35LargeCheck110 theorem positive_35LargeCheck112 : TangentChecked positive_35Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n309 := by exact @TangentChecked.cutT positive_35Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n256 n308 (by unfold GoodTCut; decide +kernel) positive_35LargeCheck66 positive_35LargeCheck111 theorem positive_35LargeCheck143 : TangentChecked positive_35Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n319 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_35LargeCheck144 : TangentChecked positive_35Cfg false ⟨0, 1, (1 / 2), 1⟩ n320 := by exact @TangentChecked.cutT positive_35Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n309 n319 (by unfold GoodTCut; decide +kernel) positive_35LargeCheck112 positive_35LargeCheck143 theorem positive_35Large_checked : TangentChecked positive_35Cfg false rootBox positive_35Large := positive_35LargeCheck144 theorem positive_35SmallCheck24 : TangentChecked positive_35Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n297 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_35Small_checked : TangentChecked positive_35Cfg true smallRootBox positive_35Small := positive_35SmallCheck24 theorem positive_36LargeCheck26 : TangentChecked positive_36Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n174 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36LargeCheck53 : TangentChecked positive_36Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n140 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36LargeCheck54 : TangentChecked positive_36Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n175 := by exact @TangentChecked.cutR positive_36Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n174 n140 (by unfold GoodRCut; decide +kernel) positive_36LargeCheck26 positive_36LargeCheck53 theorem positive_36LargeCheck69 : TangentChecked positive_36Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n325 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36LargeCheck70 : TangentChecked positive_36Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n326 := by exact @TangentChecked.cutT positive_36Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n175 n325 (by unfold GoodTCut; decide +kernel) positive_36LargeCheck54 positive_36LargeCheck69 theorem positive_36LargeCheck85 : TangentChecked positive_36Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n261 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36LargeCheck104 : TangentChecked positive_36Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (7 / 8)⟩ n333 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36LargeCheck117 : TangentChecked positive_36Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n340 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36LargeCheck136 : TangentChecked positive_36Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n351 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36LargeCheck137 : TangentChecked positive_36Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ n352 := by exact @TangentChecked.cutT positive_36Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ (7 / 32) n340 n351 (by unfold GoodTCut; decide +kernel) positive_36LargeCheck117 positive_36LargeCheck136 theorem positive_36LargeCheck138 : TangentChecked positive_36Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n353 := by exact @TangentChecked.cutR positive_36Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (7 / 8) n333 n352 (by unfold GoodRCut; decide +kernel) positive_36LargeCheck104 positive_36LargeCheck137 theorem positive_36LargeCheck139 : TangentChecked positive_36Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n354 := by exact @TangentChecked.cutT positive_36Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n261 n353 (by unfold GoodTCut; decide +kernel) positive_36LargeCheck85 positive_36LargeCheck138 theorem positive_36LargeCheck140 : TangentChecked positive_36Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n355 := by exact @TangentChecked.cutT positive_36Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n326 n354 (by unfold GoodTCut; decide +kernel) positive_36LargeCheck70 positive_36LargeCheck139 theorem positive_36LargeCheck165 : TangentChecked positive_36Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n370 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36LargeCheck178 : TangentChecked positive_36Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n380 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36LargeCheck179 : TangentChecked positive_36Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n381 := by exact @TangentChecked.cutR positive_36Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n370 n380 (by unfold GoodRCut; decide +kernel) positive_36LargeCheck165 positive_36LargeCheck178 theorem positive_36LargeCheck180 : TangentChecked positive_36Cfg false ⟨0, 1, (1 / 2), 1⟩ n382 := by exact @TangentChecked.cutT positive_36Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n355 n381 (by unfold GoodTCut; decide +kernel) positive_36LargeCheck140 positive_36LargeCheck179 theorem positive_36Large_checked : TangentChecked positive_36Cfg false rootBox positive_36Large := positive_36LargeCheck180 theorem positive_36SmallCheck24 : TangentChecked positive_36Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n385 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_36Small_checked : TangentChecked positive_36Cfg true smallRootBox positive_36Small := positive_36SmallCheck24 theorem positive_37LargeCheck26 : TangentChecked positive_37Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n174 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37LargeCheck53 : TangentChecked positive_37Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n140 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37LargeCheck54 : TangentChecked positive_37Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n175 := by exact @TangentChecked.cutR positive_37Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n174 n140 (by unfold GoodRCut; decide +kernel) positive_37LargeCheck26 positive_37LargeCheck53 theorem positive_37LargeCheck69 : TangentChecked positive_37Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n325 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37LargeCheck70 : TangentChecked positive_37Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n326 := by exact @TangentChecked.cutT positive_37Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n175 n325 (by unfold GoodTCut; decide +kernel) positive_37LargeCheck54 positive_37LargeCheck69 theorem positive_37LargeCheck89 : TangentChecked positive_37Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n389 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37LargeCheck92 : TangentChecked positive_37Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n79 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37LargeCheck111 : TangentChecked positive_37Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n395 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37LargeCheck138 : TangentChecked positive_37Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n408 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37LargeCheck139 : TangentChecked positive_37Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n409 := by exact @TangentChecked.cutT positive_37Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n395 n408 (by unfold GoodTCut; decide +kernel) positive_37LargeCheck111 positive_37LargeCheck138 theorem positive_37LargeCheck140 : TangentChecked positive_37Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n410 := by exact @TangentChecked.cutR positive_37Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n79 n409 (by unfold GoodRCut; decide +kernel) positive_37LargeCheck92 positive_37LargeCheck139 theorem positive_37LargeCheck141 : TangentChecked positive_37Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n411 := by exact @TangentChecked.cutT positive_37Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n389 n410 (by unfold GoodTCut; decide +kernel) positive_37LargeCheck89 positive_37LargeCheck140 theorem positive_37LargeCheck142 : TangentChecked positive_37Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n412 := by exact @TangentChecked.cutT positive_37Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n326 n411 (by unfold GoodTCut; decide +kernel) positive_37LargeCheck70 positive_37LargeCheck141 theorem positive_37LargeCheck171 : TangentChecked positive_37Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n433 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37LargeCheck196 : TangentChecked positive_37Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n451 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37LargeCheck197 : TangentChecked positive_37Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n452 := by exact @TangentChecked.cutR positive_37Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n433 n451 (by unfold GoodRCut; decide +kernel) positive_37LargeCheck171 positive_37LargeCheck196 theorem positive_37LargeCheck198 : TangentChecked positive_37Cfg false ⟨0, 1, (1 / 2), 1⟩ n453 := by exact @TangentChecked.cutT positive_37Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n412 n452 (by unfold GoodTCut; decide +kernel) positive_37LargeCheck142 positive_37LargeCheck197 theorem positive_37Large_checked : TangentChecked positive_37Cfg false rootBox positive_37Large := positive_37LargeCheck198 theorem positive_37SmallCheck24 : TangentChecked positive_37Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n385 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_37Small_checked : TangentChecked positive_37Cfg true smallRootBox positive_37Small := positive_37SmallCheck24 theorem positive_38LargeCheck26 : TangentChecked positive_38Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n174 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck53 : TangentChecked positive_38Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n140 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck54 : TangentChecked positive_38Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n175 := by exact @TangentChecked.cutR positive_38Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n174 n140 (by unfold GoodRCut; decide +kernel) positive_38LargeCheck26 positive_38LargeCheck53 theorem positive_38LargeCheck69 : TangentChecked positive_38Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n325 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck70 : TangentChecked positive_38Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n326 := by exact @TangentChecked.cutT positive_38Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n175 n325 (by unfold GoodTCut; decide +kernel) positive_38LargeCheck54 positive_38LargeCheck69 theorem positive_38LargeCheck89 : TangentChecked positive_38Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n389 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck96 : TangentChecked positive_38Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck119 : TangentChecked positive_38Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n460 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck144 : TangentChecked positive_38Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (15 / 16)⟩ n468 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck151 : TangentChecked positive_38Cfg false ⟨(7 / 32), (1 / 4), (15 / 16), 1⟩ n407 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck152 : TangentChecked positive_38Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n469 := by exact @TangentChecked.cutR positive_38Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (15 / 16) n468 n407 (by unfold GoodRCut; decide +kernel) positive_38LargeCheck144 positive_38LargeCheck151 theorem positive_38LargeCheck153 : TangentChecked positive_38Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n470 := by exact @TangentChecked.cutT positive_38Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n460 n469 (by unfold GoodTCut; decide +kernel) positive_38LargeCheck119 positive_38LargeCheck152 theorem positive_38LargeCheck154 : TangentChecked positive_38Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n471 := by exact @TangentChecked.cutR positive_38Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n470 (by unfold GoodRCut; decide +kernel) positive_38LargeCheck96 positive_38LargeCheck153 theorem positive_38LargeCheck155 : TangentChecked positive_38Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n472 := by exact @TangentChecked.cutT positive_38Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n389 n471 (by unfold GoodTCut; decide +kernel) positive_38LargeCheck89 positive_38LargeCheck154 theorem positive_38LargeCheck156 : TangentChecked positive_38Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n473 := by exact @TangentChecked.cutT positive_38Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n326 n472 (by unfold GoodTCut; decide +kernel) positive_38LargeCheck70 positive_38LargeCheck155 theorem positive_38LargeCheck185 : TangentChecked positive_38Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n486 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck196 : TangentChecked positive_38Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n496 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck197 : TangentChecked positive_38Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n497 := by exact @TangentChecked.cutT positive_38Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n486 n496 (by unfold GoodTCut; decide +kernel) positive_38LargeCheck185 positive_38LargeCheck196 theorem positive_38LargeCheck228 : TangentChecked positive_38Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n513 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38LargeCheck229 : TangentChecked positive_38Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n514 := by exact @TangentChecked.cutR positive_38Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n497 n513 (by unfold GoodRCut; decide +kernel) positive_38LargeCheck197 positive_38LargeCheck228 theorem positive_38LargeCheck230 : TangentChecked positive_38Cfg false ⟨0, 1, (1 / 2), 1⟩ n515 := by exact @TangentChecked.cutT positive_38Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n473 n514 (by unfold GoodTCut; decide +kernel) positive_38LargeCheck156 positive_38LargeCheck229 theorem positive_38Large_checked : TangentChecked positive_38Cfg false rootBox positive_38Large := positive_38LargeCheck230 theorem positive_38SmallCheck24 : TangentChecked positive_38Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n518 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_38Small_checked : TangentChecked positive_38Cfg true smallRootBox positive_38Small := positive_38SmallCheck24 theorem positive_39LargeCheck26 : TangentChecked positive_39Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n174 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck53 : TangentChecked positive_39Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n140 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck54 : TangentChecked positive_39Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n175 := by exact @TangentChecked.cutR positive_39Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n174 n140 (by unfold GoodRCut; decide +kernel) positive_39LargeCheck26 positive_39LargeCheck53 theorem positive_39LargeCheck69 : TangentChecked positive_39Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n325 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck70 : TangentChecked positive_39Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n326 := by exact @TangentChecked.cutT positive_39Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n175 n325 (by unfold GoodTCut; decide +kernel) positive_39LargeCheck54 positive_39LargeCheck69 theorem positive_39LargeCheck89 : TangentChecked positive_39Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n389 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck96 : TangentChecked positive_39Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck117 : TangentChecked positive_39Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n524 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck142 : TangentChecked positive_39Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (15 / 16)⟩ n533 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck149 : TangentChecked positive_39Cfg false ⟨(7 / 32), (1 / 4), (15 / 16), 1⟩ n537 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck150 : TangentChecked positive_39Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n538 := by exact @TangentChecked.cutR positive_39Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (15 / 16) n533 n537 (by unfold GoodRCut; decide +kernel) positive_39LargeCheck142 positive_39LargeCheck149 theorem positive_39LargeCheck151 : TangentChecked positive_39Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n539 := by exact @TangentChecked.cutT positive_39Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n524 n538 (by unfold GoodTCut; decide +kernel) positive_39LargeCheck117 positive_39LargeCheck150 theorem positive_39LargeCheck152 : TangentChecked positive_39Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n540 := by exact @TangentChecked.cutR positive_39Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n539 (by unfold GoodRCut; decide +kernel) positive_39LargeCheck96 positive_39LargeCheck151 theorem positive_39LargeCheck153 : TangentChecked positive_39Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n541 := by exact @TangentChecked.cutT positive_39Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n389 n540 (by unfold GoodTCut; decide +kernel) positive_39LargeCheck89 positive_39LargeCheck152 theorem positive_39LargeCheck154 : TangentChecked positive_39Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n542 := by exact @TangentChecked.cutT positive_39Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n326 n541 (by unfold GoodTCut; decide +kernel) positive_39LargeCheck70 positive_39LargeCheck153 theorem positive_39LargeCheck183 : TangentChecked positive_39Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n558 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck200 : TangentChecked positive_39Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n574 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck201 : TangentChecked positive_39Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n575 := by exact @TangentChecked.cutT positive_39Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n558 n574 (by unfold GoodTCut; decide +kernel) positive_39LargeCheck183 positive_39LargeCheck200 theorem positive_39LargeCheck230 : TangentChecked positive_39Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n585 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39LargeCheck231 : TangentChecked positive_39Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n586 := by exact @TangentChecked.cutR positive_39Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n575 n585 (by unfold GoodRCut; decide +kernel) positive_39LargeCheck201 positive_39LargeCheck230 theorem positive_39LargeCheck232 : TangentChecked positive_39Cfg false ⟨0, 1, (1 / 2), 1⟩ n587 := by exact @TangentChecked.cutT positive_39Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n542 n586 (by unfold GoodTCut; decide +kernel) positive_39LargeCheck154 positive_39LargeCheck231 theorem positive_39Large_checked : TangentChecked positive_39Cfg false rootBox positive_39Large := positive_39LargeCheck232 theorem positive_39SmallCheck24 : TangentChecked positive_39Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n518 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_39Small_checked : TangentChecked positive_39Cfg true smallRootBox positive_39Small := positive_39SmallCheck24 theorem positive_40LargeCheck30 : TangentChecked positive_40Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n590 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck45 : TangentChecked positive_40Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n325 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck46 : TangentChecked positive_40Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n591 := by exact @TangentChecked.cutT positive_40Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n590 n325 (by unfold GoodTCut; decide +kernel) positive_40LargeCheck30 positive_40LargeCheck45 theorem positive_40LargeCheck69 : TangentChecked positive_40Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n599 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck76 : TangentChecked positive_40Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck79 : TangentChecked positive_40Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), (7 / 8)⟩ n145 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck88 : TangentChecked positive_40Cfg false ⟨(3 / 16), (13 / 64), (7 / 8), 1⟩ n603 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck111 : TangentChecked positive_40Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ n615 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck112 : TangentChecked positive_40Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n616 := by exact @TangentChecked.cutT positive_40Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ (13 / 64) n603 n615 (by unfold GoodTCut; decide +kernel) positive_40LargeCheck88 positive_40LargeCheck111 theorem positive_40LargeCheck113 : TangentChecked positive_40Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n617 := by exact @TangentChecked.cutR positive_40Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ (7 / 8) n145 n616 (by unfold GoodRCut; decide +kernel) positive_40LargeCheck79 positive_40LargeCheck112 theorem positive_40LargeCheck128 : TangentChecked positive_40Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (7 / 8)⟩ n623 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck145 : TangentChecked positive_40Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), (15 / 16)⟩ n634 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck162 : TangentChecked positive_40Cfg false ⟨(7 / 32), (15 / 64), (15 / 16), 1⟩ n641 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck163 : TangentChecked positive_40Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ n642 := by exact @TangentChecked.cutR positive_40Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ (15 / 16) n634 n641 (by unfold GoodRCut; decide +kernel) positive_40LargeCheck145 positive_40LargeCheck162 theorem positive_40LargeCheck180 : TangentChecked positive_40Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ n649 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck181 : TangentChecked positive_40Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n650 := by exact @TangentChecked.cutT positive_40Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ (15 / 64) n642 n649 (by unfold GoodTCut; decide +kernel) positive_40LargeCheck163 positive_40LargeCheck180 theorem positive_40LargeCheck182 : TangentChecked positive_40Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n651 := by exact @TangentChecked.cutR positive_40Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (7 / 8) n623 n650 (by unfold GoodRCut; decide +kernel) positive_40LargeCheck128 positive_40LargeCheck181 theorem positive_40LargeCheck183 : TangentChecked positive_40Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n652 := by exact @TangentChecked.cutT positive_40Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n617 n651 (by unfold GoodTCut; decide +kernel) positive_40LargeCheck113 positive_40LargeCheck182 theorem positive_40LargeCheck184 : TangentChecked positive_40Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n653 := by exact @TangentChecked.cutR positive_40Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n652 (by unfold GoodRCut; decide +kernel) positive_40LargeCheck76 positive_40LargeCheck183 theorem positive_40LargeCheck185 : TangentChecked positive_40Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n654 := by exact @TangentChecked.cutT positive_40Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n599 n653 (by unfold GoodTCut; decide +kernel) positive_40LargeCheck69 positive_40LargeCheck184 theorem positive_40LargeCheck186 : TangentChecked positive_40Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n655 := by exact @TangentChecked.cutT positive_40Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n591 n654 (by unfold GoodTCut; decide +kernel) positive_40LargeCheck46 positive_40LargeCheck185 theorem positive_40LargeCheck207 : TangentChecked positive_40Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n664 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck222 : TangentChecked positive_40Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n672 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck223 : TangentChecked positive_40Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n673 := by exact @TangentChecked.cutT positive_40Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n664 n672 (by unfold GoodTCut; decide +kernel) positive_40LargeCheck207 positive_40LargeCheck222 theorem positive_40LargeCheck244 : TangentChecked positive_40Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n693 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck245 : TangentChecked positive_40Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n694 := by exact @TangentChecked.cutT positive_40Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n673 n693 (by unfold GoodTCut; decide +kernel) positive_40LargeCheck223 positive_40LargeCheck244 theorem positive_40LargeCheck276 : TangentChecked positive_40Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n713 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40LargeCheck277 : TangentChecked positive_40Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n714 := by exact @TangentChecked.cutR positive_40Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n694 n713 (by unfold GoodRCut; decide +kernel) positive_40LargeCheck245 positive_40LargeCheck276 theorem positive_40LargeCheck278 : TangentChecked positive_40Cfg false ⟨0, 1, (1 / 2), 1⟩ n715 := by exact @TangentChecked.cutT positive_40Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n655 n714 (by unfold GoodTCut; decide +kernel) positive_40LargeCheck186 positive_40LargeCheck277 theorem positive_40Large_checked : TangentChecked positive_40Cfg false rootBox positive_40Large := positive_40LargeCheck278 theorem positive_40SmallCheck22 : TangentChecked positive_40Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n721 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_40Small_checked : TangentChecked positive_40Cfg true smallRootBox positive_40Small := positive_40SmallCheck22 theorem positive_41LargeCheck30 : TangentChecked positive_41Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n590 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck45 : TangentChecked positive_41Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n325 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck46 : TangentChecked positive_41Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n591 := by exact @TangentChecked.cutT positive_41Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n590 n325 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck30 positive_41LargeCheck45 theorem positive_41LargeCheck69 : TangentChecked positive_41Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n599 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck76 : TangentChecked positive_41Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck79 : TangentChecked positive_41Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), (7 / 8)⟩ n145 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck92 : TangentChecked positive_41Cfg false ⟨(3 / 16), (13 / 64), (7 / 8), 1⟩ n727 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck119 : TangentChecked positive_41Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ n738 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck120 : TangentChecked positive_41Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n739 := by exact @TangentChecked.cutT positive_41Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ (13 / 64) n727 n738 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck92 positive_41LargeCheck119 theorem positive_41LargeCheck121 : TangentChecked positive_41Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n740 := by exact @TangentChecked.cutR positive_41Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ (7 / 8) n145 n739 (by unfold GoodRCut; decide +kernel) positive_41LargeCheck79 positive_41LargeCheck120 theorem positive_41LargeCheck152 : TangentChecked positive_41Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (7 / 8)⟩ n755 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck173 : TangentChecked positive_41Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), (15 / 16)⟩ n765 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck192 : TangentChecked positive_41Cfg false ⟨(7 / 32), (15 / 64), (15 / 16), 1⟩ n772 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck193 : TangentChecked positive_41Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ n773 := by exact @TangentChecked.cutR positive_41Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ (15 / 16) n765 n772 (by unfold GoodRCut; decide +kernel) positive_41LargeCheck173 positive_41LargeCheck192 theorem positive_41LargeCheck218 : TangentChecked positive_41Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ n787 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck219 : TangentChecked positive_41Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n788 := by exact @TangentChecked.cutT positive_41Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ (15 / 64) n773 n787 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck193 positive_41LargeCheck218 theorem positive_41LargeCheck220 : TangentChecked positive_41Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n789 := by exact @TangentChecked.cutR positive_41Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (7 / 8) n755 n788 (by unfold GoodRCut; decide +kernel) positive_41LargeCheck152 positive_41LargeCheck219 theorem positive_41LargeCheck221 : TangentChecked positive_41Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n790 := by exact @TangentChecked.cutT positive_41Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n740 n789 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck121 positive_41LargeCheck220 theorem positive_41LargeCheck222 : TangentChecked positive_41Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n791 := by exact @TangentChecked.cutR positive_41Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n790 (by unfold GoodRCut; decide +kernel) positive_41LargeCheck76 positive_41LargeCheck221 theorem positive_41LargeCheck223 : TangentChecked positive_41Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n792 := by exact @TangentChecked.cutT positive_41Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n599 n791 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck69 positive_41LargeCheck222 theorem positive_41LargeCheck224 : TangentChecked positive_41Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n793 := by exact @TangentChecked.cutT positive_41Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n591 n792 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck46 positive_41LargeCheck223 theorem positive_41LargeCheck251 : TangentChecked positive_41Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n807 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck268 : TangentChecked positive_41Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n815 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck269 : TangentChecked positive_41Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n816 := by exact @TangentChecked.cutT positive_41Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n807 n815 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck251 positive_41LargeCheck268 theorem positive_41LargeCheck294 : TangentChecked positive_41Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n839 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck295 : TangentChecked positive_41Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n840 := by exact @TangentChecked.cutT positive_41Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n816 n839 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck269 positive_41LargeCheck294 theorem positive_41LargeCheck322 : TangentChecked positive_41Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n857 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck329 : TangentChecked positive_41Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n861 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck330 : TangentChecked positive_41Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n862 := by exact @TangentChecked.cutT positive_41Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n857 n861 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck322 positive_41LargeCheck329 theorem positive_41LargeCheck335 : TangentChecked positive_41Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n710 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck336 : TangentChecked positive_41Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n863 := by exact @TangentChecked.cutT positive_41Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n862 n710 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck330 positive_41LargeCheck335 theorem positive_41LargeCheck337 : TangentChecked positive_41Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n712 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41LargeCheck338 : TangentChecked positive_41Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n864 := by exact @TangentChecked.cutT positive_41Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n863 n712 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck336 positive_41LargeCheck337 theorem positive_41LargeCheck339 : TangentChecked positive_41Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n865 := by exact @TangentChecked.cutR positive_41Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n840 n864 (by unfold GoodRCut; decide +kernel) positive_41LargeCheck295 positive_41LargeCheck338 theorem positive_41LargeCheck340 : TangentChecked positive_41Cfg false ⟨0, 1, (1 / 2), 1⟩ n866 := by exact @TangentChecked.cutT positive_41Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n793 n865 (by unfold GoodTCut; decide +kernel) positive_41LargeCheck224 positive_41LargeCheck339 theorem positive_41Large_checked : TangentChecked positive_41Cfg false rootBox positive_41Large := positive_41LargeCheck340 theorem positive_41SmallCheck22 : TangentChecked positive_41Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n721 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_41Small_checked : TangentChecked positive_41Cfg true smallRootBox positive_41Small := positive_41SmallCheck22 theorem positive_42LargeCheck30 : TangentChecked positive_42Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n590 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck45 : TangentChecked positive_42Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n325 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck46 : TangentChecked positive_42Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n591 := by exact @TangentChecked.cutT positive_42Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n590 n325 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck30 positive_42LargeCheck45 theorem positive_42LargeCheck69 : TangentChecked positive_42Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n599 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck76 : TangentChecked positive_42Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck83 : TangentChecked positive_42Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), (7 / 8)⟩ n868 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck96 : TangentChecked positive_42Cfg false ⟨(3 / 16), (13 / 64), (7 / 8), 1⟩ n727 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck121 : TangentChecked positive_42Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ n873 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck122 : TangentChecked positive_42Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n874 := by exact @TangentChecked.cutT positive_42Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ (13 / 64) n727 n873 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck96 positive_42LargeCheck121 theorem positive_42LargeCheck123 : TangentChecked positive_42Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n875 := by exact @TangentChecked.cutR positive_42Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ (7 / 8) n868 n874 (by unfold GoodRCut; decide +kernel) positive_42LargeCheck83 positive_42LargeCheck122 theorem positive_42LargeCheck148 : TangentChecked positive_42Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (7 / 8)⟩ n885 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck167 : TangentChecked positive_42Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), (15 / 16)⟩ n890 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck190 : TangentChecked positive_42Cfg false ⟨(7 / 32), (15 / 64), (15 / 16), 1⟩ n899 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck191 : TangentChecked positive_42Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ n900 := by exact @TangentChecked.cutR positive_42Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ (15 / 16) n890 n899 (by unfold GoodRCut; decide +kernel) positive_42LargeCheck167 positive_42LargeCheck190 theorem positive_42LargeCheck216 : TangentChecked positive_42Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ n911 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck217 : TangentChecked positive_42Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n912 := by exact @TangentChecked.cutT positive_42Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ (15 / 64) n900 n911 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck191 positive_42LargeCheck216 theorem positive_42LargeCheck218 : TangentChecked positive_42Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n913 := by exact @TangentChecked.cutR positive_42Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (7 / 8) n885 n912 (by unfold GoodRCut; decide +kernel) positive_42LargeCheck148 positive_42LargeCheck217 theorem positive_42LargeCheck219 : TangentChecked positive_42Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n914 := by exact @TangentChecked.cutT positive_42Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n875 n913 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck123 positive_42LargeCheck218 theorem positive_42LargeCheck220 : TangentChecked positive_42Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n915 := by exact @TangentChecked.cutR positive_42Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n914 (by unfold GoodRCut; decide +kernel) positive_42LargeCheck76 positive_42LargeCheck219 theorem positive_42LargeCheck221 : TangentChecked positive_42Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n916 := by exact @TangentChecked.cutT positive_42Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n599 n915 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck69 positive_42LargeCheck220 theorem positive_42LargeCheck222 : TangentChecked positive_42Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n917 := by exact @TangentChecked.cutT positive_42Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n591 n916 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck46 positive_42LargeCheck221 theorem positive_42LargeCheck253 : TangentChecked positive_42Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n924 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck274 : TangentChecked positive_42Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n933 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck275 : TangentChecked positive_42Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n934 := by exact @TangentChecked.cutT positive_42Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n924 n933 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck253 positive_42LargeCheck274 theorem positive_42LargeCheck302 : TangentChecked positive_42Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n952 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck303 : TangentChecked positive_42Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n953 := by exact @TangentChecked.cutT positive_42Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n934 n952 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck275 positive_42LargeCheck302 theorem positive_42LargeCheck330 : TangentChecked positive_42Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n967 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck347 : TangentChecked positive_42Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n978 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck348 : TangentChecked positive_42Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n979 := by exact @TangentChecked.cutT positive_42Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n967 n978 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck330 positive_42LargeCheck347 theorem positive_42LargeCheck353 : TangentChecked positive_42Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n710 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck354 : TangentChecked positive_42Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n980 := by exact @TangentChecked.cutT positive_42Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n979 n710 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck348 positive_42LargeCheck353 theorem positive_42LargeCheck355 : TangentChecked positive_42Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n981 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42LargeCheck356 : TangentChecked positive_42Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n982 := by exact @TangentChecked.cutT positive_42Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n980 n981 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck354 positive_42LargeCheck355 theorem positive_42LargeCheck357 : TangentChecked positive_42Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n983 := by exact @TangentChecked.cutR positive_42Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n953 n982 (by unfold GoodRCut; decide +kernel) positive_42LargeCheck303 positive_42LargeCheck356 theorem positive_42LargeCheck358 : TangentChecked positive_42Cfg false ⟨0, 1, (1 / 2), 1⟩ n984 := by exact @TangentChecked.cutT positive_42Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n917 n983 (by unfold GoodTCut; decide +kernel) positive_42LargeCheck222 positive_42LargeCheck357 theorem positive_42Large_checked : TangentChecked positive_42Cfg false rootBox positive_42Large := positive_42LargeCheck358 theorem positive_42SmallCheck22 : TangentChecked positive_42Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n987 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_42Small_checked : TangentChecked positive_42Cfg true smallRootBox positive_42Small := positive_42SmallCheck22 theorem positive_43LargeCheck16 : TangentChecked positive_43Cfg false ⟨0, (1 / 16), (1 / 2), (3 / 4)⟩ n988 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck31 : TangentChecked positive_43Cfg false ⟨0, (1 / 16), (3 / 4), 1⟩ n589 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck32 : TangentChecked positive_43Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n989 := by exact @TangentChecked.cutR positive_43Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ (3 / 4) n988 n589 (by unfold GoodRCut; decide +kernel) positive_43LargeCheck16 positive_43LargeCheck31 theorem positive_43LargeCheck43 : TangentChecked positive_43Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n991 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck44 : TangentChecked positive_43Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n992 := by exact @TangentChecked.cutT positive_43Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n989 n991 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck32 positive_43LargeCheck43 theorem positive_43LargeCheck67 : TangentChecked positive_43Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n599 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck74 : TangentChecked positive_43Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck81 : TangentChecked positive_43Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), (7 / 8)⟩ n868 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck94 : TangentChecked positive_43Cfg false ⟨(3 / 16), (13 / 64), (7 / 8), 1⟩ n997 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck123 : TangentChecked positive_43Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ n1006 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck124 : TangentChecked positive_43Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n1007 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ (13 / 64) n997 n1006 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck94 positive_43LargeCheck123 theorem positive_43LargeCheck125 : TangentChecked positive_43Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n1008 := by exact @TangentChecked.cutR positive_43Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ (7 / 8) n868 n1007 (by unfold GoodRCut; decide +kernel) positive_43LargeCheck81 positive_43LargeCheck124 theorem positive_43LargeCheck156 : TangentChecked positive_43Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (7 / 8)⟩ n1018 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck175 : TangentChecked positive_43Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), (15 / 16)⟩ n1021 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck200 : TangentChecked positive_43Cfg false ⟨(7 / 32), (15 / 64), (15 / 16), 1⟩ n1028 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck201 : TangentChecked positive_43Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ n1029 := by exact @TangentChecked.cutR positive_43Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ (15 / 16) n1021 n1028 (by unfold GoodRCut; decide +kernel) positive_43LargeCheck175 positive_43LargeCheck200 theorem positive_43LargeCheck230 : TangentChecked positive_43Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), (61 / 64)⟩ n1038 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck235 : TangentChecked positive_43Cfg false ⟨(15 / 64), (1 / 4), (61 / 64), (31 / 32)⟩ n1039 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck236 : TangentChecked positive_43Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), (31 / 32)⟩ n1040 := by exact @TangentChecked.cutR positive_43Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), (31 / 32)⟩ (61 / 64) n1038 n1039 (by unfold GoodRCut; decide +kernel) positive_43LargeCheck230 positive_43LargeCheck235 theorem positive_43LargeCheck239 : TangentChecked positive_43Cfg false ⟨(15 / 64), (1 / 4), (31 / 32), 1⟩ n347 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck240 : TangentChecked positive_43Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ n1041 := by exact @TangentChecked.cutR positive_43Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ (31 / 32) n1040 n347 (by unfold GoodRCut; decide +kernel) positive_43LargeCheck236 positive_43LargeCheck239 theorem positive_43LargeCheck241 : TangentChecked positive_43Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n1042 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ (15 / 64) n1029 n1041 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck201 positive_43LargeCheck240 theorem positive_43LargeCheck242 : TangentChecked positive_43Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n1043 := by exact @TangentChecked.cutR positive_43Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (7 / 8) n1018 n1042 (by unfold GoodRCut; decide +kernel) positive_43LargeCheck156 positive_43LargeCheck241 theorem positive_43LargeCheck243 : TangentChecked positive_43Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n1044 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n1008 n1043 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck125 positive_43LargeCheck242 theorem positive_43LargeCheck244 : TangentChecked positive_43Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n1045 := by exact @TangentChecked.cutR positive_43Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n1044 (by unfold GoodRCut; decide +kernel) positive_43LargeCheck74 positive_43LargeCheck243 theorem positive_43LargeCheck245 : TangentChecked positive_43Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n1046 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n599 n1045 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck67 positive_43LargeCheck244 theorem positive_43LargeCheck246 : TangentChecked positive_43Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n1047 := by exact @TangentChecked.cutT positive_43Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n992 n1046 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck44 positive_43LargeCheck245 theorem positive_43LargeCheck271 : TangentChecked positive_43Cfg false ⟨(1 / 4), (5 / 16), (1 / 2), (3 / 4)⟩ n1058 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck286 : TangentChecked positive_43Cfg false ⟨(5 / 16), (3 / 8), (1 / 2), (3 / 4)⟩ n1065 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck287 : TangentChecked positive_43Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n1066 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ (5 / 16) n1058 n1065 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck271 positive_43LargeCheck286 theorem positive_43LargeCheck312 : TangentChecked positive_43Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n1081 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck313 : TangentChecked positive_43Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n1082 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n1066 n1081 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck287 positive_43LargeCheck312 theorem positive_43LargeCheck342 : TangentChecked positive_43Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n1103 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck343 : TangentChecked positive_43Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n1104 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n1082 n1103 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck313 positive_43LargeCheck342 theorem positive_43LargeCheck372 : TangentChecked positive_43Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n1113 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck389 : TangentChecked positive_43Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n1120 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck390 : TangentChecked positive_43Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n1121 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n1113 n1120 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck372 positive_43LargeCheck389 theorem positive_43LargeCheck395 : TangentChecked positive_43Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n1125 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck396 : TangentChecked positive_43Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n1126 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n1121 n1125 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck390 positive_43LargeCheck395 theorem positive_43LargeCheck397 : TangentChecked positive_43Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n981 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43LargeCheck398 : TangentChecked positive_43Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n1127 := by exact @TangentChecked.cutT positive_43Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n1126 n981 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck396 positive_43LargeCheck397 theorem positive_43LargeCheck399 : TangentChecked positive_43Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n1128 := by exact @TangentChecked.cutR positive_43Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n1104 n1127 (by unfold GoodRCut; decide +kernel) positive_43LargeCheck343 positive_43LargeCheck398 theorem positive_43LargeCheck400 : TangentChecked positive_43Cfg false ⟨0, 1, (1 / 2), 1⟩ n1129 := by exact @TangentChecked.cutT positive_43Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n1047 n1128 (by unfold GoodTCut; decide +kernel) positive_43LargeCheck246 positive_43LargeCheck399 theorem positive_43Large_checked : TangentChecked positive_43Cfg false rootBox positive_43Large := positive_43LargeCheck400 theorem positive_43SmallCheck20 : TangentChecked positive_43Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n1131 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_43Small_checked : TangentChecked positive_43Cfg true smallRootBox positive_43Small := positive_43SmallCheck20 theorem positive_44LargeCheck24 : TangentChecked positive_44Cfg false ⟨0, (1 / 16), (1 / 2), 1⟩ n1132 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck31 : TangentChecked positive_44Cfg false ⟨(1 / 16), (1 / 8), (1 / 2), 1⟩ n73 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck32 : TangentChecked positive_44Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n1133 := by exact @TangentChecked.cutT positive_44Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ (1 / 16) n1132 n73 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck24 positive_44LargeCheck31 theorem positive_44LargeCheck55 : TangentChecked positive_44Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n599 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck62 : TangentChecked positive_44Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck69 : TangentChecked positive_44Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), (7 / 8)⟩ n868 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck84 : TangentChecked positive_44Cfg false ⟨(3 / 16), (13 / 64), (7 / 8), 1⟩ n1137 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck87 : TangentChecked positive_44Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), (29 / 32)⟩ n299 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck114 : TangentChecked positive_44Cfg false ⟨(13 / 64), (7 / 32), (29 / 32), (63 / 64)⟩ n1144 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck121 : TangentChecked positive_44Cfg false ⟨(13 / 64), (7 / 32), (63 / 64), 1⟩ n1145 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck122 : TangentChecked positive_44Cfg false ⟨(13 / 64), (7 / 32), (29 / 32), 1⟩ n1146 := by exact @TangentChecked.cutR positive_44Cfg false ⟨(13 / 64), (7 / 32), (29 / 32), 1⟩ (63 / 64) n1144 n1145 (by unfold GoodRCut; decide +kernel) positive_44LargeCheck114 positive_44LargeCheck121 theorem positive_44LargeCheck123 : TangentChecked positive_44Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ n1147 := by exact @TangentChecked.cutR positive_44Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ (29 / 32) n299 n1146 (by unfold GoodRCut; decide +kernel) positive_44LargeCheck87 positive_44LargeCheck122 theorem positive_44LargeCheck124 : TangentChecked positive_44Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n1148 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ (13 / 64) n1137 n1147 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck84 positive_44LargeCheck123 theorem positive_44LargeCheck125 : TangentChecked positive_44Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n1149 := by exact @TangentChecked.cutR positive_44Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ (7 / 8) n868 n1148 (by unfold GoodRCut; decide +kernel) positive_44LargeCheck69 positive_44LargeCheck124 theorem positive_44LargeCheck134 : TangentChecked positive_44Cfg false ⟨(7 / 32), (15 / 64), (3 / 4), (7 / 8)⟩ n1011 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck159 : TangentChecked positive_44Cfg false ⟨(15 / 64), (1 / 4), (3 / 4), (7 / 8)⟩ n1156 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck160 : TangentChecked positive_44Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (7 / 8)⟩ n1157 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (7 / 8)⟩ (15 / 64) n1011 n1156 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck134 positive_44LargeCheck159 theorem positive_44LargeCheck183 : TangentChecked positive_44Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), (15 / 16)⟩ n1163 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck204 : TangentChecked positive_44Cfg false ⟨(7 / 32), (15 / 64), (15 / 16), 1⟩ n1166 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck205 : TangentChecked positive_44Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ n1167 := by exact @TangentChecked.cutR positive_44Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ (15 / 16) n1163 n1166 (by unfold GoodRCut; decide +kernel) positive_44LargeCheck183 positive_44LargeCheck204 theorem positive_44LargeCheck236 : TangentChecked positive_44Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), (31 / 32)⟩ n1173 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck239 : TangentChecked positive_44Cfg false ⟨(15 / 64), (1 / 4), (31 / 32), 1⟩ n347 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck240 : TangentChecked positive_44Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ n1174 := by exact @TangentChecked.cutR positive_44Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ (31 / 32) n1173 n347 (by unfold GoodRCut; decide +kernel) positive_44LargeCheck236 positive_44LargeCheck239 theorem positive_44LargeCheck241 : TangentChecked positive_44Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n1175 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ (15 / 64) n1167 n1174 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck205 positive_44LargeCheck240 theorem positive_44LargeCheck242 : TangentChecked positive_44Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n1176 := by exact @TangentChecked.cutR positive_44Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (7 / 8) n1157 n1175 (by unfold GoodRCut; decide +kernel) positive_44LargeCheck160 positive_44LargeCheck241 theorem positive_44LargeCheck243 : TangentChecked positive_44Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n1177 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n1149 n1176 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck125 positive_44LargeCheck242 theorem positive_44LargeCheck244 : TangentChecked positive_44Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n1178 := by exact @TangentChecked.cutR positive_44Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n1177 (by unfold GoodRCut; decide +kernel) positive_44LargeCheck62 positive_44LargeCheck243 theorem positive_44LargeCheck245 : TangentChecked positive_44Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n1179 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n599 n1178 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck55 positive_44LargeCheck244 theorem positive_44LargeCheck246 : TangentChecked positive_44Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n1180 := by exact @TangentChecked.cutT positive_44Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n1133 n1179 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck32 positive_44LargeCheck245 theorem positive_44LargeCheck269 : TangentChecked positive_44Cfg false ⟨(1 / 4), (5 / 16), (1 / 2), (3 / 4)⟩ n1187 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck284 : TangentChecked positive_44Cfg false ⟨(5 / 16), (3 / 8), (1 / 2), (3 / 4)⟩ n1195 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck285 : TangentChecked positive_44Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n1196 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ (5 / 16) n1187 n1195 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck269 positive_44LargeCheck284 theorem positive_44LargeCheck314 : TangentChecked positive_44Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n1210 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck315 : TangentChecked positive_44Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n1211 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n1196 n1210 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck285 positive_44LargeCheck314 theorem positive_44LargeCheck342 : TangentChecked positive_44Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n1233 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck353 : TangentChecked positive_44Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n1236 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck354 : TangentChecked positive_44Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n1237 := by exact @TangentChecked.cutR positive_44Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n1233 n1236 (by unfold GoodRCut; decide +kernel) positive_44LargeCheck342 positive_44LargeCheck353 theorem positive_44LargeCheck355 : TangentChecked positive_44Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n1238 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n1211 n1237 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck315 positive_44LargeCheck354 theorem positive_44LargeCheck384 : TangentChecked positive_44Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n1245 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck409 : TangentChecked positive_44Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n1255 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck410 : TangentChecked positive_44Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n1256 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n1245 n1255 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck384 positive_44LargeCheck409 theorem positive_44LargeCheck415 : TangentChecked positive_44Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n1125 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck416 : TangentChecked positive_44Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n1257 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n1256 n1125 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck410 positive_44LargeCheck415 theorem positive_44LargeCheck417 : TangentChecked positive_44Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n1258 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44LargeCheck418 : TangentChecked positive_44Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n1259 := by exact @TangentChecked.cutT positive_44Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n1257 n1258 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck416 positive_44LargeCheck417 theorem positive_44LargeCheck419 : TangentChecked positive_44Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n1260 := by exact @TangentChecked.cutR positive_44Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n1238 n1259 (by unfold GoodRCut; decide +kernel) positive_44LargeCheck355 positive_44LargeCheck418 theorem positive_44LargeCheck420 : TangentChecked positive_44Cfg false ⟨0, 1, (1 / 2), 1⟩ n1261 := by exact @TangentChecked.cutT positive_44Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n1180 n1260 (by unfold GoodTCut; decide +kernel) positive_44LargeCheck246 positive_44LargeCheck419 theorem positive_44Large_checked : TangentChecked positive_44Cfg false rootBox positive_44Large := positive_44LargeCheck420 theorem positive_44SmallCheck20 : TangentChecked positive_44Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n1131 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_44Small_checked : TangentChecked positive_44Cfg true smallRootBox positive_44Small := positive_44SmallCheck20 theorem positive_45LargeCheck26 : TangentChecked positive_45Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n74 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck49 : TangentChecked positive_45Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n599 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck56 : TangentChecked positive_45Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck63 : TangentChecked positive_45Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), (7 / 8)⟩ n868 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck78 : TangentChecked positive_45Cfg false ⟨(3 / 16), (13 / 64), (7 / 8), 1⟩ n1265 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck103 : TangentChecked positive_45Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), (31 / 32)⟩ n1270 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck110 : TangentChecked positive_45Cfg false ⟨(13 / 64), (7 / 32), (31 / 32), 1⟩ n1145 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck111 : TangentChecked positive_45Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ n1271 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ (31 / 32) n1270 n1145 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck103 positive_45LargeCheck110 theorem positive_45LargeCheck112 : TangentChecked positive_45Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n1272 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ (13 / 64) n1265 n1271 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck78 positive_45LargeCheck111 theorem positive_45LargeCheck113 : TangentChecked positive_45Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n1273 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ (7 / 8) n868 n1272 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck63 positive_45LargeCheck112 theorem positive_45LargeCheck118 : TangentChecked positive_45Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (13 / 16)⟩ n1274 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck143 : TangentChecked positive_45Cfg false ⟨(7 / 32), (15 / 64), (13 / 16), (15 / 16)⟩ n1280 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck172 : TangentChecked positive_45Cfg false ⟨(15 / 64), (1 / 4), (13 / 16), (57 / 64)⟩ n1286 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck179 : TangentChecked positive_45Cfg false ⟨(15 / 64), (1 / 4), (57 / 64), (29 / 32)⟩ n1287 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck180 : TangentChecked positive_45Cfg false ⟨(15 / 64), (1 / 4), (13 / 16), (29 / 32)⟩ n1288 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(15 / 64), (1 / 4), (13 / 16), (29 / 32)⟩ (57 / 64) n1286 n1287 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck172 positive_45LargeCheck179 theorem positive_45LargeCheck187 : TangentChecked positive_45Cfg false ⟨(15 / 64), (1 / 4), (29 / 32), (15 / 16)⟩ n1289 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck188 : TangentChecked positive_45Cfg false ⟨(15 / 64), (1 / 4), (13 / 16), (15 / 16)⟩ n1290 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(15 / 64), (1 / 4), (13 / 16), (15 / 16)⟩ (29 / 32) n1288 n1289 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck180 positive_45LargeCheck187 theorem positive_45LargeCheck189 : TangentChecked positive_45Cfg false ⟨(7 / 32), (1 / 4), (13 / 16), (15 / 16)⟩ n1291 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(7 / 32), (1 / 4), (13 / 16), (15 / 16)⟩ (15 / 64) n1280 n1290 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck143 positive_45LargeCheck188 theorem positive_45LargeCheck190 : TangentChecked positive_45Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (15 / 16)⟩ n1292 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (15 / 16)⟩ (13 / 16) n1274 n1291 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck118 positive_45LargeCheck189 theorem positive_45LargeCheck219 : TangentChecked positive_45Cfg false ⟨(7 / 32), (1 / 4), (15 / 16), 1⟩ n1295 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck220 : TangentChecked positive_45Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n1296 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (15 / 16) n1292 n1295 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck190 positive_45LargeCheck219 theorem positive_45LargeCheck221 : TangentChecked positive_45Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n1297 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n1273 n1296 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck113 positive_45LargeCheck220 theorem positive_45LargeCheck222 : TangentChecked positive_45Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n1298 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n1297 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck56 positive_45LargeCheck221 theorem positive_45LargeCheck223 : TangentChecked positive_45Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n1299 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n599 n1298 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck49 positive_45LargeCheck222 theorem positive_45LargeCheck224 : TangentChecked positive_45Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n1300 := by exact @TangentChecked.cutT positive_45Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n74 n1299 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck26 positive_45LargeCheck223 theorem positive_45LargeCheck245 : TangentChecked positive_45Cfg false ⟨(1 / 4), (5 / 16), (1 / 2), (3 / 4)⟩ n1308 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck266 : TangentChecked positive_45Cfg false ⟨(5 / 16), (3 / 8), (1 / 2), (3 / 4)⟩ n1321 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck267 : TangentChecked positive_45Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n1322 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ (5 / 16) n1308 n1321 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck245 positive_45LargeCheck266 theorem positive_45LargeCheck286 : TangentChecked positive_45Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n1334 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck301 : TangentChecked positive_45Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n1337 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck302 : TangentChecked positive_45Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n1338 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n1334 n1337 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck286 positive_45LargeCheck301 theorem positive_45LargeCheck303 : TangentChecked positive_45Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n1339 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n1322 n1338 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck267 positive_45LargeCheck302 theorem positive_45LargeCheck330 : TangentChecked positive_45Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n1354 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck341 : TangentChecked positive_45Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n1361 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck342 : TangentChecked positive_45Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n1362 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n1354 n1361 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck330 positive_45LargeCheck341 theorem positive_45LargeCheck343 : TangentChecked positive_45Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n1363 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n1339 n1362 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck303 positive_45LargeCheck342 theorem positive_45LargeCheck350 : TangentChecked positive_45Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), (13 / 16)⟩ n1240 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck375 : TangentChecked positive_45Cfg false ⟨(1 / 4), (9 / 32), (13 / 16), 1⟩ n1374 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck376 : TangentChecked positive_45Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n1375 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ (13 / 16) n1240 n1374 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck350 positive_45LargeCheck375 theorem positive_45LargeCheck399 : TangentChecked positive_45Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n1381 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck400 : TangentChecked positive_45Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n1382 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n1375 n1381 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck376 positive_45LargeCheck399 theorem positive_45LargeCheck405 : TangentChecked positive_45Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n1385 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck406 : TangentChecked positive_45Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n1386 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n1382 n1385 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck400 positive_45LargeCheck405 theorem positive_45LargeCheck407 : TangentChecked positive_45Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n1258 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45LargeCheck408 : TangentChecked positive_45Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n1387 := by exact @TangentChecked.cutT positive_45Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n1386 n1258 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck406 positive_45LargeCheck407 theorem positive_45LargeCheck409 : TangentChecked positive_45Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n1388 := by exact @TangentChecked.cutR positive_45Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n1363 n1387 (by unfold GoodRCut; decide +kernel) positive_45LargeCheck343 positive_45LargeCheck408 theorem positive_45LargeCheck410 : TangentChecked positive_45Cfg false ⟨0, 1, (1 / 2), 1⟩ n1389 := by exact @TangentChecked.cutT positive_45Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n1300 n1388 (by unfold GoodTCut; decide +kernel) positive_45LargeCheck224 positive_45LargeCheck409 theorem positive_45Large_checked : TangentChecked positive_45Cfg false rootBox positive_45Large := positive_45LargeCheck410 theorem positive_45SmallCheck20 : TangentChecked positive_45Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n1392 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_45Small_checked : TangentChecked positive_45Cfg true smallRootBox positive_45Small := positive_45SmallCheck20 theorem positive_46LargeCheck26 : TangentChecked positive_46Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n74 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck49 : TangentChecked positive_46Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n599 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck56 : TangentChecked positive_46Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck63 : TangentChecked positive_46Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), (7 / 8)⟩ n868 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck78 : TangentChecked positive_46Cfg false ⟨(3 / 16), (13 / 64), (7 / 8), 1⟩ n1265 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck103 : TangentChecked positive_46Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), (31 / 32)⟩ n1270 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck110 : TangentChecked positive_46Cfg false ⟨(13 / 64), (7 / 32), (31 / 32), 1⟩ n1145 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck111 : TangentChecked positive_46Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ n1271 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ (31 / 32) n1270 n1145 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck103 positive_46LargeCheck110 theorem positive_46LargeCheck112 : TangentChecked positive_46Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n1272 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ (13 / 64) n1265 n1271 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck78 positive_46LargeCheck111 theorem positive_46LargeCheck113 : TangentChecked positive_46Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n1273 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ (7 / 8) n868 n1272 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck63 positive_46LargeCheck112 theorem positive_46LargeCheck118 : TangentChecked positive_46Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (13 / 16)⟩ n1274 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck121 : TangentChecked positive_46Cfg false ⟨(7 / 32), (15 / 64), (13 / 16), (27 / 32)⟩ n342 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck126 : TangentChecked positive_46Cfg false ⟨(7 / 32), (15 / 64), (27 / 32), (7 / 8)⟩ n1393 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck153 : TangentChecked positive_46Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), (15 / 16)⟩ n1399 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck154 : TangentChecked positive_46Cfg false ⟨(7 / 32), (15 / 64), (27 / 32), (15 / 16)⟩ n1400 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(7 / 32), (15 / 64), (27 / 32), (15 / 16)⟩ (7 / 8) n1393 n1399 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck126 positive_46LargeCheck153 theorem positive_46LargeCheck155 : TangentChecked positive_46Cfg false ⟨(7 / 32), (15 / 64), (13 / 16), (15 / 16)⟩ n1401 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(7 / 32), (15 / 64), (13 / 16), (15 / 16)⟩ (27 / 32) n342 n1400 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck121 positive_46LargeCheck154 theorem positive_46LargeCheck176 : TangentChecked positive_46Cfg false ⟨(15 / 64), (1 / 4), (13 / 16), (7 / 8)⟩ n1406 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck203 : TangentChecked positive_46Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), (15 / 16)⟩ n1410 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck204 : TangentChecked positive_46Cfg false ⟨(15 / 64), (1 / 4), (13 / 16), (15 / 16)⟩ n1411 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(15 / 64), (1 / 4), (13 / 16), (15 / 16)⟩ (7 / 8) n1406 n1410 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck176 positive_46LargeCheck203 theorem positive_46LargeCheck205 : TangentChecked positive_46Cfg false ⟨(7 / 32), (1 / 4), (13 / 16), (15 / 16)⟩ n1412 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(7 / 32), (1 / 4), (13 / 16), (15 / 16)⟩ (15 / 64) n1401 n1411 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck155 positive_46LargeCheck204 theorem positive_46LargeCheck206 : TangentChecked positive_46Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (15 / 16)⟩ n1413 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (15 / 16)⟩ (13 / 16) n1274 n1412 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck118 positive_46LargeCheck205 theorem positive_46LargeCheck231 : TangentChecked positive_46Cfg false ⟨(7 / 32), (15 / 64), (15 / 16), 1⟩ n1028 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck238 : TangentChecked positive_46Cfg false ⟨(15 / 64), (1 / 4), (15 / 16), 1⟩ n1294 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck239 : TangentChecked positive_46Cfg false ⟨(7 / 32), (1 / 4), (15 / 16), 1⟩ n1414 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(7 / 32), (1 / 4), (15 / 16), 1⟩ (15 / 64) n1028 n1294 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck231 positive_46LargeCheck238 theorem positive_46LargeCheck240 : TangentChecked positive_46Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n1415 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (15 / 16) n1413 n1414 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck206 positive_46LargeCheck239 theorem positive_46LargeCheck241 : TangentChecked positive_46Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n1416 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n1273 n1415 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck113 positive_46LargeCheck240 theorem positive_46LargeCheck242 : TangentChecked positive_46Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n1417 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n1416 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck56 positive_46LargeCheck241 theorem positive_46LargeCheck243 : TangentChecked positive_46Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n1418 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n599 n1417 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck49 positive_46LargeCheck242 theorem positive_46LargeCheck244 : TangentChecked positive_46Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n1419 := by exact @TangentChecked.cutT positive_46Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n74 n1418 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck26 positive_46LargeCheck243 theorem positive_46LargeCheck269 : TangentChecked positive_46Cfg false ⟨(1 / 4), (5 / 16), (1 / 2), (3 / 4)⟩ n1429 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck294 : TangentChecked positive_46Cfg false ⟨(5 / 16), (3 / 8), (1 / 2), (3 / 4)⟩ n1438 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck295 : TangentChecked positive_46Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n1439 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ (5 / 16) n1429 n1438 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck269 positive_46LargeCheck294 theorem positive_46LargeCheck314 : TangentChecked positive_46Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n1447 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck329 : TangentChecked positive_46Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n1453 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck330 : TangentChecked positive_46Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n1454 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n1447 n1453 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck314 positive_46LargeCheck329 theorem positive_46LargeCheck331 : TangentChecked positive_46Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n1455 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n1439 n1454 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck295 positive_46LargeCheck330 theorem positive_46LargeCheck362 : TangentChecked positive_46Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n1471 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck375 : TangentChecked positive_46Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n1479 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck376 : TangentChecked positive_46Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n1480 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n1471 n1479 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck362 positive_46LargeCheck375 theorem positive_46LargeCheck377 : TangentChecked positive_46Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n1481 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n1455 n1480 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck331 positive_46LargeCheck376 theorem positive_46LargeCheck406 : TangentChecked positive_46Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n1489 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck427 : TangentChecked positive_46Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n1497 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck428 : TangentChecked positive_46Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n1498 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n1489 n1497 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck406 positive_46LargeCheck427 theorem positive_46LargeCheck437 : TangentChecked positive_46Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n1504 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck438 : TangentChecked positive_46Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n1505 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n1498 n1504 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck428 positive_46LargeCheck437 theorem positive_46LargeCheck439 : TangentChecked positive_46Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n1506 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46LargeCheck440 : TangentChecked positive_46Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n1507 := by exact @TangentChecked.cutT positive_46Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n1505 n1506 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck438 positive_46LargeCheck439 theorem positive_46LargeCheck441 : TangentChecked positive_46Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n1508 := by exact @TangentChecked.cutR positive_46Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n1481 n1507 (by unfold GoodRCut; decide +kernel) positive_46LargeCheck377 positive_46LargeCheck440 theorem positive_46LargeCheck442 : TangentChecked positive_46Cfg false ⟨0, 1, (1 / 2), 1⟩ n1509 := by exact @TangentChecked.cutT positive_46Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n1419 n1508 (by unfold GoodTCut; decide +kernel) positive_46LargeCheck244 positive_46LargeCheck441 theorem positive_46Large_checked : TangentChecked positive_46Cfg false rootBox positive_46Large := positive_46LargeCheck442 theorem positive_46SmallCheck20 : TangentChecked positive_46Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n1392 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_46Small_checked : TangentChecked positive_46Cfg true smallRootBox positive_46Small := positive_46SmallCheck20 theorem positive_47LargeCheck26 : TangentChecked positive_47Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n74 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck49 : TangentChecked positive_47Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n599 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck56 : TangentChecked positive_47Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n455 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck63 : TangentChecked positive_47Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), (7 / 8)⟩ n868 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck74 : TangentChecked positive_47Cfg false ⟨(3 / 16), (13 / 64), (7 / 8), 1⟩ n1513 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck77 : TangentChecked positive_47Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), (29 / 32)⟩ n299 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck104 : TangentChecked positive_47Cfg false ⟨(13 / 64), (7 / 32), (29 / 32), (63 / 64)⟩ n1518 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck111 : TangentChecked positive_47Cfg false ⟨(13 / 64), (7 / 32), (63 / 64), 1⟩ n1521 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck112 : TangentChecked positive_47Cfg false ⟨(13 / 64), (7 / 32), (29 / 32), 1⟩ n1522 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(13 / 64), (7 / 32), (29 / 32), 1⟩ (63 / 64) n1518 n1521 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck104 positive_47LargeCheck111 theorem positive_47LargeCheck113 : TangentChecked positive_47Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ n1523 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ (29 / 32) n299 n1522 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck77 positive_47LargeCheck112 theorem positive_47LargeCheck114 : TangentChecked positive_47Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n1524 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ (13 / 64) n1513 n1523 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck74 positive_47LargeCheck113 theorem positive_47LargeCheck115 : TangentChecked positive_47Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n1525 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ (7 / 8) n868 n1524 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck63 positive_47LargeCheck114 theorem positive_47LargeCheck132 : TangentChecked positive_47Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (53 / 64)⟩ n1530 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck153 : TangentChecked positive_47Cfg false ⟨(7 / 32), (15 / 64), (53 / 64), (29 / 32)⟩ n1534 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck176 : TangentChecked positive_47Cfg false ⟨(15 / 64), (1 / 4), (53 / 64), (29 / 32)⟩ n1537 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck177 : TangentChecked positive_47Cfg false ⟨(7 / 32), (1 / 4), (53 / 64), (29 / 32)⟩ n1538 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(7 / 32), (1 / 4), (53 / 64), (29 / 32)⟩ (15 / 64) n1534 n1537 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck153 positive_47LargeCheck176 theorem positive_47LargeCheck178 : TangentChecked positive_47Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (29 / 32)⟩ n1539 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (29 / 32)⟩ (53 / 64) n1530 n1538 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck132 positive_47LargeCheck177 theorem positive_47LargeCheck193 : TangentChecked positive_47Cfg false ⟨(7 / 32), (1 / 4), (29 / 32), (15 / 16)⟩ n1542 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck194 : TangentChecked positive_47Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (15 / 16)⟩ n1543 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (15 / 16)⟩ (29 / 32) n1539 n1542 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck178 positive_47LargeCheck193 theorem positive_47LargeCheck221 : TangentChecked positive_47Cfg false ⟨(7 / 32), (15 / 64), (15 / 16), 1⟩ n1550 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck228 : TangentChecked positive_47Cfg false ⟨(15 / 64), (1 / 4), (15 / 16), 1⟩ n1294 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck229 : TangentChecked positive_47Cfg false ⟨(7 / 32), (1 / 4), (15 / 16), 1⟩ n1551 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(7 / 32), (1 / 4), (15 / 16), 1⟩ (15 / 64) n1550 n1294 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck221 positive_47LargeCheck228 theorem positive_47LargeCheck230 : TangentChecked positive_47Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n1552 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (15 / 16) n1543 n1551 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck194 positive_47LargeCheck229 theorem positive_47LargeCheck231 : TangentChecked positive_47Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n1553 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n1525 n1552 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck115 positive_47LargeCheck230 theorem positive_47LargeCheck232 : TangentChecked positive_47Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n1554 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n455 n1553 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck56 positive_47LargeCheck231 theorem positive_47LargeCheck233 : TangentChecked positive_47Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n1555 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n599 n1554 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck49 positive_47LargeCheck232 theorem positive_47LargeCheck234 : TangentChecked positive_47Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n1556 := by exact @TangentChecked.cutT positive_47Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n74 n1555 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck26 positive_47LargeCheck233 theorem positive_47LargeCheck257 : TangentChecked positive_47Cfg false ⟨(1 / 4), (5 / 16), (1 / 2), (3 / 4)⟩ n1562 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck280 : TangentChecked positive_47Cfg false ⟨(5 / 16), (3 / 8), (1 / 2), (3 / 4)⟩ n1570 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck281 : TangentChecked positive_47Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n1571 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ (5 / 16) n1562 n1570 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck257 positive_47LargeCheck280 theorem positive_47LargeCheck302 : TangentChecked positive_47Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n1581 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck317 : TangentChecked positive_47Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n1453 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck318 : TangentChecked positive_47Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n1582 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n1581 n1453 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck302 positive_47LargeCheck317 theorem positive_47LargeCheck319 : TangentChecked positive_47Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n1583 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n1571 n1582 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck281 positive_47LargeCheck318 theorem positive_47LargeCheck336 : TangentChecked positive_47Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n1596 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck359 : TangentChecked positive_47Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n1610 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck360 : TangentChecked positive_47Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n1611 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n1596 n1610 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck336 positive_47LargeCheck359 theorem positive_47LargeCheck373 : TangentChecked positive_47Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n1616 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck374 : TangentChecked positive_47Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n1617 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n1611 n1616 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck360 positive_47LargeCheck373 theorem positive_47LargeCheck375 : TangentChecked positive_47Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n1618 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n1583 n1617 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck319 positive_47LargeCheck374 theorem positive_47LargeCheck406 : TangentChecked positive_47Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n1628 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck425 : TangentChecked positive_47Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n1634 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck426 : TangentChecked positive_47Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n1635 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n1628 n1634 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck406 positive_47LargeCheck425 theorem positive_47LargeCheck431 : TangentChecked positive_47Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n1636 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck432 : TangentChecked positive_47Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n1637 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n1635 n1636 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck426 positive_47LargeCheck431 theorem positive_47LargeCheck433 : TangentChecked positive_47Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n1506 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47LargeCheck434 : TangentChecked positive_47Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n1638 := by exact @TangentChecked.cutT positive_47Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n1637 n1506 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck432 positive_47LargeCheck433 theorem positive_47LargeCheck435 : TangentChecked positive_47Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n1639 := by exact @TangentChecked.cutR positive_47Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n1618 n1638 (by unfold GoodRCut; decide +kernel) positive_47LargeCheck375 positive_47LargeCheck434 theorem positive_47LargeCheck436 : TangentChecked positive_47Cfg false ⟨0, 1, (1 / 2), 1⟩ n1640 := by exact @TangentChecked.cutT positive_47Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n1556 n1639 (by unfold GoodTCut; decide +kernel) positive_47LargeCheck234 positive_47LargeCheck435 theorem positive_47Large_checked : TangentChecked positive_47Cfg false rootBox positive_47Large := positive_47LargeCheck436 theorem positive_47SmallCheck22 : TangentChecked positive_47Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n1644 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_47Small_checked : TangentChecked positive_47Cfg true smallRootBox positive_47Small := positive_47SmallCheck22 theorem positive_48LargeCheck26 : TangentChecked positive_48Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n74 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck49 : TangentChecked positive_48Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n599 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck52 : TangentChecked positive_48Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (11 / 16)⟩ n79 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck57 : TangentChecked positive_48Cfg false ⟨(3 / 16), (7 / 32), (11 / 16), (7 / 8)⟩ n1645 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck60 : TangentChecked positive_48Cfg false ⟨(7 / 32), (1 / 4), (11 / 16), (25 / 32)⟩ n178 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck89 : TangentChecked positive_48Cfg false ⟨(7 / 32), (1 / 4), (25 / 32), (7 / 8)⟩ n1654 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck90 : TangentChecked positive_48Cfg false ⟨(7 / 32), (1 / 4), (11 / 16), (7 / 8)⟩ n1655 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(7 / 32), (1 / 4), (11 / 16), (7 / 8)⟩ (25 / 32) n178 n1654 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck60 positive_48LargeCheck89 theorem positive_48LargeCheck91 : TangentChecked positive_48Cfg false ⟨(3 / 16), (1 / 4), (11 / 16), (7 / 8)⟩ n1656 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(3 / 16), (1 / 4), (11 / 16), (7 / 8)⟩ (7 / 32) n1645 n1655 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck57 positive_48LargeCheck90 theorem positive_48LargeCheck92 : TangentChecked positive_48Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (7 / 8)⟩ n1657 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (7 / 8)⟩ (11 / 16) n79 n1656 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck52 positive_48LargeCheck91 theorem positive_48LargeCheck101 : TangentChecked positive_48Cfg false ⟨(3 / 16), (13 / 64), (7 / 8), 1⟩ n603 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck104 : TangentChecked positive_48Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), (29 / 32)⟩ n299 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck129 : TangentChecked positive_48Cfg false ⟨(13 / 64), (7 / 32), (29 / 32), (63 / 64)⟩ n1662 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck136 : TangentChecked positive_48Cfg false ⟨(13 / 64), (7 / 32), (63 / 64), 1⟩ n1665 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck137 : TangentChecked positive_48Cfg false ⟨(13 / 64), (7 / 32), (29 / 32), 1⟩ n1666 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(13 / 64), (7 / 32), (29 / 32), 1⟩ (63 / 64) n1662 n1665 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck129 positive_48LargeCheck136 theorem positive_48LargeCheck138 : TangentChecked positive_48Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ n1667 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(13 / 64), (7 / 32), (7 / 8), 1⟩ (29 / 32) n299 n1666 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck104 positive_48LargeCheck137 theorem positive_48LargeCheck139 : TangentChecked positive_48Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n1668 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ (13 / 64) n603 n1667 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck101 positive_48LargeCheck138 theorem positive_48LargeCheck146 : TangentChecked positive_48Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), (29 / 32)⟩ n1669 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck153 : TangentChecked positive_48Cfg false ⟨(7 / 32), (15 / 64), (29 / 32), (59 / 64)⟩ n1670 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck180 : TangentChecked positive_48Cfg false ⟨(7 / 32), (15 / 64), (59 / 64), (63 / 64)⟩ n1677 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck181 : TangentChecked positive_48Cfg false ⟨(7 / 32), (15 / 64), (29 / 32), (63 / 64)⟩ n1678 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(7 / 32), (15 / 64), (29 / 32), (63 / 64)⟩ (59 / 64) n1670 n1677 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck153 positive_48LargeCheck180 theorem positive_48LargeCheck184 : TangentChecked positive_48Cfg false ⟨(7 / 32), (15 / 64), (63 / 64), 1⟩ n1679 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck185 : TangentChecked positive_48Cfg false ⟨(7 / 32), (15 / 64), (29 / 32), 1⟩ n1680 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(7 / 32), (15 / 64), (29 / 32), 1⟩ (63 / 64) n1678 n1679 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck181 positive_48LargeCheck184 theorem positive_48LargeCheck186 : TangentChecked positive_48Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ n1681 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ (29 / 32) n1669 n1680 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck146 positive_48LargeCheck185 theorem positive_48LargeCheck217 : TangentChecked positive_48Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), (61 / 64)⟩ n1689 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck220 : TangentChecked positive_48Cfg false ⟨(15 / 64), (1 / 4), (61 / 64), (31 / 32)⟩ n347 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck221 : TangentChecked positive_48Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), (31 / 32)⟩ n1690 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), (31 / 32)⟩ (61 / 64) n1689 n347 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck217 positive_48LargeCheck220 theorem positive_48LargeCheck224 : TangentChecked positive_48Cfg false ⟨(15 / 64), (1 / 4), (31 / 32), 1⟩ n347 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck225 : TangentChecked positive_48Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ n1691 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ (31 / 32) n1690 n347 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck221 positive_48LargeCheck224 theorem positive_48LargeCheck226 : TangentChecked positive_48Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n1692 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ (15 / 64) n1681 n1691 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck186 positive_48LargeCheck225 theorem positive_48LargeCheck227 : TangentChecked positive_48Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ n1693 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ (7 / 32) n1668 n1692 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck139 positive_48LargeCheck226 theorem positive_48LargeCheck228 : TangentChecked positive_48Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n1694 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (7 / 8) n1657 n1693 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck92 positive_48LargeCheck227 theorem positive_48LargeCheck229 : TangentChecked positive_48Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n1695 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n599 n1694 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck49 positive_48LargeCheck228 theorem positive_48LargeCheck230 : TangentChecked positive_48Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n1696 := by exact @TangentChecked.cutT positive_48Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n74 n1695 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck26 positive_48LargeCheck229 theorem positive_48LargeCheck253 : TangentChecked positive_48Cfg false ⟨(1 / 4), (5 / 16), (1 / 2), (3 / 4)⟩ n1700 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck272 : TangentChecked positive_48Cfg false ⟨(5 / 16), (3 / 8), (1 / 2), (3 / 4)⟩ n1705 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck273 : TangentChecked positive_48Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n1706 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ (5 / 16) n1700 n1705 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck253 positive_48LargeCheck272 theorem positive_48LargeCheck294 : TangentChecked positive_48Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n1714 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck309 : TangentChecked positive_48Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n1453 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck310 : TangentChecked positive_48Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n1715 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n1714 n1453 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck294 positive_48LargeCheck309 theorem positive_48LargeCheck311 : TangentChecked positive_48Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n1716 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n1706 n1715 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck273 positive_48LargeCheck310 theorem positive_48LargeCheck328 : TangentChecked positive_48Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n1725 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck351 : TangentChecked positive_48Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n1734 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck352 : TangentChecked positive_48Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n1735 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n1725 n1734 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck328 positive_48LargeCheck351 theorem positive_48LargeCheck365 : TangentChecked positive_48Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n1742 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck366 : TangentChecked positive_48Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n1743 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n1735 n1742 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck352 positive_48LargeCheck365 theorem positive_48LargeCheck367 : TangentChecked positive_48Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n1744 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n1716 n1743 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck311 positive_48LargeCheck366 theorem positive_48LargeCheck374 : TangentChecked positive_48Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), (13 / 16)⟩ n1240 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck399 : TangentChecked positive_48Cfg false ⟨(1 / 4), (9 / 32), (13 / 16), 1⟩ n1750 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck400 : TangentChecked positive_48Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n1751 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ (13 / 16) n1240 n1750 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck374 positive_48LargeCheck399 theorem positive_48LargeCheck423 : TangentChecked positive_48Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n1758 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck424 : TangentChecked positive_48Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n1759 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n1751 n1758 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck400 positive_48LargeCheck423 theorem positive_48LargeCheck429 : TangentChecked positive_48Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n1760 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck430 : TangentChecked positive_48Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n1761 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n1759 n1760 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck424 positive_48LargeCheck429 theorem positive_48LargeCheck431 : TangentChecked positive_48Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n1762 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48LargeCheck432 : TangentChecked positive_48Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n1763 := by exact @TangentChecked.cutT positive_48Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n1761 n1762 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck430 positive_48LargeCheck431 theorem positive_48LargeCheck433 : TangentChecked positive_48Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n1764 := by exact @TangentChecked.cutR positive_48Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n1744 n1763 (by unfold GoodRCut; decide +kernel) positive_48LargeCheck367 positive_48LargeCheck432 theorem positive_48LargeCheck434 : TangentChecked positive_48Cfg false ⟨0, 1, (1 / 2), 1⟩ n1765 := by exact @TangentChecked.cutT positive_48Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n1696 n1764 (by unfold GoodTCut; decide +kernel) positive_48LargeCheck230 positive_48LargeCheck433 theorem positive_48Large_checked : TangentChecked positive_48Cfg false rootBox positive_48Large := positive_48LargeCheck434 theorem positive_48SmallCheck22 : TangentChecked positive_48Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n1644 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_48Small_checked : TangentChecked positive_48Cfg true smallRootBox positive_48Small := positive_48SmallCheck22 theorem positive_49LargeCheck14 : TangentChecked positive_49Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n1766 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck33 : TangentChecked positive_49Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n389 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck36 : TangentChecked positive_49Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (11 / 16)⟩ n79 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck41 : TangentChecked positive_49Cfg false ⟨(3 / 16), (7 / 32), (11 / 16), (7 / 8)⟩ n262 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck70 : TangentChecked positive_49Cfg false ⟨(7 / 32), (1 / 4), (11 / 16), (7 / 8)⟩ n1774 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck71 : TangentChecked positive_49Cfg false ⟨(3 / 16), (1 / 4), (11 / 16), (7 / 8)⟩ n1775 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(3 / 16), (1 / 4), (11 / 16), (7 / 8)⟩ (7 / 32) n262 n1774 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck41 positive_49LargeCheck70 theorem positive_49LargeCheck72 : TangentChecked positive_49Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (7 / 8)⟩ n1776 := by exact @TangentChecked.cutR positive_49Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (7 / 8)⟩ (11 / 16) n79 n1775 (by unfold GoodRCut; decide +kernel) positive_49LargeCheck36 positive_49LargeCheck71 theorem positive_49LargeCheck89 : TangentChecked positive_49Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n1783 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck94 : TangentChecked positive_49Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), (29 / 32)⟩ n1784 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck123 : TangentChecked positive_49Cfg false ⟨(7 / 32), (15 / 64), (29 / 32), 1⟩ n1793 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck124 : TangentChecked positive_49Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ n1794 := by exact @TangentChecked.cutR positive_49Cfg false ⟨(7 / 32), (15 / 64), (7 / 8), 1⟩ (29 / 32) n1784 n1793 (by unfold GoodRCut; decide +kernel) positive_49LargeCheck94 positive_49LargeCheck123 theorem positive_49LargeCheck145 : TangentChecked positive_49Cfg false ⟨(15 / 64), (1 / 4), (7 / 8), 1⟩ n1801 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck146 : TangentChecked positive_49Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n1802 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ (15 / 64) n1794 n1801 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck124 positive_49LargeCheck145 theorem positive_49LargeCheck147 : TangentChecked positive_49Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ n1803 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ (7 / 32) n1783 n1802 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck89 positive_49LargeCheck146 theorem positive_49LargeCheck148 : TangentChecked positive_49Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n1804 := by exact @TangentChecked.cutR positive_49Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (7 / 8) n1776 n1803 (by unfold GoodRCut; decide +kernel) positive_49LargeCheck72 positive_49LargeCheck147 theorem positive_49LargeCheck149 : TangentChecked positive_49Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n1805 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n389 n1804 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck33 positive_49LargeCheck148 theorem positive_49LargeCheck150 : TangentChecked positive_49Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n1806 := by exact @TangentChecked.cutT positive_49Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n1766 n1805 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck14 positive_49LargeCheck149 theorem positive_49LargeCheck175 : TangentChecked positive_49Cfg false ⟨(1 / 4), (5 / 16), (1 / 2), (3 / 4)⟩ n1813 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck192 : TangentChecked positive_49Cfg false ⟨(5 / 16), (3 / 8), (1 / 2), (3 / 4)⟩ n1818 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck193 : TangentChecked positive_49Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n1819 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ (5 / 16) n1813 n1818 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck175 positive_49LargeCheck192 theorem positive_49LargeCheck214 : TangentChecked positive_49Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n1824 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck229 : TangentChecked positive_49Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n1828 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck230 : TangentChecked positive_49Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n1829 := by exact @TangentChecked.cutR positive_49Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n1824 n1828 (by unfold GoodRCut; decide +kernel) positive_49LargeCheck214 positive_49LargeCheck229 theorem positive_49LargeCheck231 : TangentChecked positive_49Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n1830 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n1819 n1829 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck193 positive_49LargeCheck230 theorem positive_49LargeCheck252 : TangentChecked positive_49Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n1844 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck283 : TangentChecked positive_49Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n1870 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck284 : TangentChecked positive_49Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n1871 := by exact @TangentChecked.cutR positive_49Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n1844 n1870 (by unfold GoodRCut; decide +kernel) positive_49LargeCheck252 positive_49LargeCheck283 theorem positive_49LargeCheck297 : TangentChecked positive_49Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n1878 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck298 : TangentChecked positive_49Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n1879 := by exact @TangentChecked.cutR positive_49Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n1871 n1878 (by unfold GoodRCut; decide +kernel) positive_49LargeCheck284 positive_49LargeCheck297 theorem positive_49LargeCheck299 : TangentChecked positive_49Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n1880 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n1830 n1879 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck231 positive_49LargeCheck298 theorem positive_49LargeCheck330 : TangentChecked positive_49Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n1889 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck347 : TangentChecked positive_49Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n1893 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck348 : TangentChecked positive_49Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n1894 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n1889 n1893 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck330 positive_49LargeCheck347 theorem positive_49LargeCheck353 : TangentChecked positive_49Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n1760 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck354 : TangentChecked positive_49Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n1895 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n1894 n1760 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck348 positive_49LargeCheck353 theorem positive_49LargeCheck355 : TangentChecked positive_49Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n1762 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49LargeCheck356 : TangentChecked positive_49Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n1896 := by exact @TangentChecked.cutT positive_49Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n1895 n1762 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck354 positive_49LargeCheck355 theorem positive_49LargeCheck357 : TangentChecked positive_49Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n1897 := by exact @TangentChecked.cutR positive_49Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n1880 n1896 (by unfold GoodRCut; decide +kernel) positive_49LargeCheck299 positive_49LargeCheck356 theorem positive_49LargeCheck358 : TangentChecked positive_49Cfg false ⟨0, 1, (1 / 2), 1⟩ n1898 := by exact @TangentChecked.cutT positive_49Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n1806 n1897 (by unfold GoodTCut; decide +kernel) positive_49LargeCheck150 positive_49LargeCheck357 theorem positive_49Large_checked : TangentChecked positive_49Cfg false rootBox positive_49Large := positive_49LargeCheck358 theorem positive_49SmallCheck20 : TangentChecked positive_49Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n1904 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_49Small_checked : TangentChecked positive_49Cfg true smallRootBox positive_49Small := positive_49SmallCheck20 theorem positive_50LargeCheck14 : TangentChecked positive_50Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n1766 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck25 : TangentChecked positive_50Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n213 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck52 : TangentChecked positive_50Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (7 / 8)⟩ n1912 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck69 : TangentChecked positive_50Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n1916 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck92 : TangentChecked positive_50Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n1925 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck93 : TangentChecked positive_50Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ n1926 := by exact @TangentChecked.cutT positive_50Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ (7 / 32) n1916 n1925 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck69 positive_50LargeCheck92 theorem positive_50LargeCheck94 : TangentChecked positive_50Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n1927 := by exact @TangentChecked.cutR positive_50Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (7 / 8) n1912 n1926 (by unfold GoodRCut; decide +kernel) positive_50LargeCheck52 positive_50LargeCheck93 theorem positive_50LargeCheck95 : TangentChecked positive_50Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n1928 := by exact @TangentChecked.cutT positive_50Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n213 n1927 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck25 positive_50LargeCheck94 theorem positive_50LargeCheck96 : TangentChecked positive_50Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n1929 := by exact @TangentChecked.cutT positive_50Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n1766 n1928 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck14 positive_50LargeCheck95 theorem positive_50LargeCheck127 : TangentChecked positive_50Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n1940 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck148 : TangentChecked positive_50Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n1947 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck163 : TangentChecked positive_50Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n1949 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck164 : TangentChecked positive_50Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n1950 := by exact @TangentChecked.cutR positive_50Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n1947 n1949 (by unfold GoodRCut; decide +kernel) positive_50LargeCheck148 positive_50LargeCheck163 theorem positive_50LargeCheck165 : TangentChecked positive_50Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n1951 := by exact @TangentChecked.cutT positive_50Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n1940 n1950 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck127 positive_50LargeCheck164 theorem positive_50LargeCheck190 : TangentChecked positive_50Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n1963 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck215 : TangentChecked positive_50Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n1980 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck234 : TangentChecked positive_50Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n1992 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck235 : TangentChecked positive_50Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n1993 := by exact @TangentChecked.cutT positive_50Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n1980 n1992 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck215 positive_50LargeCheck234 theorem positive_50LargeCheck236 : TangentChecked positive_50Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n1994 := by exact @TangentChecked.cutR positive_50Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n1963 n1993 (by unfold GoodRCut; decide +kernel) positive_50LargeCheck190 positive_50LargeCheck235 theorem positive_50LargeCheck253 : TangentChecked positive_50Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2004 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck254 : TangentChecked positive_50Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2005 := by exact @TangentChecked.cutR positive_50Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n1994 n2004 (by unfold GoodRCut; decide +kernel) positive_50LargeCheck236 positive_50LargeCheck253 theorem positive_50LargeCheck255 : TangentChecked positive_50Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2006 := by exact @TangentChecked.cutT positive_50Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n1951 n2005 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck165 positive_50LargeCheck254 theorem positive_50LargeCheck282 : TangentChecked positive_50Cfg false ⟨(1 / 4), (9 / 32), (3 / 4), 1⟩ n2014 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck295 : TangentChecked positive_50Cfg false ⟨(9 / 32), (5 / 16), (3 / 4), 1⟩ n2018 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck296 : TangentChecked positive_50Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n2019 := by exact @TangentChecked.cutT positive_50Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ (9 / 32) n2014 n2018 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck282 positive_50LargeCheck295 theorem positive_50LargeCheck301 : TangentChecked positive_50Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n2020 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck302 : TangentChecked positive_50Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n2021 := by exact @TangentChecked.cutT positive_50Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n2019 n2020 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck296 positive_50LargeCheck301 theorem positive_50LargeCheck303 : TangentChecked positive_50Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n2022 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50LargeCheck304 : TangentChecked positive_50Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2023 := by exact @TangentChecked.cutT positive_50Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n2021 n2022 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck302 positive_50LargeCheck303 theorem positive_50LargeCheck305 : TangentChecked positive_50Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2024 := by exact @TangentChecked.cutR positive_50Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2006 n2023 (by unfold GoodRCut; decide +kernel) positive_50LargeCheck255 positive_50LargeCheck304 theorem positive_50LargeCheck306 : TangentChecked positive_50Cfg false ⟨0, 1, (1 / 2), 1⟩ n2025 := by exact @TangentChecked.cutT positive_50Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n1929 n2024 (by unfold GoodTCut; decide +kernel) positive_50LargeCheck96 positive_50LargeCheck305 theorem positive_50Large_checked : TangentChecked positive_50Cfg false rootBox positive_50Large := positive_50LargeCheck306 theorem positive_50SmallCheck18 : TangentChecked positive_50Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2027 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_50Small_checked : TangentChecked positive_50Cfg true smallRootBox positive_50Small := positive_50SmallCheck18 theorem positive_51LargeCheck14 : TangentChecked positive_51Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n1766 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck25 : TangentChecked positive_51Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n213 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck52 : TangentChecked positive_51Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (7 / 8)⟩ n2032 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck69 : TangentChecked positive_51Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n2035 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck86 : TangentChecked positive_51Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n2039 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck87 : TangentChecked positive_51Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ n2040 := by exact @TangentChecked.cutT positive_51Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ (7 / 32) n2035 n2039 (by unfold GoodTCut; decide +kernel) positive_51LargeCheck69 positive_51LargeCheck86 theorem positive_51LargeCheck88 : TangentChecked positive_51Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n2041 := by exact @TangentChecked.cutR positive_51Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (7 / 8) n2032 n2040 (by unfold GoodRCut; decide +kernel) positive_51LargeCheck52 positive_51LargeCheck87 theorem positive_51LargeCheck89 : TangentChecked positive_51Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2042 := by exact @TangentChecked.cutT positive_51Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n213 n2041 (by unfold GoodTCut; decide +kernel) positive_51LargeCheck25 positive_51LargeCheck88 theorem positive_51LargeCheck90 : TangentChecked positive_51Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2043 := by exact @TangentChecked.cutT positive_51Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n1766 n2042 (by unfold GoodTCut; decide +kernel) positive_51LargeCheck14 positive_51LargeCheck89 theorem positive_51LargeCheck119 : TangentChecked positive_51Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2052 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck142 : TangentChecked positive_51Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n2058 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck157 : TangentChecked positive_51Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n1949 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck158 : TangentChecked positive_51Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2059 := by exact @TangentChecked.cutR positive_51Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n2058 n1949 (by unfold GoodRCut; decide +kernel) positive_51LargeCheck142 positive_51LargeCheck157 theorem positive_51LargeCheck159 : TangentChecked positive_51Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2060 := by exact @TangentChecked.cutT positive_51Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2052 n2059 (by unfold GoodTCut; decide +kernel) positive_51LargeCheck119 positive_51LargeCheck158 theorem positive_51LargeCheck188 : TangentChecked positive_51Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2078 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck217 : TangentChecked positive_51Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2088 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck238 : TangentChecked positive_51Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2102 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck239 : TangentChecked positive_51Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2103 := by exact @TangentChecked.cutT positive_51Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2088 n2102 (by unfold GoodTCut; decide +kernel) positive_51LargeCheck217 positive_51LargeCheck238 theorem positive_51LargeCheck240 : TangentChecked positive_51Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2104 := by exact @TangentChecked.cutR positive_51Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2078 n2103 (by unfold GoodRCut; decide +kernel) positive_51LargeCheck188 positive_51LargeCheck239 theorem positive_51LargeCheck261 : TangentChecked positive_51Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2115 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck262 : TangentChecked positive_51Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2116 := by exact @TangentChecked.cutR positive_51Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2104 n2115 (by unfold GoodRCut; decide +kernel) positive_51LargeCheck240 positive_51LargeCheck261 theorem positive_51LargeCheck263 : TangentChecked positive_51Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2117 := by exact @TangentChecked.cutT positive_51Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2060 n2116 (by unfold GoodTCut; decide +kernel) positive_51LargeCheck159 positive_51LargeCheck262 theorem positive_51LargeCheck292 : TangentChecked positive_51Cfg false ⟨(1 / 4), (5 / 16), (3 / 4), 1⟩ n2129 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck297 : TangentChecked positive_51Cfg false ⟨(5 / 16), (1 / 2), (3 / 4), 1⟩ n2020 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck298 : TangentChecked positive_51Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ n2130 := by exact @TangentChecked.cutT positive_51Cfg false ⟨(1 / 4), (1 / 2), (3 / 4), 1⟩ (5 / 16) n2129 n2020 (by unfold GoodTCut; decide +kernel) positive_51LargeCheck292 positive_51LargeCheck297 theorem positive_51LargeCheck299 : TangentChecked positive_51Cfg false ⟨(1 / 2), 1, (3 / 4), 1⟩ n2022 := by exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51LargeCheck300 : TangentChecked positive_51Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2131 := by exact @TangentChecked.cutT positive_51Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ (1 / 2) n2130 n2022 (by unfold GoodTCut; decide +kernel) positive_51LargeCheck298 positive_51LargeCheck299 theorem positive_51LargeCheck301 : TangentChecked positive_51Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2132 := by exact @TangentChecked.cutR positive_51Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2117 n2131 (by unfold GoodRCut; decide +kernel) positive_51LargeCheck263 positive_51LargeCheck300 theorem positive_51LargeCheck302 : TangentChecked positive_51Cfg false ⟨0, 1, (1 / 2), 1⟩ n2133 := by exact @TangentChecked.cutT positive_51Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2043 n2132 (by unfold GoodTCut; decide +kernel) positive_51LargeCheck90 positive_51LargeCheck301 theorem positive_51Large_checked : TangentChecked positive_51Cfg false rootBox positive_51Large := positive_51LargeCheck302 theorem positive_51SmallCheck18 : TangentChecked positive_51Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2027 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_51Small_checked : TangentChecked positive_51Cfg true smallRootBox positive_51Small := positive_51SmallCheck18 theorem positive_52LargeCheck14 : TangentChecked positive_52Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n1766 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck25 : TangentChecked positive_52Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n213 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck52 : TangentChecked positive_52Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (7 / 8)⟩ n2138 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck71 : TangentChecked positive_52Cfg false ⟨(3 / 16), (7 / 32), (7 / 8), 1⟩ n2146 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck90 : TangentChecked positive_52Cfg false ⟨(7 / 32), (1 / 4), (7 / 8), 1⟩ n2152 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck91 : TangentChecked positive_52Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ n2153 := by exact @TangentChecked.cutT positive_52Cfg false ⟨(3 / 16), (1 / 4), (7 / 8), 1⟩ (7 / 32) n2146 n2152 (by unfold GoodTCut; decide +kernel) positive_52LargeCheck71 positive_52LargeCheck90 theorem positive_52LargeCheck92 : TangentChecked positive_52Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n2154 := by exact @TangentChecked.cutR positive_52Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (7 / 8) n2138 n2153 (by unfold GoodRCut; decide +kernel) positive_52LargeCheck52 positive_52LargeCheck91 theorem positive_52LargeCheck93 : TangentChecked positive_52Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2155 := by exact @TangentChecked.cutT positive_52Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n213 n2154 (by unfold GoodTCut; decide +kernel) positive_52LargeCheck25 positive_52LargeCheck92 theorem positive_52LargeCheck94 : TangentChecked positive_52Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2156 := by exact @TangentChecked.cutT positive_52Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n1766 n2155 (by unfold GoodTCut; decide +kernel) positive_52LargeCheck14 positive_52LargeCheck93 theorem positive_52LargeCheck117 : TangentChecked positive_52Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2164 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck138 : TangentChecked positive_52Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n2170 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck153 : TangentChecked positive_52Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n1949 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck154 : TangentChecked positive_52Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2171 := by exact @TangentChecked.cutR positive_52Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n2170 n1949 (by unfold GoodRCut; decide +kernel) positive_52LargeCheck138 positive_52LargeCheck153 theorem positive_52LargeCheck155 : TangentChecked positive_52Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2172 := by exact @TangentChecked.cutT positive_52Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2164 n2171 (by unfold GoodTCut; decide +kernel) positive_52LargeCheck117 positive_52LargeCheck154 theorem positive_52LargeCheck186 : TangentChecked positive_52Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2189 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck217 : TangentChecked positive_52Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2203 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck244 : TangentChecked positive_52Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2221 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck245 : TangentChecked positive_52Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2222 := by exact @TangentChecked.cutT positive_52Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2203 n2221 (by unfold GoodTCut; decide +kernel) positive_52LargeCheck217 positive_52LargeCheck244 theorem positive_52LargeCheck246 : TangentChecked positive_52Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2223 := by exact @TangentChecked.cutR positive_52Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2189 n2222 (by unfold GoodRCut; decide +kernel) positive_52LargeCheck186 positive_52LargeCheck245 theorem positive_52LargeCheck267 : TangentChecked positive_52Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2230 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck268 : TangentChecked positive_52Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2231 := by exact @TangentChecked.cutR positive_52Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2223 n2230 (by unfold GoodRCut; decide +kernel) positive_52LargeCheck246 positive_52LargeCheck267 theorem positive_52LargeCheck269 : TangentChecked positive_52Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2232 := by exact @TangentChecked.cutT positive_52Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2172 n2231 (by unfold GoodTCut; decide +kernel) positive_52LargeCheck155 positive_52LargeCheck268 theorem positive_52LargeCheck294 : TangentChecked positive_52Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2243 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52LargeCheck295 : TangentChecked positive_52Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2244 := by exact @TangentChecked.cutR positive_52Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2232 n2243 (by unfold GoodRCut; decide +kernel) positive_52LargeCheck269 positive_52LargeCheck294 theorem positive_52LargeCheck296 : TangentChecked positive_52Cfg false ⟨0, 1, (1 / 2), 1⟩ n2245 := by exact @TangentChecked.cutT positive_52Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2156 n2244 (by unfold GoodTCut; decide +kernel) positive_52LargeCheck94 positive_52LargeCheck295 theorem positive_52Large_checked : TangentChecked positive_52Cfg false rootBox positive_52Large := positive_52LargeCheck296 theorem positive_52SmallCheck18 : TangentChecked positive_52Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2249 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_52Small_checked : TangentChecked positive_52Cfg true smallRootBox positive_52Small := positive_52SmallCheck18 theorem positive_53LargeCheck14 : TangentChecked positive_53Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n1766 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck25 : TangentChecked positive_53Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n213 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck28 : TangentChecked positive_53Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n79 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck49 : TangentChecked positive_53Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n2255 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck80 : TangentChecked positive_53Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), (15 / 16)⟩ n2262 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck87 : TangentChecked positive_53Cfg false ⟨(7 / 32), (1 / 4), (15 / 16), 1⟩ n2263 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck88 : TangentChecked positive_53Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n2264 := by exact @TangentChecked.cutR positive_53Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ (15 / 16) n2262 n2263 (by unfold GoodRCut; decide +kernel) positive_53LargeCheck80 positive_53LargeCheck87 theorem positive_53LargeCheck89 : TangentChecked positive_53Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n2265 := by exact @TangentChecked.cutT positive_53Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n2255 n2264 (by unfold GoodTCut; decide +kernel) positive_53LargeCheck49 positive_53LargeCheck88 theorem positive_53LargeCheck90 : TangentChecked positive_53Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n2266 := by exact @TangentChecked.cutR positive_53Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n79 n2265 (by unfold GoodRCut; decide +kernel) positive_53LargeCheck28 positive_53LargeCheck89 theorem positive_53LargeCheck91 : TangentChecked positive_53Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2267 := by exact @TangentChecked.cutT positive_53Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n213 n2266 (by unfold GoodTCut; decide +kernel) positive_53LargeCheck25 positive_53LargeCheck90 theorem positive_53LargeCheck92 : TangentChecked positive_53Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2268 := by exact @TangentChecked.cutT positive_53Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n1766 n2267 (by unfold GoodTCut; decide +kernel) positive_53LargeCheck14 positive_53LargeCheck91 theorem positive_53LargeCheck115 : TangentChecked positive_53Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2276 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck136 : TangentChecked positive_53Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n2283 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck151 : TangentChecked positive_53Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n2284 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck152 : TangentChecked positive_53Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2285 := by exact @TangentChecked.cutR positive_53Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n2283 n2284 (by unfold GoodRCut; decide +kernel) positive_53LargeCheck136 positive_53LargeCheck151 theorem positive_53LargeCheck153 : TangentChecked positive_53Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2286 := by exact @TangentChecked.cutT positive_53Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2276 n2285 (by unfold GoodTCut; decide +kernel) positive_53LargeCheck115 positive_53LargeCheck152 theorem positive_53LargeCheck170 : TangentChecked positive_53Cfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2292 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck189 : TangentChecked positive_53Cfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2307 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck190 : TangentChecked positive_53Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2308 := by exact @TangentChecked.cutT positive_53Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2292 n2307 (by unfold GoodTCut; decide +kernel) positive_53LargeCheck170 positive_53LargeCheck189 theorem positive_53LargeCheck221 : TangentChecked positive_53Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2313 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck248 : TangentChecked positive_53Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2327 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck249 : TangentChecked positive_53Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2328 := by exact @TangentChecked.cutT positive_53Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2313 n2327 (by unfold GoodTCut; decide +kernel) positive_53LargeCheck221 positive_53LargeCheck248 theorem positive_53LargeCheck250 : TangentChecked positive_53Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2329 := by exact @TangentChecked.cutR positive_53Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2308 n2328 (by unfold GoodRCut; decide +kernel) positive_53LargeCheck190 positive_53LargeCheck249 theorem positive_53LargeCheck271 : TangentChecked positive_53Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2336 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck272 : TangentChecked positive_53Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2337 := by exact @TangentChecked.cutR positive_53Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2329 n2336 (by unfold GoodRCut; decide +kernel) positive_53LargeCheck250 positive_53LargeCheck271 theorem positive_53LargeCheck273 : TangentChecked positive_53Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2338 := by exact @TangentChecked.cutT positive_53Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2286 n2337 (by unfold GoodTCut; decide +kernel) positive_53LargeCheck153 positive_53LargeCheck272 theorem positive_53LargeCheck298 : TangentChecked positive_53Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2344 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53LargeCheck299 : TangentChecked positive_53Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2345 := by exact @TangentChecked.cutR positive_53Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2338 n2344 (by unfold GoodRCut; decide +kernel) positive_53LargeCheck273 positive_53LargeCheck298 theorem positive_53LargeCheck300 : TangentChecked positive_53Cfg false ⟨0, 1, (1 / 2), 1⟩ n2346 := by exact @TangentChecked.cutT positive_53Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2268 n2345 (by unfold GoodTCut; decide +kernel) positive_53LargeCheck92 positive_53LargeCheck299 theorem positive_53Large_checked : TangentChecked positive_53Cfg false rootBox positive_53Large := positive_53LargeCheck300 theorem positive_53SmallCheck18 : TangentChecked positive_53Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2249 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_53Small_checked : TangentChecked positive_53Cfg true smallRootBox positive_53Small := positive_53SmallCheck18 theorem positive_54LargeCheck14 : TangentChecked positive_54Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n1766 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck25 : TangentChecked positive_54Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n213 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck28 : TangentChecked positive_54Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n79 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck45 : TangentChecked positive_54Cfg false ⟨(3 / 16), (7 / 32), (3 / 4), 1⟩ n2351 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck76 : TangentChecked positive_54Cfg false ⟨(7 / 32), (1 / 4), (3 / 4), 1⟩ n2361 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck77 : TangentChecked positive_54Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n2362 := by exact @TangentChecked.cutT positive_54Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ (7 / 32) n2351 n2361 (by unfold GoodTCut; decide +kernel) positive_54LargeCheck45 positive_54LargeCheck76 theorem positive_54LargeCheck78 : TangentChecked positive_54Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n2363 := by exact @TangentChecked.cutR positive_54Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n79 n2362 (by unfold GoodRCut; decide +kernel) positive_54LargeCheck28 positive_54LargeCheck77 theorem positive_54LargeCheck79 : TangentChecked positive_54Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2364 := by exact @TangentChecked.cutT positive_54Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n213 n2363 (by unfold GoodTCut; decide +kernel) positive_54LargeCheck25 positive_54LargeCheck78 theorem positive_54LargeCheck80 : TangentChecked positive_54Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2365 := by exact @TangentChecked.cutT positive_54Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n1766 n2364 (by unfold GoodTCut; decide +kernel) positive_54LargeCheck14 positive_54LargeCheck79 theorem positive_54LargeCheck99 : TangentChecked positive_54Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2367 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck118 : TangentChecked positive_54Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n2375 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck133 : TangentChecked positive_54Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n1209 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck134 : TangentChecked positive_54Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2376 := by exact @TangentChecked.cutR positive_54Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n2375 n1209 (by unfold GoodRCut; decide +kernel) positive_54LargeCheck118 positive_54LargeCheck133 theorem positive_54LargeCheck135 : TangentChecked positive_54Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2377 := by exact @TangentChecked.cutT positive_54Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2367 n2376 (by unfold GoodTCut; decide +kernel) positive_54LargeCheck99 positive_54LargeCheck134 theorem positive_54LargeCheck154 : TangentChecked positive_54Cfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2381 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck175 : TangentChecked positive_54Cfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2395 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck176 : TangentChecked positive_54Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2396 := by exact @TangentChecked.cutT positive_54Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2381 n2395 (by unfold GoodTCut; decide +kernel) positive_54LargeCheck154 positive_54LargeCheck175 theorem positive_54LargeCheck207 : TangentChecked positive_54Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2313 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck236 : TangentChecked positive_54Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2411 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck237 : TangentChecked positive_54Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2412 := by exact @TangentChecked.cutT positive_54Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2313 n2411 (by unfold GoodTCut; decide +kernel) positive_54LargeCheck207 positive_54LargeCheck236 theorem positive_54LargeCheck238 : TangentChecked positive_54Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2413 := by exact @TangentChecked.cutR positive_54Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2396 n2412 (by unfold GoodRCut; decide +kernel) positive_54LargeCheck176 positive_54LargeCheck237 theorem positive_54LargeCheck259 : TangentChecked positive_54Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2420 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck260 : TangentChecked positive_54Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2421 := by exact @TangentChecked.cutR positive_54Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2413 n2420 (by unfold GoodRCut; decide +kernel) positive_54LargeCheck238 positive_54LargeCheck259 theorem positive_54LargeCheck261 : TangentChecked positive_54Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2422 := by exact @TangentChecked.cutT positive_54Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2377 n2421 (by unfold GoodTCut; decide +kernel) positive_54LargeCheck135 positive_54LargeCheck260 theorem positive_54LargeCheck286 : TangentChecked positive_54Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2428 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54LargeCheck287 : TangentChecked positive_54Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2429 := by exact @TangentChecked.cutR positive_54Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2422 n2428 (by unfold GoodRCut; decide +kernel) positive_54LargeCheck261 positive_54LargeCheck286 theorem positive_54LargeCheck288 : TangentChecked positive_54Cfg false ⟨0, 1, (1 / 2), 1⟩ n2430 := by exact @TangentChecked.cutT positive_54Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2365 n2429 (by unfold GoodTCut; decide +kernel) positive_54LargeCheck80 positive_54LargeCheck287 theorem positive_54Large_checked : TangentChecked positive_54Cfg false rootBox positive_54Large := positive_54LargeCheck288 theorem positive_54SmallCheck18 : TangentChecked positive_54Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2434 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_54Small_checked : TangentChecked positive_54Cfg true smallRootBox positive_54Small := positive_54SmallCheck18 theorem positive_55LargeCheck14 : TangentChecked positive_55Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n1766 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck27 : TangentChecked positive_55Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n2438 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck30 : TangentChecked positive_55Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), (3 / 4)⟩ n79 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck59 : TangentChecked positive_55Cfg false ⟨(3 / 16), (1 / 4), (3 / 4), 1⟩ n2450 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck60 : TangentChecked positive_55Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n2451 := by exact @TangentChecked.cutR positive_55Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ (3 / 4) n79 n2450 (by unfold GoodRCut; decide +kernel) positive_55LargeCheck30 positive_55LargeCheck59 theorem positive_55LargeCheck61 : TangentChecked positive_55Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2452 := by exact @TangentChecked.cutT positive_55Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n2438 n2451 (by unfold GoodTCut; decide +kernel) positive_55LargeCheck27 positive_55LargeCheck60 theorem positive_55LargeCheck62 : TangentChecked positive_55Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2453 := by exact @TangentChecked.cutT positive_55Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n1766 n2452 (by unfold GoodTCut; decide +kernel) positive_55LargeCheck14 positive_55LargeCheck61 theorem positive_55LargeCheck81 : TangentChecked positive_55Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2460 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck100 : TangentChecked positive_55Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n2462 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck115 : TangentChecked positive_55Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n2469 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck116 : TangentChecked positive_55Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2470 := by exact @TangentChecked.cutR positive_55Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n2462 n2469 (by unfold GoodRCut; decide +kernel) positive_55LargeCheck100 positive_55LargeCheck115 theorem positive_55LargeCheck117 : TangentChecked positive_55Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2471 := by exact @TangentChecked.cutT positive_55Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2460 n2470 (by unfold GoodTCut; decide +kernel) positive_55LargeCheck81 positive_55LargeCheck116 theorem positive_55LargeCheck136 : TangentChecked positive_55Cfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2381 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck159 : TangentChecked positive_55Cfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2482 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck160 : TangentChecked positive_55Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2483 := by exact @TangentChecked.cutT positive_55Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2381 n2482 (by unfold GoodTCut; decide +kernel) positive_55LargeCheck136 positive_55LargeCheck159 theorem positive_55LargeCheck191 : TangentChecked positive_55Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2313 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck220 : TangentChecked positive_55Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2495 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck221 : TangentChecked positive_55Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2496 := by exact @TangentChecked.cutT positive_55Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2313 n2495 (by unfold GoodTCut; decide +kernel) positive_55LargeCheck191 positive_55LargeCheck220 theorem positive_55LargeCheck222 : TangentChecked positive_55Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2497 := by exact @TangentChecked.cutR positive_55Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2483 n2496 (by unfold GoodRCut; decide +kernel) positive_55LargeCheck160 positive_55LargeCheck221 theorem positive_55LargeCheck243 : TangentChecked positive_55Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2503 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck244 : TangentChecked positive_55Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2504 := by exact @TangentChecked.cutR positive_55Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2497 n2503 (by unfold GoodRCut; decide +kernel) positive_55LargeCheck222 positive_55LargeCheck243 theorem positive_55LargeCheck245 : TangentChecked positive_55Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2505 := by exact @TangentChecked.cutT positive_55Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2471 n2504 (by unfold GoodTCut; decide +kernel) positive_55LargeCheck117 positive_55LargeCheck244 theorem positive_55LargeCheck270 : TangentChecked positive_55Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2514 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55LargeCheck271 : TangentChecked positive_55Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2515 := by exact @TangentChecked.cutR positive_55Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2505 n2514 (by unfold GoodRCut; decide +kernel) positive_55LargeCheck245 positive_55LargeCheck270 theorem positive_55LargeCheck272 : TangentChecked positive_55Cfg false ⟨0, 1, (1 / 2), 1⟩ n2516 := by exact @TangentChecked.cutT positive_55Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2453 n2515 (by unfold GoodTCut; decide +kernel) positive_55LargeCheck62 positive_55LargeCheck271 theorem positive_55Large_checked : TangentChecked positive_55Cfg false rootBox positive_55Large := positive_55LargeCheck272 theorem positive_55SmallCheck16 : TangentChecked positive_55Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2519 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_55Small_checked : TangentChecked positive_55Cfg true smallRootBox positive_55Small := positive_55SmallCheck16 theorem positive_56LargeCheck16 : TangentChecked positive_56Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n2520 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck29 : TangentChecked positive_56Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n2438 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck50 : TangentChecked positive_56Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n2526 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck51 : TangentChecked positive_56Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2527 := by exact @TangentChecked.cutT positive_56Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n2438 n2526 (by unfold GoodTCut; decide +kernel) positive_56LargeCheck29 positive_56LargeCheck50 theorem positive_56LargeCheck52 : TangentChecked positive_56Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2528 := by exact @TangentChecked.cutT positive_56Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n2520 n2527 (by unfold GoodTCut; decide +kernel) positive_56LargeCheck16 positive_56LargeCheck51 theorem positive_56LargeCheck71 : TangentChecked positive_56Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2531 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck90 : TangentChecked positive_56Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n2536 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck105 : TangentChecked positive_56Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n2540 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck106 : TangentChecked positive_56Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2541 := by exact @TangentChecked.cutR positive_56Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n2536 n2540 (by unfold GoodRCut; decide +kernel) positive_56LargeCheck90 positive_56LargeCheck105 theorem positive_56LargeCheck107 : TangentChecked positive_56Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2542 := by exact @TangentChecked.cutT positive_56Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2531 n2541 (by unfold GoodTCut; decide +kernel) positive_56LargeCheck71 positive_56LargeCheck106 theorem positive_56LargeCheck126 : TangentChecked positive_56Cfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2381 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck149 : TangentChecked positive_56Cfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2551 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck150 : TangentChecked positive_56Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2552 := by exact @TangentChecked.cutT positive_56Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2381 n2551 (by unfold GoodTCut; decide +kernel) positive_56LargeCheck126 positive_56LargeCheck149 theorem positive_56LargeCheck177 : TangentChecked positive_56Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2557 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck206 : TangentChecked positive_56Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2571 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck207 : TangentChecked positive_56Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2572 := by exact @TangentChecked.cutT positive_56Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2557 n2571 (by unfold GoodTCut; decide +kernel) positive_56LargeCheck177 positive_56LargeCheck206 theorem positive_56LargeCheck208 : TangentChecked positive_56Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2573 := by exact @TangentChecked.cutR positive_56Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2552 n2572 (by unfold GoodRCut; decide +kernel) positive_56LargeCheck150 positive_56LargeCheck207 theorem positive_56LargeCheck231 : TangentChecked positive_56Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2582 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck232 : TangentChecked positive_56Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2583 := by exact @TangentChecked.cutR positive_56Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2573 n2582 (by unfold GoodRCut; decide +kernel) positive_56LargeCheck208 positive_56LargeCheck231 theorem positive_56LargeCheck233 : TangentChecked positive_56Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2584 := by exact @TangentChecked.cutT positive_56Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2542 n2583 (by unfold GoodTCut; decide +kernel) positive_56LargeCheck107 positive_56LargeCheck232 theorem positive_56LargeCheck256 : TangentChecked positive_56Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2588 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56LargeCheck257 : TangentChecked positive_56Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2589 := by exact @TangentChecked.cutR positive_56Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2584 n2588 (by unfold GoodRCut; decide +kernel) positive_56LargeCheck233 positive_56LargeCheck256 theorem positive_56LargeCheck258 : TangentChecked positive_56Cfg false ⟨0, 1, (1 / 2), 1⟩ n2590 := by exact @TangentChecked.cutT positive_56Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2528 n2589 (by unfold GoodTCut; decide +kernel) positive_56LargeCheck52 positive_56LargeCheck257 theorem positive_56Large_checked : TangentChecked positive_56Cfg false rootBox positive_56Large := positive_56LargeCheck258 theorem positive_56SmallCheck16 : TangentChecked positive_56Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2519 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_56Small_checked : TangentChecked positive_56Cfg true smallRootBox positive_56Small := positive_56SmallCheck16 theorem positive_57LargeCheck16 : TangentChecked positive_57Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n2520 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck25 : TangentChecked positive_57Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n104 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck52 : TangentChecked positive_57Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n2597 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck53 : TangentChecked positive_57Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2598 := by exact @TangentChecked.cutT positive_57Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n104 n2597 (by unfold GoodTCut; decide +kernel) positive_57LargeCheck25 positive_57LargeCheck52 theorem positive_57LargeCheck54 : TangentChecked positive_57Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2599 := by exact @TangentChecked.cutT positive_57Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n2520 n2598 (by unfold GoodTCut; decide +kernel) positive_57LargeCheck16 positive_57LargeCheck53 theorem positive_57LargeCheck67 : TangentChecked positive_57Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2604 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck86 : TangentChecked positive_57Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (5 / 8)⟩ n2609 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck101 : TangentChecked positive_57Cfg false ⟨(3 / 8), (1 / 2), (5 / 8), (3 / 4)⟩ n2540 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck102 : TangentChecked positive_57Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2610 := by exact @TangentChecked.cutR positive_57Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ (5 / 8) n2609 n2540 (by unfold GoodRCut; decide +kernel) positive_57LargeCheck86 positive_57LargeCheck101 theorem positive_57LargeCheck103 : TangentChecked positive_57Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2611 := by exact @TangentChecked.cutT positive_57Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2604 n2610 (by unfold GoodTCut; decide +kernel) positive_57LargeCheck67 positive_57LargeCheck102 theorem positive_57LargeCheck122 : TangentChecked positive_57Cfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2615 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck147 : TangentChecked positive_57Cfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2624 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck148 : TangentChecked positive_57Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2625 := by exact @TangentChecked.cutT positive_57Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2615 n2624 (by unfold GoodTCut; decide +kernel) positive_57LargeCheck122 positive_57LargeCheck147 theorem positive_57LargeCheck175 : TangentChecked positive_57Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2628 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck194 : TangentChecked positive_57Cfg false ⟨(5 / 8), 1, (9 / 16), (19 / 32)⟩ n2640 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck207 : TangentChecked positive_57Cfg false ⟨(5 / 8), 1, (19 / 32), (5 / 8)⟩ n2645 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck208 : TangentChecked positive_57Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2646 := by exact @TangentChecked.cutR positive_57Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ (19 / 32) n2640 n2645 (by unfold GoodRCut; decide +kernel) positive_57LargeCheck194 positive_57LargeCheck207 theorem positive_57LargeCheck209 : TangentChecked positive_57Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2647 := by exact @TangentChecked.cutT positive_57Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2628 n2646 (by unfold GoodTCut; decide +kernel) positive_57LargeCheck175 positive_57LargeCheck208 theorem positive_57LargeCheck210 : TangentChecked positive_57Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2648 := by exact @TangentChecked.cutR positive_57Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2625 n2647 (by unfold GoodRCut; decide +kernel) positive_57LargeCheck148 positive_57LargeCheck209 theorem positive_57LargeCheck233 : TangentChecked positive_57Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2657 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck234 : TangentChecked positive_57Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2658 := by exact @TangentChecked.cutR positive_57Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2648 n2657 (by unfold GoodRCut; decide +kernel) positive_57LargeCheck210 positive_57LargeCheck233 theorem positive_57LargeCheck235 : TangentChecked positive_57Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2659 := by exact @TangentChecked.cutT positive_57Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2611 n2658 (by unfold GoodTCut; decide +kernel) positive_57LargeCheck103 positive_57LargeCheck234 theorem positive_57LargeCheck244 : TangentChecked positive_57Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2665 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57LargeCheck245 : TangentChecked positive_57Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2666 := by exact @TangentChecked.cutR positive_57Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2659 n2665 (by unfold GoodRCut; decide +kernel) positive_57LargeCheck235 positive_57LargeCheck244 theorem positive_57LargeCheck246 : TangentChecked positive_57Cfg false ⟨0, 1, (1 / 2), 1⟩ n2667 := by exact @TangentChecked.cutT positive_57Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2599 n2666 (by unfold GoodTCut; decide +kernel) positive_57LargeCheck54 positive_57LargeCheck245 theorem positive_57Large_checked : TangentChecked positive_57Cfg false rootBox positive_57Large := positive_57LargeCheck246 theorem positive_57SmallCheck16 : TangentChecked positive_57Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2671 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_57Small_checked : TangentChecked positive_57Cfg true smallRootBox positive_57Small := positive_57SmallCheck16 theorem positive_58LargeCheck12 : TangentChecked positive_58Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n2673 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck21 : TangentChecked positive_58Cfg false ⟨(1 / 8), (3 / 16), (1 / 2), 1⟩ n104 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck48 : TangentChecked positive_58Cfg false ⟨(3 / 16), (1 / 4), (1 / 2), 1⟩ n2680 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck49 : TangentChecked positive_58Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2681 := by exact @TangentChecked.cutT positive_58Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ (3 / 16) n104 n2680 (by unfold GoodTCut; decide +kernel) positive_58LargeCheck21 positive_58LargeCheck48 theorem positive_58LargeCheck50 : TangentChecked positive_58Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2682 := by exact @TangentChecked.cutT positive_58Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n2673 n2681 (by unfold GoodTCut; decide +kernel) positive_58LargeCheck12 positive_58LargeCheck49 theorem positive_58LargeCheck63 : TangentChecked positive_58Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2687 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck94 : TangentChecked positive_58Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2695 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck95 : TangentChecked positive_58Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2696 := by exact @TangentChecked.cutT positive_58Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2687 n2695 (by unfold GoodTCut; decide +kernel) positive_58LargeCheck63 positive_58LargeCheck94 theorem positive_58LargeCheck112 : TangentChecked positive_58Cfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2700 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck137 : TangentChecked positive_58Cfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2704 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck138 : TangentChecked positive_58Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2705 := by exact @TangentChecked.cutT positive_58Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2700 n2704 (by unfold GoodTCut; decide +kernel) positive_58LargeCheck112 positive_58LargeCheck137 theorem positive_58LargeCheck163 : TangentChecked positive_58Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2707 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck182 : TangentChecked positive_58Cfg false ⟨(5 / 8), 1, (9 / 16), (19 / 32)⟩ n2710 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck195 : TangentChecked positive_58Cfg false ⟨(5 / 8), 1, (19 / 32), (5 / 8)⟩ n2717 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck196 : TangentChecked positive_58Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2718 := by exact @TangentChecked.cutR positive_58Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ (19 / 32) n2710 n2717 (by unfold GoodRCut; decide +kernel) positive_58LargeCheck182 positive_58LargeCheck195 theorem positive_58LargeCheck197 : TangentChecked positive_58Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2719 := by exact @TangentChecked.cutT positive_58Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2707 n2718 (by unfold GoodTCut; decide +kernel) positive_58LargeCheck163 positive_58LargeCheck196 theorem positive_58LargeCheck198 : TangentChecked positive_58Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2720 := by exact @TangentChecked.cutR positive_58Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2705 n2719 (by unfold GoodRCut; decide +kernel) positive_58LargeCheck138 positive_58LargeCheck197 theorem positive_58LargeCheck221 : TangentChecked positive_58Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2729 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck222 : TangentChecked positive_58Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2730 := by exact @TangentChecked.cutR positive_58Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2720 n2729 (by unfold GoodRCut; decide +kernel) positive_58LargeCheck198 positive_58LargeCheck221 theorem positive_58LargeCheck223 : TangentChecked positive_58Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2731 := by exact @TangentChecked.cutT positive_58Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2696 n2730 (by unfold GoodTCut; decide +kernel) positive_58LargeCheck95 positive_58LargeCheck222 theorem positive_58LargeCheck232 : TangentChecked positive_58Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2735 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58LargeCheck233 : TangentChecked positive_58Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2736 := by exact @TangentChecked.cutR positive_58Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2731 n2735 (by unfold GoodRCut; decide +kernel) positive_58LargeCheck223 positive_58LargeCheck232 theorem positive_58LargeCheck234 : TangentChecked positive_58Cfg false ⟨0, 1, (1 / 2), 1⟩ n2737 := by exact @TangentChecked.cutT positive_58Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2682 n2736 (by unfold GoodTCut; decide +kernel) positive_58LargeCheck50 positive_58LargeCheck233 theorem positive_58Large_checked : TangentChecked positive_58Cfg false rootBox positive_58Large := positive_58LargeCheck234 theorem positive_58SmallCheck16 : TangentChecked positive_58Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2671 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_58Small_checked : TangentChecked positive_58Cfg true smallRootBox positive_58Small := positive_58SmallCheck16 theorem positive_59LargeCheck12 : TangentChecked positive_59Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n2673 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck35 : TangentChecked positive_59Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2742 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck36 : TangentChecked positive_59Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2743 := by exact @TangentChecked.cutT positive_59Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n2673 n2742 (by unfold GoodTCut; decide +kernel) positive_59LargeCheck12 positive_59LargeCheck35 theorem positive_59LargeCheck47 : TangentChecked positive_59Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2744 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck74 : TangentChecked positive_59Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2753 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck75 : TangentChecked positive_59Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2754 := by exact @TangentChecked.cutT positive_59Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2744 n2753 (by unfold GoodTCut; decide +kernel) positive_59LargeCheck47 positive_59LargeCheck74 theorem positive_59LargeCheck90 : TangentChecked positive_59Cfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2757 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck117 : TangentChecked positive_59Cfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2767 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck118 : TangentChecked positive_59Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2768 := by exact @TangentChecked.cutT positive_59Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2757 n2767 (by unfold GoodTCut; decide +kernel) positive_59LargeCheck90 positive_59LargeCheck117 theorem positive_59LargeCheck139 : TangentChecked positive_59Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2773 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck158 : TangentChecked positive_59Cfg false ⟨(5 / 8), 1, (9 / 16), (19 / 32)⟩ n2780 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck171 : TangentChecked positive_59Cfg false ⟨(5 / 8), 1, (19 / 32), (5 / 8)⟩ n2785 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck172 : TangentChecked positive_59Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2786 := by exact @TangentChecked.cutR positive_59Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ (19 / 32) n2780 n2785 (by unfold GoodRCut; decide +kernel) positive_59LargeCheck158 positive_59LargeCheck171 theorem positive_59LargeCheck173 : TangentChecked positive_59Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2787 := by exact @TangentChecked.cutT positive_59Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2773 n2786 (by unfold GoodTCut; decide +kernel) positive_59LargeCheck139 positive_59LargeCheck172 theorem positive_59LargeCheck174 : TangentChecked positive_59Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2788 := by exact @TangentChecked.cutR positive_59Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2768 n2787 (by unfold GoodRCut; decide +kernel) positive_59LargeCheck118 positive_59LargeCheck173 theorem positive_59LargeCheck195 : TangentChecked positive_59Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2797 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck196 : TangentChecked positive_59Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2798 := by exact @TangentChecked.cutR positive_59Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2788 n2797 (by unfold GoodRCut; decide +kernel) positive_59LargeCheck174 positive_59LargeCheck195 theorem positive_59LargeCheck197 : TangentChecked positive_59Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2799 := by exact @TangentChecked.cutT positive_59Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2754 n2798 (by unfold GoodTCut; decide +kernel) positive_59LargeCheck75 positive_59LargeCheck196 theorem positive_59LargeCheck206 : TangentChecked positive_59Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2803 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59LargeCheck207 : TangentChecked positive_59Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2804 := by exact @TangentChecked.cutR positive_59Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2799 n2803 (by unfold GoodRCut; decide +kernel) positive_59LargeCheck197 positive_59LargeCheck206 theorem positive_59LargeCheck208 : TangentChecked positive_59Cfg false ⟨0, 1, (1 / 2), 1⟩ n2805 := by exact @TangentChecked.cutT positive_59Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2743 n2804 (by unfold GoodTCut; decide +kernel) positive_59LargeCheck36 positive_59LargeCheck207 theorem positive_59Large_checked : TangentChecked positive_59Cfg false rootBox positive_59Large := positive_59LargeCheck208 theorem positive_59SmallCheck16 : TangentChecked positive_59Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2809 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_59Small_checked : TangentChecked positive_59Cfg true smallRootBox positive_59Small := positive_59SmallCheck16 theorem positive_60LargeCheck10 : TangentChecked positive_60Cfg false ⟨0, (1 / 8), (1 / 2), 1⟩ n2811 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck33 : TangentChecked positive_60Cfg false ⟨(1 / 8), (1 / 4), (1 / 2), 1⟩ n2816 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck34 : TangentChecked positive_60Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2817 := by exact @TangentChecked.cutT positive_60Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ (1 / 8) n2811 n2816 (by unfold GoodTCut; decide +kernel) positive_60LargeCheck10 positive_60LargeCheck33 theorem positive_60LargeCheck45 : TangentChecked positive_60Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2819 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck70 : TangentChecked positive_60Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2822 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck71 : TangentChecked positive_60Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2823 := by exact @TangentChecked.cutT positive_60Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2819 n2822 (by unfold GoodTCut; decide +kernel) positive_60LargeCheck45 positive_60LargeCheck70 theorem positive_60LargeCheck86 : TangentChecked positive_60Cfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2825 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck111 : TangentChecked positive_60Cfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2831 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck112 : TangentChecked positive_60Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2832 := by exact @TangentChecked.cutT positive_60Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2825 n2831 (by unfold GoodTCut; decide +kernel) positive_60LargeCheck86 positive_60LargeCheck111 theorem positive_60LargeCheck133 : TangentChecked positive_60Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2833 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck152 : TangentChecked positive_60Cfg false ⟨(5 / 8), 1, (9 / 16), (19 / 32)⟩ n2836 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck165 : TangentChecked positive_60Cfg false ⟨(5 / 8), 1, (19 / 32), (5 / 8)⟩ n2785 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck166 : TangentChecked positive_60Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2837 := by exact @TangentChecked.cutR positive_60Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ (19 / 32) n2836 n2785 (by unfold GoodRCut; decide +kernel) positive_60LargeCheck152 positive_60LargeCheck165 theorem positive_60LargeCheck167 : TangentChecked positive_60Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2838 := by exact @TangentChecked.cutT positive_60Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2833 n2837 (by unfold GoodTCut; decide +kernel) positive_60LargeCheck133 positive_60LargeCheck166 theorem positive_60LargeCheck168 : TangentChecked positive_60Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2839 := by exact @TangentChecked.cutR positive_60Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2832 n2838 (by unfold GoodRCut; decide +kernel) positive_60LargeCheck112 positive_60LargeCheck167 theorem positive_60LargeCheck187 : TangentChecked positive_60Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2850 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck188 : TangentChecked positive_60Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2851 := by exact @TangentChecked.cutR positive_60Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2839 n2850 (by unfold GoodRCut; decide +kernel) positive_60LargeCheck168 positive_60LargeCheck187 theorem positive_60LargeCheck189 : TangentChecked positive_60Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2852 := by exact @TangentChecked.cutT positive_60Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2823 n2851 (by unfold GoodTCut; decide +kernel) positive_60LargeCheck71 positive_60LargeCheck188 theorem positive_60LargeCheck198 : TangentChecked positive_60Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2803 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60LargeCheck199 : TangentChecked positive_60Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2853 := by exact @TangentChecked.cutR positive_60Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2852 n2803 (by unfold GoodRCut; decide +kernel) positive_60LargeCheck189 positive_60LargeCheck198 theorem positive_60LargeCheck200 : TangentChecked positive_60Cfg false ⟨0, 1, (1 / 2), 1⟩ n2854 := by exact @TangentChecked.cutT positive_60Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2817 n2853 (by unfold GoodTCut; decide +kernel) positive_60LargeCheck34 positive_60LargeCheck199 theorem positive_60Large_checked : TangentChecked positive_60Cfg false rootBox positive_60Large := positive_60LargeCheck200 theorem positive_60SmallCheck14 : TangentChecked positive_60Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2856 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_60Small_checked : TangentChecked positive_60Cfg true smallRootBox positive_60Small := positive_60SmallCheck14 theorem positive_61LargeCheck26 : TangentChecked positive_61Cfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2861 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck35 : TangentChecked positive_61Cfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2864 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck58 : TangentChecked positive_61Cfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2870 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck59 : TangentChecked positive_61Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2871 := by exact @TangentChecked.cutT positive_61Cfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2864 n2870 (by unfold GoodTCut; decide +kernel) positive_61LargeCheck35 positive_61LargeCheck58 theorem positive_61LargeCheck72 : TangentChecked positive_61Cfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2874 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck95 : TangentChecked positive_61Cfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2881 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck96 : TangentChecked positive_61Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2882 := by exact @TangentChecked.cutT positive_61Cfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2874 n2881 (by unfold GoodTCut; decide +kernel) positive_61LargeCheck72 positive_61LargeCheck95 theorem positive_61LargeCheck115 : TangentChecked positive_61Cfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2883 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck134 : TangentChecked positive_61Cfg false ⟨(5 / 8), 1, (9 / 16), (19 / 32)⟩ n2886 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck147 : TangentChecked positive_61Cfg false ⟨(5 / 8), 1, (19 / 32), (5 / 8)⟩ n2891 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck148 : TangentChecked positive_61Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n2892 := by exact @TangentChecked.cutR positive_61Cfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ (19 / 32) n2886 n2891 (by unfold GoodRCut; decide +kernel) positive_61LargeCheck134 positive_61LargeCheck147 theorem positive_61LargeCheck149 : TangentChecked positive_61Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n2893 := by exact @TangentChecked.cutT positive_61Cfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2883 n2892 (by unfold GoodTCut; decide +kernel) positive_61LargeCheck115 positive_61LargeCheck148 theorem positive_61LargeCheck150 : TangentChecked positive_61Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n2894 := by exact @TangentChecked.cutR positive_61Cfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2882 n2893 (by unfold GoodRCut; decide +kernel) positive_61LargeCheck96 positive_61LargeCheck149 theorem positive_61LargeCheck169 : TangentChecked positive_61Cfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n2903 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck170 : TangentChecked positive_61Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n2904 := by exact @TangentChecked.cutR positive_61Cfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n2894 n2903 (by unfold GoodRCut; decide +kernel) positive_61LargeCheck150 positive_61LargeCheck169 theorem positive_61LargeCheck171 : TangentChecked positive_61Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n2905 := by exact @TangentChecked.cutT positive_61Cfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2871 n2904 (by unfold GoodTCut; decide +kernel) positive_61LargeCheck59 positive_61LargeCheck170 theorem positive_61LargeCheck180 : TangentChecked positive_61Cfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n2803 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61LargeCheck181 : TangentChecked positive_61Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n2906 := by exact @TangentChecked.cutR positive_61Cfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n2905 n2803 (by unfold GoodRCut; decide +kernel) positive_61LargeCheck171 positive_61LargeCheck180 theorem positive_61LargeCheck182 : TangentChecked positive_61Cfg false ⟨0, 1, (1 / 2), 1⟩ n2907 := by exact @TangentChecked.cutT positive_61Cfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2861 n2906 (by unfold GoodTCut; decide +kernel) positive_61LargeCheck26 positive_61LargeCheck181 theorem positive_61Large_checked : TangentChecked positive_61Cfg false rootBox positive_61Large := positive_61LargeCheck182 theorem positive_61SmallCheck14 : TangentChecked positive_61Cfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n2856 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem positive_61Small_checked : TangentChecked positive_61Cfg true smallRootBox positive_61Small := positive_61SmallCheck14 theorem high_xLargeCheck26 : TangentChecked high_xCfg false ⟨0, (1 / 4), (1 / 2), 1⟩ n2861 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck35 : TangentChecked high_xCfg false ⟨(1 / 4), (3 / 8), (1 / 2), (3 / 4)⟩ n2909 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck62 : TangentChecked high_xCfg false ⟨(3 / 8), (1 / 2), (1 / 2), (3 / 4)⟩ n2913 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck63 : TangentChecked high_xCfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ n2914 := by exact @TangentChecked.cutT high_xCfg false ⟨(1 / 4), (1 / 2), (1 / 2), (3 / 4)⟩ (3 / 8) n2909 n2913 (by unfold GoodTCut; decide +kernel) high_xLargeCheck35 high_xLargeCheck62 theorem high_xLargeCheck82 : TangentChecked high_xCfg false ⟨(1 / 2), (5 / 8), (1 / 2), (9 / 16)⟩ n2915 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck95 : TangentChecked high_xCfg false ⟨(5 / 8), 1, (1 / 2), (17 / 32)⟩ n2924 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck124 : TangentChecked high_xCfg false ⟨(5 / 8), 1, (17 / 32), (9 / 16)⟩ n2946 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck125 : TangentChecked high_xCfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ n2947 := by exact @TangentChecked.cutR high_xCfg false ⟨(5 / 8), 1, (1 / 2), (9 / 16)⟩ (17 / 32) n2924 n2946 (by unfold GoodRCut; decide +kernel) high_xLargeCheck95 high_xLargeCheck124 theorem high_xLargeCheck126 : TangentChecked high_xCfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ n2948 := by exact @TangentChecked.cutT high_xCfg false ⟨(1 / 2), 1, (1 / 2), (9 / 16)⟩ (5 / 8) n2915 n2947 (by unfold GoodTCut; decide +kernel) high_xLargeCheck82 high_xLargeCheck125 theorem high_xLargeCheck155 : TangentChecked high_xCfg false ⟨(1 / 2), (5 / 8), (9 / 16), (5 / 8)⟩ n2958 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck174 : TangentChecked high_xCfg false ⟨(5 / 8), 1, (9 / 16), (37 / 64)⟩ n2974 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck193 : TangentChecked high_xCfg false ⟨(5 / 8), 1, (37 / 64), (19 / 32)⟩ n2991 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck194 : TangentChecked high_xCfg false ⟨(5 / 8), 1, (9 / 16), (19 / 32)⟩ n2992 := by exact @TangentChecked.cutR high_xCfg false ⟨(5 / 8), 1, (9 / 16), (19 / 32)⟩ (37 / 64) n2974 n2991 (by unfold GoodRCut; decide +kernel) high_xLargeCheck174 high_xLargeCheck193 theorem high_xLargeCheck213 : TangentChecked high_xCfg false ⟨(5 / 8), 1, (19 / 32), (5 / 8)⟩ n3008 := by refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck214 : TangentChecked high_xCfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ n3009 := by exact @TangentChecked.cutR high_xCfg false ⟨(5 / 8), 1, (9 / 16), (5 / 8)⟩ (19 / 32) n2992 n3008 (by unfold GoodRCut; decide +kernel) high_xLargeCheck194 high_xLargeCheck213 theorem high_xLargeCheck215 : TangentChecked high_xCfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ n3010 := by exact @TangentChecked.cutT high_xCfg false ⟨(1 / 2), 1, (9 / 16), (5 / 8)⟩ (5 / 8) n2958 n3009 (by unfold GoodTCut; decide +kernel) high_xLargeCheck155 high_xLargeCheck214 theorem high_xLargeCheck216 : TangentChecked high_xCfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ n3011 := by exact @TangentChecked.cutR high_xCfg false ⟨(1 / 2), 1, (1 / 2), (5 / 8)⟩ (9 / 16) n2948 n3010 (by unfold GoodRCut; decide +kernel) high_xLargeCheck126 high_xLargeCheck215 theorem high_xLargeCheck237 : TangentChecked high_xCfg false ⟨(1 / 2), 1, (5 / 8), (21 / 32)⟩ n3025 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck248 : TangentChecked high_xCfg false ⟨(1 / 2), 1, (21 / 32), (3 / 4)⟩ n3032 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutR _ _ _ _ (by unfold GoodRCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck249 : TangentChecked high_xCfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ n3033 := by exact @TangentChecked.cutR high_xCfg false ⟨(1 / 2), 1, (5 / 8), (3 / 4)⟩ (21 / 32) n3025 n3032 (by unfold GoodRCut; decide +kernel) high_xLargeCheck237 high_xLargeCheck248 theorem high_xLargeCheck250 : TangentChecked high_xCfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ n3034 := by exact @TangentChecked.cutR high_xCfg false ⟨(1 / 2), 1, (1 / 2), (3 / 4)⟩ (5 / 8) n3011 n3033 (by unfold GoodRCut; decide +kernel) high_xLargeCheck216 high_xLargeCheck249 theorem high_xLargeCheck251 : TangentChecked high_xCfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ n3035 := by exact @TangentChecked.cutT high_xCfg false ⟨(1 / 4), 1, (1 / 2), (3 / 4)⟩ (1 / 2) n2914 n3034 (by unfold GoodTCut; decide +kernel) high_xLargeCheck63 high_xLargeCheck250 theorem high_xLargeCheck260 : TangentChecked high_xCfg false ⟨(1 / 4), 1, (3 / 4), 1⟩ n3037 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xLargeCheck261 : TangentChecked high_xCfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ n3038 := by exact @TangentChecked.cutR high_xCfg false ⟨(1 / 4), 1, (1 / 2), 1⟩ (3 / 4) n3035 n3037 (by unfold GoodRCut; decide +kernel) high_xLargeCheck251 high_xLargeCheck260 theorem high_xLargeCheck262 : TangentChecked high_xCfg false ⟨0, 1, (1 / 2), 1⟩ n3039 := by exact @TangentChecked.cutT high_xCfg false ⟨0, 1, (1 / 2), 1⟩ (1 / 4) n2861 n3038 (by unfold GoodTCut; decide +kernel) high_xLargeCheck26 high_xLargeCheck261 theorem high_xLarge_checked : TangentChecked high_xCfg false rootBox high_xLarge := high_xLargeCheck262 theorem high_xSmallCheck14 : TangentChecked high_xCfg true ⟨0, 1, (1 / 2), (1 / 2)⟩ n3043 := by refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · refine TangentChecked.cutT _ _ _ _ (by unfold GoodTCut; decide +kernel) ?_ ?_ · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) · exact tangentLeaf_checked _ _ _ _ _ _ (by decide +kernel) theorem high_xSmall_checked : TangentChecked high_xCfg true smallRootBox high_xSmall := high_xSmallCheck14 end QuantileFiniteCertificate.TangentData end /- END M081 -/ /- BEGIN M082 -/ section namespace QuantileFiniteCertificate.GridData def p0 : Band := { lo := (1 : ℚ) / 64, hi := (141 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p1 : Band := { lo := (141 : ℚ) / 8000, hi := (157 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p2 : Band := { lo := (157 : ℚ) / 8000, hi := (173 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p3 : Band := { lo := (173 : ℚ) / 8000, hi := (189 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p4 : Band := { lo := (189 : ℚ) / 8000, hi := (41 : ℚ) / 1600, value := (23 : ℚ) / 16 } def p5 : Band := { lo := (41 : ℚ) / 1600, hi := (221 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p6 : Band := { lo := (221 : ℚ) / 8000, hi := (237 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p7 : Band := { lo := (237 : ℚ) / 8000, hi := (253 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p8 : Band := { lo := (253 : ℚ) / 8000, hi := (269 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p9 : Band := { lo := (269 : ℚ) / 8000, hi := (57 : ℚ) / 1600, value := (23 : ℚ) / 16 } def p10 : Band := { lo := (57 : ℚ) / 1600, hi := (301 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p11 : Band := { lo := (301 : ℚ) / 8000, hi := (317 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p12 : Band := { lo := (317 : ℚ) / 8000, hi := (333 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p13 : Band := { lo := (333 : ℚ) / 8000, hi := (349 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p14 : Band := { lo := (349 : ℚ) / 8000, hi := (73 : ℚ) / 1600, value := (23 : ℚ) / 16 } def p15 : Band := { lo := (73 : ℚ) / 1600, hi := (381 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p16 : Band := { lo := (381 : ℚ) / 8000, hi := (397 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p17 : Band := { lo := (397 : ℚ) / 8000, hi := (413 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p18 : Band := { lo := (413 : ℚ) / 8000, hi := (429 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p19 : Band := { lo := (429 : ℚ) / 8000, hi := (89 : ℚ) / 1600, value := (23 : ℚ) / 16 } def p20 : Band := { lo := (89 : ℚ) / 1600, hi := (461 : ℚ) / 8000, value := (23 : ℚ) / 16 } def p21 : Band := { lo := (461 : ℚ) / 8000, hi := (477 : ℚ) / 8000, value := (1493 : ℚ) / 1000 } def p22 : Band := { lo := (477 : ℚ) / 8000, hi := (493 : ℚ) / 8000, value := (1573 : ℚ) / 1000 } def p23 : Band := { lo := (493 : ℚ) / 8000, hi := (509 : ℚ) / 8000, value := (1649 : ℚ) / 1000 } def p24 : Band := { lo := (509 : ℚ) / 8000, hi := (21 : ℚ) / 320, value := (1721 : ℚ) / 1000 } def p25 : Band := { lo := (21 : ℚ) / 320, hi := (541 : ℚ) / 8000, value := (1789 : ℚ) / 1000 } def p26 : Band := { lo := (541 : ℚ) / 8000, hi := (557 : ℚ) / 8000, value := (1853 : ℚ) / 1000 } def p27 : Band := { lo := (557 : ℚ) / 8000, hi := (573 : ℚ) / 8000, value := (957 : ℚ) / 500 } def p28 : Band := { lo := (573 : ℚ) / 8000, hi := (589 : ℚ) / 8000, value := (1971 : ℚ) / 1000 } def p29 : Band := { lo := (589 : ℚ) / 8000, hi := (121 : ℚ) / 1600, value := (253 : ℚ) / 125 } def p30 : Band := { lo := (121 : ℚ) / 1600, hi := (621 : ℚ) / 8000, value := (2073 : ℚ) / 1000 } def p31 : Band := { lo := (621 : ℚ) / 8000, hi := (637 : ℚ) / 8000, value := (2117 : ℚ) / 1000 } def p32 : Band := { lo := (637 : ℚ) / 8000, hi := (653 : ℚ) / 8000, value := (1079 : ℚ) / 500 } def p33 : Band := { lo := (653 : ℚ) / 8000, hi := (669 : ℚ) / 8000, value := (549 : ℚ) / 250 } def p34 : Band := { lo := (669 : ℚ) / 8000, hi := (137 : ℚ) / 1600, value := (223 : ℚ) / 100 } def p35 : Band := { lo := (137 : ℚ) / 1600, hi := (701 : ℚ) / 8000, value := (1131 : ℚ) / 500 } def p36 : Band := { lo := (701 : ℚ) / 8000, hi := (717 : ℚ) / 8000, value := (2291 : ℚ) / 1000 } def p37 : Band := { lo := (717 : ℚ) / 8000, hi := (733 : ℚ) / 8000, value := (2319 : ℚ) / 1000 } def p38 : Band := { lo := (733 : ℚ) / 8000, hi := (749 : ℚ) / 8000, value := (293 : ℚ) / 125 } def p39 : Band := { lo := (749 : ℚ) / 8000, hi := (153 : ℚ) / 1600, value := (296 : ℚ) / 125 } def p40 : Band := { lo := (153 : ℚ) / 1600, hi := (781 : ℚ) / 8000, value := (299 : ℚ) / 125 } def p41 : Band := { lo := (781 : ℚ) / 8000, hi := (797 : ℚ) / 8000, value := (483 : ℚ) / 200 } def p42 : Band := { lo := (797 : ℚ) / 8000, hi := (813 : ℚ) / 8000, value := (2437 : ℚ) / 1000 } def p43 : Band := { lo := (813 : ℚ) / 8000, hi := (829 : ℚ) / 8000, value := (1229 : ℚ) / 500 } def p44 : Band := { lo := (829 : ℚ) / 8000, hi := (169 : ℚ) / 1600, value := (2477 : ℚ) / 1000 } def p45 : Band := { lo := (169 : ℚ) / 1600, hi := (861 : ℚ) / 8000, value := (499 : ℚ) / 200 } def p46 : Band := { lo := (861 : ℚ) / 8000, hi := (877 : ℚ) / 8000, value := (314 : ℚ) / 125 } def p47 : Band := { lo := (877 : ℚ) / 8000, hi := (893 : ℚ) / 8000, value := (2527 : ℚ) / 1000 } def p48 : Band := { lo := (893 : ℚ) / 8000, hi := (909 : ℚ) / 8000, value := (127 : ℚ) / 50 } def p49 : Band := { lo := (909 : ℚ) / 8000, hi := (37 : ℚ) / 320, value := (2553 : ℚ) / 1000 } def p50 : Band := { lo := (37 : ℚ) / 320, hi := (941 : ℚ) / 8000, value := (513 : ℚ) / 200 } def p51 : Band := { lo := (941 : ℚ) / 8000, hi := (957 : ℚ) / 8000, value := (322 : ℚ) / 125 } def p52 : Band := { lo := (957 : ℚ) / 8000, hi := (973 : ℚ) / 8000, value := (1293 : ℚ) / 500 } def p53 : Band := { lo := (973 : ℚ) / 8000, hi := (989 : ℚ) / 8000, value := (519 : ℚ) / 200 } def p54 : Band := { lo := (989 : ℚ) / 8000, hi := (201 : ℚ) / 1600, value := (651 : ℚ) / 250 } def p55 : Band := { lo := (201 : ℚ) / 1600, hi := (1021 : ℚ) / 8000, value := (653 : ℚ) / 250 } def p56 : Band := { lo := (1021 : ℚ) / 8000, hi := (1037 : ℚ) / 8000, value := (2619 : ℚ) / 1000 } def p57 : Band := { lo := (1037 : ℚ) / 8000, hi := (1053 : ℚ) / 8000, value := (1313 : ℚ) / 500 } def p58 : Band := { lo := (1053 : ℚ) / 8000, hi := (1069 : ℚ) / 8000, value := (2631 : ℚ) / 1000 } def p59 : Band := { lo := (1069 : ℚ) / 8000, hi := (217 : ℚ) / 1600, value := (659 : ℚ) / 250 } def p60 : Band := { lo := (217 : ℚ) / 1600, hi := (1101 : ℚ) / 8000, value := (2641 : ℚ) / 1000 } def p61 : Band := { lo := (1101 : ℚ) / 8000, hi := (1117 : ℚ) / 8000, value := (529 : ℚ) / 200 } def p62 : Band := { lo := (1117 : ℚ) / 8000, hi := (7 : ℚ) / 50, value := (529 : ℚ) / 200 } def n0 : Band := { lo := (1 : ℚ) / 16, hi := (13 : ℚ) / 200, value := (587773 : ℚ) / 200000 } def n1 : Band := { lo := (13 : ℚ) / 200, hi := (27 : ℚ) / 400, value := (2862647 : ℚ) / 1000000 } def n2 : Band := { lo := (27 : ℚ) / 400, hi := (7 : ℚ) / 100, value := (1395707 : ℚ) / 500000 } def n3 : Band := { lo := (7 : ℚ) / 100, hi := (29 : ℚ) / 400, value := (68117 : ℚ) / 25000 } def n4 : Band := { lo := (29 : ℚ) / 400, hi := (3 : ℚ) / 40, value := (2662019 : ℚ) / 1000000 } def n5 : Band := { lo := (3 : ℚ) / 40, hi := (31 : ℚ) / 400, value := (2603059 : ℚ) / 1000000 } def n6 : Band := { lo := (31 : ℚ) / 400, hi := (2 : ℚ) / 25, value := (1273737 : ℚ) / 500000 } def n7 : Band := { lo := (2 : ℚ) / 25, hi := (33 : ℚ) / 400, value := (1247487 : ℚ) / 500000 } def n8 : Band := { lo := (33 : ℚ) / 400, hi := (17 : ℚ) / 200, value := (1222651 : ℚ) / 500000 } def n9 : Band := { lo := (17 : ℚ) / 200, hi := (7 : ℚ) / 80, value := (2398231 : ℚ) / 1000000 } def n10 : Band := { lo := (7 : ℚ) / 80, hi := (9 : ℚ) / 100, value := (470711 : ℚ) / 200000 } def n11 : Band := { lo := (9 : ℚ) / 100, hi := (37 : ℚ) / 400, value := (2311093 : ℚ) / 1000000 } def n12 : Band := { lo := (37 : ℚ) / 400, hi := (19 : ℚ) / 200, value := (2270679 : ℚ) / 1000000 } def n13 : Band := { lo := (19 : ℚ) / 200, hi := (39 : ℚ) / 400, value := (446433 : ℚ) / 200000 } def n14 : Band := { lo := (39 : ℚ) / 400, hi := (1 : ℚ) / 10, value := (1097709 : ℚ) / 500000 } def n15 : Band := { lo := (1 : ℚ) / 10, hi := (41 : ℚ) / 400, value := (540079 : ℚ) / 250000 } def n16 : Band := { lo := (41 : ℚ) / 400, hi := (21 : ℚ) / 200, value := (2126747 : ℚ) / 1000000 } def n17 : Band := { lo := (21 : ℚ) / 200, hi := (43 : ℚ) / 400, value := (523653 : ℚ) / 250000 } def n18 : Band := { lo := (43 : ℚ) / 400, hi := (11 : ℚ) / 100, value := (2063819 : ℚ) / 1000000 } def n19 : Band := { lo := (11 : ℚ) / 100, hi := (9 : ℚ) / 80, value := (508571 : ℚ) / 250000 } def n20 : Band := { lo := (9 : ℚ) / 80, hi := (23 : ℚ) / 200, value := (2005929 : ℚ) / 1000000 } def n21 : Band := { lo := (23 : ℚ) / 200, hi := (47 : ℚ) / 400, value := (494671 : ℚ) / 250000 } def n22 : Band := { lo := (47 : ℚ) / 400, hi := (3 : ℚ) / 25, value := (488121 : ℚ) / 250000 } def n23 : Band := { lo := (3 : ℚ) / 25, hi := (49 : ℚ) / 400, value := (481817 : ℚ) / 250000 } def n24 : Band := { lo := (49 : ℚ) / 400, hi := (1 : ℚ) / 8, value := (951491 : ℚ) / 500000 } def n25 : Band := { lo := (1 : ℚ) / 8, hi := (51 : ℚ) / 400, value := (939787 : ℚ) / 500000 } def n26 : Band := { lo := (51 : ℚ) / 400, hi := (13 : ℚ) / 100, value := (464249 : ℚ) / 250000 } def n27 : Band := { lo := (13 : ℚ) / 100, hi := (53 : ℚ) / 400, value := (367041 : ℚ) / 200000 } def n28 : Band := { lo := (53 : ℚ) / 400, hi := (27 : ℚ) / 200, value := (1814159 : ℚ) / 1000000 } def n29 : Band := { lo := (27 : ℚ) / 200, hi := (11 : ℚ) / 80, value := (89691 : ℚ) / 50000 } def n30 : Band := { lo := (11 : ℚ) / 80, hi := (7 : ℚ) / 50, value := (887077 : ℚ) / 500000 } def n31 : Band := { lo := (7 : ℚ) / 50, hi := (57 : ℚ) / 400, value := (877563 : ℚ) / 500000 } def n32 : Band := { lo := (57 : ℚ) / 400, hi := (29 : ℚ) / 200, value := (868353 : ℚ) / 500000 } def n33 : Band := { lo := (29 : ℚ) / 200, hi := (59 : ℚ) / 400, value := (343773 : ℚ) / 200000 } def n34 : Band := { lo := (59 : ℚ) / 400, hi := (3 : ℚ) / 20, value := (68063 : ℚ) / 40000 } def n35 : Band := { lo := (3 : ℚ) / 20, hi := (61 : ℚ) / 400, value := (421203 : ℚ) / 250000 } def n36 : Band := { lo := (61 : ℚ) / 400, hi := (31 : ℚ) / 200, value := (208569 : ℚ) / 125000 } def n37 : Band := { lo := (31 : ℚ) / 200, hi := (63 : ℚ) / 400, value := (1652771 : ℚ) / 1000000 } def n38 : Band := { lo := (63 : ℚ) / 400, hi := (4 : ℚ) / 25, value := (32749 : ℚ) / 20000 } def n39 : Band := { lo := (4 : ℚ) / 25, hi := (13 : ℚ) / 80, value := (202821 : ℚ) / 125000 } def n40 : Band := { lo := (13 : ℚ) / 80, hi := (33 : ℚ) / 200, value := (1608107 : ℚ) / 1000000 } def n41 : Band := { lo := (33 : ℚ) / 200, hi := (67 : ℚ) / 400, value := (24907 : ℚ) / 15625 } def n42 : Band := { lo := (67 : ℚ) / 400, hi := (17 : ℚ) / 100, value := (1580377 : ℚ) / 1000000 } def n43 : Band := { lo := (17 : ℚ) / 100, hi := (69 : ℚ) / 400, value := (62683 : ℚ) / 40000 } def n44 : Band := { lo := (69 : ℚ) / 400, hi := (7 : ℚ) / 40, value := (155413 : ℚ) / 100000 } def n45 : Band := { lo := (7 : ℚ) / 40, hi := (71 : ℚ) / 400, value := (1541527 : ℚ) / 1000000 } def n46 : Band := { lo := (71 : ℚ) / 400, hi := (9 : ℚ) / 50, value := (382313 : ℚ) / 250000 } def n47 : Band := { lo := (9 : ℚ) / 50, hi := (73 : ℚ) / 400, value := (304007 : ℚ) / 200000 } def n48 : Band := { lo := (73 : ℚ) / 400, hi := (37 : ℚ) / 200, value := (755921 : ℚ) / 500000 } def n49 : Band := { lo := (37 : ℚ) / 200, hi := (3 : ℚ) / 16, value := (1503817 : ℚ) / 1000000 } def n50 : Band := { lo := (3 : ℚ) / 16, hi := (19 : ℚ) / 100, value := (1495957 : ℚ) / 1000000 } def n51 : Band := { lo := (19 : ℚ) / 100, hi := (77 : ℚ) / 400, value := (1488257 : ℚ) / 1000000 } def n52 : Band := { lo := (77 : ℚ) / 400, hi := (39 : ℚ) / 200, value := (1480711 : ℚ) / 1000000 } def n53 : Band := { lo := (39 : ℚ) / 200, hi := (79 : ℚ) / 400, value := (368329 : ℚ) / 250000 } def n54 : Band := { lo := (79 : ℚ) / 400, hi := (1 : ℚ) / 5, value := (733033 : ℚ) / 500000 } def n55 : Band := { lo := (1 : ℚ) / 5, hi := (81 : ℚ) / 400, value := (1458959 : ℚ) / 1000000 } def n56 : Band := { lo := (81 : ℚ) / 400, hi := (41 : ℚ) / 200, value := (1451989 : ℚ) / 1000000 } def n57 : Band := { lo := (41 : ℚ) / 200, hi := (83 : ℚ) / 400, value := (723507 : ℚ) / 500000 } def n58 : Band := { lo := (83 : ℚ) / 400, hi := (21 : ℚ) / 100, value := (1442899 : ℚ) / 1000000 } def n59 : Band := { lo := (21 : ℚ) / 100, hi := (17 : ℚ) / 80, value := (719423 : ℚ) / 500000 } def n60 : Band := { lo := (17 : ℚ) / 80, hi := (43 : ℚ) / 200, value := (23 : ℚ) / 16 } def n61 : Band := { lo := (43 : ℚ) / 200, hi := (87 : ℚ) / 400, value := (23 : ℚ) / 16 } def n62 : Band := { lo := (87 : ℚ) / 400, hi := (11 : ℚ) / 50, value := (23 : ℚ) / 16 } def n63 : Band := { lo := (11 : ℚ) / 50, hi := (89 : ℚ) / 400, value := (23 : ℚ) / 16 } def n64 : Band := { lo := (89 : ℚ) / 400, hi := (9 : ℚ) / 40, value := (23 : ℚ) / 16 } def n65 : Band := { lo := (9 : ℚ) / 40, hi := (91 : ℚ) / 400, value := (23 : ℚ) / 16 } def n66 : Band := { lo := (91 : ℚ) / 400, hi := (23 : ℚ) / 100, value := (23 : ℚ) / 16 } def n67 : Band := { lo := (23 : ℚ) / 100, hi := (93 : ℚ) / 400, value := (23 : ℚ) / 16 } def n68 : Band := { lo := (93 : ℚ) / 400, hi := (47 : ℚ) / 200, value := (23 : ℚ) / 16 } def n69 : Band := { lo := (47 : ℚ) / 200, hi := (19 : ℚ) / 80, value := (23 : ℚ) / 16 } def n70 : Band := { lo := (19 : ℚ) / 80, hi := (6 : ℚ) / 25, value := (23 : ℚ) / 16 } def n71 : Band := { lo := (6 : ℚ) / 25, hi := (97 : ℚ) / 400, value := (23 : ℚ) / 16 } def n72 : Band := { lo := (97 : ℚ) / 400, hi := (49 : ℚ) / 200, value := (23 : ℚ) / 16 } def n73 : Band := { lo := (49 : ℚ) / 200, hi := (99 : ℚ) / 400, value := (23 : ℚ) / 16 } def n74 : Band := { lo := (99 : ℚ) / 400, hi := (1 : ℚ) / 4, value := (23 : ℚ) / 16 } def n75 : Band := { lo := (1 : ℚ) / 4, hi := (101 : ℚ) / 400, value := (23 : ℚ) / 16 } def n76 : Band := { lo := (101 : ℚ) / 400, hi := (51 : ℚ) / 200, value := (23 : ℚ) / 16 } def n77 : Band := { lo := (51 : ℚ) / 200, hi := (103 : ℚ) / 400, value := (23 : ℚ) / 16 } def n78 : Band := { lo := (103 : ℚ) / 400, hi := (13 : ℚ) / 50, value := (23 : ℚ) / 16 } def n79 : Band := { lo := (13 : ℚ) / 50, hi := (21 : ℚ) / 80, value := (23 : ℚ) / 16 } def n80 : Band := { lo := (21 : ℚ) / 80, hi := (53 : ℚ) / 200, value := (23 : ℚ) / 16 } def n81 : Band := { lo := (53 : ℚ) / 200, hi := (107 : ℚ) / 400, value := (23 : ℚ) / 16 } def n82 : Band := { lo := (107 : ℚ) / 400, hi := (27 : ℚ) / 100, value := (23 : ℚ) / 16 } def n83 : Band := { lo := (27 : ℚ) / 100, hi := (109 : ℚ) / 400, value := (23 : ℚ) / 16 } def n84 : Band := { lo := (109 : ℚ) / 400, hi := (11 : ℚ) / 40, value := (23 : ℚ) / 16 } def n85 : Band := { lo := (11 : ℚ) / 40, hi := (111 : ℚ) / 400, value := (23 : ℚ) / 16 } def n86 : Band := { lo := (111 : ℚ) / 400, hi := (7 : ℚ) / 25, value := (23 : ℚ) / 16 } def n87 : Band := { lo := (7 : ℚ) / 25, hi := (113 : ℚ) / 400, value := (23 : ℚ) / 16 } def n88 : Band := { lo := (113 : ℚ) / 400, hi := (57 : ℚ) / 200, value := (23 : ℚ) / 16 } def n89 : Band := { lo := (57 : ℚ) / 200, hi := (23 : ℚ) / 80, value := (23 : ℚ) / 16 } def n90 : Band := { lo := (23 : ℚ) / 80, hi := (29 : ℚ) / 100, value := (23 : ℚ) / 16 } def n91 : Band := { lo := (29 : ℚ) / 100, hi := (117 : ℚ) / 400, value := (23 : ℚ) / 16 } def n92 : Band := { lo := (117 : ℚ) / 400, hi := (59 : ℚ) / 200, value := (23 : ℚ) / 16 } def n93 : Band := { lo := (59 : ℚ) / 200, hi := (119 : ℚ) / 400, value := (23 : ℚ) / 16 } def n94 : Band := { lo := (119 : ℚ) / 400, hi := (3 : ℚ) / 10, value := (23 : ℚ) / 16 } def n95 : Band := { lo := (3 : ℚ) / 10, hi := (121 : ℚ) / 400, value := (23 : ℚ) / 16 } def n96 : Band := { lo := (121 : ℚ) / 400, hi := (61 : ℚ) / 200, value := (23 : ℚ) / 16 } def n97 : Band := { lo := (61 : ℚ) / 200, hi := (123 : ℚ) / 400, value := (23 : ℚ) / 16 } def n98 : Band := { lo := (123 : ℚ) / 400, hi := (31 : ℚ) / 100, value := (23 : ℚ) / 16 } def n99 : Band := { lo := (31 : ℚ) / 100, hi := (5 : ℚ) / 16, value := (23 : ℚ) / 16 } def n100 : Band := { lo := (5 : ℚ) / 16, hi := (63 : ℚ) / 200, value := (23 : ℚ) / 16 } def n101 : Band := { lo := (63 : ℚ) / 200, hi := (127 : ℚ) / 400, value := (23 : ℚ) / 16 } def n102 : Band := { lo := (127 : ℚ) / 400, hi := (8 : ℚ) / 25, value := (23 : ℚ) / 16 } def n103 : Band := { lo := (8 : ℚ) / 25, hi := (129 : ℚ) / 400, value := (23 : ℚ) / 16 } def n104 : Band := { lo := (129 : ℚ) / 400, hi := (13 : ℚ) / 40, value := (23 : ℚ) / 16 } def n105 : Band := { lo := (13 : ℚ) / 40, hi := (131 : ℚ) / 400, value := (23 : ℚ) / 16 } def n106 : Band := { lo := (131 : ℚ) / 400, hi := (33 : ℚ) / 100, value := (23 : ℚ) / 16 } def n107 : Band := { lo := (33 : ℚ) / 100, hi := (133 : ℚ) / 400, value := (23 : ℚ) / 16 } def n108 : Band := { lo := (133 : ℚ) / 400, hi := (67 : ℚ) / 200, value := (23 : ℚ) / 16 } def n109 : Band := { lo := (67 : ℚ) / 200, hi := (27 : ℚ) / 80, value := (23 : ℚ) / 16 } def n110 : Band := { lo := (27 : ℚ) / 80, hi := (17 : ℚ) / 50, value := (23 : ℚ) / 16 } def n111 : Band := { lo := (17 : ℚ) / 50, hi := (137 : ℚ) / 400, value := (23 : ℚ) / 16 } def n112 : Band := { lo := (137 : ℚ) / 400, hi := (69 : ℚ) / 200, value := (23 : ℚ) / 16 } def n113 : Band := { lo := (69 : ℚ) / 200, hi := (139 : ℚ) / 400, value := (23 : ℚ) / 16 } def n114 : Band := { lo := (139 : ℚ) / 400, hi := (7 : ℚ) / 20, value := (23 : ℚ) / 16 } def n115 : Band := { lo := (7 : ℚ) / 20, hi := (141 : ℚ) / 400, value := (23 : ℚ) / 16 } def n116 : Band := { lo := (141 : ℚ) / 400, hi := (71 : ℚ) / 200, value := (23 : ℚ) / 16 } def n117 : Band := { lo := (71 : ℚ) / 200, hi := (143 : ℚ) / 400, value := (23 : ℚ) / 16 } def n118 : Band := { lo := (143 : ℚ) / 400, hi := (9 : ℚ) / 25, value := (23 : ℚ) / 16 } def n119 : Band := { lo := (9 : ℚ) / 25, hi := (29 : ℚ) / 80, value := (23 : ℚ) / 16 } def n120 : Band := { lo := (29 : ℚ) / 80, hi := (73 : ℚ) / 200, value := (23 : ℚ) / 16 } def n121 : Band := { lo := (73 : ℚ) / 200, hi := (147 : ℚ) / 400, value := (23 : ℚ) / 16 } def n122 : Band := { lo := (147 : ℚ) / 400, hi := (37 : ℚ) / 100, value := (23 : ℚ) / 16 } def n123 : Band := { lo := (37 : ℚ) / 100, hi := (149 : ℚ) / 400, value := (23 : ℚ) / 16 } def n124 : Band := { lo := (149 : ℚ) / 400, hi := (3 : ℚ) / 8, value := (23 : ℚ) / 16 } def n125 : Band := { lo := (3 : ℚ) / 8, hi := (151 : ℚ) / 400, value := (23 : ℚ) / 16 } def n126 : Band := { lo := (151 : ℚ) / 400, hi := (19 : ℚ) / 50, value := (23 : ℚ) / 16 } def n127 : Band := { lo := (19 : ℚ) / 50, hi := (153 : ℚ) / 400, value := (23 : ℚ) / 16 } def n128 : Band := { lo := (153 : ℚ) / 400, hi := (77 : ℚ) / 200, value := (23 : ℚ) / 16 } def n129 : Band := { lo := (77 : ℚ) / 200, hi := (31 : ℚ) / 80, value := (23 : ℚ) / 16 } def n130 : Band := { lo := (31 : ℚ) / 80, hi := (39 : ℚ) / 100, value := (23 : ℚ) / 16 } def n131 : Band := { lo := (39 : ℚ) / 100, hi := (157 : ℚ) / 400, value := (23 : ℚ) / 16 } def n132 : Band := { lo := (157 : ℚ) / 400, hi := (79 : ℚ) / 200, value := (23 : ℚ) / 16 } def n133 : Band := { lo := (79 : ℚ) / 200, hi := (159 : ℚ) / 400, value := (23 : ℚ) / 16 } def n134 : Band := { lo := (159 : ℚ) / 400, hi := (2 : ℚ) / 5, value := (23 : ℚ) / 16 } def n135 : Band := { lo := (2 : ℚ) / 5, hi := (161 : ℚ) / 400, value := (23 : ℚ) / 16 } def n136 : Band := { lo := (161 : ℚ) / 400, hi := (81 : ℚ) / 200, value := (23 : ℚ) / 16 } def n137 : Band := { lo := (81 : ℚ) / 200, hi := (163 : ℚ) / 400, value := (23 : ℚ) / 16 } def n138 : Band := { lo := (163 : ℚ) / 400, hi := (41 : ℚ) / 100, value := (23 : ℚ) / 16 } def n139 : Band := { lo := (41 : ℚ) / 100, hi := (33 : ℚ) / 80, value := (23 : ℚ) / 16 } def n140 : Band := { lo := (33 : ℚ) / 80, hi := (83 : ℚ) / 200, value := (23 : ℚ) / 16 } def n141 : Band := { lo := (83 : ℚ) / 200, hi := (167 : ℚ) / 400, value := (23 : ℚ) / 16 } def n142 : Band := { lo := (167 : ℚ) / 400, hi := (21 : ℚ) / 50, value := (23 : ℚ) / 16 } def n143 : Band := { lo := (21 : ℚ) / 50, hi := (169 : ℚ) / 400, value := (23 : ℚ) / 16 } def n144 : Band := { lo := (169 : ℚ) / 400, hi := (17 : ℚ) / 40, value := (23 : ℚ) / 16 } def n145 : Band := { lo := (17 : ℚ) / 40, hi := (171 : ℚ) / 400, value := (23 : ℚ) / 16 } def n146 : Band := { lo := (171 : ℚ) / 400, hi := (43 : ℚ) / 100, value := (23 : ℚ) / 16 } def n147 : Band := { lo := (43 : ℚ) / 100, hi := (173 : ℚ) / 400, value := (23 : ℚ) / 16 } def n148 : Band := { lo := (173 : ℚ) / 400, hi := (87 : ℚ) / 200, value := (23 : ℚ) / 16 } def n149 : Band := { lo := (87 : ℚ) / 200, hi := (7 : ℚ) / 16, value := (23 : ℚ) / 16 } def n150 : Band := { lo := (7 : ℚ) / 16, hi := (11 : ℚ) / 25, value := (23 : ℚ) / 16 } def n151 : Band := { lo := (11 : ℚ) / 25, hi := (177 : ℚ) / 400, value := (23 : ℚ) / 16 } def n152 : Band := { lo := (177 : ℚ) / 400, hi := (89 : ℚ) / 200, value := (23 : ℚ) / 16 } def n153 : Band := { lo := (89 : ℚ) / 200, hi := (179 : ℚ) / 400, value := (23 : ℚ) / 16 } def n154 : Band := { lo := (179 : ℚ) / 400, hi := (9 : ℚ) / 20, value := (23 : ℚ) / 16 } def n155 : Band := { lo := (9 : ℚ) / 20, hi := (181 : ℚ) / 400, value := (23 : ℚ) / 16 } def n156 : Band := { lo := (181 : ℚ) / 400, hi := (91 : ℚ) / 200, value := (23 : ℚ) / 16 } def n157 : Band := { lo := (91 : ℚ) / 200, hi := (183 : ℚ) / 400, value := (23 : ℚ) / 16 } def n158 : Band := { lo := (183 : ℚ) / 400, hi := (23 : ℚ) / 50, value := (23 : ℚ) / 16 } def n159 : Band := { lo := (23 : ℚ) / 50, hi := (37 : ℚ) / 80, value := (23 : ℚ) / 16 } def n160 : Band := { lo := (37 : ℚ) / 80, hi := (93 : ℚ) / 200, value := (23 : ℚ) / 16 } def n161 : Band := { lo := (93 : ℚ) / 200, hi := (187 : ℚ) / 400, value := (23 : ℚ) / 16 } def n162 : Band := { lo := (187 : ℚ) / 400, hi := (47 : ℚ) / 100, value := (23 : ℚ) / 16 } def n163 : Band := { lo := (47 : ℚ) / 100, hi := (189 : ℚ) / 400, value := (23 : ℚ) / 16 } def n164 : Band := { lo := (189 : ℚ) / 400, hi := (19 : ℚ) / 40, value := (23 : ℚ) / 16 } def n165 : Band := { lo := (19 : ℚ) / 40, hi := (191 : ℚ) / 400, value := (23 : ℚ) / 16 } def n166 : Band := { lo := (191 : ℚ) / 400, hi := (12 : ℚ) / 25, value := (23 : ℚ) / 16 } def n167 : Band := { lo := (12 : ℚ) / 25, hi := (193 : ℚ) / 400, value := (23 : ℚ) / 16 } def n168 : Band := { lo := (193 : ℚ) / 400, hi := (97 : ℚ) / 200, value := (23 : ℚ) / 16 } def n169 : Band := { lo := (97 : ℚ) / 200, hi := (39 : ℚ) / 80, value := (23 : ℚ) / 16 } def n170 : Band := { lo := (39 : ℚ) / 80, hi := (49 : ℚ) / 100, value := (23 : ℚ) / 16 } def n171 : Band := { lo := (49 : ℚ) / 100, hi := (197 : ℚ) / 400, value := (23 : ℚ) / 16 } def n172 : Band := { lo := (197 : ℚ) / 400, hi := (99 : ℚ) / 200, value := (23 : ℚ) / 16 } def n173 : Band := { lo := (99 : ℚ) / 200, hi := (199 : ℚ) / 400, value := (23 : ℚ) / 16 } def n174 : Band := { lo := (199 : ℚ) / 400, hi := (1 : ℚ) / 2, value := (23 : ℚ) / 16 } def n175 : Band := { lo := (1 : ℚ) / 2, hi := (201 : ℚ) / 400, value := (23 : ℚ) / 16 } def n176 : Band := { lo := (201 : ℚ) / 400, hi := (101 : ℚ) / 200, value := (23 : ℚ) / 16 } def n177 : Band := { lo := (101 : ℚ) / 200, hi := (203 : ℚ) / 400, value := (23 : ℚ) / 16 } def n178 : Band := { lo := (203 : ℚ) / 400, hi := (51 : ℚ) / 100, value := (23 : ℚ) / 16 } def n179 : Band := { lo := (51 : ℚ) / 100, hi := (41 : ℚ) / 80, value := (23 : ℚ) / 16 } def n180 : Band := { lo := (41 : ℚ) / 80, hi := (103 : ℚ) / 200, value := (23 : ℚ) / 16 } def n181 : Band := { lo := (103 : ℚ) / 200, hi := (207 : ℚ) / 400, value := (23 : ℚ) / 16 } def n182 : Band := { lo := (207 : ℚ) / 400, hi := (13 : ℚ) / 25, value := (23 : ℚ) / 16 } def n183 : Band := { lo := (13 : ℚ) / 25, hi := (209 : ℚ) / 400, value := (23 : ℚ) / 16 } def n184 : Band := { lo := (209 : ℚ) / 400, hi := (21 : ℚ) / 40, value := (23 : ℚ) / 16 } def n185 : Band := { lo := (21 : ℚ) / 40, hi := (211 : ℚ) / 400, value := (23 : ℚ) / 16 } def n186 : Band := { lo := (211 : ℚ) / 400, hi := (53 : ℚ) / 100, value := (23 : ℚ) / 16 } def n187 : Band := { lo := (53 : ℚ) / 100, hi := (213 : ℚ) / 400, value := (23 : ℚ) / 16 } def n188 : Band := { lo := (213 : ℚ) / 400, hi := (107 : ℚ) / 200, value := (23 : ℚ) / 16 } def n189 : Band := { lo := (107 : ℚ) / 200, hi := (43 : ℚ) / 80, value := (23 : ℚ) / 16 } def n190 : Band := { lo := (43 : ℚ) / 80, hi := (27 : ℚ) / 50, value := (23 : ℚ) / 16 } def n191 : Band := { lo := (27 : ℚ) / 50, hi := (217 : ℚ) / 400, value := (23 : ℚ) / 16 } def n192 : Band := { lo := (217 : ℚ) / 400, hi := (109 : ℚ) / 200, value := (23 : ℚ) / 16 } def n193 : Band := { lo := (109 : ℚ) / 200, hi := (219 : ℚ) / 400, value := (23 : ℚ) / 16 } def n194 : Band := { lo := (219 : ℚ) / 400, hi := (11 : ℚ) / 20, value := (23 : ℚ) / 16 } def n195 : Band := { lo := (11 : ℚ) / 20, hi := (221 : ℚ) / 400, value := (23 : ℚ) / 16 } def n196 : Band := { lo := (221 : ℚ) / 400, hi := (111 : ℚ) / 200, value := (23 : ℚ) / 16 } def n197 : Band := { lo := (111 : ℚ) / 200, hi := (223 : ℚ) / 400, value := (23 : ℚ) / 16 } def n198 : Band := { lo := (223 : ℚ) / 400, hi := (14 : ℚ) / 25, value := (23 : ℚ) / 16 } def ns0 : List Band := [n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15] def ns1 : List Band := [n16, n17, n18, n19, n20, n21, n22, n23, n24, n25, n26, n27, n28, n29, n30, n31] def ns2 : List Band := [n32, n33, n34, n35, n36, n37, n38, n39, n40, n41, n42, n43, n44, n45, n46, n47] def ns3 : List Band := [n48, n49, n50, n51, n52, n53, n54, n55, n56, n57, n58, n59, n60, n61, n62, n63] def ns4 : List Band := [n64, n65, n66, n67, n68, n69, n70, n71, n72, n73, n74, n75, n76, n77, n78, n79] def ns5 : List Band := [n80, n81, n82, n83, n84, n85, n86, n87, n88, n89, n90, n91, n92, n93, n94, n95] def ns6 : List Band := [n96, n97, n98, n99, n100, n101, n102, n103, n104, n105, n106, n107, n108, n109, n110, n111] def ns7 : List Band := [n112, n113, n114, n115, n116, n117, n118, n119, n120, n121, n122, n123, n124, n125, n126, n127] def ns8 : List Band := [n128, n129, n130, n131, n132, n133, n134, n135, n136, n137, n138, n139, n140, n141, n142, n143] def ns9 : List Band := [n144, n145, n146, n147, n148, n149, n150, n151, n152, n153, n154, n155, n156, n157, n158, n159] def ns10 : List Band := [n160, n161, n162, n163, n164, n165, n166, n167, n168, n169, n170, n171, n172, n173, n174, n175] def ns11 : List Band := [n176, n177, n178, n179, n180, n181, n182, n183, n184, n185, n186, n187, n188, n189, n190, n191] def ns12 : List Band := [n192, n193, n194, n195, n196, n197, n198] def nsJoin0 : List Band := ns1 ++ ns2 def nsJoin1 : List Band := ns0 ++ nsJoin0 def nsJoin2 : List Band := ns4 ++ ns5 def nsJoin3 : List Band := ns3 ++ nsJoin2 def nsJoin4 : List Band := nsJoin1 ++ nsJoin3 def nsJoin5 : List Band := ns7 ++ ns8 def nsJoin6 : List Band := ns6 ++ nsJoin5 def nsJoin7 : List Band := ns9 ++ ns10 def nsJoin8 : List Band := ns11 ++ ns12 def nsJoin9 : List Band := nsJoin7 ++ nsJoin8 def nsJoin10 : List Band := nsJoin6 ++ nsJoin9 def nsJoin11 : List Band := nsJoin4 ++ nsJoin10 def negBands : List Band := nsJoin11 def ps0 : List Band := [p0] def ps1 : List Band := [p1] def ps2 : List Band := [p2] def ps3 : List Band := [p3] def ps4 : List Band := [p4] def ps5 : List Band := [p5] def ps6 : List Band := [p6] def ps7 : List Band := [p7] def ps8 : List Band := [p8] def ps9 : List Band := [p9] def ps10 : List Band := [p10] def ps11 : List Band := [p11] def ps12 : List Band := [p12] def ps13 : List Band := [p13] def ps14 : List Band := [p14] def ps15 : List Band := [p15] def ps16 : List Band := [p16] def ps17 : List Band := [p17] def ps18 : List Band := [p18] def ps19 : List Band := [p19] def ps20 : List Band := [p20] def ps21 : List Band := [p21] def ps22 : List Band := [p22] def ps23 : List Band := [p23] def ps24 : List Band := [p24] def ps25 : List Band := [p25] def ps26 : List Band := [p26] def ps27 : List Band := [p27] def ps28 : List Band := [p28] def ps29 : List Band := [p29] def ps30 : List Band := [p30] def ps31 : List Band := [p31] def ps32 : List Band := [p32] def ps33 : List Band := [p33] def ps34 : List Band := [p34] def ps35 : List Band := [p35] def ps36 : List Band := [p36] def ps37 : List Band := [p37] def ps38 : List Band := [p38] def ps39 : List Band := [p39] def ps40 : List Band := [p40] def ps41 : List Band := [p41] def ps42 : List Band := [p42] def ps43 : List Band := [p43] def ps44 : List Band := [p44] def ps45 : List Band := [p45] def ps46 : List Band := [p46] def ps47 : List Band := [p47] def ps48 : List Band := [p48] def ps49 : List Band := [p49] def ps50 : List Band := [p50] def ps51 : List Band := [p51] def ps52 : List Band := [p52] def ps53 : List Band := [p53] def ps54 : List Band := [p54] def ps55 : List Band := [p55] def ps56 : List Band := [p56] def ps57 : List Band := [p57] def ps58 : List Band := [p58] def ps59 : List Band := [p59] def ps60 : List Band := [p60] def ps61 : List Band := [p61] def ps62 : List Band := [p62] def psJoin0 : List Band := ps1 ++ ps2 def psJoin1 : List Band := ps0 ++ psJoin0 def psJoin2 : List Band := ps3 ++ ps4 def psJoin3 : List Band := ps5 ++ ps6 def psJoin4 : List Band := psJoin2 ++ psJoin3 def psJoin5 : List Band := psJoin1 ++ psJoin4 def psJoin6 : List Band := ps7 ++ ps8 def psJoin7 : List Band := ps9 ++ ps10 def psJoin8 : List Band := psJoin6 ++ psJoin7 def psJoin9 : List Band := ps11 ++ ps12 def psJoin10 : List Band := ps13 ++ ps14 def psJoin11 : List Band := psJoin9 ++ psJoin10 def psJoin12 : List Band := psJoin8 ++ psJoin11 def psJoin13 : List Band := psJoin5 ++ psJoin12 def psJoin14 : List Band := ps15 ++ ps16 def psJoin15 : List Band := ps17 ++ ps18 def psJoin16 : List Band := psJoin14 ++ psJoin15 def psJoin17 : List Band := ps19 ++ ps20 def psJoin18 : List Band := ps21 ++ ps22 def psJoin19 : List Band := psJoin17 ++ psJoin18 def psJoin20 : List Band := psJoin16 ++ psJoin19 def psJoin21 : List Band := ps23 ++ ps24 def psJoin22 : List Band := ps25 ++ ps26 def psJoin23 : List Band := psJoin21 ++ psJoin22 def psJoin24 : List Band := ps27 ++ ps28 def psJoin25 : List Band := ps29 ++ ps30 def psJoin26 : List Band := psJoin24 ++ psJoin25 def psJoin27 : List Band := psJoin23 ++ psJoin26 def psJoin28 : List Band := psJoin20 ++ psJoin27 def psJoin29 : List Band := psJoin13 ++ psJoin28 def psJoin30 : List Band := ps31 ++ ps32 def psJoin31 : List Band := ps33 ++ ps34 def psJoin32 : List Band := psJoin30 ++ psJoin31 def psJoin33 : List Band := ps35 ++ ps36 def psJoin34 : List Band := ps37 ++ ps38 def psJoin35 : List Band := psJoin33 ++ psJoin34 def psJoin36 : List Band := psJoin32 ++ psJoin35 def psJoin37 : List Band := ps39 ++ ps40 def psJoin38 : List Band := ps41 ++ ps42 def psJoin39 : List Band := psJoin37 ++ psJoin38 def psJoin40 : List Band := ps43 ++ ps44 def psJoin41 : List Band := ps45 ++ ps46 def psJoin42 : List Band := psJoin40 ++ psJoin41 def psJoin43 : List Band := psJoin39 ++ psJoin42 def psJoin44 : List Band := psJoin36 ++ psJoin43 def psJoin45 : List Band := ps47 ++ ps48 def psJoin46 : List Band := ps49 ++ ps50 def psJoin47 : List Band := psJoin45 ++ psJoin46 def psJoin48 : List Band := ps51 ++ ps52 def psJoin49 : List Band := ps53 ++ ps54 def psJoin50 : List Band := psJoin48 ++ psJoin49 def psJoin51 : List Band := psJoin47 ++ psJoin50 def psJoin52 : List Band := ps55 ++ ps56 def psJoin53 : List Band := ps57 ++ ps58 def psJoin54 : List Band := psJoin52 ++ psJoin53 def psJoin55 : List Band := ps59 ++ ps60 def psJoin56 : List Band := ps61 ++ ps62 def psJoin57 : List Band := psJoin55 ++ psJoin56 def psJoin58 : List Band := psJoin54 ++ psJoin57 def psJoin59 : List Band := psJoin51 ++ psJoin58 def psJoin60 : List Band := psJoin44 ++ psJoin59 def psJoin61 : List Band := psJoin29 ++ psJoin60 def posBands : List Band := psJoin61 end QuantileFiniteCertificate.GridData end /- END M082 -/ /- BEGIN M083 -/ section namespace QuantileFiniteCertificate.NegativeTable def row0 : NegativeRow := ⟨(13 / 200), 0, (683342604647 / 250000000000), (587773 / 200000), 64⟩ theorem row0Numerics : checkNegativeRowNumerics row0 = true := by decide +kernel theorem row0Log : Polya26.QuantileLogBounds.checkLogUpper row0.beta row0.logUpper row0.terms = true := by decide +kernel theorem row0Accepted : NegativeRowAccepted row0 := ⟨row0Numerics, row0Log⟩ def row1 : NegativeRow := ⟨(27 / 400), 0, (539125860407 / 200000000000), (2862647 / 1000000), 64⟩ theorem row1Numerics : checkNegativeRowNumerics row1 = true := by decide +kernel theorem row1Log : Polya26.QuantileLogBounds.checkLogUpper row1.beta row1.logUpper row1.terms = true := by decide +kernel theorem row1Accepted : NegativeRowAccepted row1 := ⟨row1Numerics, row1Log⟩ def row2 : NegativeRow := ⟨(7 / 100), 0, (2659261129801 / 1000000000000), (1395707 / 500000), 64⟩ theorem row2Numerics : checkNegativeRowNumerics row2 = true := by decide +kernel theorem row2Log : Polya26.QuantileLogBounds.checkLogUpper row2.beta row2.logUpper row2.terms = true := by decide +kernel theorem row2Accepted : NegativeRowAccepted row2 := ⟨row2Numerics, row2Log⟩ def row3 : NegativeRow := ⟨(29 / 400), 0, (2624169455479 / 1000000000000), (68117 / 25000), 64⟩ theorem row3Numerics : checkNegativeRowNumerics row3 = true := by decide +kernel theorem row3Log : Polya26.QuantileLogBounds.checkLogUpper row3.beta row3.logUpper row3.terms = true := by decide +kernel theorem row3Accepted : NegativeRowAccepted row3 := ⟨row3Numerics, row3Log⟩ def row4 : NegativeRow := ⟨(3 / 40), 0, (80945864539 / 31250000000), (2662019 / 1000000), 64⟩ theorem row4Numerics : checkNegativeRowNumerics row4 = true := by decide +kernel theorem row4Log : Polya26.QuantileLogBounds.checkLogUpper row4.beta row4.logUpper row4.terms = true := by decide +kernel theorem row4Accepted : NegativeRowAccepted row4 := ⟨row4Numerics, row4Log⟩ def row5 : NegativeRow := ⟨(31 / 400), 0, (639369420387 / 250000000000), (2603059 / 1000000), 64⟩ theorem row5Numerics : checkNegativeRowNumerics row5 = true := by decide +kernel theorem row5Log : Polya26.QuantileLogBounds.checkLogUpper row5.beta row5.logUpper row5.terms = true := by decide +kernel theorem row5Accepted : NegativeRowAccepted row5 := ⟨row5Numerics, row5Log⟩ def row6 : NegativeRow := ⟨(2 / 25), 0, (1262864437261 / 500000000000), (1273737 / 500000), 64⟩ theorem row6Numerics : checkNegativeRowNumerics row6 = true := by decide +kernel theorem row6Log : Polya26.QuantileLogBounds.checkLogUpper row6.beta row6.logUpper row6.terms = true := by decide +kernel theorem row6Accepted : NegativeRowAccepted row6 := ⟨row6Numerics, row6Log⟩ def row7 : NegativeRow := ⟨(33 / 400), 0, (155934821391 / 62500000000), (1247487 / 500000), 64⟩ theorem row7Numerics : checkNegativeRowNumerics row7 = true := by decide +kernel theorem row7Log : Polya26.QuantileLogBounds.checkLogUpper row7.beta row7.logUpper row7.terms = true := by decide +kernel theorem row7Accepted : NegativeRowAccepted row7 := ⟨row7Numerics, row7Log⟩ def row8 : NegativeRow := ⟨(17 / 200), 0, (308138016149 / 125000000000), (1222651 / 500000), 64⟩ theorem row8Numerics : checkNegativeRowNumerics row8 = true := by decide +kernel theorem row8Log : Polya26.QuantileLogBounds.checkLogUpper row8.beta row8.logUpper row8.terms = true := by decide +kernel theorem row8Accepted : NegativeRowAccepted row8 := ⟨row8Numerics, row8Log⟩ def row9 : NegativeRow := ⟨(7 / 80), 0, (2436116558411 / 1000000000000), (2398231 / 1000000), 64⟩ theorem row9Numerics : checkNegativeRowNumerics row9 = true := by decide +kernel theorem row9Log : Polya26.QuantileLogBounds.checkLogUpper row9.beta row9.logUpper row9.terms = true := by decide +kernel theorem row9Accepted : NegativeRowAccepted row9 := ⟨row9Numerics, row9Log⟩ def row10 : NegativeRow := ⟨(9 / 100), 0, (19263565267 / 8000000000), (470711 / 200000), 64⟩ theorem row10Numerics : checkNegativeRowNumerics row10 = true := by decide +kernel theorem row10Log : Polya26.QuantileLogBounds.checkLogUpper row10.beta row10.logUpper row10.terms = true := by decide +kernel theorem row10Accepted : NegativeRowAccepted row10 := ⟨row10Numerics, row10Log⟩ def row11 : NegativeRow := ⟨(37 / 400), 0, (2380546668469 / 1000000000000), (2311093 / 1000000), 64⟩ theorem row11Numerics : checkNegativeRowNumerics row11 = true := by decide +kernel theorem row11Log : Polya26.QuantileLogBounds.checkLogUpper row11.beta row11.logUpper row11.terms = true := by decide +kernel theorem row11Accepted : NegativeRowAccepted row11 := ⟨row11Numerics, row11Log⟩ def row12 : NegativeRow := ⟨(19 / 200), 0, (294234801333 / 125000000000), (2270679 / 1000000), 64⟩ theorem row12Numerics : checkNegativeRowNumerics row12 = true := by decide +kernel theorem row12Log : Polya26.QuantileLogBounds.checkLogUpper row12.beta row12.logUpper row12.terms = true := by decide +kernel theorem row12Accepted : NegativeRowAccepted row12 := ⟨row12Numerics, row12Log⟩ def row13 : NegativeRow := ⟨(39 / 400), 0, (290987864617 / 125000000000), (446433 / 200000), 64⟩ theorem row13Numerics : checkNegativeRowNumerics row13 = true := by decide +kernel theorem row13Log : Polya26.QuantileLogBounds.checkLogUpper row13.beta row13.logUpper row13.terms = true := by decide +kernel theorem row13Accepted : NegativeRowAccepted row13 := ⟨row13Numerics, row13Log⟩ def row14 : NegativeRow := ⟨(1 / 10), 0, (1151292551971 / 500000000000), (1097709 / 500000), 64⟩ theorem row14Numerics : checkNegativeRowNumerics row14 = true := by decide +kernel theorem row14Log : Polya26.QuantileLogBounds.checkLogUpper row14.beta row14.logUpper row14.terms = true := by decide +kernel theorem row14Accepted : NegativeRowAccepted row14 := ⟨row14Numerics, row14Log⟩ def row15 : NegativeRow := ⟨(41 / 400), 0, (2277892487921 / 1000000000000), (540079 / 250000), 64⟩ theorem row15Numerics : checkNegativeRowNumerics row15 = true := by decide +kernel theorem row15Log : Polya26.QuantileLogBounds.checkLogUpper row15.beta row15.logUpper row15.terms = true := by decide +kernel theorem row15Accepted : NegativeRowAccepted row15 := ⟨row15Numerics, row15Log⟩ def row16 : NegativeRow := ⟨(21 / 200), 0, (281724366749 / 125000000000), (2126747 / 1000000), 64⟩ theorem row16Numerics : checkNegativeRowNumerics row16 = true := by decide +kernel theorem row16Log : Polya26.QuantileLogBounds.checkLogUpper row16.beta row16.logUpper row16.terms = true := by decide +kernel theorem row16Accepted : NegativeRowAccepted row16 := ⟨row16Numerics, row16Log⟩ def row17 : NegativeRow := ⟨(43 / 400), 0, (2230264434969 / 1000000000000), (523653 / 250000), 64⟩ theorem row17Numerics : checkNegativeRowNumerics row17 = true := by decide +kernel theorem row17Log : Polya26.QuantileLogBounds.checkLogUpper row17.beta row17.logUpper row17.terms = true := by decide +kernel theorem row17Accepted : NegativeRowAccepted row17 := ⟨row17Numerics, row17Log⟩ def row18 : NegativeRow := ⟨(11 / 100), 0, (551818728909 / 250000000000), (2063819 / 1000000), 64⟩ theorem row18Numerics : checkNegativeRowNumerics row18 = true := by decide +kernel theorem row18Log : Polya26.QuantileLogBounds.checkLogUpper row18.beta row18.logUpper row18.terms = true := by decide +kernel theorem row18Accepted : NegativeRowAccepted row18 := ⟨row18Numerics, row18Log⟩ def row19 : NegativeRow := ⟨(9 / 80), 0, (2184802059023 / 1000000000000), (508571 / 250000), 64⟩ theorem row19Numerics : checkNegativeRowNumerics row19 = true := by decide +kernel theorem row19Log : Polya26.QuantileLogBounds.checkLogUpper row19.beta row19.logUpper row19.terms = true := by decide +kernel theorem row19Accepted : NegativeRowAccepted row19 := ⟨row19Numerics, row19Log⟩ def row20 : NegativeRow := ⟨(23 / 200), 0, (2162823151781 / 1000000000000), (2005929 / 1000000), 64⟩ theorem row20Numerics : checkNegativeRowNumerics row20 = true := by decide +kernel theorem row20Log : Polya26.QuantileLogBounds.checkLogUpper row20.beta row20.logUpper row20.terms = true := by decide +kernel theorem row20Accepted : NegativeRowAccepted row20 := ⟨row20Numerics, row20Log⟩ def row21 : NegativeRow := ⟨(47 / 400), 0, (10706584731 / 5000000000), (494671 / 250000), 64⟩ theorem row21Numerics : checkNegativeRowNumerics row21 = true := by decide +kernel theorem row21Log : Polya26.QuantileLogBounds.checkLogUpper row21.beta row21.logUpper row21.terms = true := by decide +kernel theorem row21Accepted : NegativeRowAccepted row21 := ⟨row21Numerics, row21Log⟩ def row22 : NegativeRow := ⟨(3 / 25), 0, (1060131768377 / 500000000000), (488121 / 250000), 64⟩ theorem row22Numerics : checkNegativeRowNumerics row22 = true := by decide +kernel theorem row22Log : Polya26.QuantileLogBounds.checkLogUpper row22.beta row22.logUpper row22.terms = true := by decide +kernel theorem row22Accepted : NegativeRowAccepted row22 := ⟨row22Numerics, row22Log⟩ def row23 : NegativeRow := ⟨(49 / 400), 0, (104982212469 / 50000000000), (481817 / 250000), 64⟩ theorem row23Numerics : checkNegativeRowNumerics row23 = true := by decide +kernel theorem row23Log : Polya26.QuantileLogBounds.checkLogUpper row23.beta row23.logUpper row23.terms = true := by decide +kernel theorem row23Accepted : NegativeRowAccepted row23 := ⟨row23Numerics, row23Log⟩ def row24 : NegativeRow := ⟨(1 / 8), 0, (259930192743 / 125000000000), (951491 / 500000), 64⟩ theorem row24Numerics : checkNegativeRowNumerics row24 = true := by decide +kernel theorem row24Log : Polya26.QuantileLogBounds.checkLogUpper row24.beta row24.logUpper row24.terms = true := by decide +kernel theorem row24Accepted : NegativeRowAccepted row24 := ⟨row24Numerics, row24Log⟩ def row25 : NegativeRow := ⟨(51 / 400), 0, (2059638914567 / 1000000000000), (939787 / 500000), 64⟩ theorem row25Numerics : checkNegativeRowNumerics row25 = true := by decide +kernel theorem row25Log : Polya26.QuantileLogBounds.checkLogUpper row25.beta row25.logUpper row25.terms = true := by decide +kernel theorem row25Accepted : NegativeRowAccepted row25 := ⟨row25Numerics, row25Log⟩ def row26 : NegativeRow := ⟨(13 / 100), 0, (2040220828653 / 1000000000000), (464249 / 250000), 64⟩ theorem row26Numerics : checkNegativeRowNumerics row26 = true := by decide +kernel theorem row26Log : Polya26.QuantileLogBounds.checkLogUpper row26.beta row26.logUpper row26.terms = true := by decide +kernel theorem row26Accepted : NegativeRowAccepted row26 := ⟨row26Numerics, row26Log⟩ def row27 : NegativeRow := ⟨(53 / 400), 0, (505293158411 / 250000000000), (367041 / 200000), 64⟩ theorem row27Numerics : checkNegativeRowNumerics row27 = true := by decide +kernel theorem row27Log : Polya26.QuantileLogBounds.checkLogUpper row27.beta row27.logUpper row27.terms = true := by decide +kernel theorem row27Accepted : NegativeRowAccepted row27 := ⟨row27Numerics, row27Log⟩ def row28 : NegativeRow := ⟨(27 / 200), 0, (400496100121 / 200000000000), (1814159 / 1000000), 64⟩ theorem row28Numerics : checkNegativeRowNumerics row28 = true := by decide +kernel theorem row28Log : Polya26.QuantileLogBounds.checkLogUpper row28.beta row28.logUpper row28.terms = true := by decide +kernel theorem row28Accepted : NegativeRowAccepted row28 := ⟨row28Numerics, row28Log⟩ def row29 : NegativeRow := ⟨(11 / 80), 0, (992065680959 / 500000000000), (89691 / 50000), 64⟩ theorem row29Numerics : checkNegativeRowNumerics row29 = true := by decide +kernel theorem row29Log : Polya26.QuantileLogBounds.checkLogUpper row29.beta row29.logUpper row29.terms = true := by decide +kernel theorem row29Accepted : NegativeRowAccepted row29 := ⟨row29Numerics, row29Log⟩ def row30 : NegativeRow := ⟨(7 / 50), 0, (983056428201 / 500000000000), (887077 / 500000), 64⟩ theorem row30Numerics : checkNegativeRowNumerics row30 = true := by decide +kernel theorem row30Log : Polya26.QuantileLogBounds.checkLogUpper row30.beta row30.logUpper row30.terms = true := by decide +kernel theorem row30Accepted : NegativeRowAccepted row30 := ⟨row30Numerics, row30Log⟩ def row31 : NegativeRow := ⟨(57 / 400), 0, (974206639647 / 500000000000), (877563 / 500000), 64⟩ theorem row31Numerics : checkNegativeRowNumerics row31 = true := by decide +kernel theorem row31Log : Polya26.QuantileLogBounds.checkLogUpper row31.beta row31.logUpper row31.terms = true := by decide +kernel theorem row31Accepted : NegativeRowAccepted row31 := ⟨row31Numerics, row31Log⟩ def row32 : NegativeRow := ⟨(29 / 200), 0, (30172211509 / 15625000000), (868353 / 500000), 64⟩ theorem row32Numerics : checkNegativeRowNumerics row32 = true := by decide +kernel theorem row32Log : Polya26.QuantileLogBounds.checkLogUpper row32.beta row32.logUpper row32.terms = true := by decide +kernel theorem row32Accepted : NegativeRowAccepted row32 := ⟨row32Numerics, row32Log⟩ def row33 : NegativeRow := ⟨(59 / 400), 0, (478481775803 / 250000000000), (343773 / 200000), 64⟩ theorem row33Numerics : checkNegativeRowNumerics row33 = true := by decide +kernel theorem row33Log : Polya26.QuantileLogBounds.checkLogUpper row33.beta row33.logUpper row33.terms = true := by decide +kernel theorem row33Accepted : NegativeRowAccepted row33 := ⟨row33Numerics, row33Log⟩ def row34 : NegativeRow := ⟨(3 / 20), 0, (1897119984893 / 1000000000000), (68063 / 40000), 64⟩ theorem row34Numerics : checkNegativeRowNumerics row34 = true := by decide +kernel theorem row34Log : Polya26.QuantileLogBounds.checkLogUpper row34.beta row34.logUpper row34.terms = true := by decide +kernel theorem row34Accepted : NegativeRowAccepted row34 := ⟨row34Numerics, row34Log⟩ def row35 : NegativeRow := ⟨(61 / 400), 0, (94029534147 / 50000000000), (421203 / 250000), 64⟩ theorem row35Numerics : checkNegativeRowNumerics row35 = true := by decide +kernel theorem row35Log : Polya26.QuantileLogBounds.checkLogUpper row35.beta row35.logUpper row35.terms = true := by decide +kernel theorem row35Accepted : NegativeRowAccepted row35 := ⟨row35Numerics, row35Log⟩ def row36 : NegativeRow := ⟨(31 / 200), 0, (1864330162067 / 1000000000000), (208569 / 125000), 64⟩ theorem row36Numerics : checkNegativeRowNumerics row36 = true := by decide +kernel theorem row36Log : Polya26.QuantileLogBounds.checkLogUpper row36.beta row36.logUpper row36.terms = true := by decide +kernel theorem row36Accepted : NegativeRowAccepted row36 := ⟨row36Numerics, row36Log⟩ def row37 : NegativeRow := ⟨(63 / 400), 0, (1848329820719 / 1000000000000), (1652771 / 1000000), 64⟩ theorem row37Numerics : checkNegativeRowNumerics row37 = true := by decide +kernel theorem row37Log : Polya26.QuantileLogBounds.checkLogUpper row37.beta row37.logUpper row37.terms = true := by decide +kernel theorem row37Accepted : NegativeRowAccepted row37 := ⟨row37Numerics, row37Log⟩ def row38 : NegativeRow := ⟨(4 / 25), 0, (1466065171 / 800000000), (32749 / 20000), 64⟩ theorem row38Numerics : checkNegativeRowNumerics row38 = true := by decide +kernel theorem row38Log : Polya26.QuantileLogBounds.checkLogUpper row38.beta row38.logUpper row38.terms = true := by decide +kernel theorem row38Accepted : NegativeRowAccepted row38 := ⟨row38Numerics, row38Log⟩ def row39 : NegativeRow := ⟨(13 / 80), 0, (908538638607 / 500000000000), (202821 / 125000), 64⟩ theorem row39Numerics : checkNegativeRowNumerics row39 = true := by decide +kernel theorem row39Log : Polya26.QuantileLogBounds.checkLogUpper row39.beta row39.logUpper row39.terms = true := by decide +kernel theorem row39Accepted : NegativeRowAccepted row39 := ⟨row39Numerics, row39Log⟩ def row40 : NegativeRow := ⟨(33 / 200), 0, (1801809805083 / 1000000000000), (1608107 / 1000000), 64⟩ theorem row40Numerics : checkNegativeRowNumerics row40 = true := by decide +kernel theorem row40Log : Polya26.QuantileLogBounds.checkLogUpper row40.beta row40.logUpper row40.terms = true := by decide +kernel theorem row40Accepted : NegativeRowAccepted row40 := ⟨row40Numerics, row40Log⟩ def row41 : NegativeRow := ⟨(67 / 400), 0, (893385963859 / 500000000000), (24907 / 15625), 64⟩ theorem row41Numerics : checkNegativeRowNumerics row41 = true := by decide +kernel theorem row41Log : Polya26.QuantileLogBounds.checkLogUpper row41.beta row41.logUpper row41.terms = true := by decide +kernel theorem row41Accepted : NegativeRowAccepted row41 := ⟨row41Numerics, row41Log⟩ def row42 : NegativeRow := ⟨(17 / 100), 0, (1771956841933 / 1000000000000), (1580377 / 1000000), 64⟩ theorem row42Numerics : checkNegativeRowNumerics row42 = true := by decide +kernel theorem row42Log : Polya26.QuantileLogBounds.checkLogUpper row42.beta row42.logUpper row42.terms = true := by decide +kernel theorem row42Accepted : NegativeRowAccepted row42 := ⟨row42Numerics, row42Log⟩ def row43 : NegativeRow := ⟨(69 / 400), 0, (1757358042511 / 1000000000000), (62683 / 40000), 64⟩ theorem row43Numerics : checkNegativeRowNumerics row43 = true := by decide +kernel theorem row43Log : Polya26.QuantileLogBounds.checkLogUpper row43.beta row43.logUpper row43.terms = true := by decide +kernel theorem row43Accepted : NegativeRowAccepted row43 := ⟨row43Numerics, row43Log⟩ def row44 : NegativeRow := ⟨(7 / 40), 0, (1742969305059 / 1000000000000), (155413 / 100000), 64⟩ theorem row44Numerics : checkNegativeRowNumerics row44 = true := by decide +kernel theorem row44Log : Polya26.QuantileLogBounds.checkLogUpper row44.beta row44.logUpper row44.terms = true := by decide +kernel theorem row44Accepted : NegativeRowAccepted row44 := ⟨row44Numerics, row44Log⟩ def row45 : NegativeRow := ⟨(71 / 400), 0, (1728784670067 / 1000000000000), (1541527 / 1000000), 64⟩ theorem row45Numerics : checkNegativeRowNumerics row45 = true := by decide +kernel theorem row45Log : Polya26.QuantileLogBounds.checkLogUpper row45.beta row45.logUpper row45.terms = true := by decide +kernel theorem row45Accepted : NegativeRowAccepted row45 := ⟨row45Numerics, row45Log⟩ def row46 : NegativeRow := ⟨(9 / 50), 0, (1714798428093 / 1000000000000), (382313 / 250000), 64⟩ theorem row46Numerics : checkNegativeRowNumerics row46 = true := by decide +kernel theorem row46Log : Polya26.QuantileLogBounds.checkLogUpper row46.beta row46.logUpper row46.terms = true := by decide +kernel theorem row46Accepted : NegativeRowAccepted row46 := ⟨row46Numerics, row46Log⟩ def row47 : NegativeRow := ⟨(73 / 400), (1 / 4), (42525127649 / 25000000000), (304007 / 200000), 64⟩ theorem row47Numerics : checkNegativeRowNumerics row47 = true := by decide +kernel theorem row47Log : Polya26.QuantileLogBounds.checkLogUpper row47.beta row47.logUpper row47.terms = true := by decide +kernel theorem row47Accepted : NegativeRowAccepted row47 := ⟨row47Numerics, row47Log⟩ def row48 : NegativeRow := ⟨(37 / 200), (1 / 4), (105462465869 / 62500000000), (755921 / 500000), 64⟩ theorem row48Numerics : checkNegativeRowNumerics row48 = true := by decide +kernel theorem row48Log : Polya26.QuantileLogBounds.checkLogUpper row48.beta row48.logUpper row48.terms = true := by decide +kernel theorem row48Accepted : NegativeRowAccepted row48 := ⟨row48Numerics, row48Log⟩ def row49 : NegativeRow := ⟨(3 / 16), (1 / 4), (418494108393 / 250000000000), (1503817 / 1000000), 64⟩ theorem row49Numerics : checkNegativeRowNumerics row49 = true := by decide +kernel theorem row49Log : Polya26.QuantileLogBounds.checkLogUpper row49.beta row49.logUpper row49.terms = true := by decide +kernel theorem row49Accepted : NegativeRowAccepted row49 := ⟨row49Numerics, row49Log⟩ def row50 : NegativeRow := ⟨(19 / 100), (1 / 4), (830365603411 / 500000000000), (1495957 / 1000000), 64⟩ theorem row50Numerics : checkNegativeRowNumerics row50 = true := by decide +kernel theorem row50Log : Polya26.QuantileLogBounds.checkLogUpper row50.beta row50.logUpper row50.terms = true := by decide +kernel theorem row50Accepted : NegativeRowAccepted row50 := ⟨row50Numerics, row50Log⟩ def row51 : NegativeRow := ⟨(77 / 400), (1 / 4), (329531825051 / 200000000000), (1488257 / 1000000), 64⟩ theorem row51Numerics : checkNegativeRowNumerics row51 = true := by decide +kernel theorem row51Log : Polya26.QuantileLogBounds.checkLogUpper row51.beta row51.logUpper row51.terms = true := by decide +kernel theorem row51Accepted : NegativeRowAccepted row51 := ⟨row51Numerics, row51Log⟩ def row52 : NegativeRow := ⟨(39 / 200), (1 / 4), (1634755720419 / 1000000000000), (1480711 / 1000000), 64⟩ theorem row52Numerics : checkNegativeRowNumerics row52 = true := by decide +kernel theorem row52Log : Polya26.QuantileLogBounds.checkLogUpper row52.beta row52.logUpper row52.terms = true := by decide +kernel theorem row52Accepted : NegativeRowAccepted row52 := ⟨row52Numerics, row52Log⟩ def row53 : NegativeRow := ⟨(79 / 400), (1 / 4), (1622016694641 / 1000000000000), (368329 / 250000), 64⟩ theorem row53Numerics : checkNegativeRowNumerics row53 = true := by decide +kernel theorem row53Log : Polya26.QuantileLogBounds.checkLogUpper row53.beta row53.logUpper row53.terms = true := by decide +kernel theorem row53Accepted : NegativeRowAccepted row53 := ⟨row53Numerics, row53Log⟩ def row54 : NegativeRow := ⟨(1 / 5), (1 / 4), (321887582487 / 200000000000), (733033 / 500000), 64⟩ theorem row54Numerics : checkNegativeRowNumerics row54 = true := by decide +kernel theorem row54Log : Polya26.QuantileLogBounds.checkLogUpper row54.beta row54.logUpper row54.terms = true := by decide +kernel theorem row54Accepted : NegativeRowAccepted row54 := ⟨row54Numerics, row54Log⟩ def row55 : NegativeRow := ⟨(81 / 400), (1 / 4), (399253848109 / 250000000000), (1458959 / 1000000), 64⟩ theorem row55Numerics : checkNegativeRowNumerics row55 = true := by decide +kernel theorem row55Log : Polya26.QuantileLogBounds.checkLogUpper row55.beta row55.logUpper row55.terms = true := by decide +kernel theorem row55Accepted : NegativeRowAccepted row55 := ⟨row55Numerics, row55Log⟩ def row56 : NegativeRow := ⟨(41 / 200), (1 / 4), (396186324961 / 250000000000), (1451989 / 1000000), 64⟩ theorem row56Numerics : checkNegativeRowNumerics row56 = true := by decide +kernel theorem row56Log : Polya26.QuantileLogBounds.checkLogUpper row56.beta row56.logUpper row56.terms = true := by decide +kernel theorem row56Accepted : NegativeRowAccepted row56 := ⟨row56Numerics, row56Log⟩ def row57 : NegativeRow := ⟨(83 / 400), (1 / 2), (98288996207 / 62500000000), (723507 / 500000), 64⟩ theorem row57Numerics : checkNegativeRowNumerics row57 = true := by decide +kernel theorem row57Log : Polya26.QuantileLogBounds.checkLogUpper row57.beta row57.logUpper row57.terms = true := by decide +kernel theorem row57Accepted : NegativeRowAccepted row57 := ⟨row57Numerics, row57Log⟩ def row58 : NegativeRow := ⟨(21 / 100), (1 / 2), (312129549653 / 200000000000), (1442899 / 1000000), 64⟩ theorem row58Numerics : checkNegativeRowNumerics row58 = true := by decide +kernel theorem row58Log : Polya26.QuantileLogBounds.checkLogUpper row58.beta row58.logUpper row58.terms = true := by decide +kernel theorem row58Accepted : NegativeRowAccepted row58 := ⟨row58Numerics, row58Log⟩ def row59 : NegativeRow := ⟨(17 / 80), (1 / 2), (774406645309 / 500000000000), (719423 / 500000), 64⟩ theorem row59Numerics : checkNegativeRowNumerics row59 = true := by decide +kernel theorem row59Log : Polya26.QuantileLogBounds.checkLogUpper row59.beta row59.logUpper row59.terms = true := by decide +kernel theorem row59Accepted : NegativeRowAccepted row59 := ⟨row59Numerics, row59Log⟩ def lowBetaRow : NegativeRow := ⟨(1 / 16), 0, (2772592312561 / 1000000000000), (3020629 / 1000000), 64⟩ theorem lowBetaRowNumerics : checkNegativeRowNumerics lowBetaRow = true := by decide +kernel theorem lowBetaRowLog : Polya26.QuantileLogBounds.checkLogUpper lowBetaRow.beta lowBetaRow.logUpper lowBetaRow.terms = true := by decide +kernel theorem lowBetaRowAccepted : NegativeRowAccepted lowBetaRow := ⟨lowBetaRowNumerics, lowBetaRowLog⟩ end QuantileFiniteCertificate.NegativeTable end /- END M083 -/ /- BEGIN M084 -/ section /-! Rational area-cell domination for compressed grid certificates. The accepted predicate is unchanged. A coarse cell can dominate smaller cells with larger prices and a contained nonnegative ratio interval. -/ namespace QuantileFiniteCertificate theorem goodAreaCell_rational_nonnegative {b : AreaCell} (hb : GoodAreaCell b) (y : ℚ) (hlo : b.lo ≤ y) (hhi : y ≤ b.hi) : 0 ≤ areaPolynomial b.P b.N y := by have hr := acceptedAreaCell_transport hb (y : ℝ) ((Rat.cast_le (K := ℝ)).mpr hlo) ((Rat.cast_le (K := ℝ)).mpr hhi) exact (Rat.cast_nonneg (K := ℝ)).mp (by simpa [realAreaPolynomial, areaPolynomial, Rat.cast_pow] using hr) /-- The rational vertex test is also necessary for interval positivity. -/ theorem goodAreaCell_of_rational_nonnegative (b : AreaCell) (hP : 0 < b.P) (horder : b.lo ≤ b.hi) (hpoly : ∀ y : ℚ, b.lo ≤ y → y ≤ b.hi → 0 ≤ areaPolynomial b.P b.N y) : GoodAreaCell b := by refine ⟨hP, horder, ?_⟩ by_cases hleft : 0 ≤ 2 * b.P * b.lo + (b.P + b.N - 8) · exact Or.inl ⟨hleft, hpoly b.lo le_rfl horder⟩ by_cases hright : 2 * b.P * b.hi + (b.P + b.N - 8) ≤ 0 · exact Or.inr (Or.inl ⟨hright, hpoly b.hi horder le_rfl⟩) refine Or.inr (Or.inr ?_) let v : ℚ := -(b.P + b.N - 8) / (2 * b.P) have h2P : 0 < 2 * b.P := mul_pos (by norm_num) hP have hvlo : b.lo ≤ v := by dsimp [v] apply (le_div_iff₀ h2P).mpr linarith have hvhi : v ≤ b.hi := by dsimp [v] apply (div_le_iff₀ h2P).mpr linarith have hvertex := hpoly v hvlo hvhi have hid : 4 * b.P * areaPolynomial b.P b.N v = 4 * b.P * b.N - (b.P + b.N - 8) ^ 2 := by dsimp [areaPolynomial, v] field_simp [ne_of_gt hP] <;> ring have hcredit : 0 ≤ 4 * b.P * areaPolynomial b.P b.N v := mul_nonneg (by positivity) hvertex rw [hid] at hcredit linarith /-- Increasing either price preserves polynomial positivity for y≥0. -/ theorem goodAreaCell_of_dominating {base cell : AreaCell} (hbase : GoodAreaCell base) (horder : cell.lo ≤ cell.hi) (hlo0 : 0 ≤ cell.lo) (hP : base.P ≤ cell.P) (hN : base.N ≤ cell.N) (hlo : base.lo ≤ cell.lo) (hhi : cell.hi ≤ base.hi) : GoodAreaCell cell := by apply goodAreaCell_of_rational_nonnegative cell (hbase.1.trans_le hP) horder intro y hylo hyhi have hy0 : 0 ≤ y := hlo0.trans hylo have hq := goodAreaCell_rational_nonnegative hbase y (hlo.trans hylo) (hyhi.trans hhi) have hdp : 0 ≤ (cell.P - base.P) * (y ^ 2 + y) := mul_nonneg (sub_nonneg.mpr hP) (add_nonneg (sq_nonneg y) hy0) have hdn : 0 ≤ (cell.N - base.N) * (y + 1) := mul_nonneg (sub_nonneg.mpr hN) (by linarith) have hid : areaPolynomial cell.P cell.N y = areaPolynomial base.P base.N y + (cell.P - base.P) * (y ^ 2 + y) + (cell.N - base.N) * (y + 1) := by unfold areaPolynomial ring rw [hid] exact add_nonneg (add_nonneg hq hdp) hdn end QuantileFiniteCertificate end /- END M084 -/ /- BEGIN M085 -/ section /-! Indexed rectangle coverage. Numeric tables and native checks live separately. -/ namespace QuantileFiniteCertificate.W02CoarseGrid structure OrderedFamilies (m n : ℕ) where positive : Fin m → Band negative : Fin n → Band positive_nonneg : ∀ i, 0 ≤ (positive i).lo positive_order : ∀ i, (positive i).lo ≤ (positive i).hi negative_pos : ∀ j, 0 < (negative j).lo negative_order : ∀ j, (negative j).lo ≤ (negative j).hi positive_lo_mono : Monotone (fun i => (positive i).lo) positive_hi_mono : Monotone (fun i => (positive i).hi) positive_price_mono : Monotone (fun i => (positive i).value) negative_lo_mono : Monotone (fun j => (negative j).lo) negative_hi_mono : Monotone (fun j => (negative j).hi) negative_price_anti : Antitone (fun j => (negative j).value) def GoodOn {m n : ℕ} (d : OrderedFamilies m n) (pLo pHi nLo nHi : ℕ) : Prop := ∀ (i : Fin m) (j : Fin n), pLo ≤ i.val → i.val < pHi → nLo ≤ j.val → j.val < nHi → GoodAreaPair (d.positive i) (d.negative j) theorem split_positive {m n : ℕ} (d : OrderedFamilies m n) (pLo cut pHi nLo nHi : ℕ) (left : GoodOn d pLo cut nLo nHi) (right : GoodOn d cut pHi nLo nHi) : GoodOn d pLo pHi nLo nHi := by intro i j hpi hpi' hnj hnj' by_cases hcut : i.val < cut · exact left i j hpi hcut hnj hnj' · exact right i j (Nat.le_of_not_gt hcut) hpi' hnj hnj' theorem split_negative {m n : ℕ} (d : OrderedFamilies m n) (pLo pHi nLo cut nHi : ℕ) (left : GoodOn d pLo pHi nLo cut) (right : GoodOn d pLo pHi cut nHi) : GoodOn d pLo pHi nLo nHi := by intro i j hpi hpi' hnj hnj' by_cases hcut : j.val < cut · exact left i j hpi hpi' hnj hcut · exact right i j hpi hpi' (Nat.le_of_not_gt hcut) hnj' def cornerCell {m n : ℕ} (d : OrderedFamilies m n) (firstP lastP : Fin m) (firstN lastN : Fin n) : AreaCell := ⟨(d.positive firstP).value, (d.negative lastN).value, (d.positive firstP).lo / (d.negative lastN).hi, (d.positive lastP).hi / (d.negative firstN).lo⟩ theorem corner_cover {m n : ℕ} (d : OrderedFamilies m n) (firstP lastP : Fin m) (firstN lastN : Fin n) (base : GoodAreaCell (cornerCell d firstP lastP firstN lastN)) : GoodOn d firstP.val (lastP.val + 1) firstN.val (lastN.val + 1) := by intro i j hpi hpi' hnj hnj' have hfirstP : firstP ≤ i := hpi have hlastP : i ≤ lastP := Nat.le_of_lt_succ hpi' have hfirstN : firstN ≤ j := hnj have hlastN : j ≤ lastN := Nat.le_of_lt_succ hnj' have hphi0 : 0 ≤ (d.positive i).hi := (d.positive_nonneg i).trans (d.positive_order i) have hlastPhi0 : 0 ≤ (d.positive lastP).hi := (d.positive_nonneg lastP).trans (d.positive_order lastP) have hnhi0 : 0 < (d.negative j).hi := (d.negative_pos j).trans_le (d.negative_order j) refine ⟨d.negative_pos j, goodAreaCell_of_dominating base ?_ ?_ ?_ ?_ ?_ ?_⟩ · exact div_le_div₀ hphi0 (d.positive_order i) (d.negative_pos j) (d.negative_order j) · exact div_nonneg (d.positive_nonneg i) hnhi0.le · exact d.positive_price_mono hfirstP · exact d.negative_price_anti hlastN · exact div_le_div₀ (d.positive_nonneg i) (d.positive_lo_mono hfirstP) hnhi0 (d.negative_hi_mono hlastN) · exact div_le_div₀ hlastPhi0 (d.positive_hi_mono hlastP) (d.negative_pos firstN) (d.negative_lo_mono hfirstN) theorem checkAreaPair_complete {p n : Band} (h : GoodAreaPair p n) : checkAreaPair p n = true := by letI := areaPairDecidable p n exact decide_eq_true h theorem checkRow_complete (p : Band) (ns : List Band) (h : ∀ n ∈ ns, GoodAreaPair p n) : checkRow p ns = true := by induction ns with | nil => rfl | cons n rest ih => change (checkAreaPair p n && checkRow p rest) = true apply Bool.and_eq_true_iff.mpr exact ⟨checkAreaPair_complete (h n (List.mem_cons_self ..)), ih (fun k hk => h k (List.mem_cons_of_mem n hk))⟩ theorem checkGrid_complete (ps ns : List Band) (h : ∀ p ∈ ps, ∀ n ∈ ns, GoodAreaPair p n) : checkGrid ns ps = true := by induction ps with | nil => rfl | cons p rest ih => change (checkRow p ns && checkGrid ns rest) = true apply Bool.and_eq_true_iff.mpr exact ⟨checkRow_complete p ns (h p (List.mem_cons_self ..)), ih (fun s hs => h s (List.mem_cons_of_mem p hs))⟩ end QuantileFiniteCertificate.W02CoarseGrid end /- END M085 -/ /- BEGIN M086 -/ section /-! Distinct candidate only; concrete native acceptance is pending. -/ namespace QuantileFiniteCertificate.W02ThinnedGrid def p0 : Band := { lo := (1 : ℚ) / 64, hi := (461 : ℚ) / 8000, value := (23 : ℚ) / 16 } theorem p0_supplier_lo : p0.lo = GridData.p0.lo := rfl theorem p0_supplier_price : p0.value = GridData.p0.value := rfl def p1 : Band := { lo := (461 : ℚ) / 8000, hi := (477 : ℚ) / 8000, value := (1493 : ℚ) / 1000 } theorem p1_supplier_lo : p1.lo = GridData.p21.lo := rfl theorem p1_supplier_price : p1.value = GridData.p21.value := rfl def p2 : Band := { lo := (477 : ℚ) / 8000, hi := (493 : ℚ) / 8000, value := (1573 : ℚ) / 1000 } theorem p2_supplier_lo : p2.lo = GridData.p22.lo := rfl theorem p2_supplier_price : p2.value = GridData.p22.value := rfl def p3 : Band := { lo := (493 : ℚ) / 8000, hi := (509 : ℚ) / 8000, value := (1649 : ℚ) / 1000 } theorem p3_supplier_lo : p3.lo = GridData.p23.lo := rfl theorem p3_supplier_price : p3.value = GridData.p23.value := rfl def p4 : Band := { lo := (509 : ℚ) / 8000, hi := (21 : ℚ) / 320, value := (1721 : ℚ) / 1000 } theorem p4_supplier_lo : p4.lo = GridData.p24.lo := rfl theorem p4_supplier_price : p4.value = GridData.p24.value := rfl def p5 : Band := { lo := (21 : ℚ) / 320, hi := (541 : ℚ) / 8000, value := (1789 : ℚ) / 1000 } theorem p5_supplier_lo : p5.lo = GridData.p25.lo := rfl theorem p5_supplier_price : p5.value = GridData.p25.value := rfl def p6 : Band := { lo := (541 : ℚ) / 8000, hi := (557 : ℚ) / 8000, value := (1853 : ℚ) / 1000 } theorem p6_supplier_lo : p6.lo = GridData.p26.lo := rfl theorem p6_supplier_price : p6.value = GridData.p26.value := rfl def p7 : Band := { lo := (557 : ℚ) / 8000, hi := (573 : ℚ) / 8000, value := (957 : ℚ) / 500 } theorem p7_supplier_lo : p7.lo = GridData.p27.lo := rfl theorem p7_supplier_price : p7.value = GridData.p27.value := rfl def p8 : Band := { lo := (573 : ℚ) / 8000, hi := (589 : ℚ) / 8000, value := (1971 : ℚ) / 1000 } theorem p8_supplier_lo : p8.lo = GridData.p28.lo := rfl theorem p8_supplier_price : p8.value = GridData.p28.value := rfl def p9 : Band := { lo := (589 : ℚ) / 8000, hi := (121 : ℚ) / 1600, value := (253 : ℚ) / 125 } theorem p9_supplier_lo : p9.lo = GridData.p29.lo := rfl theorem p9_supplier_price : p9.value = GridData.p29.value := rfl def p10 : Band := { lo := (121 : ℚ) / 1600, hi := (621 : ℚ) / 8000, value := (2073 : ℚ) / 1000 } theorem p10_supplier_lo : p10.lo = GridData.p30.lo := rfl theorem p10_supplier_price : p10.value = GridData.p30.value := rfl def p11 : Band := { lo := (621 : ℚ) / 8000, hi := (637 : ℚ) / 8000, value := (2117 : ℚ) / 1000 } theorem p11_supplier_lo : p11.lo = GridData.p31.lo := rfl theorem p11_supplier_price : p11.value = GridData.p31.value := rfl def p12 : Band := { lo := (637 : ℚ) / 8000, hi := (653 : ℚ) / 8000, value := (1079 : ℚ) / 500 } theorem p12_supplier_lo : p12.lo = GridData.p32.lo := rfl theorem p12_supplier_price : p12.value = GridData.p32.value := rfl def p13 : Band := { lo := (653 : ℚ) / 8000, hi := (669 : ℚ) / 8000, value := (549 : ℚ) / 250 } theorem p13_supplier_lo : p13.lo = GridData.p33.lo := rfl theorem p13_supplier_price : p13.value = GridData.p33.value := rfl def p14 : Band := { lo := (669 : ℚ) / 8000, hi := (137 : ℚ) / 1600, value := (223 : ℚ) / 100 } theorem p14_supplier_lo : p14.lo = GridData.p34.lo := rfl theorem p14_supplier_price : p14.value = GridData.p34.value := rfl def p15 : Band := { lo := (137 : ℚ) / 1600, hi := (701 : ℚ) / 8000, value := (1131 : ℚ) / 500 } theorem p15_supplier_lo : p15.lo = GridData.p35.lo := rfl theorem p15_supplier_price : p15.value = GridData.p35.value := rfl def p16 : Band := { lo := (701 : ℚ) / 8000, hi := (717 : ℚ) / 8000, value := (2291 : ℚ) / 1000 } theorem p16_supplier_lo : p16.lo = GridData.p36.lo := rfl theorem p16_supplier_price : p16.value = GridData.p36.value := rfl def p17 : Band := { lo := (717 : ℚ) / 8000, hi := (733 : ℚ) / 8000, value := (2319 : ℚ) / 1000 } theorem p17_supplier_lo : p17.lo = GridData.p37.lo := rfl theorem p17_supplier_price : p17.value = GridData.p37.value := rfl def p18 : Band := { lo := (733 : ℚ) / 8000, hi := (749 : ℚ) / 8000, value := (293 : ℚ) / 125 } theorem p18_supplier_lo : p18.lo = GridData.p38.lo := rfl theorem p18_supplier_price : p18.value = GridData.p38.value := rfl def p19 : Band := { lo := (749 : ℚ) / 8000, hi := (153 : ℚ) / 1600, value := (296 : ℚ) / 125 } theorem p19_supplier_lo : p19.lo = GridData.p39.lo := rfl theorem p19_supplier_price : p19.value = GridData.p39.value := rfl def p20 : Band := { lo := (153 : ℚ) / 1600, hi := (781 : ℚ) / 8000, value := (299 : ℚ) / 125 } theorem p20_supplier_lo : p20.lo = GridData.p40.lo := rfl theorem p20_supplier_price : p20.value = GridData.p40.value := rfl def p21 : Band := { lo := (781 : ℚ) / 8000, hi := (797 : ℚ) / 8000, value := (483 : ℚ) / 200 } theorem p21_supplier_lo : p21.lo = GridData.p41.lo := rfl theorem p21_supplier_price : p21.value = GridData.p41.value := rfl def p22 : Band := { lo := (797 : ℚ) / 8000, hi := (813 : ℚ) / 8000, value := (2437 : ℚ) / 1000 } theorem p22_supplier_lo : p22.lo = GridData.p42.lo := rfl theorem p22_supplier_price : p22.value = GridData.p42.value := rfl def p23 : Band := { lo := (813 : ℚ) / 8000, hi := (829 : ℚ) / 8000, value := (1229 : ℚ) / 500 } theorem p23_supplier_lo : p23.lo = GridData.p43.lo := rfl theorem p23_supplier_price : p23.value = GridData.p43.value := rfl def p24 : Band := { lo := (829 : ℚ) / 8000, hi := (169 : ℚ) / 1600, value := (2477 : ℚ) / 1000 } theorem p24_supplier_lo : p24.lo = GridData.p44.lo := rfl theorem p24_supplier_price : p24.value = GridData.p44.value := rfl def p25 : Band := { lo := (169 : ℚ) / 1600, hi := (861 : ℚ) / 8000, value := (499 : ℚ) / 200 } theorem p25_supplier_lo : p25.lo = GridData.p45.lo := rfl theorem p25_supplier_price : p25.value = GridData.p45.value := rfl def p26 : Band := { lo := (861 : ℚ) / 8000, hi := (877 : ℚ) / 8000, value := (314 : ℚ) / 125 } theorem p26_supplier_lo : p26.lo = GridData.p46.lo := rfl theorem p26_supplier_price : p26.value = GridData.p46.value := rfl def p27 : Band := { lo := (877 : ℚ) / 8000, hi := (893 : ℚ) / 8000, value := (2527 : ℚ) / 1000 } theorem p27_supplier_lo : p27.lo = GridData.p47.lo := rfl theorem p27_supplier_price : p27.value = GridData.p47.value := rfl def p28 : Band := { lo := (893 : ℚ) / 8000, hi := (909 : ℚ) / 8000, value := (127 : ℚ) / 50 } theorem p28_supplier_lo : p28.lo = GridData.p48.lo := rfl theorem p28_supplier_price : p28.value = GridData.p48.value := rfl def p29 : Band := { lo := (909 : ℚ) / 8000, hi := (37 : ℚ) / 320, value := (2553 : ℚ) / 1000 } theorem p29_supplier_lo : p29.lo = GridData.p49.lo := rfl theorem p29_supplier_price : p29.value = GridData.p49.value := rfl def p30 : Band := { lo := (37 : ℚ) / 320, hi := (941 : ℚ) / 8000, value := (513 : ℚ) / 200 } theorem p30_supplier_lo : p30.lo = GridData.p50.lo := rfl theorem p30_supplier_price : p30.value = GridData.p50.value := rfl def p31 : Band := { lo := (941 : ℚ) / 8000, hi := (957 : ℚ) / 8000, value := (322 : ℚ) / 125 } theorem p31_supplier_lo : p31.lo = GridData.p51.lo := rfl theorem p31_supplier_price : p31.value = GridData.p51.value := rfl def p32 : Band := { lo := (957 : ℚ) / 8000, hi := (973 : ℚ) / 8000, value := (1293 : ℚ) / 500 } theorem p32_supplier_lo : p32.lo = GridData.p52.lo := rfl theorem p32_supplier_price : p32.value = GridData.p52.value := rfl def p33 : Band := { lo := (973 : ℚ) / 8000, hi := (989 : ℚ) / 8000, value := (519 : ℚ) / 200 } theorem p33_supplier_lo : p33.lo = GridData.p53.lo := rfl theorem p33_supplier_price : p33.value = GridData.p53.value := rfl def p34 : Band := { lo := (989 : ℚ) / 8000, hi := (201 : ℚ) / 1600, value := (651 : ℚ) / 250 } theorem p34_supplier_lo : p34.lo = GridData.p54.lo := rfl theorem p34_supplier_price : p34.value = GridData.p54.value := rfl def p35 : Band := { lo := (201 : ℚ) / 1600, hi := (1021 : ℚ) / 8000, value := (653 : ℚ) / 250 } theorem p35_supplier_lo : p35.lo = GridData.p55.lo := rfl theorem p35_supplier_price : p35.value = GridData.p55.value := rfl def p36 : Band := { lo := (1021 : ℚ) / 8000, hi := (1037 : ℚ) / 8000, value := (2619 : ℚ) / 1000 } theorem p36_supplier_lo : p36.lo = GridData.p56.lo := rfl theorem p36_supplier_price : p36.value = GridData.p56.value := rfl def p37 : Band := { lo := (1037 : ℚ) / 8000, hi := (1053 : ℚ) / 8000, value := (1313 : ℚ) / 500 } theorem p37_supplier_lo : p37.lo = GridData.p57.lo := rfl theorem p37_supplier_price : p37.value = GridData.p57.value := rfl def p38 : Band := { lo := (1053 : ℚ) / 8000, hi := (1069 : ℚ) / 8000, value := (2631 : ℚ) / 1000 } theorem p38_supplier_lo : p38.lo = GridData.p58.lo := rfl theorem p38_supplier_price : p38.value = GridData.p58.value := rfl def p39 : Band := { lo := (1069 : ℚ) / 8000, hi := (217 : ℚ) / 1600, value := (659 : ℚ) / 250 } theorem p39_supplier_lo : p39.lo = GridData.p59.lo := rfl theorem p39_supplier_price : p39.value = GridData.p59.value := rfl def p40 : Band := { lo := (217 : ℚ) / 1600, hi := (1101 : ℚ) / 8000, value := (2641 : ℚ) / 1000 } theorem p40_supplier_lo : p40.lo = GridData.p60.lo := rfl theorem p40_supplier_price : p40.value = GridData.p60.value := rfl def p41 : Band := { lo := (1101 : ℚ) / 8000, hi := (7 : ℚ) / 50, value := (529 : ℚ) / 200 } theorem p41_supplier_lo : p41.lo = GridData.p61.lo := rfl theorem p41_supplier_price : p41.value = GridData.p61.value := rfl def n0 : Band := { lo := (1 : ℚ) / 16, hi := (13 : ℚ) / 200, value := (587773 : ℚ) / 200000 } def n1 : Band := { lo := (13 : ℚ) / 200, hi := (27 : ℚ) / 400, value := (2862647 : ℚ) / 1000000 } def n2 : Band := { lo := (27 : ℚ) / 400, hi := (7 : ℚ) / 100, value := (1395707 : ℚ) / 500000 } def n3 : Band := { lo := (7 : ℚ) / 100, hi := (29 : ℚ) / 400, value := (68117 : ℚ) / 25000 } def n4 : Band := { lo := (29 : ℚ) / 400, hi := (3 : ℚ) / 40, value := (2662019 : ℚ) / 1000000 } def n5 : Band := { lo := (3 : ℚ) / 40, hi := (31 : ℚ) / 400, value := (2603059 : ℚ) / 1000000 } def n6 : Band := { lo := (31 : ℚ) / 400, hi := (2 : ℚ) / 25, value := (1273737 : ℚ) / 500000 } def n7 : Band := { lo := (2 : ℚ) / 25, hi := (33 : ℚ) / 400, value := (1247487 : ℚ) / 500000 } def n8 : Band := { lo := (33 : ℚ) / 400, hi := (17 : ℚ) / 200, value := (1222651 : ℚ) / 500000 } def n9 : Band := { lo := (17 : ℚ) / 200, hi := (7 : ℚ) / 80, value := (2398231 : ℚ) / 1000000 } def n10 : Band := { lo := (7 : ℚ) / 80, hi := (9 : ℚ) / 100, value := (470711 : ℚ) / 200000 } def n11 : Band := { lo := (9 : ℚ) / 100, hi := (37 : ℚ) / 400, value := (2311093 : ℚ) / 1000000 } def n12 : Band := { lo := (37 : ℚ) / 400, hi := (19 : ℚ) / 200, value := (2270679 : ℚ) / 1000000 } def n13 : Band := { lo := (19 : ℚ) / 200, hi := (39 : ℚ) / 400, value := (446433 : ℚ) / 200000 } def n14 : Band := { lo := (39 : ℚ) / 400, hi := (1 : ℚ) / 10, value := (1097709 : ℚ) / 500000 } def n15 : Band := { lo := (1 : ℚ) / 10, hi := (41 : ℚ) / 400, value := (540079 : ℚ) / 250000 } def n16 : Band := { lo := (41 : ℚ) / 400, hi := (21 : ℚ) / 200, value := (2126747 : ℚ) / 1000000 } def n17 : Band := { lo := (21 : ℚ) / 200, hi := (43 : ℚ) / 400, value := (523653 : ℚ) / 250000 } def n18 : Band := { lo := (43 : ℚ) / 400, hi := (11 : ℚ) / 100, value := (2063819 : ℚ) / 1000000 } def n19 : Band := { lo := (11 : ℚ) / 100, hi := (9 : ℚ) / 80, value := (508571 : ℚ) / 250000 } def n20 : Band := { lo := (9 : ℚ) / 80, hi := (23 : ℚ) / 200, value := (2005929 : ℚ) / 1000000 } def n21 : Band := { lo := (23 : ℚ) / 200, hi := (47 : ℚ) / 400, value := (494671 : ℚ) / 250000 } def n22 : Band := { lo := (47 : ℚ) / 400, hi := (3 : ℚ) / 25, value := (488121 : ℚ) / 250000 } def n23 : Band := { lo := (3 : ℚ) / 25, hi := (49 : ℚ) / 400, value := (481817 : ℚ) / 250000 } def n24 : Band := { lo := (49 : ℚ) / 400, hi := (1 : ℚ) / 8, value := (951491 : ℚ) / 500000 } def n25 : Band := { lo := (1 : ℚ) / 8, hi := (51 : ℚ) / 400, value := (939787 : ℚ) / 500000 } def n26 : Band := { lo := (51 : ℚ) / 400, hi := (13 : ℚ) / 100, value := (464249 : ℚ) / 250000 } def n27 : Band := { lo := (13 : ℚ) / 100, hi := (53 : ℚ) / 400, value := (367041 : ℚ) / 200000 } def n28 : Band := { lo := (53 : ℚ) / 400, hi := (27 : ℚ) / 200, value := (1814159 : ℚ) / 1000000 } def n29 : Band := { lo := (27 : ℚ) / 200, hi := (11 : ℚ) / 80, value := (89691 : ℚ) / 50000 } def n30 : Band := { lo := (11 : ℚ) / 80, hi := (7 : ℚ) / 50, value := (887077 : ℚ) / 500000 } def n31 : Band := { lo := (7 : ℚ) / 50, hi := (57 : ℚ) / 400, value := (877563 : ℚ) / 500000 } def n32 : Band := { lo := (57 : ℚ) / 400, hi := (29 : ℚ) / 200, value := (868353 : ℚ) / 500000 } def n33 : Band := { lo := (29 : ℚ) / 200, hi := (59 : ℚ) / 400, value := (343773 : ℚ) / 200000 } def n34 : Band := { lo := (59 : ℚ) / 400, hi := (3 : ℚ) / 20, value := (68063 : ℚ) / 40000 } def n35 : Band := { lo := (3 : ℚ) / 20, hi := (61 : ℚ) / 400, value := (421203 : ℚ) / 250000 } def n36 : Band := { lo := (61 : ℚ) / 400, hi := (31 : ℚ) / 200, value := (208569 : ℚ) / 125000 } def n37 : Band := { lo := (31 : ℚ) / 200, hi := (63 : ℚ) / 400, value := (1652771 : ℚ) / 1000000 } def n38 : Band := { lo := (63 : ℚ) / 400, hi := (4 : ℚ) / 25, value := (32749 : ℚ) / 20000 } def n39 : Band := { lo := (4 : ℚ) / 25, hi := (13 : ℚ) / 80, value := (202821 : ℚ) / 125000 } def n40 : Band := { lo := (13 : ℚ) / 80, hi := (33 : ℚ) / 200, value := (1608107 : ℚ) / 1000000 } def n41 : Band := { lo := (33 : ℚ) / 200, hi := (67 : ℚ) / 400, value := (24907 : ℚ) / 15625 } def n42 : Band := { lo := (67 : ℚ) / 400, hi := (17 : ℚ) / 100, value := (1580377 : ℚ) / 1000000 } def n43 : Band := { lo := (17 : ℚ) / 100, hi := (69 : ℚ) / 400, value := (62683 : ℚ) / 40000 } def n44 : Band := { lo := (69 : ℚ) / 400, hi := (7 : ℚ) / 40, value := (155413 : ℚ) / 100000 } def n45 : Band := { lo := (7 : ℚ) / 40, hi := (71 : ℚ) / 400, value := (1541527 : ℚ) / 1000000 } def n46 : Band := { lo := (71 : ℚ) / 400, hi := (9 : ℚ) / 50, value := (382313 : ℚ) / 250000 } def n47 : Band := { lo := (9 : ℚ) / 50, hi := (73 : ℚ) / 400, value := (304007 : ℚ) / 200000 } def n48 : Band := { lo := (73 : ℚ) / 400, hi := (37 : ℚ) / 200, value := (755921 : ℚ) / 500000 } def n49 : Band := { lo := (37 : ℚ) / 200, hi := (3 : ℚ) / 16, value := (1503817 : ℚ) / 1000000 } def n50 : Band := { lo := (3 : ℚ) / 16, hi := (19 : ℚ) / 100, value := (1495957 : ℚ) / 1000000 } def n51 : Band := { lo := (19 : ℚ) / 100, hi := (77 : ℚ) / 400, value := (1488257 : ℚ) / 1000000 } def n52 : Band := { lo := (77 : ℚ) / 400, hi := (39 : ℚ) / 200, value := (1480711 : ℚ) / 1000000 } def n53 : Band := { lo := (39 : ℚ) / 200, hi := (79 : ℚ) / 400, value := (368329 : ℚ) / 250000 } def n54 : Band := { lo := (79 : ℚ) / 400, hi := (1 : ℚ) / 5, value := (733033 : ℚ) / 500000 } def n55 : Band := { lo := (1 : ℚ) / 5, hi := (81 : ℚ) / 400, value := (1458959 : ℚ) / 1000000 } def n56 : Band := { lo := (81 : ℚ) / 400, hi := (41 : ℚ) / 200, value := (1451989 : ℚ) / 1000000 } def n57 : Band := { lo := (41 : ℚ) / 200, hi := (83 : ℚ) / 400, value := (723507 : ℚ) / 500000 } def n58 : Band := { lo := (83 : ℚ) / 400, hi := (21 : ℚ) / 100, value := (1442899 : ℚ) / 1000000 } def n59 : Band := { lo := (21 : ℚ) / 100, hi := (17 : ℚ) / 80, value := (719423 : ℚ) / 500000 } def n60 : Band := { lo := (17 : ℚ) / 80, hi := (43 : ℚ) / 200, value := (23 : ℚ) / 16 } def n61 : Band := { lo := (43 : ℚ) / 200, hi := (87 : ℚ) / 400, value := (23 : ℚ) / 16 } def n62 : Band := { lo := (87 : ℚ) / 400, hi := (11 : ℚ) / 50, value := (23 : ℚ) / 16 } def n63 : Band := { lo := (11 : ℚ) / 50, hi := (89 : ℚ) / 400, value := (23 : ℚ) / 16 } def n64 : Band := { lo := (89 : ℚ) / 400, hi := (9 : ℚ) / 40, value := (23 : ℚ) / 16 } def n65 : Band := { lo := (9 : ℚ) / 40, hi := (91 : ℚ) / 400, value := (23 : ℚ) / 16 } def n66 : Band := { lo := (91 : ℚ) / 400, hi := (23 : ℚ) / 100, value := (23 : ℚ) / 16 } def n67 : Band := { lo := (23 : ℚ) / 100, hi := (93 : ℚ) / 400, value := (23 : ℚ) / 16 } def n68 : Band := { lo := (93 : ℚ) / 400, hi := (47 : ℚ) / 200, value := (23 : ℚ) / 16 } def n69 : Band := { lo := (47 : ℚ) / 200, hi := (19 : ℚ) / 80, value := (23 : ℚ) / 16 } def n70 : Band := { lo := (19 : ℚ) / 80, hi := (6 : ℚ) / 25, value := (23 : ℚ) / 16 } def n71 : Band := { lo := (6 : ℚ) / 25, hi := (97 : ℚ) / 400, value := (23 : ℚ) / 16 } def n72 : Band := { lo := (97 : ℚ) / 400, hi := (49 : ℚ) / 200, value := (23 : ℚ) / 16 } def n73 : Band := { lo := (49 : ℚ) / 200, hi := (99 : ℚ) / 400, value := (23 : ℚ) / 16 } def n74 : Band := { lo := (99 : ℚ) / 400, hi := (1 : ℚ) / 4, value := (23 : ℚ) / 16 } def n75 : Band := { lo := (1 : ℚ) / 4, hi := (101 : ℚ) / 400, value := (23 : ℚ) / 16 } def n76 : Band := { lo := (101 : ℚ) / 400, hi := (51 : ℚ) / 200, value := (23 : ℚ) / 16 } def n77 : Band := { lo := (51 : ℚ) / 200, hi := (103 : ℚ) / 400, value := (23 : ℚ) / 16 } def n78 : Band := { lo := (103 : ℚ) / 400, hi := (13 : ℚ) / 50, value := (23 : ℚ) / 16 } def n79 : Band := { lo := (13 : ℚ) / 50, hi := (21 : ℚ) / 80, value := (23 : ℚ) / 16 } def n80 : Band := { lo := (21 : ℚ) / 80, hi := (53 : ℚ) / 200, value := (23 : ℚ) / 16 } def n81 : Band := { lo := (53 : ℚ) / 200, hi := (107 : ℚ) / 400, value := (23 : ℚ) / 16 } def n82 : Band := { lo := (107 : ℚ) / 400, hi := (27 : ℚ) / 100, value := (23 : ℚ) / 16 } def n83 : Band := { lo := (27 : ℚ) / 100, hi := (109 : ℚ) / 400, value := (23 : ℚ) / 16 } def n84 : Band := { lo := (109 : ℚ) / 400, hi := (11 : ℚ) / 40, value := (23 : ℚ) / 16 } def n85 : Band := { lo := (11 : ℚ) / 40, hi := (111 : ℚ) / 400, value := (23 : ℚ) / 16 } def n86 : Band := { lo := (111 : ℚ) / 400, hi := (7 : ℚ) / 25, value := (23 : ℚ) / 16 } def n87 : Band := { lo := (7 : ℚ) / 25, hi := (113 : ℚ) / 400, value := (23 : ℚ) / 16 } def n88 : Band := { lo := (113 : ℚ) / 400, hi := (57 : ℚ) / 200, value := (23 : ℚ) / 16 } def n89 : Band := { lo := (57 : ℚ) / 200, hi := (23 : ℚ) / 80, value := (23 : ℚ) / 16 } def n90 : Band := { lo := (23 : ℚ) / 80, hi := (29 : ℚ) / 100, value := (23 : ℚ) / 16 } def n91 : Band := { lo := (29 : ℚ) / 100, hi := (117 : ℚ) / 400, value := (23 : ℚ) / 16 } def n92 : Band := { lo := (117 : ℚ) / 400, hi := (59 : ℚ) / 200, value := (23 : ℚ) / 16 } def n93 : Band := { lo := (59 : ℚ) / 200, hi := (119 : ℚ) / 400, value := (23 : ℚ) / 16 } def n94 : Band := { lo := (119 : ℚ) / 400, hi := (3 : ℚ) / 10, value := (23 : ℚ) / 16 } def n95 : Band := { lo := (3 : ℚ) / 10, hi := (121 : ℚ) / 400, value := (23 : ℚ) / 16 } def n96 : Band := { lo := (121 : ℚ) / 400, hi := (61 : ℚ) / 200, value := (23 : ℚ) / 16 } def n97 : Band := { lo := (61 : ℚ) / 200, hi := (123 : ℚ) / 400, value := (23 : ℚ) / 16 } def n98 : Band := { lo := (123 : ℚ) / 400, hi := (31 : ℚ) / 100, value := (23 : ℚ) / 16 } def n99 : Band := { lo := (31 : ℚ) / 100, hi := (5 : ℚ) / 16, value := (23 : ℚ) / 16 } def n100 : Band := { lo := (5 : ℚ) / 16, hi := (63 : ℚ) / 200, value := (23 : ℚ) / 16 } def n101 : Band := { lo := (63 : ℚ) / 200, hi := (127 : ℚ) / 400, value := (23 : ℚ) / 16 } def n102 : Band := { lo := (127 : ℚ) / 400, hi := (8 : ℚ) / 25, value := (23 : ℚ) / 16 } def n103 : Band := { lo := (8 : ℚ) / 25, hi := (129 : ℚ) / 400, value := (23 : ℚ) / 16 } def n104 : Band := { lo := (129 : ℚ) / 400, hi := (13 : ℚ) / 40, value := (23 : ℚ) / 16 } def n105 : Band := { lo := (13 : ℚ) / 40, hi := (131 : ℚ) / 400, value := (23 : ℚ) / 16 } def n106 : Band := { lo := (131 : ℚ) / 400, hi := (33 : ℚ) / 100, value := (23 : ℚ) / 16 } def n107 : Band := { lo := (33 : ℚ) / 100, hi := (133 : ℚ) / 400, value := (23 : ℚ) / 16 } def n108 : Band := { lo := (133 : ℚ) / 400, hi := (67 : ℚ) / 200, value := (23 : ℚ) / 16 } def n109 : Band := { lo := (67 : ℚ) / 200, hi := (27 : ℚ) / 80, value := (23 : ℚ) / 16 } def n110 : Band := { lo := (27 : ℚ) / 80, hi := (17 : ℚ) / 50, value := (23 : ℚ) / 16 } def n111 : Band := { lo := (17 : ℚ) / 50, hi := (137 : ℚ) / 400, value := (23 : ℚ) / 16 } def n112 : Band := { lo := (137 : ℚ) / 400, hi := (69 : ℚ) / 200, value := (23 : ℚ) / 16 } def n113 : Band := { lo := (69 : ℚ) / 200, hi := (139 : ℚ) / 400, value := (23 : ℚ) / 16 } def n114 : Band := { lo := (139 : ℚ) / 400, hi := (7 : ℚ) / 20, value := (23 : ℚ) / 16 } def n115 : Band := { lo := (7 : ℚ) / 20, hi := (141 : ℚ) / 400, value := (23 : ℚ) / 16 } def n116 : Band := { lo := (141 : ℚ) / 400, hi := (71 : ℚ) / 200, value := (23 : ℚ) / 16 } def n117 : Band := { lo := (71 : ℚ) / 200, hi := (143 : ℚ) / 400, value := (23 : ℚ) / 16 } def n118 : Band := { lo := (143 : ℚ) / 400, hi := (9 : ℚ) / 25, value := (23 : ℚ) / 16 } def n119 : Band := { lo := (9 : ℚ) / 25, hi := (29 : ℚ) / 80, value := (23 : ℚ) / 16 } def n120 : Band := { lo := (29 : ℚ) / 80, hi := (73 : ℚ) / 200, value := (23 : ℚ) / 16 } def n121 : Band := { lo := (73 : ℚ) / 200, hi := (147 : ℚ) / 400, value := (23 : ℚ) / 16 } def n122 : Band := { lo := (147 : ℚ) / 400, hi := (37 : ℚ) / 100, value := (23 : ℚ) / 16 } def n123 : Band := { lo := (37 : ℚ) / 100, hi := (149 : ℚ) / 400, value := (23 : ℚ) / 16 } def n124 : Band := { lo := (149 : ℚ) / 400, hi := (3 : ℚ) / 8, value := (23 : ℚ) / 16 } def n125 : Band := { lo := (3 : ℚ) / 8, hi := (151 : ℚ) / 400, value := (23 : ℚ) / 16 } def n126 : Band := { lo := (151 : ℚ) / 400, hi := (19 : ℚ) / 50, value := (23 : ℚ) / 16 } def n127 : Band := { lo := (19 : ℚ) / 50, hi := (153 : ℚ) / 400, value := (23 : ℚ) / 16 } def n128 : Band := { lo := (153 : ℚ) / 400, hi := (77 : ℚ) / 200, value := (23 : ℚ) / 16 } def n129 : Band := { lo := (77 : ℚ) / 200, hi := (31 : ℚ) / 80, value := (23 : ℚ) / 16 } def n130 : Band := { lo := (31 : ℚ) / 80, hi := (39 : ℚ) / 100, value := (23 : ℚ) / 16 } def n131 : Band := { lo := (39 : ℚ) / 100, hi := (157 : ℚ) / 400, value := (23 : ℚ) / 16 } def n132 : Band := { lo := (157 : ℚ) / 400, hi := (79 : ℚ) / 200, value := (23 : ℚ) / 16 } def n133 : Band := { lo := (79 : ℚ) / 200, hi := (159 : ℚ) / 400, value := (23 : ℚ) / 16 } def n134 : Band := { lo := (159 : ℚ) / 400, hi := (2 : ℚ) / 5, value := (23 : ℚ) / 16 } def n135 : Band := { lo := (2 : ℚ) / 5, hi := (161 : ℚ) / 400, value := (23 : ℚ) / 16 } def n136 : Band := { lo := (161 : ℚ) / 400, hi := (81 : ℚ) / 200, value := (23 : ℚ) / 16 } def n137 : Band := { lo := (81 : ℚ) / 200, hi := (163 : ℚ) / 400, value := (23 : ℚ) / 16 } def n138 : Band := { lo := (163 : ℚ) / 400, hi := (41 : ℚ) / 100, value := (23 : ℚ) / 16 } def n139 : Band := { lo := (41 : ℚ) / 100, hi := (33 : ℚ) / 80, value := (23 : ℚ) / 16 } def n140 : Band := { lo := (33 : ℚ) / 80, hi := (83 : ℚ) / 200, value := (23 : ℚ) / 16 } def n141 : Band := { lo := (83 : ℚ) / 200, hi := (167 : ℚ) / 400, value := (23 : ℚ) / 16 } def n142 : Band := { lo := (167 : ℚ) / 400, hi := (21 : ℚ) / 50, value := (23 : ℚ) / 16 } def n143 : Band := { lo := (21 : ℚ) / 50, hi := (169 : ℚ) / 400, value := (23 : ℚ) / 16 } def n144 : Band := { lo := (169 : ℚ) / 400, hi := (17 : ℚ) / 40, value := (23 : ℚ) / 16 } def n145 : Band := { lo := (17 : ℚ) / 40, hi := (171 : ℚ) / 400, value := (23 : ℚ) / 16 } def n146 : Band := { lo := (171 : ℚ) / 400, hi := (43 : ℚ) / 100, value := (23 : ℚ) / 16 } def n147 : Band := { lo := (43 : ℚ) / 100, hi := (173 : ℚ) / 400, value := (23 : ℚ) / 16 } def n148 : Band := { lo := (173 : ℚ) / 400, hi := (87 : ℚ) / 200, value := (23 : ℚ) / 16 } def n149 : Band := { lo := (87 : ℚ) / 200, hi := (7 : ℚ) / 16, value := (23 : ℚ) / 16 } def n150 : Band := { lo := (7 : ℚ) / 16, hi := (11 : ℚ) / 25, value := (23 : ℚ) / 16 } def n151 : Band := { lo := (11 : ℚ) / 25, hi := (177 : ℚ) / 400, value := (23 : ℚ) / 16 } def n152 : Band := { lo := (177 : ℚ) / 400, hi := (89 : ℚ) / 200, value := (23 : ℚ) / 16 } def n153 : Band := { lo := (89 : ℚ) / 200, hi := (179 : ℚ) / 400, value := (23 : ℚ) / 16 } def n154 : Band := { lo := (179 : ℚ) / 400, hi := (9 : ℚ) / 20, value := (23 : ℚ) / 16 } def n155 : Band := { lo := (9 : ℚ) / 20, hi := (181 : ℚ) / 400, value := (23 : ℚ) / 16 } def n156 : Band := { lo := (181 : ℚ) / 400, hi := (91 : ℚ) / 200, value := (23 : ℚ) / 16 } def n157 : Band := { lo := (91 : ℚ) / 200, hi := (183 : ℚ) / 400, value := (23 : ℚ) / 16 } def n158 : Band := { lo := (183 : ℚ) / 400, hi := (23 : ℚ) / 50, value := (23 : ℚ) / 16 } def n159 : Band := { lo := (23 : ℚ) / 50, hi := (37 : ℚ) / 80, value := (23 : ℚ) / 16 } def n160 : Band := { lo := (37 : ℚ) / 80, hi := (93 : ℚ) / 200, value := (23 : ℚ) / 16 } def n161 : Band := { lo := (93 : ℚ) / 200, hi := (187 : ℚ) / 400, value := (23 : ℚ) / 16 } def n162 : Band := { lo := (187 : ℚ) / 400, hi := (47 : ℚ) / 100, value := (23 : ℚ) / 16 } def n163 : Band := { lo := (47 : ℚ) / 100, hi := (189 : ℚ) / 400, value := (23 : ℚ) / 16 } def n164 : Band := { lo := (189 : ℚ) / 400, hi := (19 : ℚ) / 40, value := (23 : ℚ) / 16 } def n165 : Band := { lo := (19 : ℚ) / 40, hi := (191 : ℚ) / 400, value := (23 : ℚ) / 16 } def n166 : Band := { lo := (191 : ℚ) / 400, hi := (12 : ℚ) / 25, value := (23 : ℚ) / 16 } def n167 : Band := { lo := (12 : ℚ) / 25, hi := (193 : ℚ) / 400, value := (23 : ℚ) / 16 } def n168 : Band := { lo := (193 : ℚ) / 400, hi := (97 : ℚ) / 200, value := (23 : ℚ) / 16 } def n169 : Band := { lo := (97 : ℚ) / 200, hi := (39 : ℚ) / 80, value := (23 : ℚ) / 16 } def n170 : Band := { lo := (39 : ℚ) / 80, hi := (49 : ℚ) / 100, value := (23 : ℚ) / 16 } def n171 : Band := { lo := (49 : ℚ) / 100, hi := (197 : ℚ) / 400, value := (23 : ℚ) / 16 } def n172 : Band := { lo := (197 : ℚ) / 400, hi := (99 : ℚ) / 200, value := (23 : ℚ) / 16 } def n173 : Band := { lo := (99 : ℚ) / 200, hi := (199 : ℚ) / 400, value := (23 : ℚ) / 16 } def n174 : Band := { lo := (199 : ℚ) / 400, hi := (1 : ℚ) / 2, value := (23 : ℚ) / 16 } def n175 : Band := { lo := (1 : ℚ) / 2, hi := (201 : ℚ) / 400, value := (23 : ℚ) / 16 } def n176 : Band := { lo := (201 : ℚ) / 400, hi := (101 : ℚ) / 200, value := (23 : ℚ) / 16 } def n177 : Band := { lo := (101 : ℚ) / 200, hi := (203 : ℚ) / 400, value := (23 : ℚ) / 16 } def n178 : Band := { lo := (203 : ℚ) / 400, hi := (51 : ℚ) / 100, value := (23 : ℚ) / 16 } def n179 : Band := { lo := (51 : ℚ) / 100, hi := (41 : ℚ) / 80, value := (23 : ℚ) / 16 } def n180 : Band := { lo := (41 : ℚ) / 80, hi := (103 : ℚ) / 200, value := (23 : ℚ) / 16 } def n181 : Band := { lo := (103 : ℚ) / 200, hi := (207 : ℚ) / 400, value := (23 : ℚ) / 16 } def n182 : Band := { lo := (207 : ℚ) / 400, hi := (13 : ℚ) / 25, value := (23 : ℚ) / 16 } def n183 : Band := { lo := (13 : ℚ) / 25, hi := (209 : ℚ) / 400, value := (23 : ℚ) / 16 } def n184 : Band := { lo := (209 : ℚ) / 400, hi := (21 : ℚ) / 40, value := (23 : ℚ) / 16 } def n185 : Band := { lo := (21 : ℚ) / 40, hi := (211 : ℚ) / 400, value := (23 : ℚ) / 16 } def n186 : Band := { lo := (211 : ℚ) / 400, hi := (53 : ℚ) / 100, value := (23 : ℚ) / 16 } def n187 : Band := { lo := (53 : ℚ) / 100, hi := (213 : ℚ) / 400, value := (23 : ℚ) / 16 } def n188 : Band := { lo := (213 : ℚ) / 400, hi := (107 : ℚ) / 200, value := (23 : ℚ) / 16 } def n189 : Band := { lo := (107 : ℚ) / 200, hi := (43 : ℚ) / 80, value := (23 : ℚ) / 16 } def n190 : Band := { lo := (43 : ℚ) / 80, hi := (27 : ℚ) / 50, value := (23 : ℚ) / 16 } def n191 : Band := { lo := (27 : ℚ) / 50, hi := (217 : ℚ) / 400, value := (23 : ℚ) / 16 } def n192 : Band := { lo := (217 : ℚ) / 400, hi := (109 : ℚ) / 200, value := (23 : ℚ) / 16 } def n193 : Band := { lo := (109 : ℚ) / 200, hi := (219 : ℚ) / 400, value := (23 : ℚ) / 16 } def n194 : Band := { lo := (219 : ℚ) / 400, hi := (11 : ℚ) / 20, value := (23 : ℚ) / 16 } def n195 : Band := { lo := (11 : ℚ) / 20, hi := (221 : ℚ) / 400, value := (23 : ℚ) / 16 } def n196 : Band := { lo := (221 : ℚ) / 400, hi := (111 : ℚ) / 200, value := (23 : ℚ) / 16 } def n197 : Band := { lo := (111 : ℚ) / 200, hi := (223 : ℚ) / 400, value := (23 : ℚ) / 16 } def n198 : Band := { lo := (223 : ℚ) / 400, hi := (14 : ℚ) / 25, value := (23 : ℚ) / 16 } def ns0 : List Band := [n0, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15] def ns1 : List Band := [n16, n17, n18, n19, n20, n21, n22, n23, n24, n25, n26, n27, n28, n29, n30, n31] def ns2 : List Band := [n32, n33, n34, n35, n36, n37, n38, n39, n40, n41, n42, n43, n44, n45, n46, n47] def ns3 : List Band := [n48, n49, n50, n51, n52, n53, n54, n55, n56, n57, n58, n59, n60, n61, n62, n63] def ns4 : List Band := [n64, n65, n66, n67, n68, n69, n70, n71, n72, n73, n74, n75, n76, n77, n78, n79] def ns5 : List Band := [n80, n81, n82, n83, n84, n85, n86, n87, n88, n89, n90, n91, n92, n93, n94, n95] def ns6 : List Band := [n96, n97, n98, n99, n100, n101, n102, n103, n104, n105, n106, n107, n108, n109, n110, n111] def ns7 : List Band := [n112, n113, n114, n115, n116, n117, n118, n119, n120, n121, n122, n123, n124, n125, n126, n127] def ns8 : List Band := [n128, n129, n130, n131, n132, n133, n134, n135, n136, n137, n138, n139, n140, n141, n142, n143] def ns9 : List Band := [n144, n145, n146, n147, n148, n149, n150, n151, n152, n153, n154, n155, n156, n157, n158, n159] def ns10 : List Band := [n160, n161, n162, n163, n164, n165, n166, n167, n168, n169, n170, n171, n172, n173, n174, n175] def ns11 : List Band := [n176, n177, n178, n179, n180, n181, n182, n183, n184, n185, n186, n187, n188, n189, n190, n191] def ns12 : List Band := [n192, n193, n194, n195, n196, n197, n198] def nsJoin0 : List Band := ns1 ++ ns2 def nsJoin1 : List Band := ns0 ++ nsJoin0 def nsJoin2 : List Band := ns4 ++ ns5 def nsJoin3 : List Band := ns3 ++ nsJoin2 def nsJoin4 : List Band := nsJoin1 ++ nsJoin3 def nsJoin5 : List Band := ns7 ++ ns8 def nsJoin6 : List Band := ns6 ++ nsJoin5 def nsJoin7 : List Band := ns9 ++ ns10 def nsJoin8 : List Band := ns11 ++ ns12 def nsJoin9 : List Band := nsJoin7 ++ nsJoin8 def nsJoin10 : List Band := nsJoin6 ++ nsJoin9 def nsJoin11 : List Band := nsJoin4 ++ nsJoin10 def negBands : List Band := nsJoin11 theorem negative_table_eq_original : negBands = GridData.negBands := rfl def ps0 : List Band := [p0] def ps1 : List Band := [p1] def ps2 : List Band := [p2] def ps3 : List Band := [p3] def ps4 : List Band := [p4] def ps5 : List Band := [p5] def ps6 : List Band := [p6] def ps7 : List Band := [p7] def ps8 : List Band := [p8] def ps9 : List Band := [p9] def ps10 : List Band := [p10] def ps11 : List Band := [p11] def ps12 : List Band := [p12] def ps13 : List Band := [p13] def ps14 : List Band := [p14] def ps15 : List Band := [p15] def ps16 : List Band := [p16] def ps17 : List Band := [p17] def ps18 : List Band := [p18] def ps19 : List Band := [p19] def ps20 : List Band := [p20] def ps21 : List Band := [p21] def ps22 : List Band := [p22] def ps23 : List Band := [p23] def ps24 : List Band := [p24] def ps25 : List Band := [p25] def ps26 : List Band := [p26] def ps27 : List Band := [p27] def ps28 : List Band := [p28] def ps29 : List Band := [p29] def ps30 : List Band := [p30] def ps31 : List Band := [p31] def ps32 : List Band := [p32] def ps33 : List Band := [p33] def ps34 : List Band := [p34] def ps35 : List Band := [p35] def ps36 : List Band := [p36] def ps37 : List Band := [p37] def ps38 : List Band := [p38] def ps39 : List Band := [p39] def ps40 : List Band := [p40] def ps41 : List Band := [p41] def psJoin0 : List Band := ps0 ++ ps1 def psJoin1 : List Band := ps3 ++ ps4 def psJoin2 : List Band := ps2 ++ psJoin1 def psJoin3 : List Band := psJoin0 ++ psJoin2 def psJoin4 : List Band := ps5 ++ ps6 def psJoin5 : List Band := ps8 ++ ps9 def psJoin6 : List Band := ps7 ++ psJoin5 def psJoin7 : List Band := psJoin4 ++ psJoin6 def psJoin8 : List Band := psJoin3 ++ psJoin7 def psJoin9 : List Band := ps10 ++ ps11 def psJoin10 : List Band := ps13 ++ ps14 def psJoin11 : List Band := ps12 ++ psJoin10 def psJoin12 : List Band := psJoin9 ++ psJoin11 def psJoin13 : List Band := ps16 ++ ps17 def psJoin14 : List Band := ps15 ++ psJoin13 def psJoin15 : List Band := ps19 ++ ps20 def psJoin16 : List Band := ps18 ++ psJoin15 def psJoin17 : List Band := psJoin14 ++ psJoin16 def psJoin18 : List Band := psJoin12 ++ psJoin17 def psJoin19 : List Band := psJoin8 ++ psJoin18 def psJoin20 : List Band := ps21 ++ ps22 def psJoin21 : List Band := ps24 ++ ps25 def psJoin22 : List Band := ps23 ++ psJoin21 def psJoin23 : List Band := psJoin20 ++ psJoin22 def psJoin24 : List Band := ps26 ++ ps27 def psJoin25 : List Band := ps29 ++ ps30 def psJoin26 : List Band := ps28 ++ psJoin25 def psJoin27 : List Band := psJoin24 ++ psJoin26 def psJoin28 : List Band := psJoin23 ++ psJoin27 def psJoin29 : List Band := ps31 ++ ps32 def psJoin30 : List Band := ps34 ++ ps35 def psJoin31 : List Band := ps33 ++ psJoin30 def psJoin32 : List Band := psJoin29 ++ psJoin31 def psJoin33 : List Band := ps37 ++ ps38 def psJoin34 : List Band := ps36 ++ psJoin33 def psJoin35 : List Band := ps40 ++ ps41 def psJoin36 : List Band := ps39 ++ psJoin35 def psJoin37 : List Band := psJoin34 ++ psJoin36 def psJoin38 : List Band := psJoin32 ++ psJoin37 def psJoin39 : List Band := psJoin28 ++ psJoin38 def psJoin40 : List Band := psJoin19 ++ psJoin39 def posBands : List Band := psJoin40 def originalSupplierIndices : List Nat := [0, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61] end QuantileFiniteCertificate.W02ThinnedGrid end /- END M086 -/ /- BEGIN M087 -/ section namespace QuantileFiniteCertificate.W02FastCoarseGrid open QuantileFiniteCertificate.W02CoarseGrid open QuantileFiniteCertificate.W02ThinnedGrid def w10BandDecidableEq : DecidableEq Band := fun p q => if h : p.lo = q.lo ∧ p.hi = q.hi ∧ p.value = q.value then isTrue (by cases p; cases q; rcases h with ⟨rfl, rfl, rfl⟩; rfl) else isFalse (by intro heq; subst q; exact h ⟨rfl, rfl, rfl⟩) def pLookup0 (i : ℕ) : Band := if i < 1 then p0 else p1 def pLookup1 (i : ℕ) : Band := if i < 4 then p3 else p4 def pLookup2 (i : ℕ) : Band := if i < 3 then p2 else pLookup1 i def pLookup3 (i : ℕ) : Band := if i < 2 then pLookup0 i else pLookup2 i def pLookup4 (i : ℕ) : Band := if i < 6 then p5 else p6 def pLookup5 (i : ℕ) : Band := if i < 9 then p8 else p9 def pLookup6 (i : ℕ) : Band := if i < 8 then p7 else pLookup5 i def pLookup7 (i : ℕ) : Band := if i < 7 then pLookup4 i else pLookup6 i def pLookup8 (i : ℕ) : Band := if i < 5 then pLookup3 i else pLookup7 i def pLookup9 (i : ℕ) : Band := if i < 11 then p10 else p11 def pLookup10 (i : ℕ) : Band := if i < 14 then p13 else p14 def pLookup11 (i : ℕ) : Band := if i < 13 then p12 else pLookup10 i def pLookup12 (i : ℕ) : Band := if i < 12 then pLookup9 i else pLookup11 i def pLookup13 (i : ℕ) : Band := if i < 17 then p16 else p17 def pLookup14 (i : ℕ) : Band := if i < 16 then p15 else pLookup13 i def pLookup15 (i : ℕ) : Band := if i < 20 then p19 else p20 def pLookup16 (i : ℕ) : Band := if i < 19 then p18 else pLookup15 i def pLookup17 (i : ℕ) : Band := if i < 18 then pLookup14 i else pLookup16 i def pLookup18 (i : ℕ) : Band := if i < 15 then pLookup12 i else pLookup17 i def pLookup19 (i : ℕ) : Band := if i < 10 then pLookup8 i else pLookup18 i def pLookup20 (i : ℕ) : Band := if i < 22 then p21 else p22 def pLookup21 (i : ℕ) : Band := if i < 25 then p24 else p25 def pLookup22 (i : ℕ) : Band := if i < 24 then p23 else pLookup21 i def pLookup23 (i : ℕ) : Band := if i < 23 then pLookup20 i else pLookup22 i def pLookup24 (i : ℕ) : Band := if i < 27 then p26 else p27 def pLookup25 (i : ℕ) : Band := if i < 30 then p29 else p30 def pLookup26 (i : ℕ) : Band := if i < 29 then p28 else pLookup25 i def pLookup27 (i : ℕ) : Band := if i < 28 then pLookup24 i else pLookup26 i def pLookup28 (i : ℕ) : Band := if i < 26 then pLookup23 i else pLookup27 i def pLookup29 (i : ℕ) : Band := if i < 32 then p31 else p32 def pLookup30 (i : ℕ) : Band := if i < 35 then p34 else p35 def pLookup31 (i : ℕ) : Band := if i < 34 then p33 else pLookup30 i def pLookup32 (i : ℕ) : Band := if i < 33 then pLookup29 i else pLookup31 i def pLookup33 (i : ℕ) : Band := if i < 38 then p37 else p38 def pLookup34 (i : ℕ) : Band := if i < 37 then p36 else pLookup33 i def pLookup35 (i : ℕ) : Band := if i < 41 then p40 else p41 def pLookup36 (i : ℕ) : Band := if i < 40 then p39 else pLookup35 i def pLookup37 (i : ℕ) : Band := if i < 39 then pLookup34 i else pLookup36 i def pLookup38 (i : ℕ) : Band := if i < 36 then pLookup32 i else pLookup37 i def pLookup39 (i : ℕ) : Band := if i < 31 then pLookup28 i else pLookup38 i def pLookup40 (i : ℕ) : Band := if i < 21 then pLookup19 i else pLookup39 i def nLookup0 (i : ℕ) : Band := if i < 2 then n1 else n2 def nLookup1 (i : ℕ) : Band := if i < 1 then n0 else nLookup0 i def nLookup2 (i : ℕ) : Band := if i < 5 then n4 else n5 def nLookup3 (i : ℕ) : Band := if i < 4 then n3 else nLookup2 i def nLookup4 (i : ℕ) : Band := if i < 3 then nLookup1 i else nLookup3 i def nLookup5 (i : ℕ) : Band := if i < 8 then n7 else n8 def nLookup6 (i : ℕ) : Band := if i < 7 then n6 else nLookup5 i def nLookup7 (i : ℕ) : Band := if i < 11 then n10 else n11 def nLookup8 (i : ℕ) : Band := if i < 10 then n9 else nLookup7 i def nLookup9 (i : ℕ) : Band := if i < 9 then nLookup6 i else nLookup8 i def nLookup10 (i : ℕ) : Band := if i < 6 then nLookup4 i else nLookup9 i def nLookup11 (i : ℕ) : Band := if i < 14 then n13 else n14 def nLookup12 (i : ℕ) : Band := if i < 13 then n12 else nLookup11 i def nLookup13 (i : ℕ) : Band := if i < 17 then n16 else n17 def nLookup14 (i : ℕ) : Band := if i < 16 then n15 else nLookup13 i def nLookup15 (i : ℕ) : Band := if i < 15 then nLookup12 i else nLookup14 i def nLookup16 (i : ℕ) : Band := if i < 20 then n19 else n20 def nLookup17 (i : ℕ) : Band := if i < 19 then n18 else nLookup16 i def nLookup18 (i : ℕ) : Band := if i < 23 then n22 else n23 def nLookup19 (i : ℕ) : Band := if i < 22 then n21 else nLookup18 i def nLookup20 (i : ℕ) : Band := if i < 21 then nLookup17 i else nLookup19 i def nLookup21 (i : ℕ) : Band := if i < 18 then nLookup15 i else nLookup20 i def nLookup22 (i : ℕ) : Band := if i < 12 then nLookup10 i else nLookup21 i def nLookup23 (i : ℕ) : Band := if i < 26 then n25 else n26 def nLookup24 (i : ℕ) : Band := if i < 25 then n24 else nLookup23 i def nLookup25 (i : ℕ) : Band := if i < 29 then n28 else n29 def nLookup26 (i : ℕ) : Band := if i < 28 then n27 else nLookup25 i def nLookup27 (i : ℕ) : Band := if i < 27 then nLookup24 i else nLookup26 i def nLookup28 (i : ℕ) : Band := if i < 32 then n31 else n32 def nLookup29 (i : ℕ) : Band := if i < 31 then n30 else nLookup28 i def nLookup30 (i : ℕ) : Band := if i < 35 then n34 else n35 def nLookup31 (i : ℕ) : Band := if i < 34 then n33 else nLookup30 i def nLookup32 (i : ℕ) : Band := if i < 33 then nLookup29 i else nLookup31 i def nLookup33 (i : ℕ) : Band := if i < 30 then nLookup27 i else nLookup32 i def nLookup34 (i : ℕ) : Band := if i < 38 then n37 else n38 def nLookup35 (i : ℕ) : Band := if i < 37 then n36 else nLookup34 i def nLookup36 (i : ℕ) : Band := if i < 41 then n40 else n41 def nLookup37 (i : ℕ) : Band := if i < 40 then n39 else nLookup36 i def nLookup38 (i : ℕ) : Band := if i < 39 then nLookup35 i else nLookup37 i def nLookup39 (i : ℕ) : Band := if i < 44 then n43 else n44 def nLookup40 (i : ℕ) : Band := if i < 43 then n42 else nLookup39 i def nLookup41 (i : ℕ) : Band := if i < 46 then n45 else n46 def nLookup42 (i : ℕ) : Band := if i < 48 then n47 else n48 def nLookup43 (i : ℕ) : Band := if i < 47 then nLookup41 i else nLookup42 i def nLookup44 (i : ℕ) : Band := if i < 45 then nLookup40 i else nLookup43 i def nLookup45 (i : ℕ) : Band := if i < 42 then nLookup38 i else nLookup44 i def nLookup46 (i : ℕ) : Band := if i < 36 then nLookup33 i else nLookup45 i def nLookup47 (i : ℕ) : Band := if i < 24 then nLookup22 i else nLookup46 i def nLookup48 (i : ℕ) : Band := if i < 51 then n50 else n51 def nLookup49 (i : ℕ) : Band := if i < 50 then n49 else nLookup48 i def nLookup50 (i : ℕ) : Band := if i < 54 then n53 else n54 def nLookup51 (i : ℕ) : Band := if i < 53 then n52 else nLookup50 i def nLookup52 (i : ℕ) : Band := if i < 52 then nLookup49 i else nLookup51 i def nLookup53 (i : ℕ) : Band := if i < 57 then n56 else n57 def nLookup54 (i : ℕ) : Band := if i < 56 then n55 else nLookup53 i def nLookup55 (i : ℕ) : Band := if i < 60 then n59 else n60 def nLookup56 (i : ℕ) : Band := if i < 59 then n58 else nLookup55 i def nLookup57 (i : ℕ) : Band := if i < 58 then nLookup54 i else nLookup56 i def nLookup58 (i : ℕ) : Band := if i < 55 then nLookup52 i else nLookup57 i def nLookup59 (i : ℕ) : Band := if i < 63 then n62 else n63 def nLookup60 (i : ℕ) : Band := if i < 62 then n61 else nLookup59 i def nLookup61 (i : ℕ) : Band := if i < 66 then n65 else n66 def nLookup62 (i : ℕ) : Band := if i < 65 then n64 else nLookup61 i def nLookup63 (i : ℕ) : Band := if i < 64 then nLookup60 i else nLookup62 i def nLookup64 (i : ℕ) : Band := if i < 69 then n68 else n69 def nLookup65 (i : ℕ) : Band := if i < 68 then n67 else nLookup64 i def nLookup66 (i : ℕ) : Band := if i < 71 then n70 else n71 def nLookup67 (i : ℕ) : Band := if i < 73 then n72 else n73 def nLookup68 (i : ℕ) : Band := if i < 72 then nLookup66 i else nLookup67 i def nLookup69 (i : ℕ) : Band := if i < 70 then nLookup65 i else nLookup68 i def nLookup70 (i : ℕ) : Band := if i < 67 then nLookup63 i else nLookup69 i def nLookup71 (i : ℕ) : Band := if i < 61 then nLookup58 i else nLookup70 i def nLookup72 (i : ℕ) : Band := if i < 76 then n75 else n76 def nLookup73 (i : ℕ) : Band := if i < 75 then n74 else nLookup72 i def nLookup74 (i : ℕ) : Band := if i < 79 then n78 else n79 def nLookup75 (i : ℕ) : Band := if i < 78 then n77 else nLookup74 i def nLookup76 (i : ℕ) : Band := if i < 77 then nLookup73 i else nLookup75 i def nLookup77 (i : ℕ) : Band := if i < 82 then n81 else n82 def nLookup78 (i : ℕ) : Band := if i < 81 then n80 else nLookup77 i def nLookup79 (i : ℕ) : Band := if i < 85 then n84 else n85 def nLookup80 (i : ℕ) : Band := if i < 84 then n83 else nLookup79 i def nLookup81 (i : ℕ) : Band := if i < 83 then nLookup78 i else nLookup80 i def nLookup82 (i : ℕ) : Band := if i < 80 then nLookup76 i else nLookup81 i def nLookup83 (i : ℕ) : Band := if i < 88 then n87 else n88 def nLookup84 (i : ℕ) : Band := if i < 87 then n86 else nLookup83 i def nLookup85 (i : ℕ) : Band := if i < 91 then n90 else n91 def nLookup86 (i : ℕ) : Band := if i < 90 then n89 else nLookup85 i def nLookup87 (i : ℕ) : Band := if i < 89 then nLookup84 i else nLookup86 i def nLookup88 (i : ℕ) : Band := if i < 94 then n93 else n94 def nLookup89 (i : ℕ) : Band := if i < 93 then n92 else nLookup88 i def nLookup90 (i : ℕ) : Band := if i < 96 then n95 else n96 def nLookup91 (i : ℕ) : Band := if i < 98 then n97 else n98 def nLookup92 (i : ℕ) : Band := if i < 97 then nLookup90 i else nLookup91 i def nLookup93 (i : ℕ) : Band := if i < 95 then nLookup89 i else nLookup92 i def nLookup94 (i : ℕ) : Band := if i < 92 then nLookup87 i else nLookup93 i def nLookup95 (i : ℕ) : Band := if i < 86 then nLookup82 i else nLookup94 i def nLookup96 (i : ℕ) : Band := if i < 74 then nLookup71 i else nLookup95 i def nLookup97 (i : ℕ) : Band := if i < 49 then nLookup47 i else nLookup96 i def nLookup98 (i : ℕ) : Band := if i < 101 then n100 else n101 def nLookup99 (i : ℕ) : Band := if i < 100 then n99 else nLookup98 i def nLookup100 (i : ℕ) : Band := if i < 104 then n103 else n104 def nLookup101 (i : ℕ) : Band := if i < 103 then n102 else nLookup100 i def nLookup102 (i : ℕ) : Band := if i < 102 then nLookup99 i else nLookup101 i def nLookup103 (i : ℕ) : Band := if i < 107 then n106 else n107 def nLookup104 (i : ℕ) : Band := if i < 106 then n105 else nLookup103 i def nLookup105 (i : ℕ) : Band := if i < 110 then n109 else n110 def nLookup106 (i : ℕ) : Band := if i < 109 then n108 else nLookup105 i def nLookup107 (i : ℕ) : Band := if i < 108 then nLookup104 i else nLookup106 i def nLookup108 (i : ℕ) : Band := if i < 105 then nLookup102 i else nLookup107 i def nLookup109 (i : ℕ) : Band := if i < 113 then n112 else n113 def nLookup110 (i : ℕ) : Band := if i < 112 then n111 else nLookup109 i def nLookup111 (i : ℕ) : Band := if i < 116 then n115 else n116 def nLookup112 (i : ℕ) : Band := if i < 115 then n114 else nLookup111 i def nLookup113 (i : ℕ) : Band := if i < 114 then nLookup110 i else nLookup112 i def nLookup114 (i : ℕ) : Band := if i < 119 then n118 else n119 def nLookup115 (i : ℕ) : Band := if i < 118 then n117 else nLookup114 i def nLookup116 (i : ℕ) : Band := if i < 121 then n120 else n121 def nLookup117 (i : ℕ) : Band := if i < 123 then n122 else n123 def nLookup118 (i : ℕ) : Band := if i < 122 then nLookup116 i else nLookup117 i def nLookup119 (i : ℕ) : Band := if i < 120 then nLookup115 i else nLookup118 i def nLookup120 (i : ℕ) : Band := if i < 117 then nLookup113 i else nLookup119 i def nLookup121 (i : ℕ) : Band := if i < 111 then nLookup108 i else nLookup120 i def nLookup122 (i : ℕ) : Band := if i < 126 then n125 else n126 def nLookup123 (i : ℕ) : Band := if i < 125 then n124 else nLookup122 i def nLookup124 (i : ℕ) : Band := if i < 129 then n128 else n129 def nLookup125 (i : ℕ) : Band := if i < 128 then n127 else nLookup124 i def nLookup126 (i : ℕ) : Band := if i < 127 then nLookup123 i else nLookup125 i def nLookup127 (i : ℕ) : Band := if i < 132 then n131 else n132 def nLookup128 (i : ℕ) : Band := if i < 131 then n130 else nLookup127 i def nLookup129 (i : ℕ) : Band := if i < 135 then n134 else n135 def nLookup130 (i : ℕ) : Band := if i < 134 then n133 else nLookup129 i def nLookup131 (i : ℕ) : Band := if i < 133 then nLookup128 i else nLookup130 i def nLookup132 (i : ℕ) : Band := if i < 130 then nLookup126 i else nLookup131 i def nLookup133 (i : ℕ) : Band := if i < 138 then n137 else n138 def nLookup134 (i : ℕ) : Band := if i < 137 then n136 else nLookup133 i def nLookup135 (i : ℕ) : Band := if i < 141 then n140 else n141 def nLookup136 (i : ℕ) : Band := if i < 140 then n139 else nLookup135 i def nLookup137 (i : ℕ) : Band := if i < 139 then nLookup134 i else nLookup136 i def nLookup138 (i : ℕ) : Band := if i < 144 then n143 else n144 def nLookup139 (i : ℕ) : Band := if i < 143 then n142 else nLookup138 i def nLookup140 (i : ℕ) : Band := if i < 146 then n145 else n146 def nLookup141 (i : ℕ) : Band := if i < 148 then n147 else n148 def nLookup142 (i : ℕ) : Band := if i < 147 then nLookup140 i else nLookup141 i def nLookup143 (i : ℕ) : Band := if i < 145 then nLookup139 i else nLookup142 i def nLookup144 (i : ℕ) : Band := if i < 142 then nLookup137 i else nLookup143 i def nLookup145 (i : ℕ) : Band := if i < 136 then nLookup132 i else nLookup144 i def nLookup146 (i : ℕ) : Band := if i < 124 then nLookup121 i else nLookup145 i def nLookup147 (i : ℕ) : Band := if i < 151 then n150 else n151 def nLookup148 (i : ℕ) : Band := if i < 150 then n149 else nLookup147 i def nLookup149 (i : ℕ) : Band := if i < 154 then n153 else n154 def nLookup150 (i : ℕ) : Band := if i < 153 then n152 else nLookup149 i def nLookup151 (i : ℕ) : Band := if i < 152 then nLookup148 i else nLookup150 i def nLookup152 (i : ℕ) : Band := if i < 157 then n156 else n157 def nLookup153 (i : ℕ) : Band := if i < 156 then n155 else nLookup152 i def nLookup154 (i : ℕ) : Band := if i < 160 then n159 else n160 def nLookup155 (i : ℕ) : Band := if i < 159 then n158 else nLookup154 i def nLookup156 (i : ℕ) : Band := if i < 158 then nLookup153 i else nLookup155 i def nLookup157 (i : ℕ) : Band := if i < 155 then nLookup151 i else nLookup156 i def nLookup158 (i : ℕ) : Band := if i < 163 then n162 else n163 def nLookup159 (i : ℕ) : Band := if i < 162 then n161 else nLookup158 i def nLookup160 (i : ℕ) : Band := if i < 166 then n165 else n166 def nLookup161 (i : ℕ) : Band := if i < 165 then n164 else nLookup160 i def nLookup162 (i : ℕ) : Band := if i < 164 then nLookup159 i else nLookup161 i def nLookup163 (i : ℕ) : Band := if i < 169 then n168 else n169 def nLookup164 (i : ℕ) : Band := if i < 168 then n167 else nLookup163 i def nLookup165 (i : ℕ) : Band := if i < 171 then n170 else n171 def nLookup166 (i : ℕ) : Band := if i < 173 then n172 else n173 def nLookup167 (i : ℕ) : Band := if i < 172 then nLookup165 i else nLookup166 i def nLookup168 (i : ℕ) : Band := if i < 170 then nLookup164 i else nLookup167 i def nLookup169 (i : ℕ) : Band := if i < 167 then nLookup162 i else nLookup168 i def nLookup170 (i : ℕ) : Band := if i < 161 then nLookup157 i else nLookup169 i def nLookup171 (i : ℕ) : Band := if i < 176 then n175 else n176 def nLookup172 (i : ℕ) : Band := if i < 175 then n174 else nLookup171 i def nLookup173 (i : ℕ) : Band := if i < 179 then n178 else n179 def nLookup174 (i : ℕ) : Band := if i < 178 then n177 else nLookup173 i def nLookup175 (i : ℕ) : Band := if i < 177 then nLookup172 i else nLookup174 i def nLookup176 (i : ℕ) : Band := if i < 182 then n181 else n182 def nLookup177 (i : ℕ) : Band := if i < 181 then n180 else nLookup176 i def nLookup178 (i : ℕ) : Band := if i < 185 then n184 else n185 def nLookup179 (i : ℕ) : Band := if i < 184 then n183 else nLookup178 i def nLookup180 (i : ℕ) : Band := if i < 183 then nLookup177 i else nLookup179 i def nLookup181 (i : ℕ) : Band := if i < 180 then nLookup175 i else nLookup180 i def nLookup182 (i : ℕ) : Band := if i < 188 then n187 else n188 def nLookup183 (i : ℕ) : Band := if i < 187 then n186 else nLookup182 i def nLookup184 (i : ℕ) : Band := if i < 191 then n190 else n191 def nLookup185 (i : ℕ) : Band := if i < 190 then n189 else nLookup184 i def nLookup186 (i : ℕ) : Band := if i < 189 then nLookup183 i else nLookup185 i def nLookup187 (i : ℕ) : Band := if i < 194 then n193 else n194 def nLookup188 (i : ℕ) : Band := if i < 193 then n192 else nLookup187 i def nLookup189 (i : ℕ) : Band := if i < 196 then n195 else n196 def nLookup190 (i : ℕ) : Band := if i < 198 then n197 else n198 def nLookup191 (i : ℕ) : Band := if i < 197 then nLookup189 i else nLookup190 i def nLookup192 (i : ℕ) : Band := if i < 195 then nLookup188 i else nLookup191 i def nLookup193 (i : ℕ) : Band := if i < 192 then nLookup186 i else nLookup192 i def nLookup194 (i : ℕ) : Band := if i < 186 then nLookup181 i else nLookup193 i def nLookup195 (i : ℕ) : Band := if i < 174 then nLookup170 i else nLookup194 i def nLookup196 (i : ℕ) : Band := if i < 149 then nLookup146 i else nLookup195 i def nLookup197 (i : ℕ) : Band := if i < 99 then nLookup97 i else nLookup196 i def positiveFamily (i : Fin 42) : Band := pLookup40 i.val def negativeFamily (i : Fin 199) : Band := nLookup197 i.val def w10_positive_get_agreement_decidable : Decidable (∀ i : Fin 42, positiveFamily i = posBands.get ⟨i.val, by change i.val < 42; exact i.isLt⟩) := by letI := w10BandDecidableEq infer_instance theorem positive_get_agreement : ∀ i : Fin 42, positiveFamily i = posBands.get ⟨i.val, by change i.val < 42; exact i.isLt⟩ := @of_decide_eq_true _ w10_positive_get_agreement_decidable (by decide +kernel) def w10_negative_get_agreement_decidable : Decidable (∀ i : Fin 199, negativeFamily i = negBands.get ⟨i.val, by change i.val < 199; exact i.isLt⟩) := by letI := w10BandDecidableEq infer_instance theorem negative_get_agreement : ∀ i : Fin 199, negativeFamily i = negBands.get ⟨i.val, by change i.val < 199; exact i.isLt⟩ := @of_decide_eq_true _ w10_negative_get_agreement_decidable (by decide +kernel) theorem positive_length : posBands.length = 42 := by decide +kernel theorem negative_length : negBands.length = 199 := by decide +kernel theorem positive_nonneg : ∀ i, 0 ≤ (positiveFamily i).lo := by decide +kernel theorem positive_order : ∀ i, (positiveFamily i).lo ≤ (positiveFamily i).hi := by decide +kernel theorem negative_pos : ∀ j, 0 < (negativeFamily j).lo := by decide +kernel theorem negative_order : ∀ j, (negativeFamily j).lo ≤ (negativeFamily j).hi := by decide +kernel theorem positive_lo_mono : Monotone (fun i => (positiveFamily i).lo) := by apply Fin.monotone_iff_le_succ.mpr decide +kernel theorem positive_hi_mono : Monotone (fun i => (positiveFamily i).hi) := by apply Fin.monotone_iff_le_succ.mpr decide +kernel theorem positive_price_mono : Monotone (fun i => (positiveFamily i).value) := by apply Fin.monotone_iff_le_succ.mpr decide +kernel theorem negative_lo_mono : Monotone (fun i => (negativeFamily i).lo) := by apply Fin.monotone_iff_le_succ.mpr decide +kernel theorem negative_hi_mono : Monotone (fun i => (negativeFamily i).hi) := by apply Fin.monotone_iff_le_succ.mpr decide +kernel theorem negative_price_anti : Antitone (fun i => (negativeFamily i).value) := by apply Fin.antitone_iff_succ_le.mpr decide +kernel def families : OrderedFamilies 42 199 where positive := positiveFamily negative := negativeFamily positive_nonneg := positive_nonneg positive_order := positive_order negative_pos := negative_pos negative_order := negative_order positive_lo_mono := positive_lo_mono positive_hi_mono := positive_hi_mono positive_price_mono := positive_price_mono negative_lo_mono := negative_lo_mono negative_hi_mono := negative_hi_mono negative_price_anti := negative_price_anti end QuantileFiniteCertificate.W02FastCoarseGrid end /- END M087 -/ /- BEGIN M088 -/ section namespace QuantileFiniteCertificate.W02FastCoarseGrid open QuantileFiniteCertificate.W02CoarseGrid open QuantileFiniteCertificate.W02ThinnedGrid def box0 : AreaCell := ⟨p0.value, n4.value, p0.lo / n4.hi, p41.hi / n0.lo⟩ theorem box0_checked : checkAreaCell box0 = true := by decide +kernel def box1 : AreaCell := ⟨p0.value, n6.value, p0.lo / n6.hi, p7.hi / n5.lo⟩ theorem box1_checked : checkAreaCell box1 = true := by decide +kernel def box2 : AreaCell := ⟨p0.value, n8.value, p0.lo / n8.hi, p3.hi / n7.lo⟩ theorem box2_checked : checkAreaCell box2 = true := by decide +kernel def box3 : AreaCell := ⟨p0.value, n10.value, p0.lo / n10.hi, p3.hi / n9.lo⟩ theorem box3_checked : checkAreaCell box3 = true := by decide +kernel def box4 : AreaCell := ⟨p0.value, n12.value, p0.lo / n12.hi, p2.hi / n11.lo⟩ theorem box4_checked : checkAreaCell box4 = true := by decide +kernel def box5 : AreaCell := ⟨p3.value, n12.value, p3.lo / n12.hi, p3.hi / n11.lo⟩ theorem box5_checked : checkAreaCell box5 = true := by decide +kernel def box6 : AreaCell := ⟨p4.value, n12.value, p4.lo / n12.hi, p7.hi / n7.lo⟩ theorem box6_checked : checkAreaCell box6 = true := by decide +kernel def box7 : AreaCell := ⟨p0.value, n14.value, p0.lo / n14.hi, p1.hi / n13.lo⟩ theorem box7_checked : checkAreaCell box7 = true := by decide +kernel def box8 : AreaCell := ⟨p2.value, n14.value, p2.lo / n14.hi, p3.hi / n13.lo⟩ theorem box8_checked : checkAreaCell box8 = true := by decide +kernel def box9 : AreaCell := ⟨p0.value, n15.value, p0.lo / n15.hi, p1.hi / n15.lo⟩ theorem box9_checked : checkAreaCell box9 = true := by decide +kernel def box10 : AreaCell := ⟨p0.value, n16.value, p0.lo / n16.hi, p1.hi / n16.lo⟩ theorem box10_checked : checkAreaCell box10 = true := by decide +kernel def box11 : AreaCell := ⟨p2.value, n16.value, p2.lo / n16.hi, p3.hi / n15.lo⟩ theorem box11_checked : checkAreaCell box11 = true := by decide +kernel def box12 : AreaCell := ⟨p4.value, n16.value, p4.lo / n16.hi, p6.hi / n13.lo⟩ theorem box12_checked : checkAreaCell box12 = true := by decide +kernel def box13 : AreaCell := ⟨p0.value, n17.value, p0.lo / n17.hi, p1.hi / n17.lo⟩ theorem box13_checked : checkAreaCell box13 = true := by decide +kernel def box14 : AreaCell := ⟨p0.value, n18.value, p0.lo / n18.hi, p1.hi / n18.lo⟩ theorem box14_checked : checkAreaCell box14 = true := by decide +kernel def box15 : AreaCell := ⟨p0.value, n19.value, p0.lo / n19.hi, p1.hi / n19.lo⟩ theorem box15_checked : checkAreaCell box15 = true := by decide +kernel def box16 : AreaCell := ⟨p2.value, n17.value, p2.lo / n17.hi, p3.hi / n17.lo⟩ theorem box16_checked : checkAreaCell box16 = true := by decide +kernel def box17 : AreaCell := ⟨p2.value, n18.value, p2.lo / n18.hi, p3.hi / n18.lo⟩ theorem box17_checked : checkAreaCell box17 = true := by decide +kernel def box18 : AreaCell := ⟨p2.value, n19.value, p2.lo / n19.hi, p3.hi / n19.lo⟩ theorem box18_checked : checkAreaCell box18 = true := by decide +kernel def box19 : AreaCell := ⟨p4.value, n19.value, p4.lo / n19.hi, p4.hi / n17.lo⟩ theorem box19_checked : checkAreaCell box19 = true := by decide +kernel def box20 : AreaCell := ⟨p5.value, n19.value, p5.lo / n19.hi, p6.hi / n17.lo⟩ theorem box20_checked : checkAreaCell box20 = true := by decide +kernel def box21 : AreaCell := ⟨p7.value, n19.value, p7.lo / n19.hi, p7.hi / n13.lo⟩ theorem box21_checked : checkAreaCell box21 = true := by decide +kernel def box22 : AreaCell := ⟨p8.value, n19.value, p8.lo / n19.hi, p20.hi / n5.lo⟩ theorem box22_checked : checkAreaCell box22 = true := by decide +kernel def box23 : AreaCell := ⟨p0.value, n21.value, p0.lo / n21.hi, p0.hi / n20.lo⟩ theorem box23_checked : checkAreaCell box23 = true := by decide +kernel def box24 : AreaCell := ⟨p1.value, n20.value, p1.lo / n20.hi, p1.hi / n20.lo⟩ theorem box24_checked : checkAreaCell box24 = true := by decide +kernel def box25 : AreaCell := ⟨p1.value, n21.value, p1.lo / n21.hi, p1.hi / n21.lo⟩ theorem box25_checked : checkAreaCell box25 = true := by decide +kernel def box26 : AreaCell := ⟨p0.value, n22.value, p0.lo / n22.hi, p0.hi / n22.lo⟩ theorem box26_checked : checkAreaCell box26 = true := by decide +kernel def box27 : AreaCell := ⟨p1.value, n22.value, p1.lo / n22.hi, p1.hi / n22.lo⟩ theorem box27_checked : checkAreaCell box27 = true := by decide +kernel def box28 : AreaCell := ⟨p0.value, n23.value, p0.lo / n23.hi, p0.hi / n23.lo⟩ theorem box28_checked : checkAreaCell box28 = true := by decide +kernel def box29 : AreaCell := ⟨p1.value, n23.value, p1.lo / n23.hi, p1.hi / n23.lo⟩ theorem box29_checked : checkAreaCell box29 = true := by decide +kernel def box30 : AreaCell := ⟨p2.value, n20.value, p2.lo / n20.hi, p3.hi / n20.lo⟩ theorem box30_checked : checkAreaCell box30 = true := by decide +kernel def box31 : AreaCell := ⟨p4.value, n20.value, p4.lo / n20.hi, p6.hi / n20.lo⟩ theorem box31_checked : checkAreaCell box31 = true := by decide +kernel def box32 : AreaCell := ⟨p2.value, n22.value, p2.lo / n22.hi, p2.hi / n21.lo⟩ theorem box32_checked : checkAreaCell box32 = true := by decide +kernel def box33 : AreaCell := ⟨p3.value, n21.value, p3.lo / n21.hi, p4.hi / n21.lo⟩ theorem box33_checked : checkAreaCell box33 = true := by decide +kernel def box34 : AreaCell := ⟨p3.value, n22.value, p3.lo / n22.hi, p4.hi / n22.lo⟩ theorem box34_checked : checkAreaCell box34 = true := by decide +kernel def box35 : AreaCell := ⟨p2.value, n23.value, p2.lo / n23.hi, p2.hi / n23.lo⟩ theorem box35_checked : checkAreaCell box35 = true := by decide +kernel def box36 : AreaCell := ⟨p3.value, n23.value, p3.lo / n23.hi, p4.hi / n23.lo⟩ theorem box36_checked : checkAreaCell box36 = true := by decide +kernel def box37 : AreaCell := ⟨p5.value, n21.value, p5.lo / n21.hi, p6.hi / n21.lo⟩ theorem box37_checked : checkAreaCell box37 = true := by decide +kernel def box38 : AreaCell := ⟨p5.value, n23.value, p5.lo / n23.hi, p6.hi / n22.lo⟩ theorem box38_checked : checkAreaCell box38 = true := by decide +kernel def box39 : AreaCell := ⟨p7.value, n23.value, p7.lo / n23.hi, p8.hi / n20.lo⟩ theorem box39_checked : checkAreaCell box39 = true := by decide +kernel def box40 : AreaCell := ⟨p9.value, n23.value, p9.lo / n23.hi, p10.hi / n20.lo⟩ theorem box40_checked : checkAreaCell box40 = true := by decide +kernel def box41 : AreaCell := ⟨p0.value, n24.value, p0.lo / n24.hi, p0.hi / n24.lo⟩ theorem box41_checked : checkAreaCell box41 = true := by decide +kernel def box42 : AreaCell := ⟨p1.value, n24.value, p1.lo / n24.hi, p1.hi / n24.lo⟩ theorem box42_checked : checkAreaCell box42 = true := by decide +kernel def box43 : AreaCell := ⟨p2.value, n24.value, p2.lo / n24.hi, p2.hi / n24.lo⟩ theorem box43_checked : checkAreaCell box43 = true := by decide +kernel def box44 : AreaCell := ⟨p0.value, n25.value, p0.lo / n25.hi, p0.hi / n25.lo⟩ theorem box44_checked : checkAreaCell box44 = true := by decide +kernel def box45 : AreaCell := ⟨p1.value, n25.value, p1.lo / n25.hi, p1.hi / n25.lo⟩ theorem box45_checked : checkAreaCell box45 = true := by decide +kernel def box46 : AreaCell := ⟨p2.value, n25.value, p2.lo / n25.hi, p2.hi / n25.lo⟩ theorem box46_checked : checkAreaCell box46 = true := by decide +kernel def box47 : AreaCell := ⟨p3.value, n25.value, p3.lo / n25.hi, p3.hi / n24.lo⟩ theorem box47_checked : checkAreaCell box47 = true := by decide +kernel def box48 : AreaCell := ⟨p4.value, n24.value, p4.lo / n24.hi, p5.hi / n24.lo⟩ theorem box48_checked : checkAreaCell box48 = true := by decide +kernel def box49 : AreaCell := ⟨p4.value, n25.value, p4.lo / n25.hi, p5.hi / n25.lo⟩ theorem box49_checked : checkAreaCell box49 = true := by decide +kernel def box50 : AreaCell := ⟨p6.value, n25.value, p6.lo / n25.hi, p6.hi / n24.lo⟩ theorem box50_checked : checkAreaCell box50 = true := by decide +kernel def box51 : AreaCell := ⟨p0.value, n26.value, p0.lo / n26.hi, p0.hi / n26.lo⟩ theorem box51_checked : checkAreaCell box51 = true := by decide +kernel def box52 : AreaCell := ⟨p1.value, n26.value, p1.lo / n26.hi, p1.hi / n26.lo⟩ theorem box52_checked : checkAreaCell box52 = true := by decide +kernel def box53 : AreaCell := ⟨p2.value, n26.value, p2.lo / n26.hi, p2.hi / n26.lo⟩ theorem box53_checked : checkAreaCell box53 = true := by decide +kernel def box54 : AreaCell := ⟨p0.value, n27.value, p0.lo / n27.hi, p0.hi / n27.lo⟩ theorem box54_checked : checkAreaCell box54 = true := by decide +kernel def box55 : AreaCell := ⟨p1.value, n27.value, p1.lo / n27.hi, p1.hi / n27.lo⟩ theorem box55_checked : checkAreaCell box55 = true := by decide +kernel def box56 : AreaCell := ⟨p2.value, n27.value, p2.lo / n27.hi, p2.hi / n27.lo⟩ theorem box56_checked : checkAreaCell box56 = true := by decide +kernel def box57 : AreaCell := ⟨p3.value, n26.value, p3.lo / n26.hi, p3.hi / n26.lo⟩ theorem box57_checked : checkAreaCell box57 = true := by decide +kernel def box58 : AreaCell := ⟨p3.value, n27.value, p3.lo / n27.hi, p3.hi / n27.lo⟩ theorem box58_checked : checkAreaCell box58 = true := by decide +kernel def box59 : AreaCell := ⟨p4.value, n27.value, p4.lo / n27.hi, p4.hi / n26.lo⟩ theorem box59_checked : checkAreaCell box59 = true := by decide +kernel def box60 : AreaCell := ⟨p5.value, n26.value, p5.lo / n26.hi, p6.hi / n26.lo⟩ theorem box60_checked : checkAreaCell box60 = true := by decide +kernel def box61 : AreaCell := ⟨p5.value, n27.value, p5.lo / n27.hi, p6.hi / n27.lo⟩ theorem box61_checked : checkAreaCell box61 = true := by decide +kernel def box62 : AreaCell := ⟨p7.value, n27.value, p7.lo / n27.hi, p7.hi / n24.lo⟩ theorem box62_checked : checkAreaCell box62 = true := by decide +kernel def box63 : AreaCell := ⟨p8.value, n27.value, p8.lo / n27.hi, p8.hi / n24.lo⟩ theorem box63_checked : checkAreaCell box63 = true := by decide +kernel def box64 : AreaCell := ⟨p9.value, n27.value, p9.lo / n27.hi, p10.hi / n24.lo⟩ theorem box64_checked : checkAreaCell box64 = true := by decide +kernel def box65 : AreaCell := ⟨p11.value, n27.value, p11.lo / n27.hi, p12.hi / n20.lo⟩ theorem box65_checked : checkAreaCell box65 = true := by decide +kernel def box66 : AreaCell := ⟨p13.value, n27.value, p13.lo / n27.hi, p20.hi / n20.lo⟩ theorem box66_checked : checkAreaCell box66 = true := by decide +kernel def box67 : AreaCell := ⟨p0.value, n28.value, p0.lo / n28.hi, p0.hi / n28.lo⟩ theorem box67_checked : checkAreaCell box67 = true := by decide +kernel def box68 : AreaCell := ⟨p1.value, n28.value, p1.lo / n28.hi, p1.hi / n28.lo⟩ theorem box68_checked : checkAreaCell box68 = true := by decide +kernel def box69 : AreaCell := ⟨p2.value, n28.value, p2.lo / n28.hi, p2.hi / n28.lo⟩ theorem box69_checked : checkAreaCell box69 = true := by decide +kernel def box70 : AreaCell := ⟨p3.value, n28.value, p3.lo / n28.hi, p3.hi / n28.lo⟩ theorem box70_checked : checkAreaCell box70 = true := by decide +kernel def box71 : AreaCell := ⟨p0.value, n29.value, p0.lo / n29.hi, p0.hi / n29.lo⟩ theorem box71_checked : checkAreaCell box71 = true := by decide +kernel def box72 : AreaCell := ⟨p1.value, n29.value, p1.lo / n29.hi, p1.hi / n29.lo⟩ theorem box72_checked : checkAreaCell box72 = true := by decide +kernel def box73 : AreaCell := ⟨p2.value, n29.value, p2.lo / n29.hi, p2.hi / n29.lo⟩ theorem box73_checked : checkAreaCell box73 = true := by decide +kernel def box74 : AreaCell := ⟨p3.value, n29.value, p3.lo / n29.hi, p3.hi / n29.lo⟩ theorem box74_checked : checkAreaCell box74 = true := by decide +kernel def box75 : AreaCell := ⟨p4.value, n28.value, p4.lo / n28.hi, p4.hi / n28.lo⟩ theorem box75_checked : checkAreaCell box75 = true := by decide +kernel def box76 : AreaCell := ⟨p4.value, n29.value, p4.lo / n29.hi, p4.hi / n29.lo⟩ theorem box76_checked : checkAreaCell box76 = true := by decide +kernel def box77 : AreaCell := ⟨p5.value, n29.value, p5.lo / n29.hi, p5.hi / n28.lo⟩ theorem box77_checked : checkAreaCell box77 = true := by decide +kernel def box78 : AreaCell := ⟨p6.value, n28.value, p6.lo / n28.hi, p7.hi / n28.lo⟩ theorem box78_checked : checkAreaCell box78 = true := by decide +kernel def box79 : AreaCell := ⟨p6.value, n29.value, p6.lo / n29.hi, p7.hi / n29.lo⟩ theorem box79_checked : checkAreaCell box79 = true := by decide +kernel def box80 : AreaCell := ⟨p8.value, n29.value, p8.lo / n29.hi, p9.hi / n28.lo⟩ theorem box80_checked : checkAreaCell box80 = true := by decide +kernel def box81 : AreaCell := ⟨p10.value, n29.value, p10.lo / n29.hi, p13.hi / n28.lo⟩ theorem box81_checked : checkAreaCell box81 = true := by decide +kernel def box82 : AreaCell := ⟨p0.value, n30.value, p0.lo / n30.hi, p0.hi / n30.lo⟩ theorem box82_checked : checkAreaCell box82 = true := by decide +kernel def box83 : AreaCell := ⟨p1.value, n30.value, p1.lo / n30.hi, p1.hi / n30.lo⟩ theorem box83_checked : checkAreaCell box83 = true := by decide +kernel def box84 : AreaCell := ⟨p2.value, n30.value, p2.lo / n30.hi, p2.hi / n30.lo⟩ theorem box84_checked : checkAreaCell box84 = true := by decide +kernel def box85 : AreaCell := ⟨p3.value, n30.value, p3.lo / n30.hi, p3.hi / n30.lo⟩ theorem box85_checked : checkAreaCell box85 = true := by decide +kernel def box86 : AreaCell := ⟨p0.value, n31.value, p0.lo / n31.hi, p0.hi / n31.lo⟩ theorem box86_checked : checkAreaCell box86 = true := by decide +kernel def box87 : AreaCell := ⟨p1.value, n31.value, p1.lo / n31.hi, p1.hi / n31.lo⟩ theorem box87_checked : checkAreaCell box87 = true := by decide +kernel def box88 : AreaCell := ⟨p2.value, n31.value, p2.lo / n31.hi, p2.hi / n31.lo⟩ theorem box88_checked : checkAreaCell box88 = true := by decide +kernel def box89 : AreaCell := ⟨p3.value, n31.value, p3.lo / n31.hi, p3.hi / n31.lo⟩ theorem box89_checked : checkAreaCell box89 = true := by decide +kernel def box90 : AreaCell := ⟨p4.value, n30.value, p4.lo / n30.hi, p4.hi / n30.lo⟩ theorem box90_checked : checkAreaCell box90 = true := by decide +kernel def box91 : AreaCell := ⟨p5.value, n30.value, p5.lo / n30.hi, p5.hi / n30.lo⟩ theorem box91_checked : checkAreaCell box91 = true := by decide +kernel def box92 : AreaCell := ⟨p4.value, n31.value, p4.lo / n31.hi, p4.hi / n31.lo⟩ theorem box92_checked : checkAreaCell box92 = true := by decide +kernel def box93 : AreaCell := ⟨p5.value, n31.value, p5.lo / n31.hi, p5.hi / n31.lo⟩ theorem box93_checked : checkAreaCell box93 = true := by decide +kernel def box94 : AreaCell := ⟨p6.value, n31.value, p6.lo / n31.hi, p6.hi / n30.lo⟩ theorem box94_checked : checkAreaCell box94 = true := by decide +kernel def box95 : AreaCell := ⟨p7.value, n30.value, p7.lo / n30.hi, p8.hi / n30.lo⟩ theorem box95_checked : checkAreaCell box95 = true := by decide +kernel def box96 : AreaCell := ⟨p7.value, n31.value, p7.lo / n31.hi, p8.hi / n31.lo⟩ theorem box96_checked : checkAreaCell box96 = true := by decide +kernel def box97 : AreaCell := ⟨p9.value, n31.value, p9.lo / n31.hi, p10.hi / n30.lo⟩ theorem box97_checked : checkAreaCell box97 = true := by decide +kernel def box98 : AreaCell := ⟨p11.value, n31.value, p11.lo / n31.hi, p13.hi / n30.lo⟩ theorem box98_checked : checkAreaCell box98 = true := by decide +kernel def box99 : AreaCell := ⟨p14.value, n31.value, p14.lo / n31.hi, p20.hi / n28.lo⟩ theorem box99_checked : checkAreaCell box99 = true := by decide +kernel def box100 : AreaCell := ⟨p0.value, n32.value, p0.lo / n32.hi, p0.hi / n32.lo⟩ theorem box100_checked : checkAreaCell box100 = true := by decide +kernel def box101 : AreaCell := ⟨p1.value, n32.value, p1.lo / n32.hi, p1.hi / n32.lo⟩ theorem box101_checked : checkAreaCell box101 = true := by decide +kernel def box102 : AreaCell := ⟨p2.value, n32.value, p2.lo / n32.hi, p2.hi / n32.lo⟩ theorem box102_checked : checkAreaCell box102 = true := by decide +kernel def box103 : AreaCell := ⟨p0.value, n33.value, p0.lo / n33.hi, p0.hi / n33.lo⟩ theorem box103_checked : checkAreaCell box103 = true := by decide +kernel def box104 : AreaCell := ⟨p1.value, n33.value, p1.lo / n33.hi, p1.hi / n33.lo⟩ theorem box104_checked : checkAreaCell box104 = true := by decide +kernel def box105 : AreaCell := ⟨p2.value, n33.value, p2.lo / n33.hi, p2.hi / n33.lo⟩ theorem box105_checked : checkAreaCell box105 = true := by decide +kernel def box106 : AreaCell := ⟨p0.value, n34.value, p0.lo / n34.hi, p0.hi / n34.lo⟩ theorem box106_checked : checkAreaCell box106 = true := by decide +kernel def box107 : AreaCell := ⟨p1.value, n34.value, p1.lo / n34.hi, p1.hi / n34.lo⟩ theorem box107_checked : checkAreaCell box107 = true := by decide +kernel def box108 : AreaCell := ⟨p2.value, n34.value, p2.lo / n34.hi, p2.hi / n34.lo⟩ theorem box108_checked : checkAreaCell box108 = true := by decide +kernel def box109 : AreaCell := ⟨p3.value, n32.value, p3.lo / n32.hi, p3.hi / n32.lo⟩ theorem box109_checked : checkAreaCell box109 = true := by decide +kernel def box110 : AreaCell := ⟨p3.value, n33.value, p3.lo / n33.hi, p3.hi / n33.lo⟩ theorem box110_checked : checkAreaCell box110 = true := by decide +kernel def box111 : AreaCell := ⟨p3.value, n34.value, p3.lo / n34.hi, p3.hi / n34.lo⟩ theorem box111_checked : checkAreaCell box111 = true := by decide +kernel def box112 : AreaCell := ⟨p4.value, n32.value, p4.lo / n32.hi, p4.hi / n32.lo⟩ theorem box112_checked : checkAreaCell box112 = true := by decide +kernel def box113 : AreaCell := ⟨p4.value, n33.value, p4.lo / n33.hi, p4.hi / n33.lo⟩ theorem box113_checked : checkAreaCell box113 = true := by decide +kernel def box114 : AreaCell := ⟨p4.value, n34.value, p4.lo / n34.hi, p4.hi / n34.lo⟩ theorem box114_checked : checkAreaCell box114 = true := by decide +kernel def box115 : AreaCell := ⟨p5.value, n32.value, p5.lo / n32.hi, p5.hi / n32.lo⟩ theorem box115_checked : checkAreaCell box115 = true := by decide +kernel def box116 : AreaCell := ⟨p5.value, n33.value, p5.lo / n33.hi, p5.hi / n33.lo⟩ theorem box116_checked : checkAreaCell box116 = true := by decide +kernel def box117 : AreaCell := ⟨p5.value, n34.value, p5.lo / n34.hi, p5.hi / n34.lo⟩ theorem box117_checked : checkAreaCell box117 = true := by decide +kernel def box118 : AreaCell := ⟨p6.value, n32.value, p6.lo / n32.hi, p6.hi / n32.lo⟩ theorem box118_checked : checkAreaCell box118 = true := by decide +kernel def box119 : AreaCell := ⟨p6.value, n33.value, p6.lo / n33.hi, p6.hi / n33.lo⟩ theorem box119_checked : checkAreaCell box119 = true := by decide +kernel def box120 : AreaCell := ⟨p6.value, n34.value, p6.lo / n34.hi, p6.hi / n34.lo⟩ theorem box120_checked : checkAreaCell box120 = true := by decide +kernel def box121 : AreaCell := ⟨p7.value, n32.value, p7.lo / n32.hi, p8.hi / n32.lo⟩ theorem box121_checked : checkAreaCell box121 = true := by decide +kernel def box122 : AreaCell := ⟨p9.value, n32.value, p9.lo / n32.hi, p10.hi / n32.lo⟩ theorem box122_checked : checkAreaCell box122 = true := by decide +kernel def box123 : AreaCell := ⟨p11.value, n32.value, p11.lo / n32.hi, p14.hi / n32.lo⟩ theorem box123_checked : checkAreaCell box123 = true := by decide +kernel def box124 : AreaCell := ⟨p7.value, n34.value, p7.lo / n34.hi, p7.hi / n33.lo⟩ theorem box124_checked : checkAreaCell box124 = true := by decide +kernel def box125 : AreaCell := ⟨p8.value, n33.value, p8.lo / n33.hi, p9.hi / n33.lo⟩ theorem box125_checked : checkAreaCell box125 = true := by decide +kernel def box126 : AreaCell := ⟨p8.value, n34.value, p8.lo / n34.hi, p9.hi / n34.lo⟩ theorem box126_checked : checkAreaCell box126 = true := by decide +kernel def box127 : AreaCell := ⟨p10.value, n34.value, p10.lo / n34.hi, p11.hi / n33.lo⟩ theorem box127_checked : checkAreaCell box127 = true := by decide +kernel def box128 : AreaCell := ⟨p12.value, n34.value, p12.lo / n34.hi, p14.hi / n33.lo⟩ theorem box128_checked : checkAreaCell box128 = true := by decide +kernel def box129 : AreaCell := ⟨p15.value, n33.value, p15.lo / n33.hi, p20.hi / n32.lo⟩ theorem box129_checked : checkAreaCell box129 = true := by decide +kernel def box130 : AreaCell := ⟨p15.value, n34.value, p15.lo / n34.hi, p20.hi / n34.lo⟩ theorem box130_checked : checkAreaCell box130 = true := by decide +kernel def box131 : AreaCell := ⟨p0.value, n36.value, p0.lo / n36.hi, p0.hi / n35.lo⟩ theorem box131_checked : checkAreaCell box131 = true := by decide +kernel def box132 : AreaCell := ⟨p1.value, n35.value, p1.lo / n35.hi, p1.hi / n35.lo⟩ theorem box132_checked : checkAreaCell box132 = true := by decide +kernel def box133 : AreaCell := ⟨p2.value, n35.value, p2.lo / n35.hi, p2.hi / n35.lo⟩ theorem box133_checked : checkAreaCell box133 = true := by decide +kernel def box134 : AreaCell := ⟨p3.value, n35.value, p3.lo / n35.hi, p3.hi / n35.lo⟩ theorem box134_checked : checkAreaCell box134 = true := by decide +kernel def box135 : AreaCell := ⟨p4.value, n35.value, p4.lo / n35.hi, p4.hi / n35.lo⟩ theorem box135_checked : checkAreaCell box135 = true := by decide +kernel def box136 : AreaCell := ⟨p5.value, n35.value, p5.lo / n35.hi, p5.hi / n35.lo⟩ theorem box136_checked : checkAreaCell box136 = true := by decide +kernel def box137 : AreaCell := ⟨p1.value, n36.value, p1.lo / n36.hi, p1.hi / n36.lo⟩ theorem box137_checked : checkAreaCell box137 = true := by decide +kernel def box138 : AreaCell := ⟨p2.value, n36.value, p2.lo / n36.hi, p2.hi / n36.lo⟩ theorem box138_checked : checkAreaCell box138 = true := by decide +kernel def box139 : AreaCell := ⟨p3.value, n36.value, p3.lo / n36.hi, p3.hi / n36.lo⟩ theorem box139_checked : checkAreaCell box139 = true := by decide +kernel def box140 : AreaCell := ⟨p4.value, n36.value, p4.lo / n36.hi, p4.hi / n36.lo⟩ theorem box140_checked : checkAreaCell box140 = true := by decide +kernel def box141 : AreaCell := ⟨p5.value, n36.value, p5.lo / n36.hi, p5.hi / n36.lo⟩ theorem box141_checked : checkAreaCell box141 = true := by decide +kernel def box142 : AreaCell := ⟨p6.value, n35.value, p6.lo / n35.hi, p6.hi / n35.lo⟩ theorem box142_checked : checkAreaCell box142 = true := by decide +kernel def box143 : AreaCell := ⟨p7.value, n35.value, p7.lo / n35.hi, p7.hi / n35.lo⟩ theorem box143_checked : checkAreaCell box143 = true := by decide +kernel def box144 : AreaCell := ⟨p6.value, n36.value, p6.lo / n36.hi, p6.hi / n36.lo⟩ theorem box144_checked : checkAreaCell box144 = true := by decide +kernel def box145 : AreaCell := ⟨p7.value, n36.value, p7.lo / n36.hi, p7.hi / n36.lo⟩ theorem box145_checked : checkAreaCell box145 = true := by decide +kernel def box146 : AreaCell := ⟨p8.value, n36.value, p8.lo / n36.hi, p8.hi / n35.lo⟩ theorem box146_checked : checkAreaCell box146 = true := by decide +kernel def box147 : AreaCell := ⟨p9.value, n35.value, p9.lo / n35.hi, p10.hi / n35.lo⟩ theorem box147_checked : checkAreaCell box147 = true := by decide +kernel def box148 : AreaCell := ⟨p9.value, n36.value, p9.lo / n36.hi, p10.hi / n36.lo⟩ theorem box148_checked : checkAreaCell box148 = true := by decide +kernel def box149 : AreaCell := ⟨p11.value, n36.value, p11.lo / n36.hi, p12.hi / n35.lo⟩ theorem box149_checked : checkAreaCell box149 = true := by decide +kernel def box150 : AreaCell := ⟨p13.value, n36.value, p13.lo / n36.hi, p15.hi / n35.lo⟩ theorem box150_checked : checkAreaCell box150 = true := by decide +kernel def box151 : AreaCell := ⟨p16.value, n36.value, p16.lo / n36.hi, p20.hi / n35.lo⟩ theorem box151_checked : checkAreaCell box151 = true := by decide +kernel def box152 : AreaCell := ⟨p21.value, n36.value, p21.lo / n36.hi, p41.hi / n5.lo⟩ theorem box152_checked : checkAreaCell box152 = true := by decide +kernel def box153 : AreaCell := ⟨p0.value, n38.value, p0.lo / n38.hi, p0.hi / n37.lo⟩ theorem box153_checked : checkAreaCell box153 = true := by decide +kernel def box154 : AreaCell := ⟨p0.value, n40.value, p0.lo / n40.hi, p0.hi / n39.lo⟩ theorem box154_checked : checkAreaCell box154 = true := by decide +kernel def box155 : AreaCell := ⟨p0.value, n42.value, p0.lo / n42.hi, p0.hi / n41.lo⟩ theorem box155_checked : checkAreaCell box155 = true := by decide +kernel def box156 : AreaCell := ⟨p0.value, n45.value, p0.lo / n45.hi, p0.hi / n43.lo⟩ theorem box156_checked : checkAreaCell box156 = true := by decide +kernel def box157 : AreaCell := ⟨p0.value, n50.value, p0.lo / n50.hi, p0.hi / n46.lo⟩ theorem box157_checked : checkAreaCell box157 = true := by decide +kernel def box158 : AreaCell := ⟨p0.value, n55.value, p0.lo / n55.hi, p0.hi / n51.lo⟩ theorem box158_checked : checkAreaCell box158 = true := by decide +kernel def box159 : AreaCell := ⟨p1.value, n37.value, p1.lo / n37.hi, p1.hi / n37.lo⟩ theorem box159_checked : checkAreaCell box159 = true := by decide +kernel def box160 : AreaCell := ⟨p1.value, n38.value, p1.lo / n38.hi, p1.hi / n38.lo⟩ theorem box160_checked : checkAreaCell box160 = true := by decide +kernel def box161 : AreaCell := ⟨p1.value, n39.value, p1.lo / n39.hi, p1.hi / n39.lo⟩ theorem box161_checked : checkAreaCell box161 = true := by decide +kernel def box162 : AreaCell := ⟨p1.value, n40.value, p1.lo / n40.hi, p1.hi / n40.lo⟩ theorem box162_checked : checkAreaCell box162 = true := by decide +kernel def box163 : AreaCell := ⟨p1.value, n41.value, p1.lo / n41.hi, p1.hi / n41.lo⟩ theorem box163_checked : checkAreaCell box163 = true := by decide +kernel def box164 : AreaCell := ⟨p1.value, n42.value, p1.lo / n42.hi, p1.hi / n42.lo⟩ theorem box164_checked : checkAreaCell box164 = true := by decide +kernel def box165 : AreaCell := ⟨p1.value, n44.value, p1.lo / n44.hi, p1.hi / n43.lo⟩ theorem box165_checked : checkAreaCell box165 = true := by decide +kernel def box166 : AreaCell := ⟨p1.value, n46.value, p1.lo / n46.hi, p1.hi / n45.lo⟩ theorem box166_checked : checkAreaCell box166 = true := by decide +kernel def box167 : AreaCell := ⟨p1.value, n49.value, p1.lo / n49.hi, p1.hi / n47.lo⟩ theorem box167_checked : checkAreaCell box167 = true := by decide +kernel def box168 : AreaCell := ⟨p1.value, n55.value, p1.lo / n55.hi, p1.hi / n50.lo⟩ theorem box168_checked : checkAreaCell box168 = true := by decide +kernel def box169 : AreaCell := ⟨p2.value, n37.value, p2.lo / n37.hi, p2.hi / n37.lo⟩ theorem box169_checked : checkAreaCell box169 = true := by decide +kernel def box170 : AreaCell := ⟨p2.value, n38.value, p2.lo / n38.hi, p2.hi / n38.lo⟩ theorem box170_checked : checkAreaCell box170 = true := by decide +kernel def box171 : AreaCell := ⟨p2.value, n39.value, p2.lo / n39.hi, p2.hi / n39.lo⟩ theorem box171_checked : checkAreaCell box171 = true := by decide +kernel def box172 : AreaCell := ⟨p2.value, n40.value, p2.lo / n40.hi, p2.hi / n40.lo⟩ theorem box172_checked : checkAreaCell box172 = true := by decide +kernel def box173 : AreaCell := ⟨p2.value, n41.value, p2.lo / n41.hi, p2.hi / n41.lo⟩ theorem box173_checked : checkAreaCell box173 = true := by decide +kernel def box174 : AreaCell := ⟨p2.value, n42.value, p2.lo / n42.hi, p2.hi / n42.lo⟩ theorem box174_checked : checkAreaCell box174 = true := by decide +kernel def box175 : AreaCell := ⟨p2.value, n43.value, p2.lo / n43.hi, p2.hi / n43.lo⟩ theorem box175_checked : checkAreaCell box175 = true := by decide +kernel def box176 : AreaCell := ⟨p2.value, n44.value, p2.lo / n44.hi, p2.hi / n44.lo⟩ theorem box176_checked : checkAreaCell box176 = true := by decide +kernel def box177 : AreaCell := ⟨p2.value, n45.value, p2.lo / n45.hi, p2.hi / n45.lo⟩ theorem box177_checked : checkAreaCell box177 = true := by decide +kernel def box178 : AreaCell := ⟨p2.value, n47.value, p2.lo / n47.hi, p2.hi / n46.lo⟩ theorem box178_checked : checkAreaCell box178 = true := by decide +kernel def box179 : AreaCell := ⟨p2.value, n50.value, p2.lo / n50.hi, p2.hi / n48.lo⟩ theorem box179_checked : checkAreaCell box179 = true := by decide +kernel def box180 : AreaCell := ⟨p2.value, n55.value, p2.lo / n55.hi, p2.hi / n51.lo⟩ theorem box180_checked : checkAreaCell box180 = true := by decide +kernel def box181 : AreaCell := ⟨p0.value, n198.value, p0.lo / n198.hi, p2.hi / n56.lo⟩ theorem box181_checked : checkAreaCell box181 = true := by decide +kernel def box182 : AreaCell := ⟨p3.value, n37.value, p3.lo / n37.hi, p3.hi / n37.lo⟩ theorem box182_checked : checkAreaCell box182 = true := by decide +kernel def box183 : AreaCell := ⟨p3.value, n38.value, p3.lo / n38.hi, p3.hi / n38.lo⟩ theorem box183_checked : checkAreaCell box183 = true := by decide +kernel def box184 : AreaCell := ⟨p3.value, n39.value, p3.lo / n39.hi, p3.hi / n39.lo⟩ theorem box184_checked : checkAreaCell box184 = true := by decide +kernel def box185 : AreaCell := ⟨p3.value, n40.value, p3.lo / n40.hi, p3.hi / n40.lo⟩ theorem box185_checked : checkAreaCell box185 = true := by decide +kernel def box186 : AreaCell := ⟨p3.value, n41.value, p3.lo / n41.hi, p3.hi / n41.lo⟩ theorem box186_checked : checkAreaCell box186 = true := by decide +kernel def box187 : AreaCell := ⟨p3.value, n42.value, p3.lo / n42.hi, p3.hi / n42.lo⟩ theorem box187_checked : checkAreaCell box187 = true := by decide +kernel def box188 : AreaCell := ⟨p3.value, n43.value, p3.lo / n43.hi, p3.hi / n43.lo⟩ theorem box188_checked : checkAreaCell box188 = true := by decide +kernel def box189 : AreaCell := ⟨p3.value, n44.value, p3.lo / n44.hi, p3.hi / n44.lo⟩ theorem box189_checked : checkAreaCell box189 = true := by decide +kernel def box190 : AreaCell := ⟨p3.value, n45.value, p3.lo / n45.hi, p3.hi / n45.lo⟩ theorem box190_checked : checkAreaCell box190 = true := by decide +kernel def box191 : AreaCell := ⟨p3.value, n47.value, p3.lo / n47.hi, p3.hi / n46.lo⟩ theorem box191_checked : checkAreaCell box191 = true := by decide +kernel def box192 : AreaCell := ⟨p3.value, n50.value, p3.lo / n50.hi, p3.hi / n48.lo⟩ theorem box192_checked : checkAreaCell box192 = true := by decide +kernel def box193 : AreaCell := ⟨p3.value, n55.value, p3.lo / n55.hi, p3.hi / n51.lo⟩ theorem box193_checked : checkAreaCell box193 = true := by decide +kernel def box194 : AreaCell := ⟨p4.value, n37.value, p4.lo / n37.hi, p4.hi / n37.lo⟩ theorem box194_checked : checkAreaCell box194 = true := by decide +kernel def box195 : AreaCell := ⟨p4.value, n38.value, p4.lo / n38.hi, p4.hi / n38.lo⟩ theorem box195_checked : checkAreaCell box195 = true := by decide +kernel def box196 : AreaCell := ⟨p4.value, n39.value, p4.lo / n39.hi, p4.hi / n39.lo⟩ theorem box196_checked : checkAreaCell box196 = true := by decide +kernel def box197 : AreaCell := ⟨p4.value, n40.value, p4.lo / n40.hi, p4.hi / n40.lo⟩ theorem box197_checked : checkAreaCell box197 = true := by decide +kernel def box198 : AreaCell := ⟨p4.value, n41.value, p4.lo / n41.hi, p4.hi / n41.lo⟩ theorem box198_checked : checkAreaCell box198 = true := by decide +kernel def box199 : AreaCell := ⟨p4.value, n42.value, p4.lo / n42.hi, p4.hi / n42.lo⟩ theorem box199_checked : checkAreaCell box199 = true := by decide +kernel def box200 : AreaCell := ⟨p4.value, n43.value, p4.lo / n43.hi, p4.hi / n43.lo⟩ theorem box200_checked : checkAreaCell box200 = true := by decide +kernel def box201 : AreaCell := ⟨p4.value, n44.value, p4.lo / n44.hi, p4.hi / n44.lo⟩ theorem box201_checked : checkAreaCell box201 = true := by decide +kernel def box202 : AreaCell := ⟨p4.value, n45.value, p4.lo / n45.hi, p4.hi / n45.lo⟩ theorem box202_checked : checkAreaCell box202 = true := by decide +kernel def box203 : AreaCell := ⟨p4.value, n46.value, p4.lo / n46.hi, p4.hi / n46.lo⟩ theorem box203_checked : checkAreaCell box203 = true := by decide +kernel def box204 : AreaCell := ⟨p4.value, n48.value, p4.lo / n48.hi, p4.hi / n47.lo⟩ theorem box204_checked : checkAreaCell box204 = true := by decide +kernel def box205 : AreaCell := ⟨p4.value, n51.value, p4.lo / n51.hi, p4.hi / n49.lo⟩ theorem box205_checked : checkAreaCell box205 = true := by decide +kernel def box206 : AreaCell := ⟨p4.value, n55.value, p4.lo / n55.hi, p4.hi / n52.lo⟩ theorem box206_checked : checkAreaCell box206 = true := by decide +kernel def box207 : AreaCell := ⟨p3.value, n198.value, p3.lo / n198.hi, p4.hi / n56.lo⟩ theorem box207_checked : checkAreaCell box207 = true := by decide +kernel def box208 : AreaCell := ⟨p5.value, n37.value, p5.lo / n37.hi, p5.hi / n37.lo⟩ theorem box208_checked : checkAreaCell box208 = true := by decide +kernel def box209 : AreaCell := ⟨p5.value, n38.value, p5.lo / n38.hi, p5.hi / n38.lo⟩ theorem box209_checked : checkAreaCell box209 = true := by decide +kernel def box210 : AreaCell := ⟨p5.value, n39.value, p5.lo / n39.hi, p5.hi / n39.lo⟩ theorem box210_checked : checkAreaCell box210 = true := by decide +kernel def box211 : AreaCell := ⟨p6.value, n37.value, p6.lo / n37.hi, p6.hi / n37.lo⟩ theorem box211_checked : checkAreaCell box211 = true := by decide +kernel def box212 : AreaCell := ⟨p6.value, n38.value, p6.lo / n38.hi, p6.hi / n38.lo⟩ theorem box212_checked : checkAreaCell box212 = true := by decide +kernel def box213 : AreaCell := ⟨p6.value, n39.value, p6.lo / n39.hi, p6.hi / n39.lo⟩ theorem box213_checked : checkAreaCell box213 = true := by decide +kernel def box214 : AreaCell := ⟨p7.value, n37.value, p7.lo / n37.hi, p7.hi / n37.lo⟩ theorem box214_checked : checkAreaCell box214 = true := by decide +kernel def box215 : AreaCell := ⟨p8.value, n37.value, p8.lo / n37.hi, p8.hi / n37.lo⟩ theorem box215_checked : checkAreaCell box215 = true := by decide +kernel def box216 : AreaCell := ⟨p7.value, n38.value, p7.lo / n38.hi, p7.hi / n38.lo⟩ theorem box216_checked : checkAreaCell box216 = true := by decide +kernel def box217 : AreaCell := ⟨p8.value, n38.value, p8.lo / n38.hi, p8.hi / n38.lo⟩ theorem box217_checked : checkAreaCell box217 = true := by decide +kernel def box218 : AreaCell := ⟨p9.value, n38.value, p9.lo / n38.hi, p9.hi / n37.lo⟩ theorem box218_checked : checkAreaCell box218 = true := by decide +kernel def box219 : AreaCell := ⟨p7.value, n39.value, p7.lo / n39.hi, p7.hi / n39.lo⟩ theorem box219_checked : checkAreaCell box219 = true := by decide +kernel def box220 : AreaCell := ⟨p8.value, n39.value, p8.lo / n39.hi, p8.hi / n39.lo⟩ theorem box220_checked : checkAreaCell box220 = true := by decide +kernel def box221 : AreaCell := ⟨p9.value, n39.value, p9.lo / n39.hi, p9.hi / n39.lo⟩ theorem box221_checked : checkAreaCell box221 = true := by decide +kernel def box222 : AreaCell := ⟨p10.value, n37.value, p10.lo / n37.hi, p11.hi / n37.lo⟩ theorem box222_checked : checkAreaCell box222 = true := by decide +kernel def box223 : AreaCell := ⟨p12.value, n37.value, p12.lo / n37.hi, p13.hi / n37.lo⟩ theorem box223_checked : checkAreaCell box223 = true := by decide +kernel def box224 : AreaCell := ⟨p14.value, n37.value, p14.lo / n37.hi, p16.hi / n37.lo⟩ theorem box224_checked : checkAreaCell box224 = true := by decide +kernel def box225 : AreaCell := ⟨p10.value, n39.value, p10.lo / n39.hi, p10.hi / n38.lo⟩ theorem box225_checked : checkAreaCell box225 = true := by decide +kernel def box226 : AreaCell := ⟨p11.value, n38.value, p11.lo / n38.hi, p12.hi / n38.lo⟩ theorem box226_checked : checkAreaCell box226 = true := by decide +kernel def box227 : AreaCell := ⟨p13.value, n38.value, p13.lo / n38.hi, p14.hi / n38.lo⟩ theorem box227_checked : checkAreaCell box227 = true := by decide +kernel def box228 : AreaCell := ⟨p11.value, n39.value, p11.lo / n39.hi, p12.hi / n39.lo⟩ theorem box228_checked : checkAreaCell box228 = true := by decide +kernel def box229 : AreaCell := ⟨p13.value, n39.value, p13.lo / n39.hi, p14.hi / n39.lo⟩ theorem box229_checked : checkAreaCell box229 = true := by decide +kernel def box230 : AreaCell := ⟨p15.value, n39.value, p15.lo / n39.hi, p16.hi / n38.lo⟩ theorem box230_checked : checkAreaCell box230 = true := by decide +kernel def box231 : AreaCell := ⟨p17.value, n39.value, p17.lo / n39.hi, p19.hi / n37.lo⟩ theorem box231_checked : checkAreaCell box231 = true := by decide +kernel def box232 : AreaCell := ⟨p20.value, n39.value, p20.lo / n39.hi, p26.hi / n37.lo⟩ theorem box232_checked : checkAreaCell box232 = true := by decide +kernel def box233 : AreaCell := ⟨p5.value, n40.value, p5.lo / n40.hi, p5.hi / n40.lo⟩ theorem box233_checked : checkAreaCell box233 = true := by decide +kernel def box234 : AreaCell := ⟨p6.value, n40.value, p6.lo / n40.hi, p6.hi / n40.lo⟩ theorem box234_checked : checkAreaCell box234 = true := by decide +kernel def box235 : AreaCell := ⟨p7.value, n40.value, p7.lo / n40.hi, p7.hi / n40.lo⟩ theorem box235_checked : checkAreaCell box235 = true := by decide +kernel def box236 : AreaCell := ⟨p8.value, n40.value, p8.lo / n40.hi, p8.hi / n40.lo⟩ theorem box236_checked : checkAreaCell box236 = true := by decide +kernel def box237 : AreaCell := ⟨p9.value, n40.value, p9.lo / n40.hi, p9.hi / n40.lo⟩ theorem box237_checked : checkAreaCell box237 = true := by decide +kernel def box238 : AreaCell := ⟨p10.value, n40.value, p10.lo / n40.hi, p10.hi / n40.lo⟩ theorem box238_checked : checkAreaCell box238 = true := by decide +kernel def box239 : AreaCell := ⟨p5.value, n41.value, p5.lo / n41.hi, p5.hi / n41.lo⟩ theorem box239_checked : checkAreaCell box239 = true := by decide +kernel def box240 : AreaCell := ⟨p6.value, n41.value, p6.lo / n41.hi, p6.hi / n41.lo⟩ theorem box240_checked : checkAreaCell box240 = true := by decide +kernel def box241 : AreaCell := ⟨p7.value, n41.value, p7.lo / n41.hi, p7.hi / n41.lo⟩ theorem box241_checked : checkAreaCell box241 = true := by decide +kernel def box242 : AreaCell := ⟨p8.value, n41.value, p8.lo / n41.hi, p8.hi / n41.lo⟩ theorem box242_checked : checkAreaCell box242 = true := by decide +kernel def box243 : AreaCell := ⟨p9.value, n41.value, p9.lo / n41.hi, p9.hi / n41.lo⟩ theorem box243_checked : checkAreaCell box243 = true := by decide +kernel def box244 : AreaCell := ⟨p10.value, n41.value, p10.lo / n41.hi, p10.hi / n41.lo⟩ theorem box244_checked : checkAreaCell box244 = true := by decide +kernel def box245 : AreaCell := ⟨p11.value, n41.value, p11.lo / n41.hi, p11.hi / n40.lo⟩ theorem box245_checked : checkAreaCell box245 = true := by decide +kernel def box246 : AreaCell := ⟨p5.value, n42.value, p5.lo / n42.hi, p5.hi / n42.lo⟩ theorem box246_checked : checkAreaCell box246 = true := by decide +kernel def box247 : AreaCell := ⟨p6.value, n42.value, p6.lo / n42.hi, p6.hi / n42.lo⟩ theorem box247_checked : checkAreaCell box247 = true := by decide +kernel def box248 : AreaCell := ⟨p7.value, n42.value, p7.lo / n42.hi, p7.hi / n42.lo⟩ theorem box248_checked : checkAreaCell box248 = true := by decide +kernel def box249 : AreaCell := ⟨p8.value, n42.value, p8.lo / n42.hi, p8.hi / n42.lo⟩ theorem box249_checked : checkAreaCell box249 = true := by decide +kernel def box250 : AreaCell := ⟨p9.value, n42.value, p9.lo / n42.hi, p9.hi / n42.lo⟩ theorem box250_checked : checkAreaCell box250 = true := by decide +kernel def box251 : AreaCell := ⟨p10.value, n42.value, p10.lo / n42.hi, p10.hi / n42.lo⟩ theorem box251_checked : checkAreaCell box251 = true := by decide +kernel def box252 : AreaCell := ⟨p11.value, n42.value, p11.lo / n42.hi, p11.hi / n42.lo⟩ theorem box252_checked : checkAreaCell box252 = true := by decide +kernel def box253 : AreaCell := ⟨p5.value, n43.value, p5.lo / n43.hi, p5.hi / n43.lo⟩ theorem box253_checked : checkAreaCell box253 = true := by decide +kernel def box254 : AreaCell := ⟨p6.value, n43.value, p6.lo / n43.hi, p6.hi / n43.lo⟩ theorem box254_checked : checkAreaCell box254 = true := by decide +kernel def box255 : AreaCell := ⟨p7.value, n43.value, p7.lo / n43.hi, p7.hi / n43.lo⟩ theorem box255_checked : checkAreaCell box255 = true := by decide +kernel def box256 : AreaCell := ⟨p8.value, n43.value, p8.lo / n43.hi, p8.hi / n43.lo⟩ theorem box256_checked : checkAreaCell box256 = true := by decide +kernel def box257 : AreaCell := ⟨p9.value, n43.value, p9.lo / n43.hi, p9.hi / n43.lo⟩ theorem box257_checked : checkAreaCell box257 = true := by decide +kernel def box258 : AreaCell := ⟨p10.value, n43.value, p10.lo / n43.hi, p10.hi / n43.lo⟩ theorem box258_checked : checkAreaCell box258 = true := by decide +kernel def box259 : AreaCell := ⟨p11.value, n43.value, p11.lo / n43.hi, p11.hi / n43.lo⟩ theorem box259_checked : checkAreaCell box259 = true := by decide +kernel def box260 : AreaCell := ⟨p12.value, n40.value, p12.lo / n40.hi, p13.hi / n40.lo⟩ theorem box260_checked : checkAreaCell box260 = true := by decide +kernel def box261 : AreaCell := ⟨p14.value, n40.value, p14.lo / n40.hi, p14.hi / n40.lo⟩ theorem box261_checked : checkAreaCell box261 = true := by decide +kernel def box262 : AreaCell := ⟨p12.value, n42.value, p12.lo / n42.hi, p12.hi / n41.lo⟩ theorem box262_checked : checkAreaCell box262 = true := by decide +kernel def box263 : AreaCell := ⟨p12.value, n43.value, p12.lo / n43.hi, p12.hi / n43.lo⟩ theorem box263_checked : checkAreaCell box263 = true := by decide +kernel def box264 : AreaCell := ⟨p13.value, n41.value, p13.lo / n41.hi, p14.hi / n41.lo⟩ theorem box264_checked : checkAreaCell box264 = true := by decide +kernel def box265 : AreaCell := ⟨p13.value, n42.value, p13.lo / n42.hi, p13.hi / n42.lo⟩ theorem box265_checked : checkAreaCell box265 = true := by decide +kernel def box266 : AreaCell := ⟨p13.value, n43.value, p13.lo / n43.hi, p13.hi / n43.lo⟩ theorem box266_checked : checkAreaCell box266 = true := by decide +kernel def box267 : AreaCell := ⟨p14.value, n43.value, p14.lo / n43.hi, p14.hi / n42.lo⟩ theorem box267_checked : checkAreaCell box267 = true := by decide +kernel def box268 : AreaCell := ⟨p15.value, n40.value, p15.lo / n40.hi, p15.hi / n40.lo⟩ theorem box268_checked : checkAreaCell box268 = true := by decide +kernel def box269 : AreaCell := ⟨p16.value, n40.value, p16.lo / n40.hi, p18.hi / n40.lo⟩ theorem box269_checked : checkAreaCell box269 = true := by decide +kernel def box270 : AreaCell := ⟨p15.value, n41.value, p15.lo / n41.hi, p16.hi / n41.lo⟩ theorem box270_checked : checkAreaCell box270 = true := by decide +kernel def box271 : AreaCell := ⟨p15.value, n42.value, p15.lo / n42.hi, p16.hi / n42.lo⟩ theorem box271_checked : checkAreaCell box271 = true := by decide +kernel def box272 : AreaCell := ⟨p17.value, n42.value, p17.lo / n42.hi, p18.hi / n41.lo⟩ theorem box272_checked : checkAreaCell box272 = true := by decide +kernel def box273 : AreaCell := ⟨p19.value, n41.value, p19.lo / n41.hi, p21.hi / n40.lo⟩ theorem box273_checked : checkAreaCell box273 = true := by decide +kernel def box274 : AreaCell := ⟨p19.value, n42.value, p19.lo / n42.hi, p21.hi / n42.lo⟩ theorem box274_checked : checkAreaCell box274 = true := by decide +kernel def box275 : AreaCell := ⟨p15.value, n43.value, p15.lo / n43.hi, p15.hi / n43.lo⟩ theorem box275_checked : checkAreaCell box275 = true := by decide +kernel def box276 : AreaCell := ⟨p16.value, n43.value, p16.lo / n43.hi, p17.hi / n43.lo⟩ theorem box276_checked : checkAreaCell box276 = true := by decide +kernel def box277 : AreaCell := ⟨p18.value, n43.value, p18.lo / n43.hi, p19.hi / n43.lo⟩ theorem box277_checked : checkAreaCell box277 = true := by decide +kernel def box278 : AreaCell := ⟨p20.value, n43.value, p20.lo / n43.hi, p21.hi / n43.lo⟩ theorem box278_checked : checkAreaCell box278 = true := by decide +kernel def box279 : AreaCell := ⟨p22.value, n43.value, p22.lo / n43.hi, p22.hi / n40.lo⟩ theorem box279_checked : checkAreaCell box279 = true := by decide +kernel def box280 : AreaCell := ⟨p23.value, n43.value, p23.lo / n43.hi, p26.hi / n40.lo⟩ theorem box280_checked : checkAreaCell box280 = true := by decide +kernel def box281 : AreaCell := ⟨p27.value, n43.value, p27.lo / n43.hi, p29.hi / n37.lo⟩ theorem box281_checked : checkAreaCell box281 = true := by decide +kernel def box282 : AreaCell := ⟨p5.value, n44.value, p5.lo / n44.hi, p5.hi / n44.lo⟩ theorem box282_checked : checkAreaCell box282 = true := by decide +kernel def box283 : AreaCell := ⟨p6.value, n44.value, p6.lo / n44.hi, p6.hi / n44.lo⟩ theorem box283_checked : checkAreaCell box283 = true := by decide +kernel def box284 : AreaCell := ⟨p7.value, n44.value, p7.lo / n44.hi, p7.hi / n44.lo⟩ theorem box284_checked : checkAreaCell box284 = true := by decide +kernel def box285 : AreaCell := ⟨p8.value, n44.value, p8.lo / n44.hi, p8.hi / n44.lo⟩ theorem box285_checked : checkAreaCell box285 = true := by decide +kernel def box286 : AreaCell := ⟨p9.value, n44.value, p9.lo / n44.hi, p9.hi / n44.lo⟩ theorem box286_checked : checkAreaCell box286 = true := by decide +kernel def box287 : AreaCell := ⟨p10.value, n44.value, p10.lo / n44.hi, p10.hi / n44.lo⟩ theorem box287_checked : checkAreaCell box287 = true := by decide +kernel def box288 : AreaCell := ⟨p11.value, n44.value, p11.lo / n44.hi, p11.hi / n44.lo⟩ theorem box288_checked : checkAreaCell box288 = true := by decide +kernel def box289 : AreaCell := ⟨p12.value, n44.value, p12.lo / n44.hi, p12.hi / n44.lo⟩ theorem box289_checked : checkAreaCell box289 = true := by decide +kernel def box290 : AreaCell := ⟨p13.value, n44.value, p13.lo / n44.hi, p13.hi / n44.lo⟩ theorem box290_checked : checkAreaCell box290 = true := by decide +kernel def box291 : AreaCell := ⟨p14.value, n44.value, p14.lo / n44.hi, p14.hi / n44.lo⟩ theorem box291_checked : checkAreaCell box291 = true := by decide +kernel def box292 : AreaCell := ⟨p15.value, n44.value, p15.lo / n44.hi, p15.hi / n44.lo⟩ theorem box292_checked : checkAreaCell box292 = true := by decide +kernel def box293 : AreaCell := ⟨p16.value, n44.value, p16.lo / n44.hi, p16.hi / n44.lo⟩ theorem box293_checked : checkAreaCell box293 = true := by decide +kernel def box294 : AreaCell := ⟨p17.value, n44.value, p17.lo / n44.hi, p17.hi / n44.lo⟩ theorem box294_checked : checkAreaCell box294 = true := by decide +kernel def box295 : AreaCell := ⟨p18.value, n44.value, p18.lo / n44.hi, p19.hi / n44.lo⟩ theorem box295_checked : checkAreaCell box295 = true := by decide +kernel def box296 : AreaCell := ⟨p20.value, n44.value, p20.lo / n44.hi, p21.hi / n44.lo⟩ theorem box296_checked : checkAreaCell box296 = true := by decide +kernel def box297 : AreaCell := ⟨p22.value, n44.value, p22.lo / n44.hi, p24.hi / n44.lo⟩ theorem box297_checked : checkAreaCell box297 = true := by decide +kernel def box298 : AreaCell := ⟨p5.value, n45.value, p5.lo / n45.hi, p5.hi / n45.lo⟩ theorem box298_checked : checkAreaCell box298 = true := by decide +kernel def box299 : AreaCell := ⟨p6.value, n45.value, p6.lo / n45.hi, p6.hi / n45.lo⟩ theorem box299_checked : checkAreaCell box299 = true := by decide +kernel def box300 : AreaCell := ⟨p7.value, n45.value, p7.lo / n45.hi, p7.hi / n45.lo⟩ theorem box300_checked : checkAreaCell box300 = true := by decide +kernel def box301 : AreaCell := ⟨p8.value, n45.value, p8.lo / n45.hi, p8.hi / n45.lo⟩ theorem box301_checked : checkAreaCell box301 = true := by decide +kernel def box302 : AreaCell := ⟨p9.value, n45.value, p9.lo / n45.hi, p9.hi / n45.lo⟩ theorem box302_checked : checkAreaCell box302 = true := by decide +kernel def box303 : AreaCell := ⟨p10.value, n45.value, p10.lo / n45.hi, p10.hi / n45.lo⟩ theorem box303_checked : checkAreaCell box303 = true := by decide +kernel def box304 : AreaCell := ⟨p11.value, n45.value, p11.lo / n45.hi, p11.hi / n45.lo⟩ theorem box304_checked : checkAreaCell box304 = true := by decide +kernel def box305 : AreaCell := ⟨p12.value, n45.value, p12.lo / n45.hi, p12.hi / n45.lo⟩ theorem box305_checked : checkAreaCell box305 = true := by decide +kernel def box306 : AreaCell := ⟨p13.value, n45.value, p13.lo / n45.hi, p13.hi / n45.lo⟩ theorem box306_checked : checkAreaCell box306 = true := by decide +kernel def box307 : AreaCell := ⟨p14.value, n45.value, p14.lo / n45.hi, p14.hi / n45.lo⟩ theorem box307_checked : checkAreaCell box307 = true := by decide +kernel def box308 : AreaCell := ⟨p15.value, n45.value, p15.lo / n45.hi, p15.hi / n45.lo⟩ theorem box308_checked : checkAreaCell box308 = true := by decide +kernel def box309 : AreaCell := ⟨p16.value, n45.value, p16.lo / n45.hi, p16.hi / n45.lo⟩ theorem box309_checked : checkAreaCell box309 = true := by decide +kernel def box310 : AreaCell := ⟨p17.value, n45.value, p17.lo / n45.hi, p17.hi / n45.lo⟩ theorem box310_checked : checkAreaCell box310 = true := by decide +kernel def box311 : AreaCell := ⟨p18.value, n45.value, p18.lo / n45.hi, p18.hi / n45.lo⟩ theorem box311_checked : checkAreaCell box311 = true := by decide +kernel def box312 : AreaCell := ⟨p19.value, n45.value, p19.lo / n45.hi, p19.hi / n45.lo⟩ theorem box312_checked : checkAreaCell box312 = true := by decide +kernel def box313 : AreaCell := ⟨p20.value, n45.value, p20.lo / n45.hi, p21.hi / n45.lo⟩ theorem box313_checked : checkAreaCell box313 = true := by decide +kernel def box314 : AreaCell := ⟨p22.value, n45.value, p22.lo / n45.hi, p24.hi / n45.lo⟩ theorem box314_checked : checkAreaCell box314 = true := by decide +kernel def box315 : AreaCell := ⟨p25.value, n45.value, p25.lo / n45.hi, p29.hi / n44.lo⟩ theorem box315_checked : checkAreaCell box315 = true := by decide +kernel def box316 : AreaCell := ⟨p5.value, n46.value, p5.lo / n46.hi, p5.hi / n46.lo⟩ theorem box316_checked : checkAreaCell box316 = true := by decide +kernel def box317 : AreaCell := ⟨p6.value, n46.value, p6.lo / n46.hi, p6.hi / n46.lo⟩ theorem box317_checked : checkAreaCell box317 = true := by decide +kernel def box318 : AreaCell := ⟨p7.value, n46.value, p7.lo / n46.hi, p7.hi / n46.lo⟩ theorem box318_checked : checkAreaCell box318 = true := by decide +kernel def box319 : AreaCell := ⟨p8.value, n46.value, p8.lo / n46.hi, p8.hi / n46.lo⟩ theorem box319_checked : checkAreaCell box319 = true := by decide +kernel def box320 : AreaCell := ⟨p9.value, n46.value, p9.lo / n46.hi, p9.hi / n46.lo⟩ theorem box320_checked : checkAreaCell box320 = true := by decide +kernel def box321 : AreaCell := ⟨p10.value, n46.value, p10.lo / n46.hi, p10.hi / n46.lo⟩ theorem box321_checked : checkAreaCell box321 = true := by decide +kernel def box322 : AreaCell := ⟨p11.value, n46.value, p11.lo / n46.hi, p11.hi / n46.lo⟩ theorem box322_checked : checkAreaCell box322 = true := by decide +kernel def box323 : AreaCell := ⟨p12.value, n46.value, p12.lo / n46.hi, p12.hi / n46.lo⟩ theorem box323_checked : checkAreaCell box323 = true := by decide +kernel def box324 : AreaCell := ⟨p13.value, n46.value, p13.lo / n46.hi, p13.hi / n46.lo⟩ theorem box324_checked : checkAreaCell box324 = true := by decide +kernel def box325 : AreaCell := ⟨p14.value, n46.value, p14.lo / n46.hi, p14.hi / n46.lo⟩ theorem box325_checked : checkAreaCell box325 = true := by decide +kernel def box326 : AreaCell := ⟨p15.value, n46.value, p15.lo / n46.hi, p15.hi / n46.lo⟩ theorem box326_checked : checkAreaCell box326 = true := by decide +kernel def box327 : AreaCell := ⟨p16.value, n46.value, p16.lo / n46.hi, p16.hi / n46.lo⟩ theorem box327_checked : checkAreaCell box327 = true := by decide +kernel def box328 : AreaCell := ⟨p17.value, n46.value, p17.lo / n46.hi, p17.hi / n46.lo⟩ theorem box328_checked : checkAreaCell box328 = true := by decide +kernel def box329 : AreaCell := ⟨p18.value, n46.value, p18.lo / n46.hi, p18.hi / n46.lo⟩ theorem box329_checked : checkAreaCell box329 = true := by decide +kernel def box330 : AreaCell := ⟨p19.value, n46.value, p19.lo / n46.hi, p19.hi / n46.lo⟩ theorem box330_checked : checkAreaCell box330 = true := by decide +kernel def box331 : AreaCell := ⟨p20.value, n46.value, p20.lo / n46.hi, p20.hi / n46.lo⟩ theorem box331_checked : checkAreaCell box331 = true := by decide +kernel def box332 : AreaCell := ⟨p21.value, n46.value, p21.lo / n46.hi, p21.hi / n46.lo⟩ theorem box332_checked : checkAreaCell box332 = true := by decide +kernel def box333 : AreaCell := ⟨p22.value, n46.value, p22.lo / n46.hi, p23.hi / n46.lo⟩ theorem box333_checked : checkAreaCell box333 = true := by decide +kernel def box334 : AreaCell := ⟨p5.value, n47.value, p5.lo / n47.hi, p5.hi / n47.lo⟩ theorem box334_checked : checkAreaCell box334 = true := by decide +kernel def box335 : AreaCell := ⟨p6.value, n47.value, p6.lo / n47.hi, p6.hi / n47.lo⟩ theorem box335_checked : checkAreaCell box335 = true := by decide +kernel def box336 : AreaCell := ⟨p7.value, n47.value, p7.lo / n47.hi, p7.hi / n47.lo⟩ theorem box336_checked : checkAreaCell box336 = true := by decide +kernel def box337 : AreaCell := ⟨p8.value, n47.value, p8.lo / n47.hi, p8.hi / n47.lo⟩ theorem box337_checked : checkAreaCell box337 = true := by decide +kernel def box338 : AreaCell := ⟨p9.value, n47.value, p9.lo / n47.hi, p9.hi / n47.lo⟩ theorem box338_checked : checkAreaCell box338 = true := by decide +kernel def box339 : AreaCell := ⟨p10.value, n47.value, p10.lo / n47.hi, p10.hi / n47.lo⟩ theorem box339_checked : checkAreaCell box339 = true := by decide +kernel def box340 : AreaCell := ⟨p11.value, n47.value, p11.lo / n47.hi, p11.hi / n47.lo⟩ theorem box340_checked : checkAreaCell box340 = true := by decide +kernel def box341 : AreaCell := ⟨p12.value, n47.value, p12.lo / n47.hi, p12.hi / n47.lo⟩ theorem box341_checked : checkAreaCell box341 = true := by decide +kernel def box342 : AreaCell := ⟨p13.value, n47.value, p13.lo / n47.hi, p13.hi / n47.lo⟩ theorem box342_checked : checkAreaCell box342 = true := by decide +kernel def box343 : AreaCell := ⟨p14.value, n47.value, p14.lo / n47.hi, p14.hi / n47.lo⟩ theorem box343_checked : checkAreaCell box343 = true := by decide +kernel def box344 : AreaCell := ⟨p15.value, n47.value, p15.lo / n47.hi, p15.hi / n47.lo⟩ theorem box344_checked : checkAreaCell box344 = true := by decide +kernel def box345 : AreaCell := ⟨p16.value, n47.value, p16.lo / n47.hi, p16.hi / n47.lo⟩ theorem box345_checked : checkAreaCell box345 = true := by decide +kernel def box346 : AreaCell := ⟨p17.value, n47.value, p17.lo / n47.hi, p17.hi / n47.lo⟩ theorem box346_checked : checkAreaCell box346 = true := by decide +kernel def box347 : AreaCell := ⟨p18.value, n47.value, p18.lo / n47.hi, p18.hi / n47.lo⟩ theorem box347_checked : checkAreaCell box347 = true := by decide +kernel def box348 : AreaCell := ⟨p19.value, n47.value, p19.lo / n47.hi, p19.hi / n47.lo⟩ theorem box348_checked : checkAreaCell box348 = true := by decide +kernel def box349 : AreaCell := ⟨p20.value, n47.value, p20.lo / n47.hi, p20.hi / n47.lo⟩ theorem box349_checked : checkAreaCell box349 = true := by decide +kernel def box350 : AreaCell := ⟨p21.value, n47.value, p21.lo / n47.hi, p21.hi / n47.lo⟩ theorem box350_checked : checkAreaCell box350 = true := by decide +kernel def box351 : AreaCell := ⟨p22.value, n47.value, p22.lo / n47.hi, p23.hi / n47.lo⟩ theorem box351_checked : checkAreaCell box351 = true := by decide +kernel def box352 : AreaCell := ⟨p24.value, n47.value, p24.lo / n47.hi, p25.hi / n46.lo⟩ theorem box352_checked : checkAreaCell box352 = true := by decide +kernel def box353 : AreaCell := ⟨p26.value, n47.value, p26.lo / n47.hi, p29.hi / n46.lo⟩ theorem box353_checked : checkAreaCell box353 = true := by decide +kernel def box354 : AreaCell := ⟨p30.value, n47.value, p30.lo / n47.hi, p41.hi / n37.lo⟩ theorem box354_checked : checkAreaCell box354 = true := by decide +kernel def box355 : AreaCell := ⟨p5.value, n49.value, p5.lo / n49.hi, p5.hi / n48.lo⟩ theorem box355_checked : checkAreaCell box355 = true := by decide +kernel def box356 : AreaCell := ⟨p5.value, n52.value, p5.lo / n52.hi, p5.hi / n50.lo⟩ theorem box356_checked : checkAreaCell box356 = true := by decide +kernel def box357 : AreaCell := ⟨p5.value, n58.value, p5.lo / n58.hi, p5.hi / n53.lo⟩ theorem box357_checked : checkAreaCell box357 = true := by decide +kernel def box358 : AreaCell := ⟨p6.value, n49.value, p6.lo / n49.hi, p6.hi / n48.lo⟩ theorem box358_checked : checkAreaCell box358 = true := by decide +kernel def box359 : AreaCell := ⟨p6.value, n52.value, p6.lo / n52.hi, p6.hi / n50.lo⟩ theorem box359_checked : checkAreaCell box359 = true := by decide +kernel def box360 : AreaCell := ⟨p6.value, n57.value, p6.lo / n57.hi, p6.hi / n53.lo⟩ theorem box360_checked : checkAreaCell box360 = true := by decide +kernel def box361 : AreaCell := ⟨p7.value, n49.value, p7.lo / n49.hi, p7.hi / n48.lo⟩ theorem box361_checked : checkAreaCell box361 = true := by decide +kernel def box362 : AreaCell := ⟨p7.value, n52.value, p7.lo / n52.hi, p7.hi / n50.lo⟩ theorem box362_checked : checkAreaCell box362 = true := by decide +kernel def box363 : AreaCell := ⟨p7.value, n57.value, p7.lo / n57.hi, p7.hi / n53.lo⟩ theorem box363_checked : checkAreaCell box363 = true := by decide +kernel def box364 : AreaCell := ⟨p8.value, n48.value, p8.lo / n48.hi, p8.hi / n48.lo⟩ theorem box364_checked : checkAreaCell box364 = true := by decide +kernel def box365 : AreaCell := ⟨p8.value, n50.value, p8.lo / n50.hi, p8.hi / n49.lo⟩ theorem box365_checked : checkAreaCell box365 = true := by decide +kernel def box366 : AreaCell := ⟨p8.value, n53.value, p8.lo / n53.hi, p8.hi / n51.lo⟩ theorem box366_checked : checkAreaCell box366 = true := by decide +kernel def box367 : AreaCell := ⟨p8.value, n57.value, p8.lo / n57.hi, p8.hi / n54.lo⟩ theorem box367_checked : checkAreaCell box367 = true := by decide +kernel def box368 : AreaCell := ⟨p6.value, n58.value, p6.lo / n58.hi, p8.hi / n58.lo⟩ theorem box368_checked : checkAreaCell box368 = true := by decide +kernel def box369 : AreaCell := ⟨p9.value, n48.value, p9.lo / n48.hi, p9.hi / n48.lo⟩ theorem box369_checked : checkAreaCell box369 = true := by decide +kernel def box370 : AreaCell := ⟨p9.value, n50.value, p9.lo / n50.hi, p9.hi / n49.lo⟩ theorem box370_checked : checkAreaCell box370 = true := by decide +kernel def box371 : AreaCell := ⟨p9.value, n53.value, p9.lo / n53.hi, p9.hi / n51.lo⟩ theorem box371_checked : checkAreaCell box371 = true := by decide +kernel def box372 : AreaCell := ⟨p9.value, n58.value, p9.lo / n58.hi, p9.hi / n54.lo⟩ theorem box372_checked : checkAreaCell box372 = true := by decide +kernel def box373 : AreaCell := ⟨p5.value, n198.value, p5.lo / n198.hi, p7.hi / n59.lo⟩ theorem box373_checked : checkAreaCell box373 = true := by decide +kernel def box374 : AreaCell := ⟨p8.value, n198.value, p8.lo / n198.hi, p9.hi / n59.lo⟩ theorem box374_checked : checkAreaCell box374 = true := by decide +kernel def box375 : AreaCell := ⟨p10.value, n48.value, p10.lo / n48.hi, p10.hi / n48.lo⟩ theorem box375_checked : checkAreaCell box375 = true := by decide +kernel def box376 : AreaCell := ⟨p10.value, n50.value, p10.lo / n50.hi, p10.hi / n49.lo⟩ theorem box376_checked : checkAreaCell box376 = true := by decide +kernel def box377 : AreaCell := ⟨p10.value, n52.value, p10.lo / n52.hi, p10.hi / n51.lo⟩ theorem box377_checked : checkAreaCell box377 = true := by decide +kernel def box378 : AreaCell := ⟨p10.value, n55.value, p10.lo / n55.hi, p10.hi / n53.lo⟩ theorem box378_checked : checkAreaCell box378 = true := by decide +kernel def box379 : AreaCell := ⟨p11.value, n48.value, p11.lo / n48.hi, p11.hi / n48.lo⟩ theorem box379_checked : checkAreaCell box379 = true := by decide +kernel def box380 : AreaCell := ⟨p12.value, n48.value, p12.lo / n48.hi, p12.hi / n48.lo⟩ theorem box380_checked : checkAreaCell box380 = true := by decide +kernel def box381 : AreaCell := ⟨p13.value, n48.value, p13.lo / n48.hi, p13.hi / n48.lo⟩ theorem box381_checked : checkAreaCell box381 = true := by decide +kernel def box382 : AreaCell := ⟨p14.value, n48.value, p14.lo / n48.hi, p14.hi / n48.lo⟩ theorem box382_checked : checkAreaCell box382 = true := by decide +kernel def box383 : AreaCell := ⟨p11.value, n49.value, p11.lo / n49.hi, p11.hi / n49.lo⟩ theorem box383_checked : checkAreaCell box383 = true := by decide +kernel def box384 : AreaCell := ⟨p12.value, n49.value, p12.lo / n49.hi, p12.hi / n49.lo⟩ theorem box384_checked : checkAreaCell box384 = true := by decide +kernel def box385 : AreaCell := ⟨p13.value, n49.value, p13.lo / n49.hi, p13.hi / n49.lo⟩ theorem box385_checked : checkAreaCell box385 = true := by decide +kernel def box386 : AreaCell := ⟨p14.value, n49.value, p14.lo / n49.hi, p14.hi / n49.lo⟩ theorem box386_checked : checkAreaCell box386 = true := by decide +kernel def box387 : AreaCell := ⟨p11.value, n51.value, p11.lo / n51.hi, p11.hi / n50.lo⟩ theorem box387_checked : checkAreaCell box387 = true := by decide +kernel def box388 : AreaCell := ⟨p11.value, n54.value, p11.lo / n54.hi, p11.hi / n52.lo⟩ theorem box388_checked : checkAreaCell box388 = true := by decide +kernel def box389 : AreaCell := ⟨p12.value, n51.value, p12.lo / n51.hi, p12.hi / n50.lo⟩ theorem box389_checked : checkAreaCell box389 = true := by decide +kernel def box390 : AreaCell := ⟨p13.value, n51.value, p13.lo / n51.hi, p13.hi / n50.lo⟩ theorem box390_checked : checkAreaCell box390 = true := by decide +kernel def box391 : AreaCell := ⟨p12.value, n53.value, p12.lo / n53.hi, p12.hi / n52.lo⟩ theorem box391_checked : checkAreaCell box391 = true := by decide +kernel def box392 : AreaCell := ⟨p13.value, n53.value, p13.lo / n53.hi, p13.hi / n52.lo⟩ theorem box392_checked : checkAreaCell box392 = true := by decide +kernel def box393 : AreaCell := ⟨p12.value, n54.value, p12.lo / n54.hi, p13.hi / n54.lo⟩ theorem box393_checked : checkAreaCell box393 = true := by decide +kernel def box394 : AreaCell := ⟨p14.value, n50.value, p14.lo / n50.hi, p14.hi / n50.lo⟩ theorem box394_checked : checkAreaCell box394 = true := by decide +kernel def box395 : AreaCell := ⟨p14.value, n52.value, p14.lo / n52.hi, p14.hi / n51.lo⟩ theorem box395_checked : checkAreaCell box395 = true := by decide +kernel def box396 : AreaCell := ⟨p14.value, n54.value, p14.lo / n54.hi, p14.hi / n53.lo⟩ theorem box396_checked : checkAreaCell box396 = true := by decide +kernel def box397 : AreaCell := ⟨p11.value, n55.value, p11.lo / n55.hi, p12.hi / n55.lo⟩ theorem box397_checked : checkAreaCell box397 = true := by decide +kernel def box398 : AreaCell := ⟨p13.value, n55.value, p13.lo / n55.hi, p14.hi / n55.lo⟩ theorem box398_checked : checkAreaCell box398 = true := by decide +kernel def box399 : AreaCell := ⟨p10.value, n198.value, p10.lo / n198.hi, p10.hi / n56.lo⟩ theorem box399_checked : checkAreaCell box399 = true := by decide +kernel def box400 : AreaCell := ⟨p11.value, n58.value, p11.lo / n58.hi, p11.hi / n56.lo⟩ theorem box400_checked : checkAreaCell box400 = true := by decide +kernel def box401 : AreaCell := ⟨p12.value, n57.value, p12.lo / n57.hi, p13.hi / n56.lo⟩ theorem box401_checked : checkAreaCell box401 = true := by decide +kernel def box402 : AreaCell := ⟨p12.value, n58.value, p12.lo / n58.hi, p13.hi / n58.lo⟩ theorem box402_checked : checkAreaCell box402 = true := by decide +kernel def box403 : AreaCell := ⟨p11.value, n198.value, p11.lo / n198.hi, p13.hi / n59.lo⟩ theorem box403_checked : checkAreaCell box403 = true := by decide +kernel def box404 : AreaCell := ⟨p14.value, n198.value, p14.lo / n198.hi, p14.hi / n56.lo⟩ theorem box404_checked : checkAreaCell box404 = true := by decide +kernel def box405 : AreaCell := ⟨p15.value, n48.value, p15.lo / n48.hi, p15.hi / n48.lo⟩ theorem box405_checked : checkAreaCell box405 = true := by decide +kernel def box406 : AreaCell := ⟨p15.value, n49.value, p15.lo / n49.hi, p15.hi / n49.lo⟩ theorem box406_checked : checkAreaCell box406 = true := by decide +kernel def box407 : AreaCell := ⟨p15.value, n50.value, p15.lo / n50.hi, p15.hi / n50.lo⟩ theorem box407_checked : checkAreaCell box407 = true := by decide +kernel def box408 : AreaCell := ⟨p15.value, n51.value, p15.lo / n51.hi, p15.hi / n51.lo⟩ theorem box408_checked : checkAreaCell box408 = true := by decide +kernel def box409 : AreaCell := ⟨p15.value, n53.value, p15.lo / n53.hi, p15.hi / n52.lo⟩ theorem box409_checked : checkAreaCell box409 = true := by decide +kernel def box410 : AreaCell := ⟨p15.value, n55.value, p15.lo / n55.hi, p15.hi / n54.lo⟩ theorem box410_checked : checkAreaCell box410 = true := by decide +kernel def box411 : AreaCell := ⟨p15.value, n198.value, p15.lo / n198.hi, p15.hi / n56.lo⟩ theorem box411_checked : checkAreaCell box411 = true := by decide +kernel def box412 : AreaCell := ⟨p16.value, n48.value, p16.lo / n48.hi, p16.hi / n48.lo⟩ theorem box412_checked : checkAreaCell box412 = true := by decide +kernel def box413 : AreaCell := ⟨p16.value, n49.value, p16.lo / n49.hi, p16.hi / n49.lo⟩ theorem box413_checked : checkAreaCell box413 = true := by decide +kernel def box414 : AreaCell := ⟨p16.value, n50.value, p16.lo / n50.hi, p16.hi / n50.lo⟩ theorem box414_checked : checkAreaCell box414 = true := by decide +kernel def box415 : AreaCell := ⟨p16.value, n51.value, p16.lo / n51.hi, p16.hi / n51.lo⟩ theorem box415_checked : checkAreaCell box415 = true := by decide +kernel def box416 : AreaCell := ⟨p16.value, n52.value, p16.lo / n52.hi, p16.hi / n52.lo⟩ theorem box416_checked : checkAreaCell box416 = true := by decide +kernel def box417 : AreaCell := ⟨p16.value, n53.value, p16.lo / n53.hi, p16.hi / n53.lo⟩ theorem box417_checked : checkAreaCell box417 = true := by decide +kernel def box418 : AreaCell := ⟨p16.value, n55.value, p16.lo / n55.hi, p16.hi / n54.lo⟩ theorem box418_checked : checkAreaCell box418 = true := by decide +kernel def box419 : AreaCell := ⟨p16.value, n58.value, p16.lo / n58.hi, p16.hi / n56.lo⟩ theorem box419_checked : checkAreaCell box419 = true := by decide +kernel def box420 : AreaCell := ⟨p17.value, n48.value, p17.lo / n48.hi, p17.hi / n48.lo⟩ theorem box420_checked : checkAreaCell box420 = true := by decide +kernel def box421 : AreaCell := ⟨p17.value, n49.value, p17.lo / n49.hi, p17.hi / n49.lo⟩ theorem box421_checked : checkAreaCell box421 = true := by decide +kernel def box422 : AreaCell := ⟨p17.value, n50.value, p17.lo / n50.hi, p17.hi / n50.lo⟩ theorem box422_checked : checkAreaCell box422 = true := by decide +kernel def box423 : AreaCell := ⟨p17.value, n51.value, p17.lo / n51.hi, p17.hi / n51.lo⟩ theorem box423_checked : checkAreaCell box423 = true := by decide +kernel def box424 : AreaCell := ⟨p17.value, n52.value, p17.lo / n52.hi, p17.hi / n52.lo⟩ theorem box424_checked : checkAreaCell box424 = true := by decide +kernel def box425 : AreaCell := ⟨p17.value, n53.value, p17.lo / n53.hi, p17.hi / n53.lo⟩ theorem box425_checked : checkAreaCell box425 = true := by decide +kernel def box426 : AreaCell := ⟨p17.value, n54.value, p17.lo / n54.hi, p17.hi / n54.lo⟩ theorem box426_checked : checkAreaCell box426 = true := by decide +kernel def box427 : AreaCell := ⟨p17.value, n56.value, p17.lo / n56.hi, p17.hi / n55.lo⟩ theorem box427_checked : checkAreaCell box427 = true := by decide +kernel def box428 : AreaCell := ⟨p17.value, n58.value, p17.lo / n58.hi, p17.hi / n57.lo⟩ theorem box428_checked : checkAreaCell box428 = true := by decide +kernel def box429 : AreaCell := ⟨p16.value, n198.value, p16.lo / n198.hi, p17.hi / n59.lo⟩ theorem box429_checked : checkAreaCell box429 = true := by decide +kernel def box430 : AreaCell := ⟨p18.value, n48.value, p18.lo / n48.hi, p18.hi / n48.lo⟩ theorem box430_checked : checkAreaCell box430 = true := by decide +kernel def box431 : AreaCell := ⟨p18.value, n49.value, p18.lo / n49.hi, p18.hi / n49.lo⟩ theorem box431_checked : checkAreaCell box431 = true := by decide +kernel def box432 : AreaCell := ⟨p18.value, n50.value, p18.lo / n50.hi, p18.hi / n50.lo⟩ theorem box432_checked : checkAreaCell box432 = true := by decide +kernel def box433 : AreaCell := ⟨p18.value, n51.value, p18.lo / n51.hi, p18.hi / n51.lo⟩ theorem box433_checked : checkAreaCell box433 = true := by decide +kernel def box434 : AreaCell := ⟨p18.value, n52.value, p18.lo / n52.hi, p18.hi / n52.lo⟩ theorem box434_checked : checkAreaCell box434 = true := by decide +kernel def box435 : AreaCell := ⟨p18.value, n53.value, p18.lo / n53.hi, p18.hi / n53.lo⟩ theorem box435_checked : checkAreaCell box435 = true := by decide +kernel def box436 : AreaCell := ⟨p18.value, n54.value, p18.lo / n54.hi, p18.hi / n54.lo⟩ theorem box436_checked : checkAreaCell box436 = true := by decide +kernel def box437 : AreaCell := ⟨p18.value, n55.value, p18.lo / n55.hi, p18.hi / n55.lo⟩ theorem box437_checked : checkAreaCell box437 = true := by decide +kernel def box438 : AreaCell := ⟨p18.value, n57.value, p18.lo / n57.hi, p18.hi / n56.lo⟩ theorem box438_checked : checkAreaCell box438 = true := by decide +kernel def box439 : AreaCell := ⟨p18.value, n198.value, p18.lo / n198.hi, p18.hi / n58.lo⟩ theorem box439_checked : checkAreaCell box439 = true := by decide +kernel def box440 : AreaCell := ⟨p19.value, n48.value, p19.lo / n48.hi, p19.hi / n48.lo⟩ theorem box440_checked : checkAreaCell box440 = true := by decide +kernel def box441 : AreaCell := ⟨p19.value, n49.value, p19.lo / n49.hi, p19.hi / n49.lo⟩ theorem box441_checked : checkAreaCell box441 = true := by decide +kernel def box442 : AreaCell := ⟨p19.value, n50.value, p19.lo / n50.hi, p19.hi / n50.lo⟩ theorem box442_checked : checkAreaCell box442 = true := by decide +kernel def box443 : AreaCell := ⟨p19.value, n51.value, p19.lo / n51.hi, p19.hi / n51.lo⟩ theorem box443_checked : checkAreaCell box443 = true := by decide +kernel def box444 : AreaCell := ⟨p19.value, n52.value, p19.lo / n52.hi, p19.hi / n52.lo⟩ theorem box444_checked : checkAreaCell box444 = true := by decide +kernel def box445 : AreaCell := ⟨p19.value, n53.value, p19.lo / n53.hi, p19.hi / n53.lo⟩ theorem box445_checked : checkAreaCell box445 = true := by decide +kernel def box446 : AreaCell := ⟨p19.value, n54.value, p19.lo / n54.hi, p19.hi / n54.lo⟩ theorem box446_checked : checkAreaCell box446 = true := by decide +kernel def box447 : AreaCell := ⟨p19.value, n55.value, p19.lo / n55.hi, p19.hi / n55.lo⟩ theorem box447_checked : checkAreaCell box447 = true := by decide +kernel def box448 : AreaCell := ⟨p19.value, n56.value, p19.lo / n56.hi, p19.hi / n56.lo⟩ theorem box448_checked : checkAreaCell box448 = true := by decide +kernel def box449 : AreaCell := ⟨p19.value, n58.value, p19.lo / n58.hi, p19.hi / n57.lo⟩ theorem box449_checked : checkAreaCell box449 = true := by decide +kernel def box450 : AreaCell := ⟨p19.value, n198.value, p19.lo / n198.hi, p19.hi / n59.lo⟩ theorem box450_checked : checkAreaCell box450 = true := by decide +kernel def box451 : AreaCell := ⟨p20.value, n48.value, p20.lo / n48.hi, p20.hi / n48.lo⟩ theorem box451_checked : checkAreaCell box451 = true := by decide +kernel def box452 : AreaCell := ⟨p20.value, n49.value, p20.lo / n49.hi, p20.hi / n49.lo⟩ theorem box452_checked : checkAreaCell box452 = true := by decide +kernel def box453 : AreaCell := ⟨p20.value, n50.value, p20.lo / n50.hi, p20.hi / n50.lo⟩ theorem box453_checked : checkAreaCell box453 = true := by decide +kernel def box454 : AreaCell := ⟨p20.value, n51.value, p20.lo / n51.hi, p20.hi / n51.lo⟩ theorem box454_checked : checkAreaCell box454 = true := by decide +kernel def box455 : AreaCell := ⟨p20.value, n52.value, p20.lo / n52.hi, p20.hi / n52.lo⟩ theorem box455_checked : checkAreaCell box455 = true := by decide +kernel def box456 : AreaCell := ⟨p20.value, n53.value, p20.lo / n53.hi, p20.hi / n53.lo⟩ theorem box456_checked : checkAreaCell box456 = true := by decide +kernel def box457 : AreaCell := ⟨p20.value, n54.value, p20.lo / n54.hi, p20.hi / n54.lo⟩ theorem box457_checked : checkAreaCell box457 = true := by decide +kernel def box458 : AreaCell := ⟨p20.value, n55.value, p20.lo / n55.hi, p20.hi / n55.lo⟩ theorem box458_checked : checkAreaCell box458 = true := by decide +kernel def box459 : AreaCell := ⟨p20.value, n56.value, p20.lo / n56.hi, p20.hi / n56.lo⟩ theorem box459_checked : checkAreaCell box459 = true := by decide +kernel def box460 : AreaCell := ⟨p20.value, n58.value, p20.lo / n58.hi, p20.hi / n57.lo⟩ theorem box460_checked : checkAreaCell box460 = true := by decide +kernel def box461 : AreaCell := ⟨p20.value, n198.value, p20.lo / n198.hi, p20.hi / n59.lo⟩ theorem box461_checked : checkAreaCell box461 = true := by decide +kernel def box462 : AreaCell := ⟨p21.value, n48.value, p21.lo / n48.hi, p21.hi / n48.lo⟩ theorem box462_checked : checkAreaCell box462 = true := by decide +kernel def box463 : AreaCell := ⟨p21.value, n49.value, p21.lo / n49.hi, p21.hi / n49.lo⟩ theorem box463_checked : checkAreaCell box463 = true := by decide +kernel def box464 : AreaCell := ⟨p21.value, n50.value, p21.lo / n50.hi, p21.hi / n50.lo⟩ theorem box464_checked : checkAreaCell box464 = true := by decide +kernel def box465 : AreaCell := ⟨p21.value, n51.value, p21.lo / n51.hi, p21.hi / n51.lo⟩ theorem box465_checked : checkAreaCell box465 = true := by decide +kernel def box466 : AreaCell := ⟨p21.value, n52.value, p21.lo / n52.hi, p21.hi / n52.lo⟩ theorem box466_checked : checkAreaCell box466 = true := by decide +kernel def box467 : AreaCell := ⟨p21.value, n53.value, p21.lo / n53.hi, p21.hi / n53.lo⟩ theorem box467_checked : checkAreaCell box467 = true := by decide +kernel def box468 : AreaCell := ⟨p21.value, n54.value, p21.lo / n54.hi, p21.hi / n54.lo⟩ theorem box468_checked : checkAreaCell box468 = true := by decide +kernel def box469 : AreaCell := ⟨p21.value, n55.value, p21.lo / n55.hi, p21.hi / n55.lo⟩ theorem box469_checked : checkAreaCell box469 = true := by decide +kernel def box470 : AreaCell := ⟨p21.value, n56.value, p21.lo / n56.hi, p21.hi / n56.lo⟩ theorem box470_checked : checkAreaCell box470 = true := by decide +kernel def box471 : AreaCell := ⟨p21.value, n58.value, p21.lo / n58.hi, p21.hi / n57.lo⟩ theorem box471_checked : checkAreaCell box471 = true := by decide +kernel def box472 : AreaCell := ⟨p21.value, n198.value, p21.lo / n198.hi, p21.hi / n59.lo⟩ theorem box472_checked : checkAreaCell box472 = true := by decide +kernel def box473 : AreaCell := ⟨p22.value, n48.value, p22.lo / n48.hi, p22.hi / n48.lo⟩ theorem box473_checked : checkAreaCell box473 = true := by decide +kernel def box474 : AreaCell := ⟨p22.value, n49.value, p22.lo / n49.hi, p22.hi / n49.lo⟩ theorem box474_checked : checkAreaCell box474 = true := by decide +kernel def box475 : AreaCell := ⟨p22.value, n50.value, p22.lo / n50.hi, p22.hi / n50.lo⟩ theorem box475_checked : checkAreaCell box475 = true := by decide +kernel def box476 : AreaCell := ⟨p22.value, n51.value, p22.lo / n51.hi, p22.hi / n51.lo⟩ theorem box476_checked : checkAreaCell box476 = true := by decide +kernel def box477 : AreaCell := ⟨p22.value, n52.value, p22.lo / n52.hi, p22.hi / n52.lo⟩ theorem box477_checked : checkAreaCell box477 = true := by decide +kernel def box478 : AreaCell := ⟨p22.value, n53.value, p22.lo / n53.hi, p22.hi / n53.lo⟩ theorem box478_checked : checkAreaCell box478 = true := by decide +kernel def box479 : AreaCell := ⟨p22.value, n54.value, p22.lo / n54.hi, p22.hi / n54.lo⟩ theorem box479_checked : checkAreaCell box479 = true := by decide +kernel def box480 : AreaCell := ⟨p22.value, n55.value, p22.lo / n55.hi, p22.hi / n55.lo⟩ theorem box480_checked : checkAreaCell box480 = true := by decide +kernel def box481 : AreaCell := ⟨p22.value, n56.value, p22.lo / n56.hi, p22.hi / n56.lo⟩ theorem box481_checked : checkAreaCell box481 = true := by decide +kernel def box482 : AreaCell := ⟨p22.value, n57.value, p22.lo / n57.hi, p22.hi / n57.lo⟩ theorem box482_checked : checkAreaCell box482 = true := by decide +kernel def box483 : AreaCell := ⟨p22.value, n198.value, p22.lo / n198.hi, p22.hi / n58.lo⟩ theorem box483_checked : checkAreaCell box483 = true := by decide +kernel def box484 : AreaCell := ⟨p23.value, n48.value, p23.lo / n48.hi, p24.hi / n48.lo⟩ theorem box484_checked : checkAreaCell box484 = true := by decide +kernel def box485 : AreaCell := ⟨p25.value, n48.value, p25.lo / n48.hi, p27.hi / n48.lo⟩ theorem box485_checked : checkAreaCell box485 = true := by decide +kernel def box486 : AreaCell := ⟨p23.value, n50.value, p23.lo / n50.hi, p23.hi / n49.lo⟩ theorem box486_checked : checkAreaCell box486 = true := by decide +kernel def box487 : AreaCell := ⟨p24.value, n49.value, p24.lo / n49.hi, p25.hi / n49.lo⟩ theorem box487_checked : checkAreaCell box487 = true := by decide +kernel def box488 : AreaCell := ⟨p24.value, n50.value, p24.lo / n50.hi, p25.hi / n50.lo⟩ theorem box488_checked : checkAreaCell box488 = true := by decide +kernel def box489 : AreaCell := ⟨p26.value, n50.value, p26.lo / n50.hi, p27.hi / n49.lo⟩ theorem box489_checked : checkAreaCell box489 = true := by decide +kernel def box490 : AreaCell := ⟨p28.value, n49.value, p28.lo / n49.hi, p31.hi / n48.lo⟩ theorem box490_checked : checkAreaCell box490 = true := by decide +kernel def box491 : AreaCell := ⟨p28.value, n50.value, p28.lo / n50.hi, p31.hi / n50.lo⟩ theorem box491_checked : checkAreaCell box491 = true := by decide +kernel def box492 : AreaCell := ⟨p32.value, n50.value, p32.lo / n50.hi, p39.hi / n48.lo⟩ theorem box492_checked : checkAreaCell box492 = true := by decide +kernel def box493 : AreaCell := ⟨p23.value, n51.value, p23.lo / n51.hi, p23.hi / n51.lo⟩ theorem box493_checked : checkAreaCell box493 = true := by decide +kernel def box494 : AreaCell := ⟨p24.value, n51.value, p24.lo / n51.hi, p24.hi / n51.lo⟩ theorem box494_checked : checkAreaCell box494 = true := by decide +kernel def box495 : AreaCell := ⟨p23.value, n52.value, p23.lo / n52.hi, p23.hi / n52.lo⟩ theorem box495_checked : checkAreaCell box495 = true := by decide +kernel def box496 : AreaCell := ⟨p24.value, n52.value, p24.lo / n52.hi, p24.hi / n52.lo⟩ theorem box496_checked : checkAreaCell box496 = true := by decide +kernel def box497 : AreaCell := ⟨p25.value, n52.value, p25.lo / n52.hi, p25.hi / n51.lo⟩ theorem box497_checked : checkAreaCell box497 = true := by decide +kernel def box498 : AreaCell := ⟨p26.value, n52.value, p26.lo / n52.hi, p26.hi / n51.lo⟩ theorem box498_checked : checkAreaCell box498 = true := by decide +kernel def box499 : AreaCell := ⟨p27.value, n52.value, p27.lo / n52.hi, p27.hi / n51.lo⟩ theorem box499_checked : checkAreaCell box499 = true := by decide +kernel def box500 : AreaCell := ⟨p28.value, n52.value, p28.lo / n52.hi, p28.hi / n51.lo⟩ theorem box500_checked : checkAreaCell box500 = true := by decide +kernel def box501 : AreaCell := ⟨p29.value, n52.value, p29.lo / n52.hi, p29.hi / n51.lo⟩ theorem box501_checked : checkAreaCell box501 = true := by decide +kernel def box502 : AreaCell := ⟨p30.value, n52.value, p30.lo / n52.hi, p32.hi / n51.lo⟩ theorem box502_checked : checkAreaCell box502 = true := by decide +kernel def box503 : AreaCell := ⟨p33.value, n52.value, p33.lo / n52.hi, p39.hi / n51.lo⟩ theorem box503_checked : checkAreaCell box503 = true := by decide +kernel def box504 : AreaCell := ⟨p40.value, n52.value, p40.lo / n52.hi, p40.hi / n48.lo⟩ theorem box504_checked : checkAreaCell box504 = true := by decide +kernel def box505 : AreaCell := ⟨p23.value, n53.value, p23.lo / n53.hi, p23.hi / n53.lo⟩ theorem box505_checked : checkAreaCell box505 = true := by decide +kernel def box506 : AreaCell := ⟨p23.value, n54.value, p23.lo / n54.hi, p23.hi / n54.lo⟩ theorem box506_checked : checkAreaCell box506 = true := by decide +kernel def box507 : AreaCell := ⟨p23.value, n55.value, p23.lo / n55.hi, p23.hi / n55.lo⟩ theorem box507_checked : checkAreaCell box507 = true := by decide +kernel def box508 : AreaCell := ⟨p23.value, n56.value, p23.lo / n56.hi, p23.hi / n56.lo⟩ theorem box508_checked : checkAreaCell box508 = true := by decide +kernel def box509 : AreaCell := ⟨p23.value, n57.value, p23.lo / n57.hi, p23.hi / n57.lo⟩ theorem box509_checked : checkAreaCell box509 = true := by decide +kernel def box510 : AreaCell := ⟨p24.value, n53.value, p24.lo / n53.hi, p24.hi / n53.lo⟩ theorem box510_checked : checkAreaCell box510 = true := by decide +kernel def box511 : AreaCell := ⟨p24.value, n54.value, p24.lo / n54.hi, p24.hi / n54.lo⟩ theorem box511_checked : checkAreaCell box511 = true := by decide +kernel def box512 : AreaCell := ⟨p24.value, n55.value, p24.lo / n55.hi, p24.hi / n55.lo⟩ theorem box512_checked : checkAreaCell box512 = true := by decide +kernel def box513 : AreaCell := ⟨p24.value, n56.value, p24.lo / n56.hi, p24.hi / n56.lo⟩ theorem box513_checked : checkAreaCell box513 = true := by decide +kernel def box514 : AreaCell := ⟨p24.value, n57.value, p24.lo / n57.hi, p24.hi / n57.lo⟩ theorem box514_checked : checkAreaCell box514 = true := by decide +kernel def box515 : AreaCell := ⟨p25.value, n53.value, p25.lo / n53.hi, p25.hi / n53.lo⟩ theorem box515_checked : checkAreaCell box515 = true := by decide +kernel def box516 : AreaCell := ⟨p25.value, n54.value, p25.lo / n54.hi, p25.hi / n54.lo⟩ theorem box516_checked : checkAreaCell box516 = true := by decide +kernel def box517 : AreaCell := ⟨p25.value, n55.value, p25.lo / n55.hi, p25.hi / n55.lo⟩ theorem box517_checked : checkAreaCell box517 = true := by decide +kernel def box518 : AreaCell := ⟨p25.value, n56.value, p25.lo / n56.hi, p25.hi / n56.lo⟩ theorem box518_checked : checkAreaCell box518 = true := by decide +kernel def box519 : AreaCell := ⟨p25.value, n57.value, p25.lo / n57.hi, p25.hi / n57.lo⟩ theorem box519_checked : checkAreaCell box519 = true := by decide +kernel def box520 : AreaCell := ⟨p26.value, n53.value, p26.lo / n53.hi, p26.hi / n53.lo⟩ theorem box520_checked : checkAreaCell box520 = true := by decide +kernel def box521 : AreaCell := ⟨p26.value, n54.value, p26.lo / n54.hi, p26.hi / n54.lo⟩ theorem box521_checked : checkAreaCell box521 = true := by decide +kernel def box522 : AreaCell := ⟨p26.value, n55.value, p26.lo / n55.hi, p26.hi / n55.lo⟩ theorem box522_checked : checkAreaCell box522 = true := by decide +kernel def box523 : AreaCell := ⟨p26.value, n56.value, p26.lo / n56.hi, p26.hi / n56.lo⟩ theorem box523_checked : checkAreaCell box523 = true := by decide +kernel def box524 : AreaCell := ⟨p26.value, n57.value, p26.lo / n57.hi, p26.hi / n57.lo⟩ theorem box524_checked : checkAreaCell box524 = true := by decide +kernel def box525 : AreaCell := ⟨p27.value, n53.value, p27.lo / n53.hi, p28.hi / n53.lo⟩ theorem box525_checked : checkAreaCell box525 = true := by decide +kernel def box526 : AreaCell := ⟨p27.value, n54.value, p27.lo / n54.hi, p27.hi / n54.lo⟩ theorem box526_checked : checkAreaCell box526 = true := by decide +kernel def box527 : AreaCell := ⟨p28.value, n54.value, p28.lo / n54.hi, p28.hi / n54.lo⟩ theorem box527_checked : checkAreaCell box527 = true := by decide +kernel def box528 : AreaCell := ⟨p27.value, n55.value, p27.lo / n55.hi, p27.hi / n55.lo⟩ theorem box528_checked : checkAreaCell box528 = true := by decide +kernel def box529 : AreaCell := ⟨p28.value, n55.value, p28.lo / n55.hi, p28.hi / n55.lo⟩ theorem box529_checked : checkAreaCell box529 = true := by decide +kernel def box530 : AreaCell := ⟨p27.value, n56.value, p27.lo / n56.hi, p27.hi / n56.lo⟩ theorem box530_checked : checkAreaCell box530 = true := by decide +kernel def box531 : AreaCell := ⟨p28.value, n56.value, p28.lo / n56.hi, p28.hi / n56.lo⟩ theorem box531_checked : checkAreaCell box531 = true := by decide +kernel def box532 : AreaCell := ⟨p27.value, n57.value, p27.lo / n57.hi, p27.hi / n57.lo⟩ theorem box532_checked : checkAreaCell box532 = true := by decide +kernel def box533 : AreaCell := ⟨p28.value, n57.value, p28.lo / n57.hi, p28.hi / n57.lo⟩ theorem box533_checked : checkAreaCell box533 = true := by decide +kernel def box534 : AreaCell := ⟨p29.value, n53.value, p29.lo / n53.hi, p30.hi / n53.lo⟩ theorem box534_checked : checkAreaCell box534 = true := by decide +kernel def box535 : AreaCell := ⟨p29.value, n54.value, p29.lo / n54.hi, p30.hi / n54.lo⟩ theorem box535_checked : checkAreaCell box535 = true := by decide +kernel def box536 : AreaCell := ⟨p29.value, n55.value, p29.lo / n55.hi, p29.hi / n55.lo⟩ theorem box536_checked : checkAreaCell box536 = true := by decide +kernel def box537 : AreaCell := ⟨p29.value, n56.value, p29.lo / n56.hi, p29.hi / n56.lo⟩ theorem box537_checked : checkAreaCell box537 = true := by decide +kernel def box538 : AreaCell := ⟨p29.value, n57.value, p29.lo / n57.hi, p29.hi / n57.lo⟩ theorem box538_checked : checkAreaCell box538 = true := by decide +kernel def box539 : AreaCell := ⟨p30.value, n55.value, p30.lo / n55.hi, p30.hi / n55.lo⟩ theorem box539_checked : checkAreaCell box539 = true := by decide +kernel def box540 : AreaCell := ⟨p30.value, n56.value, p30.lo / n56.hi, p30.hi / n56.lo⟩ theorem box540_checked : checkAreaCell box540 = true := by decide +kernel def box541 : AreaCell := ⟨p30.value, n57.value, p30.lo / n57.hi, p30.hi / n57.lo⟩ theorem box541_checked : checkAreaCell box541 = true := by decide +kernel def box542 : AreaCell := ⟨p31.value, n53.value, p31.lo / n53.hi, p33.hi / n53.lo⟩ theorem box542_checked : checkAreaCell box542 = true := by decide +kernel def box543 : AreaCell := ⟨p31.value, n54.value, p31.lo / n54.hi, p32.hi / n54.lo⟩ theorem box543_checked : checkAreaCell box543 = true := by decide +kernel def box544 : AreaCell := ⟨p33.value, n54.value, p33.lo / n54.hi, p33.hi / n54.lo⟩ theorem box544_checked : checkAreaCell box544 = true := by decide +kernel def box545 : AreaCell := ⟨p34.value, n54.value, p34.lo / n54.hi, p35.hi / n53.lo⟩ theorem box545_checked : checkAreaCell box545 = true := by decide +kernel def box546 : AreaCell := ⟨p36.value, n54.value, p36.lo / n54.hi, p39.hi / n53.lo⟩ theorem box546_checked : checkAreaCell box546 = true := by decide +kernel def box547 : AreaCell := ⟨p31.value, n55.value, p31.lo / n55.hi, p32.hi / n55.lo⟩ theorem box547_checked : checkAreaCell box547 = true := by decide +kernel def box548 : AreaCell := ⟨p31.value, n56.value, p31.lo / n56.hi, p31.hi / n56.lo⟩ theorem box548_checked : checkAreaCell box548 = true := by decide +kernel def box549 : AreaCell := ⟨p32.value, n56.value, p32.lo / n56.hi, p32.hi / n56.lo⟩ theorem box549_checked : checkAreaCell box549 = true := by decide +kernel def box550 : AreaCell := ⟨p33.value, n56.value, p33.lo / n56.hi, p33.hi / n55.lo⟩ theorem box550_checked : checkAreaCell box550 = true := by decide +kernel def box551 : AreaCell := ⟨p34.value, n56.value, p34.lo / n56.hi, p34.hi / n55.lo⟩ theorem box551_checked : checkAreaCell box551 = true := by decide +kernel def box552 : AreaCell := ⟨p35.value, n56.value, p35.lo / n56.hi, p35.hi / n55.lo⟩ theorem box552_checked : checkAreaCell box552 = true := by decide +kernel def box553 : AreaCell := ⟨p36.value, n56.value, p36.lo / n56.hi, p37.hi / n55.lo⟩ theorem box553_checked : checkAreaCell box553 = true := by decide +kernel def box554 : AreaCell := ⟨p38.value, n56.value, p38.lo / n56.hi, p39.hi / n55.lo⟩ theorem box554_checked : checkAreaCell box554 = true := by decide +kernel def box555 : AreaCell := ⟨p31.value, n57.value, p31.lo / n57.hi, p31.hi / n57.lo⟩ theorem box555_checked : checkAreaCell box555 = true := by decide +kernel def box556 : AreaCell := ⟨p32.value, n57.value, p32.lo / n57.hi, p32.hi / n57.lo⟩ theorem box556_checked : checkAreaCell box556 = true := by decide +kernel def box557 : AreaCell := ⟨p33.value, n57.value, p33.lo / n57.hi, p33.hi / n57.lo⟩ theorem box557_checked : checkAreaCell box557 = true := by decide +kernel def box558 : AreaCell := ⟨p34.value, n57.value, p34.lo / n57.hi, p34.hi / n57.lo⟩ theorem box558_checked : checkAreaCell box558 = true := by decide +kernel def box559 : AreaCell := ⟨p35.value, n57.value, p35.lo / n57.hi, p35.hi / n57.lo⟩ theorem box559_checked : checkAreaCell box559 = true := by decide +kernel def box560 : AreaCell := ⟨p36.value, n57.value, p36.lo / n57.hi, p37.hi / n57.lo⟩ theorem box560_checked : checkAreaCell box560 = true := by decide +kernel def box561 : AreaCell := ⟨p38.value, n57.value, p38.lo / n57.hi, p39.hi / n57.lo⟩ theorem box561_checked : checkAreaCell box561 = true := by decide +kernel def box562 : AreaCell := ⟨p40.value, n57.value, p40.lo / n57.hi, p40.hi / n53.lo⟩ theorem box562_checked : checkAreaCell box562 = true := by decide +kernel def box563 : AreaCell := ⟨p41.value, n57.value, p41.lo / n57.hi, p41.hi / n48.lo⟩ theorem box563_checked : checkAreaCell box563 = true := by decide +kernel def box564 : AreaCell := ⟨p23.value, n198.value, p23.lo / n198.hi, p23.hi / n58.lo⟩ theorem box564_checked : checkAreaCell box564 = true := by decide +kernel def box565 : AreaCell := ⟨p24.value, n59.value, p24.lo / n59.hi, p24.hi / n58.lo⟩ theorem box565_checked : checkAreaCell box565 = true := by decide +kernel def box566 : AreaCell := ⟨p25.value, n59.value, p25.lo / n59.hi, p25.hi / n58.lo⟩ theorem box566_checked : checkAreaCell box566 = true := by decide +kernel def box567 : AreaCell := ⟨p24.value, n198.value, p24.lo / n198.hi, p25.hi / n60.lo⟩ theorem box567_checked : checkAreaCell box567 = true := by decide +kernel def box568 : AreaCell := ⟨p26.value, n59.value, p26.lo / n59.hi, p26.hi / n58.lo⟩ theorem box568_checked : checkAreaCell box568 = true := by decide +kernel def box569 : AreaCell := ⟨p27.value, n58.value, p27.lo / n58.hi, p27.hi / n58.lo⟩ theorem box569_checked : checkAreaCell box569 = true := by decide +kernel def box570 : AreaCell := ⟨p27.value, n59.value, p27.lo / n59.hi, p27.hi / n59.lo⟩ theorem box570_checked : checkAreaCell box570 = true := by decide +kernel def box571 : AreaCell := ⟨p26.value, n198.value, p26.lo / n198.hi, p27.hi / n60.lo⟩ theorem box571_checked : checkAreaCell box571 = true := by decide +kernel def box572 : AreaCell := ⟨p28.value, n58.value, p28.lo / n58.hi, p28.hi / n58.lo⟩ theorem box572_checked : checkAreaCell box572 = true := by decide +kernel def box573 : AreaCell := ⟨p28.value, n198.value, p28.lo / n198.hi, p28.hi / n59.lo⟩ theorem box573_checked : checkAreaCell box573 = true := by decide +kernel def box574 : AreaCell := ⟨p29.value, n58.value, p29.lo / n58.hi, p29.hi / n58.lo⟩ theorem box574_checked : checkAreaCell box574 = true := by decide +kernel def box575 : AreaCell := ⟨p29.value, n198.value, p29.lo / n198.hi, p29.hi / n59.lo⟩ theorem box575_checked : checkAreaCell box575 = true := by decide +kernel def box576 : AreaCell := ⟨p30.value, n58.value, p30.lo / n58.hi, p30.hi / n58.lo⟩ theorem box576_checked : checkAreaCell box576 = true := by decide +kernel def box577 : AreaCell := ⟨p30.value, n198.value, p30.lo / n198.hi, p30.hi / n59.lo⟩ theorem box577_checked : checkAreaCell box577 = true := by decide +kernel def box578 : AreaCell := ⟨p31.value, n58.value, p31.lo / n58.hi, p31.hi / n58.lo⟩ theorem box578_checked : checkAreaCell box578 = true := by decide +kernel def box579 : AreaCell := ⟨p31.value, n198.value, p31.lo / n198.hi, p31.hi / n59.lo⟩ theorem box579_checked : checkAreaCell box579 = true := by decide +kernel def box580 : AreaCell := ⟨p32.value, n58.value, p32.lo / n58.hi, p32.hi / n58.lo⟩ theorem box580_checked : checkAreaCell box580 = true := by decide +kernel def box581 : AreaCell := ⟨p32.value, n198.value, p32.lo / n198.hi, p32.hi / n59.lo⟩ theorem box581_checked : checkAreaCell box581 = true := by decide +kernel def box582 : AreaCell := ⟨p33.value, n58.value, p33.lo / n58.hi, p33.hi / n58.lo⟩ theorem box582_checked : checkAreaCell box582 = true := by decide +kernel def box583 : AreaCell := ⟨p33.value, n198.value, p33.lo / n198.hi, p33.hi / n59.lo⟩ theorem box583_checked : checkAreaCell box583 = true := by decide +kernel def box584 : AreaCell := ⟨p34.value, n58.value, p34.lo / n58.hi, p34.hi / n58.lo⟩ theorem box584_checked : checkAreaCell box584 = true := by decide +kernel def box585 : AreaCell := ⟨p34.value, n198.value, p34.lo / n198.hi, p34.hi / n59.lo⟩ theorem box585_checked : checkAreaCell box585 = true := by decide +kernel def box586 : AreaCell := ⟨p35.value, n58.value, p35.lo / n58.hi, p35.hi / n58.lo⟩ theorem box586_checked : checkAreaCell box586 = true := by decide +kernel def box587 : AreaCell := ⟨p35.value, n198.value, p35.lo / n198.hi, p35.hi / n59.lo⟩ theorem box587_checked : checkAreaCell box587 = true := by decide +kernel def box588 : AreaCell := ⟨p36.value, n58.value, p36.lo / n58.hi, p36.hi / n58.lo⟩ theorem box588_checked : checkAreaCell box588 = true := by decide +kernel def box589 : AreaCell := ⟨p36.value, n198.value, p36.lo / n198.hi, p36.hi / n59.lo⟩ theorem box589_checked : checkAreaCell box589 = true := by decide +kernel def box590 : AreaCell := ⟨p37.value, n58.value, p37.lo / n58.hi, p38.hi / n58.lo⟩ theorem box590_checked : checkAreaCell box590 = true := by decide +kernel def box591 : AreaCell := ⟨p37.value, n198.value, p37.lo / n198.hi, p37.hi / n59.lo⟩ theorem box591_checked : checkAreaCell box591 = true := by decide +kernel def box592 : AreaCell := ⟨p38.value, n198.value, p38.lo / n198.hi, p38.hi / n59.lo⟩ theorem box592_checked : checkAreaCell box592 = true := by decide +kernel def box593 : AreaCell := ⟨p39.value, n58.value, p39.lo / n58.hi, p40.hi / n58.lo⟩ theorem box593_checked : checkAreaCell box593 = true := by decide +kernel def box594 : AreaCell := ⟨p39.value, n198.value, p39.lo / n198.hi, p39.hi / n59.lo⟩ theorem box594_checked : checkAreaCell box594 = true := by decide +kernel def box595 : AreaCell := ⟨p40.value, n198.value, p40.lo / n198.hi, p40.hi / n59.lo⟩ theorem box595_checked : checkAreaCell box595 = true := by decide +kernel def box596 : AreaCell := ⟨p41.value, n59.value, p41.lo / n59.hi, p41.hi / n58.lo⟩ theorem box596_checked : checkAreaCell box596 = true := by decide +kernel def box597 : AreaCell := ⟨p41.value, n198.value, p41.lo / n198.hi, p41.hi / n60.lo⟩ theorem box597_checked : checkAreaCell box597 = true := by decide +kernel theorem node0_good : GoodOn families 0 42 0 5 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨41, by decide⟩ ⟨0, by decide⟩ ⟨4, by decide⟩ (checkAreaCell_sound box0_checked) theorem node1_good : GoodOn families 0 8 5 7 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨7, by decide⟩ ⟨5, by decide⟩ ⟨6, by decide⟩ (checkAreaCell_sound box1_checked) theorem node2_good : GoodOn families 0 4 7 9 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨3, by decide⟩ ⟨7, by decide⟩ ⟨8, by decide⟩ (checkAreaCell_sound box2_checked) theorem node3_good : GoodOn families 0 4 9 11 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨3, by decide⟩ ⟨9, by decide⟩ ⟨10, by decide⟩ (checkAreaCell_sound box3_checked) theorem node4_good : GoodOn families 0 3 11 13 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨2, by decide⟩ ⟨11, by decide⟩ ⟨12, by decide⟩ (checkAreaCell_sound box4_checked) theorem node5_good : GoodOn families 3 4 11 13 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨11, by decide⟩ ⟨12, by decide⟩ (checkAreaCell_sound box5_checked) theorem node6_good : GoodOn families 0 4 11 13 := @split_positive 42 199 families 0 3 4 11 13 node4_good node5_good theorem node7_good : GoodOn families 0 4 9 13 := @split_negative 42 199 families 0 4 9 11 13 node3_good node6_good theorem node8_good : GoodOn families 0 4 7 13 := @split_negative 42 199 families 0 4 7 9 13 node2_good node7_good theorem node9_good : GoodOn families 4 8 7 13 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨12, by decide⟩ (checkAreaCell_sound box6_checked) theorem node10_good : GoodOn families 0 8 7 13 := @split_positive 42 199 families 0 4 8 7 13 node8_good node9_good theorem node11_good : GoodOn families 0 2 13 15 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨1, by decide⟩ ⟨13, by decide⟩ ⟨14, by decide⟩ (checkAreaCell_sound box7_checked) theorem node12_good : GoodOn families 2 4 13 15 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨3, by decide⟩ ⟨13, by decide⟩ ⟨14, by decide⟩ (checkAreaCell_sound box8_checked) theorem node13_good : GoodOn families 0 4 13 15 := @split_positive 42 199 families 0 2 4 13 15 node11_good node12_good theorem node14_good : GoodOn families 0 2 15 16 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨1, by decide⟩ ⟨15, by decide⟩ ⟨15, by decide⟩ (checkAreaCell_sound box9_checked) theorem node15_good : GoodOn families 0 2 16 17 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨1, by decide⟩ ⟨16, by decide⟩ ⟨16, by decide⟩ (checkAreaCell_sound box10_checked) theorem node16_good : GoodOn families 0 2 15 17 := @split_negative 42 199 families 0 2 15 16 17 node14_good node15_good theorem node17_good : GoodOn families 2 4 15 17 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨3, by decide⟩ ⟨15, by decide⟩ ⟨16, by decide⟩ (checkAreaCell_sound box11_checked) theorem node18_good : GoodOn families 0 4 15 17 := @split_positive 42 199 families 0 2 4 15 17 node16_good node17_good theorem node19_good : GoodOn families 0 4 13 17 := @split_negative 42 199 families 0 4 13 15 17 node13_good node18_good theorem node20_good : GoodOn families 4 7 13 17 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨6, by decide⟩ ⟨13, by decide⟩ ⟨16, by decide⟩ (checkAreaCell_sound box12_checked) theorem node21_good : GoodOn families 0 7 13 17 := @split_positive 42 199 families 0 4 7 13 17 node19_good node20_good theorem node22_good : GoodOn families 0 2 17 18 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨1, by decide⟩ ⟨17, by decide⟩ ⟨17, by decide⟩ (checkAreaCell_sound box13_checked) theorem node23_good : GoodOn families 0 2 18 19 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨1, by decide⟩ ⟨18, by decide⟩ ⟨18, by decide⟩ (checkAreaCell_sound box14_checked) theorem node24_good : GoodOn families 0 2 19 20 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨1, by decide⟩ ⟨19, by decide⟩ ⟨19, by decide⟩ (checkAreaCell_sound box15_checked) theorem node25_good : GoodOn families 0 2 18 20 := @split_negative 42 199 families 0 2 18 19 20 node23_good node24_good theorem node26_good : GoodOn families 0 2 17 20 := @split_negative 42 199 families 0 2 17 18 20 node22_good node25_good theorem node27_good : GoodOn families 2 4 17 18 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨3, by decide⟩ ⟨17, by decide⟩ ⟨17, by decide⟩ (checkAreaCell_sound box16_checked) theorem node28_good : GoodOn families 2 4 18 19 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨3, by decide⟩ ⟨18, by decide⟩ ⟨18, by decide⟩ (checkAreaCell_sound box17_checked) theorem node29_good : GoodOn families 2 4 19 20 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨3, by decide⟩ ⟨19, by decide⟩ ⟨19, by decide⟩ (checkAreaCell_sound box18_checked) theorem node30_good : GoodOn families 2 4 18 20 := @split_negative 42 199 families 2 4 18 19 20 node28_good node29_good theorem node31_good : GoodOn families 2 4 17 20 := @split_negative 42 199 families 2 4 17 18 20 node27_good node30_good theorem node32_good : GoodOn families 0 4 17 20 := @split_positive 42 199 families 0 2 4 17 20 node26_good node31_good theorem node33_good : GoodOn families 4 5 17 20 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨17, by decide⟩ ⟨19, by decide⟩ (checkAreaCell_sound box19_checked) theorem node34_good : GoodOn families 0 5 17 20 := @split_positive 42 199 families 0 4 5 17 20 node32_good node33_good theorem node35_good : GoodOn families 5 7 17 20 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨6, by decide⟩ ⟨17, by decide⟩ ⟨19, by decide⟩ (checkAreaCell_sound box20_checked) theorem node36_good : GoodOn families 0 7 17 20 := @split_positive 42 199 families 0 5 7 17 20 node34_good node35_good theorem node37_good : GoodOn families 0 7 13 20 := @split_negative 42 199 families 0 7 13 17 20 node21_good node36_good theorem node38_good : GoodOn families 7 8 13 20 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨13, by decide⟩ ⟨19, by decide⟩ (checkAreaCell_sound box21_checked) theorem node39_good : GoodOn families 0 8 13 20 := @split_positive 42 199 families 0 7 8 13 20 node37_good node38_good theorem node40_good : GoodOn families 0 8 7 20 := @split_negative 42 199 families 0 8 7 13 20 node10_good node39_good theorem node41_good : GoodOn families 0 8 5 20 := @split_negative 42 199 families 0 8 5 7 20 node1_good node40_good theorem node42_good : GoodOn families 8 21 5 20 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨20, by decide⟩ ⟨5, by decide⟩ ⟨19, by decide⟩ (checkAreaCell_sound box22_checked) theorem node43_good : GoodOn families 0 21 5 20 := @split_positive 42 199 families 0 8 21 5 20 node41_good node42_good theorem node44_good : GoodOn families 0 1 20 22 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨20, by decide⟩ ⟨21, by decide⟩ (checkAreaCell_sound box23_checked) theorem node45_good : GoodOn families 1 2 20 21 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨20, by decide⟩ ⟨20, by decide⟩ (checkAreaCell_sound box24_checked) theorem node46_good : GoodOn families 1 2 21 22 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨21, by decide⟩ ⟨21, by decide⟩ (checkAreaCell_sound box25_checked) theorem node47_good : GoodOn families 1 2 20 22 := @split_negative 42 199 families 1 2 20 21 22 node45_good node46_good theorem node48_good : GoodOn families 0 2 20 22 := @split_positive 42 199 families 0 1 2 20 22 node44_good node47_good theorem node49_good : GoodOn families 0 1 22 23 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨22, by decide⟩ ⟨22, by decide⟩ (checkAreaCell_sound box26_checked) theorem node50_good : GoodOn families 1 2 22 23 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨22, by decide⟩ ⟨22, by decide⟩ (checkAreaCell_sound box27_checked) theorem node51_good : GoodOn families 0 2 22 23 := @split_positive 42 199 families 0 1 2 22 23 node49_good node50_good theorem node52_good : GoodOn families 0 1 23 24 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨23, by decide⟩ ⟨23, by decide⟩ (checkAreaCell_sound box28_checked) theorem node53_good : GoodOn families 1 2 23 24 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨23, by decide⟩ ⟨23, by decide⟩ (checkAreaCell_sound box29_checked) theorem node54_good : GoodOn families 0 2 23 24 := @split_positive 42 199 families 0 1 2 23 24 node52_good node53_good theorem node55_good : GoodOn families 0 2 22 24 := @split_negative 42 199 families 0 2 22 23 24 node51_good node54_good theorem node56_good : GoodOn families 0 2 20 24 := @split_negative 42 199 families 0 2 20 22 24 node48_good node55_good theorem node57_good : GoodOn families 2 4 20 21 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨3, by decide⟩ ⟨20, by decide⟩ ⟨20, by decide⟩ (checkAreaCell_sound box30_checked) theorem node58_good : GoodOn families 4 7 20 21 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨6, by decide⟩ ⟨20, by decide⟩ ⟨20, by decide⟩ (checkAreaCell_sound box31_checked) theorem node59_good : GoodOn families 2 7 20 21 := @split_positive 42 199 families 2 4 7 20 21 node57_good node58_good theorem node60_good : GoodOn families 2 3 21 23 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨21, by decide⟩ ⟨22, by decide⟩ (checkAreaCell_sound box32_checked) theorem node61_good : GoodOn families 3 5 21 22 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨4, by decide⟩ ⟨21, by decide⟩ ⟨21, by decide⟩ (checkAreaCell_sound box33_checked) theorem node62_good : GoodOn families 3 5 22 23 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨4, by decide⟩ ⟨22, by decide⟩ ⟨22, by decide⟩ (checkAreaCell_sound box34_checked) theorem node63_good : GoodOn families 3 5 21 23 := @split_negative 42 199 families 3 5 21 22 23 node61_good node62_good theorem node64_good : GoodOn families 2 5 21 23 := @split_positive 42 199 families 2 3 5 21 23 node60_good node63_good theorem node65_good : GoodOn families 2 3 23 24 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨23, by decide⟩ ⟨23, by decide⟩ (checkAreaCell_sound box35_checked) theorem node66_good : GoodOn families 3 5 23 24 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨4, by decide⟩ ⟨23, by decide⟩ ⟨23, by decide⟩ (checkAreaCell_sound box36_checked) theorem node67_good : GoodOn families 2 5 23 24 := @split_positive 42 199 families 2 3 5 23 24 node65_good node66_good theorem node68_good : GoodOn families 2 5 21 24 := @split_negative 42 199 families 2 5 21 23 24 node64_good node67_good theorem node69_good : GoodOn families 5 7 21 22 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨6, by decide⟩ ⟨21, by decide⟩ ⟨21, by decide⟩ (checkAreaCell_sound box37_checked) theorem node70_good : GoodOn families 5 7 22 24 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨6, by decide⟩ ⟨22, by decide⟩ ⟨23, by decide⟩ (checkAreaCell_sound box38_checked) theorem node71_good : GoodOn families 5 7 21 24 := @split_negative 42 199 families 5 7 21 22 24 node69_good node70_good theorem node72_good : GoodOn families 2 7 21 24 := @split_positive 42 199 families 2 5 7 21 24 node68_good node71_good theorem node73_good : GoodOn families 2 7 20 24 := @split_negative 42 199 families 2 7 20 21 24 node59_good node72_good theorem node74_good : GoodOn families 0 7 20 24 := @split_positive 42 199 families 0 2 7 20 24 node56_good node73_good theorem node75_good : GoodOn families 7 9 20 24 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨8, by decide⟩ ⟨20, by decide⟩ ⟨23, by decide⟩ (checkAreaCell_sound box39_checked) theorem node76_good : GoodOn families 0 9 20 24 := @split_positive 42 199 families 0 7 9 20 24 node74_good node75_good theorem node77_good : GoodOn families 9 11 20 24 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨10, by decide⟩ ⟨20, by decide⟩ ⟨23, by decide⟩ (checkAreaCell_sound box40_checked) theorem node78_good : GoodOn families 0 11 20 24 := @split_positive 42 199 families 0 9 11 20 24 node76_good node77_good theorem node79_good : GoodOn families 0 1 24 25 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨24, by decide⟩ ⟨24, by decide⟩ (checkAreaCell_sound box41_checked) theorem node80_good : GoodOn families 1 2 24 25 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨24, by decide⟩ ⟨24, by decide⟩ (checkAreaCell_sound box42_checked) theorem node81_good : GoodOn families 2 3 24 25 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨24, by decide⟩ ⟨24, by decide⟩ (checkAreaCell_sound box43_checked) theorem node82_good : GoodOn families 1 3 24 25 := @split_positive 42 199 families 1 2 3 24 25 node80_good node81_good theorem node83_good : GoodOn families 0 3 24 25 := @split_positive 42 199 families 0 1 3 24 25 node79_good node82_good theorem node84_good : GoodOn families 0 1 25 26 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨25, by decide⟩ ⟨25, by decide⟩ (checkAreaCell_sound box44_checked) theorem node85_good : GoodOn families 1 2 25 26 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨25, by decide⟩ ⟨25, by decide⟩ (checkAreaCell_sound box45_checked) theorem node86_good : GoodOn families 2 3 25 26 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨25, by decide⟩ ⟨25, by decide⟩ (checkAreaCell_sound box46_checked) theorem node87_good : GoodOn families 1 3 25 26 := @split_positive 42 199 families 1 2 3 25 26 node85_good node86_good theorem node88_good : GoodOn families 0 3 25 26 := @split_positive 42 199 families 0 1 3 25 26 node84_good node87_good theorem node89_good : GoodOn families 0 3 24 26 := @split_negative 42 199 families 0 3 24 25 26 node83_good node88_good theorem node90_good : GoodOn families 3 4 24 26 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨24, by decide⟩ ⟨25, by decide⟩ (checkAreaCell_sound box47_checked) theorem node91_good : GoodOn families 4 6 24 25 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨5, by decide⟩ ⟨24, by decide⟩ ⟨24, by decide⟩ (checkAreaCell_sound box48_checked) theorem node92_good : GoodOn families 4 6 25 26 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨5, by decide⟩ ⟨25, by decide⟩ ⟨25, by decide⟩ (checkAreaCell_sound box49_checked) theorem node93_good : GoodOn families 4 6 24 26 := @split_negative 42 199 families 4 6 24 25 26 node91_good node92_good theorem node94_good : GoodOn families 3 6 24 26 := @split_positive 42 199 families 3 4 6 24 26 node90_good node93_good theorem node95_good : GoodOn families 0 6 24 26 := @split_positive 42 199 families 0 3 6 24 26 node89_good node94_good theorem node96_good : GoodOn families 6 7 24 26 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨24, by decide⟩ ⟨25, by decide⟩ (checkAreaCell_sound box50_checked) theorem node97_good : GoodOn families 0 7 24 26 := @split_positive 42 199 families 0 6 7 24 26 node95_good node96_good theorem node98_good : GoodOn families 0 1 26 27 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨26, by decide⟩ ⟨26, by decide⟩ (checkAreaCell_sound box51_checked) theorem node99_good : GoodOn families 1 2 26 27 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨26, by decide⟩ ⟨26, by decide⟩ (checkAreaCell_sound box52_checked) theorem node100_good : GoodOn families 2 3 26 27 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨26, by decide⟩ ⟨26, by decide⟩ (checkAreaCell_sound box53_checked) theorem node101_good : GoodOn families 1 3 26 27 := @split_positive 42 199 families 1 2 3 26 27 node99_good node100_good theorem node102_good : GoodOn families 0 3 26 27 := @split_positive 42 199 families 0 1 3 26 27 node98_good node101_good theorem node103_good : GoodOn families 0 1 27 28 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨27, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box54_checked) theorem node104_good : GoodOn families 1 2 27 28 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨27, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box55_checked) theorem node105_good : GoodOn families 2 3 27 28 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨27, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box56_checked) theorem node106_good : GoodOn families 1 3 27 28 := @split_positive 42 199 families 1 2 3 27 28 node104_good node105_good theorem node107_good : GoodOn families 0 3 27 28 := @split_positive 42 199 families 0 1 3 27 28 node103_good node106_good theorem node108_good : GoodOn families 0 3 26 28 := @split_negative 42 199 families 0 3 26 27 28 node102_good node107_good theorem node109_good : GoodOn families 3 4 26 27 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨26, by decide⟩ ⟨26, by decide⟩ (checkAreaCell_sound box57_checked) theorem node110_good : GoodOn families 3 4 27 28 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨27, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box58_checked) theorem node111_good : GoodOn families 3 4 26 28 := @split_negative 42 199 families 3 4 26 27 28 node109_good node110_good theorem node112_good : GoodOn families 4 5 26 28 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨26, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box59_checked) theorem node113_good : GoodOn families 3 5 26 28 := @split_positive 42 199 families 3 4 5 26 28 node111_good node112_good theorem node114_good : GoodOn families 5 7 26 27 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨6, by decide⟩ ⟨26, by decide⟩ ⟨26, by decide⟩ (checkAreaCell_sound box60_checked) theorem node115_good : GoodOn families 5 7 27 28 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨6, by decide⟩ ⟨27, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box61_checked) theorem node116_good : GoodOn families 5 7 26 28 := @split_negative 42 199 families 5 7 26 27 28 node114_good node115_good theorem node117_good : GoodOn families 3 7 26 28 := @split_positive 42 199 families 3 5 7 26 28 node113_good node116_good theorem node118_good : GoodOn families 0 7 26 28 := @split_positive 42 199 families 0 3 7 26 28 node108_good node117_good theorem node119_good : GoodOn families 0 7 24 28 := @split_negative 42 199 families 0 7 24 26 28 node97_good node118_good theorem node120_good : GoodOn families 7 8 24 28 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨24, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box62_checked) theorem node121_good : GoodOn families 0 8 24 28 := @split_positive 42 199 families 0 7 8 24 28 node119_good node120_good theorem node122_good : GoodOn families 8 9 24 28 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨24, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box63_checked) theorem node123_good : GoodOn families 0 9 24 28 := @split_positive 42 199 families 0 8 9 24 28 node121_good node122_good theorem node124_good : GoodOn families 9 11 24 28 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨10, by decide⟩ ⟨24, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box64_checked) theorem node125_good : GoodOn families 0 11 24 28 := @split_positive 42 199 families 0 9 11 24 28 node123_good node124_good theorem node126_good : GoodOn families 0 11 20 28 := @split_negative 42 199 families 0 11 20 24 28 node78_good node125_good theorem node127_good : GoodOn families 11 13 20 28 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨12, by decide⟩ ⟨20, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box65_checked) theorem node128_good : GoodOn families 0 13 20 28 := @split_positive 42 199 families 0 11 13 20 28 node126_good node127_good theorem node129_good : GoodOn families 13 21 20 28 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨27, by decide⟩ (checkAreaCell_sound box66_checked) theorem node130_good : GoodOn families 0 21 20 28 := @split_positive 42 199 families 0 13 21 20 28 node128_good node129_good theorem node131_good : GoodOn families 0 1 28 29 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨28, by decide⟩ ⟨28, by decide⟩ (checkAreaCell_sound box67_checked) theorem node132_good : GoodOn families 1 2 28 29 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨28, by decide⟩ ⟨28, by decide⟩ (checkAreaCell_sound box68_checked) theorem node133_good : GoodOn families 2 3 28 29 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨28, by decide⟩ ⟨28, by decide⟩ (checkAreaCell_sound box69_checked) theorem node134_good : GoodOn families 3 4 28 29 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨28, by decide⟩ ⟨28, by decide⟩ (checkAreaCell_sound box70_checked) theorem node135_good : GoodOn families 2 4 28 29 := @split_positive 42 199 families 2 3 4 28 29 node133_good node134_good theorem node136_good : GoodOn families 1 4 28 29 := @split_positive 42 199 families 1 2 4 28 29 node132_good node135_good theorem node137_good : GoodOn families 0 4 28 29 := @split_positive 42 199 families 0 1 4 28 29 node131_good node136_good theorem node138_good : GoodOn families 0 1 29 30 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨29, by decide⟩ ⟨29, by decide⟩ (checkAreaCell_sound box71_checked) theorem node139_good : GoodOn families 1 2 29 30 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨29, by decide⟩ ⟨29, by decide⟩ (checkAreaCell_sound box72_checked) theorem node140_good : GoodOn families 2 3 29 30 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨29, by decide⟩ ⟨29, by decide⟩ (checkAreaCell_sound box73_checked) theorem node141_good : GoodOn families 3 4 29 30 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨29, by decide⟩ ⟨29, by decide⟩ (checkAreaCell_sound box74_checked) theorem node142_good : GoodOn families 2 4 29 30 := @split_positive 42 199 families 2 3 4 29 30 node140_good node141_good theorem node143_good : GoodOn families 1 4 29 30 := @split_positive 42 199 families 1 2 4 29 30 node139_good node142_good theorem node144_good : GoodOn families 0 4 29 30 := @split_positive 42 199 families 0 1 4 29 30 node138_good node143_good theorem node145_good : GoodOn families 0 4 28 30 := @split_negative 42 199 families 0 4 28 29 30 node137_good node144_good theorem node146_good : GoodOn families 4 5 28 29 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨28, by decide⟩ ⟨28, by decide⟩ (checkAreaCell_sound box75_checked) theorem node147_good : GoodOn families 4 5 29 30 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨29, by decide⟩ ⟨29, by decide⟩ (checkAreaCell_sound box76_checked) theorem node148_good : GoodOn families 4 5 28 30 := @split_negative 42 199 families 4 5 28 29 30 node146_good node147_good theorem node149_good : GoodOn families 5 6 28 30 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨28, by decide⟩ ⟨29, by decide⟩ (checkAreaCell_sound box77_checked) theorem node150_good : GoodOn families 4 6 28 30 := @split_positive 42 199 families 4 5 6 28 30 node148_good node149_good theorem node151_good : GoodOn families 6 8 28 29 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨7, by decide⟩ ⟨28, by decide⟩ ⟨28, by decide⟩ (checkAreaCell_sound box78_checked) theorem node152_good : GoodOn families 6 8 29 30 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨7, by decide⟩ ⟨29, by decide⟩ ⟨29, by decide⟩ (checkAreaCell_sound box79_checked) theorem node153_good : GoodOn families 6 8 28 30 := @split_negative 42 199 families 6 8 28 29 30 node151_good node152_good theorem node154_good : GoodOn families 4 8 28 30 := @split_positive 42 199 families 4 6 8 28 30 node150_good node153_good theorem node155_good : GoodOn families 0 8 28 30 := @split_positive 42 199 families 0 4 8 28 30 node145_good node154_good theorem node156_good : GoodOn families 8 10 28 30 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨9, by decide⟩ ⟨28, by decide⟩ ⟨29, by decide⟩ (checkAreaCell_sound box80_checked) theorem node157_good : GoodOn families 0 10 28 30 := @split_positive 42 199 families 0 8 10 28 30 node155_good node156_good theorem node158_good : GoodOn families 10 14 28 30 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨13, by decide⟩ ⟨28, by decide⟩ ⟨29, by decide⟩ (checkAreaCell_sound box81_checked) theorem node159_good : GoodOn families 0 14 28 30 := @split_positive 42 199 families 0 10 14 28 30 node157_good node158_good theorem node160_good : GoodOn families 0 1 30 31 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨30, by decide⟩ ⟨30, by decide⟩ (checkAreaCell_sound box82_checked) theorem node161_good : GoodOn families 1 2 30 31 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨30, by decide⟩ ⟨30, by decide⟩ (checkAreaCell_sound box83_checked) theorem node162_good : GoodOn families 2 3 30 31 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨30, by decide⟩ ⟨30, by decide⟩ (checkAreaCell_sound box84_checked) theorem node163_good : GoodOn families 3 4 30 31 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨30, by decide⟩ ⟨30, by decide⟩ (checkAreaCell_sound box85_checked) theorem node164_good : GoodOn families 2 4 30 31 := @split_positive 42 199 families 2 3 4 30 31 node162_good node163_good theorem node165_good : GoodOn families 1 4 30 31 := @split_positive 42 199 families 1 2 4 30 31 node161_good node164_good theorem node166_good : GoodOn families 0 4 30 31 := @split_positive 42 199 families 0 1 4 30 31 node160_good node165_good theorem node167_good : GoodOn families 0 1 31 32 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨31, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box86_checked) theorem node168_good : GoodOn families 1 2 31 32 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨31, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box87_checked) theorem node169_good : GoodOn families 2 3 31 32 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨31, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box88_checked) theorem node170_good : GoodOn families 3 4 31 32 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨31, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box89_checked) theorem node171_good : GoodOn families 2 4 31 32 := @split_positive 42 199 families 2 3 4 31 32 node169_good node170_good theorem node172_good : GoodOn families 1 4 31 32 := @split_positive 42 199 families 1 2 4 31 32 node168_good node171_good theorem node173_good : GoodOn families 0 4 31 32 := @split_positive 42 199 families 0 1 4 31 32 node167_good node172_good theorem node174_good : GoodOn families 0 4 30 32 := @split_negative 42 199 families 0 4 30 31 32 node166_good node173_good theorem node175_good : GoodOn families 4 5 30 31 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨30, by decide⟩ ⟨30, by decide⟩ (checkAreaCell_sound box90_checked) theorem node176_good : GoodOn families 5 6 30 31 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨30, by decide⟩ ⟨30, by decide⟩ (checkAreaCell_sound box91_checked) theorem node177_good : GoodOn families 4 6 30 31 := @split_positive 42 199 families 4 5 6 30 31 node175_good node176_good theorem node178_good : GoodOn families 4 5 31 32 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨31, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box92_checked) theorem node179_good : GoodOn families 5 6 31 32 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨31, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box93_checked) theorem node180_good : GoodOn families 4 6 31 32 := @split_positive 42 199 families 4 5 6 31 32 node178_good node179_good theorem node181_good : GoodOn families 4 6 30 32 := @split_negative 42 199 families 4 6 30 31 32 node177_good node180_good theorem node182_good : GoodOn families 6 7 30 32 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨30, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box94_checked) theorem node183_good : GoodOn families 7 9 30 31 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨8, by decide⟩ ⟨30, by decide⟩ ⟨30, by decide⟩ (checkAreaCell_sound box95_checked) theorem node184_good : GoodOn families 7 9 31 32 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨8, by decide⟩ ⟨31, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box96_checked) theorem node185_good : GoodOn families 7 9 30 32 := @split_negative 42 199 families 7 9 30 31 32 node183_good node184_good theorem node186_good : GoodOn families 6 9 30 32 := @split_positive 42 199 families 6 7 9 30 32 node182_good node185_good theorem node187_good : GoodOn families 4 9 30 32 := @split_positive 42 199 families 4 6 9 30 32 node181_good node186_good theorem node188_good : GoodOn families 0 9 30 32 := @split_positive 42 199 families 0 4 9 30 32 node174_good node187_good theorem node189_good : GoodOn families 9 11 30 32 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨10, by decide⟩ ⟨30, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box97_checked) theorem node190_good : GoodOn families 0 11 30 32 := @split_positive 42 199 families 0 9 11 30 32 node188_good node189_good theorem node191_good : GoodOn families 11 14 30 32 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨13, by decide⟩ ⟨30, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box98_checked) theorem node192_good : GoodOn families 0 14 30 32 := @split_positive 42 199 families 0 11 14 30 32 node190_good node191_good theorem node193_good : GoodOn families 0 14 28 32 := @split_negative 42 199 families 0 14 28 30 32 node159_good node192_good theorem node194_good : GoodOn families 14 21 28 32 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨20, by decide⟩ ⟨28, by decide⟩ ⟨31, by decide⟩ (checkAreaCell_sound box99_checked) theorem node195_good : GoodOn families 0 21 28 32 := @split_positive 42 199 families 0 14 21 28 32 node193_good node194_good theorem node196_good : GoodOn families 0 1 32 33 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box100_checked) theorem node197_good : GoodOn families 1 2 32 33 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box101_checked) theorem node198_good : GoodOn families 2 3 32 33 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box102_checked) theorem node199_good : GoodOn families 1 3 32 33 := @split_positive 42 199 families 1 2 3 32 33 node197_good node198_good theorem node200_good : GoodOn families 0 3 32 33 := @split_positive 42 199 families 0 1 3 32 33 node196_good node199_good theorem node201_good : GoodOn families 0 1 33 34 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨33, by decide⟩ ⟨33, by decide⟩ (checkAreaCell_sound box103_checked) theorem node202_good : GoodOn families 1 2 33 34 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨33, by decide⟩ ⟨33, by decide⟩ (checkAreaCell_sound box104_checked) theorem node203_good : GoodOn families 2 3 33 34 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨33, by decide⟩ ⟨33, by decide⟩ (checkAreaCell_sound box105_checked) theorem node204_good : GoodOn families 1 3 33 34 := @split_positive 42 199 families 1 2 3 33 34 node202_good node203_good theorem node205_good : GoodOn families 0 3 33 34 := @split_positive 42 199 families 0 1 3 33 34 node201_good node204_good theorem node206_good : GoodOn families 0 1 34 35 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨34, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box106_checked) theorem node207_good : GoodOn families 1 2 34 35 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨34, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box107_checked) theorem node208_good : GoodOn families 2 3 34 35 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨34, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box108_checked) theorem node209_good : GoodOn families 1 3 34 35 := @split_positive 42 199 families 1 2 3 34 35 node207_good node208_good theorem node210_good : GoodOn families 0 3 34 35 := @split_positive 42 199 families 0 1 3 34 35 node206_good node209_good theorem node211_good : GoodOn families 0 3 33 35 := @split_negative 42 199 families 0 3 33 34 35 node205_good node210_good theorem node212_good : GoodOn families 0 3 32 35 := @split_negative 42 199 families 0 3 32 33 35 node200_good node211_good theorem node213_good : GoodOn families 3 4 32 33 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box109_checked) theorem node214_good : GoodOn families 3 4 33 34 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨33, by decide⟩ ⟨33, by decide⟩ (checkAreaCell_sound box110_checked) theorem node215_good : GoodOn families 3 4 34 35 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨34, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box111_checked) theorem node216_good : GoodOn families 3 4 33 35 := @split_negative 42 199 families 3 4 33 34 35 node214_good node215_good theorem node217_good : GoodOn families 3 4 32 35 := @split_negative 42 199 families 3 4 32 33 35 node213_good node216_good theorem node218_good : GoodOn families 4 5 32 33 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box112_checked) theorem node219_good : GoodOn families 4 5 33 34 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨33, by decide⟩ ⟨33, by decide⟩ (checkAreaCell_sound box113_checked) theorem node220_good : GoodOn families 4 5 34 35 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨34, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box114_checked) theorem node221_good : GoodOn families 4 5 33 35 := @split_negative 42 199 families 4 5 33 34 35 node219_good node220_good theorem node222_good : GoodOn families 4 5 32 35 := @split_negative 42 199 families 4 5 32 33 35 node218_good node221_good theorem node223_good : GoodOn families 3 5 32 35 := @split_positive 42 199 families 3 4 5 32 35 node217_good node222_good theorem node224_good : GoodOn families 5 6 32 33 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box115_checked) theorem node225_good : GoodOn families 5 6 33 34 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨33, by decide⟩ ⟨33, by decide⟩ (checkAreaCell_sound box116_checked) theorem node226_good : GoodOn families 5 6 34 35 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨34, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box117_checked) theorem node227_good : GoodOn families 5 6 33 35 := @split_negative 42 199 families 5 6 33 34 35 node225_good node226_good theorem node228_good : GoodOn families 5 6 32 35 := @split_negative 42 199 families 5 6 32 33 35 node224_good node227_good theorem node229_good : GoodOn families 6 7 32 33 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box118_checked) theorem node230_good : GoodOn families 6 7 33 34 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨33, by decide⟩ ⟨33, by decide⟩ (checkAreaCell_sound box119_checked) theorem node231_good : GoodOn families 6 7 34 35 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨34, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box120_checked) theorem node232_good : GoodOn families 6 7 33 35 := @split_negative 42 199 families 6 7 33 34 35 node230_good node231_good theorem node233_good : GoodOn families 6 7 32 35 := @split_negative 42 199 families 6 7 32 33 35 node229_good node232_good theorem node234_good : GoodOn families 5 7 32 35 := @split_positive 42 199 families 5 6 7 32 35 node228_good node233_good theorem node235_good : GoodOn families 3 7 32 35 := @split_positive 42 199 families 3 5 7 32 35 node223_good node234_good theorem node236_good : GoodOn families 0 7 32 35 := @split_positive 42 199 families 0 3 7 32 35 node212_good node235_good theorem node237_good : GoodOn families 7 9 32 33 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨8, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box121_checked) theorem node238_good : GoodOn families 9 11 32 33 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨10, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box122_checked) theorem node239_good : GoodOn families 7 11 32 33 := @split_positive 42 199 families 7 9 11 32 33 node237_good node238_good theorem node240_good : GoodOn families 11 15 32 33 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨14, by decide⟩ ⟨32, by decide⟩ ⟨32, by decide⟩ (checkAreaCell_sound box123_checked) theorem node241_good : GoodOn families 7 15 32 33 := @split_positive 42 199 families 7 11 15 32 33 node239_good node240_good theorem node242_good : GoodOn families 7 8 33 35 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨33, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box124_checked) theorem node243_good : GoodOn families 8 10 33 34 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨9, by decide⟩ ⟨33, by decide⟩ ⟨33, by decide⟩ (checkAreaCell_sound box125_checked) theorem node244_good : GoodOn families 8 10 34 35 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨9, by decide⟩ ⟨34, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box126_checked) theorem node245_good : GoodOn families 8 10 33 35 := @split_negative 42 199 families 8 10 33 34 35 node243_good node244_good theorem node246_good : GoodOn families 7 10 33 35 := @split_positive 42 199 families 7 8 10 33 35 node242_good node245_good theorem node247_good : GoodOn families 10 12 33 35 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨11, by decide⟩ ⟨33, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box127_checked) theorem node248_good : GoodOn families 7 12 33 35 := @split_positive 42 199 families 7 10 12 33 35 node246_good node247_good theorem node249_good : GoodOn families 12 15 33 35 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨14, by decide⟩ ⟨33, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box128_checked) theorem node250_good : GoodOn families 7 15 33 35 := @split_positive 42 199 families 7 12 15 33 35 node248_good node249_good theorem node251_good : GoodOn families 7 15 32 35 := @split_negative 42 199 families 7 15 32 33 35 node241_good node250_good theorem node252_good : GoodOn families 15 21 32 34 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨20, by decide⟩ ⟨32, by decide⟩ ⟨33, by decide⟩ (checkAreaCell_sound box129_checked) theorem node253_good : GoodOn families 15 21 34 35 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨20, by decide⟩ ⟨34, by decide⟩ ⟨34, by decide⟩ (checkAreaCell_sound box130_checked) theorem node254_good : GoodOn families 15 21 32 35 := @split_negative 42 199 families 15 21 32 34 35 node252_good node253_good theorem node255_good : GoodOn families 7 21 32 35 := @split_positive 42 199 families 7 15 21 32 35 node251_good node254_good theorem node256_good : GoodOn families 0 21 32 35 := @split_positive 42 199 families 0 7 21 32 35 node236_good node255_good theorem node257_good : GoodOn families 0 1 35 37 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨35, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box131_checked) theorem node258_good : GoodOn families 1 2 35 36 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨35, by decide⟩ ⟨35, by decide⟩ (checkAreaCell_sound box132_checked) theorem node259_good : GoodOn families 2 3 35 36 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨35, by decide⟩ ⟨35, by decide⟩ (checkAreaCell_sound box133_checked) theorem node260_good : GoodOn families 3 4 35 36 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨35, by decide⟩ ⟨35, by decide⟩ (checkAreaCell_sound box134_checked) theorem node261_good : GoodOn families 4 5 35 36 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨35, by decide⟩ ⟨35, by decide⟩ (checkAreaCell_sound box135_checked) theorem node262_good : GoodOn families 5 6 35 36 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨35, by decide⟩ ⟨35, by decide⟩ (checkAreaCell_sound box136_checked) theorem node263_good : GoodOn families 4 6 35 36 := @split_positive 42 199 families 4 5 6 35 36 node261_good node262_good theorem node264_good : GoodOn families 3 6 35 36 := @split_positive 42 199 families 3 4 6 35 36 node260_good node263_good theorem node265_good : GoodOn families 2 6 35 36 := @split_positive 42 199 families 2 3 6 35 36 node259_good node264_good theorem node266_good : GoodOn families 1 6 35 36 := @split_positive 42 199 families 1 2 6 35 36 node258_good node265_good theorem node267_good : GoodOn families 1 2 36 37 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨36, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box137_checked) theorem node268_good : GoodOn families 2 3 36 37 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨36, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box138_checked) theorem node269_good : GoodOn families 3 4 36 37 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨36, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box139_checked) theorem node270_good : GoodOn families 4 5 36 37 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨36, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box140_checked) theorem node271_good : GoodOn families 5 6 36 37 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨36, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box141_checked) theorem node272_good : GoodOn families 4 6 36 37 := @split_positive 42 199 families 4 5 6 36 37 node270_good node271_good theorem node273_good : GoodOn families 3 6 36 37 := @split_positive 42 199 families 3 4 6 36 37 node269_good node272_good theorem node274_good : GoodOn families 2 6 36 37 := @split_positive 42 199 families 2 3 6 36 37 node268_good node273_good theorem node275_good : GoodOn families 1 6 36 37 := @split_positive 42 199 families 1 2 6 36 37 node267_good node274_good theorem node276_good : GoodOn families 1 6 35 37 := @split_negative 42 199 families 1 6 35 36 37 node266_good node275_good theorem node277_good : GoodOn families 6 7 35 36 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨35, by decide⟩ ⟨35, by decide⟩ (checkAreaCell_sound box142_checked) theorem node278_good : GoodOn families 7 8 35 36 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨35, by decide⟩ ⟨35, by decide⟩ (checkAreaCell_sound box143_checked) theorem node279_good : GoodOn families 6 8 35 36 := @split_positive 42 199 families 6 7 8 35 36 node277_good node278_good theorem node280_good : GoodOn families 6 7 36 37 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨36, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box144_checked) theorem node281_good : GoodOn families 7 8 36 37 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨36, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box145_checked) theorem node282_good : GoodOn families 6 8 36 37 := @split_positive 42 199 families 6 7 8 36 37 node280_good node281_good theorem node283_good : GoodOn families 6 8 35 37 := @split_negative 42 199 families 6 8 35 36 37 node279_good node282_good theorem node284_good : GoodOn families 8 9 35 37 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨35, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box146_checked) theorem node285_good : GoodOn families 9 11 35 36 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨10, by decide⟩ ⟨35, by decide⟩ ⟨35, by decide⟩ (checkAreaCell_sound box147_checked) theorem node286_good : GoodOn families 9 11 36 37 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨10, by decide⟩ ⟨36, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box148_checked) theorem node287_good : GoodOn families 9 11 35 37 := @split_negative 42 199 families 9 11 35 36 37 node285_good node286_good theorem node288_good : GoodOn families 8 11 35 37 := @split_positive 42 199 families 8 9 11 35 37 node284_good node287_good theorem node289_good : GoodOn families 6 11 35 37 := @split_positive 42 199 families 6 8 11 35 37 node283_good node288_good theorem node290_good : GoodOn families 1 11 35 37 := @split_positive 42 199 families 1 6 11 35 37 node276_good node289_good theorem node291_good : GoodOn families 0 11 35 37 := @split_positive 42 199 families 0 1 11 35 37 node257_good node290_good theorem node292_good : GoodOn families 11 13 35 37 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨12, by decide⟩ ⟨35, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box149_checked) theorem node293_good : GoodOn families 0 13 35 37 := @split_positive 42 199 families 0 11 13 35 37 node291_good node292_good theorem node294_good : GoodOn families 13 16 35 37 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨15, by decide⟩ ⟨35, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box150_checked) theorem node295_good : GoodOn families 0 16 35 37 := @split_positive 42 199 families 0 13 16 35 37 node293_good node294_good theorem node296_good : GoodOn families 16 21 35 37 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨20, by decide⟩ ⟨35, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box151_checked) theorem node297_good : GoodOn families 0 21 35 37 := @split_positive 42 199 families 0 16 21 35 37 node295_good node296_good theorem node298_good : GoodOn families 0 21 32 37 := @split_negative 42 199 families 0 21 32 35 37 node256_good node297_good theorem node299_good : GoodOn families 0 21 28 37 := @split_negative 42 199 families 0 21 28 32 37 node195_good node298_good theorem node300_good : GoodOn families 0 21 20 37 := @split_negative 42 199 families 0 21 20 28 37 node130_good node299_good theorem node301_good : GoodOn families 0 21 5 37 := @split_negative 42 199 families 0 21 5 20 37 node43_good node300_good theorem node302_good : GoodOn families 21 42 5 37 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨41, by decide⟩ ⟨5, by decide⟩ ⟨36, by decide⟩ (checkAreaCell_sound box152_checked) theorem node303_good : GoodOn families 0 42 5 37 := @split_positive 42 199 families 0 21 42 5 37 node301_good node302_good theorem node304_good : GoodOn families 0 1 37 39 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨37, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box153_checked) theorem node305_good : GoodOn families 0 1 39 41 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨39, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box154_checked) theorem node306_good : GoodOn families 0 1 41 43 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨41, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box155_checked) theorem node307_good : GoodOn families 0 1 39 43 := @split_negative 42 199 families 0 1 39 41 43 node305_good node306_good theorem node308_good : GoodOn families 0 1 37 43 := @split_negative 42 199 families 0 1 37 39 43 node304_good node307_good theorem node309_good : GoodOn families 0 1 43 46 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨43, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box156_checked) theorem node310_good : GoodOn families 0 1 37 46 := @split_negative 42 199 families 0 1 37 43 46 node308_good node309_good theorem node311_good : GoodOn families 0 1 46 51 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨46, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box157_checked) theorem node312_good : GoodOn families 0 1 37 51 := @split_negative 42 199 families 0 1 37 46 51 node310_good node311_good theorem node313_good : GoodOn families 0 1 51 56 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨0, by decide⟩ ⟨51, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box158_checked) theorem node314_good : GoodOn families 0 1 37 56 := @split_negative 42 199 families 0 1 37 51 56 node312_good node313_good theorem node315_good : GoodOn families 1 2 37 38 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box159_checked) theorem node316_good : GoodOn families 1 2 38 39 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box160_checked) theorem node317_good : GoodOn families 1 2 39 40 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box161_checked) theorem node318_good : GoodOn families 1 2 40 41 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box162_checked) theorem node319_good : GoodOn families 1 2 41 42 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box163_checked) theorem node320_good : GoodOn families 1 2 42 43 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box164_checked) theorem node321_good : GoodOn families 1 2 41 43 := @split_negative 42 199 families 1 2 41 42 43 node319_good node320_good theorem node322_good : GoodOn families 1 2 40 43 := @split_negative 42 199 families 1 2 40 41 43 node318_good node321_good theorem node323_good : GoodOn families 1 2 39 43 := @split_negative 42 199 families 1 2 39 40 43 node317_good node322_good theorem node324_good : GoodOn families 1 2 38 43 := @split_negative 42 199 families 1 2 38 39 43 node316_good node323_good theorem node325_good : GoodOn families 1 2 37 43 := @split_negative 42 199 families 1 2 37 38 43 node315_good node324_good theorem node326_good : GoodOn families 1 2 43 45 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨43, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box165_checked) theorem node327_good : GoodOn families 1 2 37 45 := @split_negative 42 199 families 1 2 37 43 45 node325_good node326_good theorem node328_good : GoodOn families 1 2 45 47 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨45, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box166_checked) theorem node329_good : GoodOn families 1 2 37 47 := @split_negative 42 199 families 1 2 37 45 47 node327_good node328_good theorem node330_good : GoodOn families 1 2 47 50 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨47, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box167_checked) theorem node331_good : GoodOn families 1 2 37 50 := @split_negative 42 199 families 1 2 37 47 50 node329_good node330_good theorem node332_good : GoodOn families 1 2 50 56 := @corner_cover 42 199 families ⟨1, by decide⟩ ⟨1, by decide⟩ ⟨50, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box168_checked) theorem node333_good : GoodOn families 1 2 37 56 := @split_negative 42 199 families 1 2 37 50 56 node331_good node332_good theorem node334_good : GoodOn families 2 3 37 38 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box169_checked) theorem node335_good : GoodOn families 2 3 38 39 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box170_checked) theorem node336_good : GoodOn families 2 3 39 40 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box171_checked) theorem node337_good : GoodOn families 2 3 40 41 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box172_checked) theorem node338_good : GoodOn families 2 3 41 42 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box173_checked) theorem node339_good : GoodOn families 2 3 42 43 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box174_checked) theorem node340_good : GoodOn families 2 3 43 44 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box175_checked) theorem node341_good : GoodOn families 2 3 44 45 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box176_checked) theorem node342_good : GoodOn families 2 3 45 46 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box177_checked) theorem node343_good : GoodOn families 2 3 44 46 := @split_negative 42 199 families 2 3 44 45 46 node341_good node342_good theorem node344_good : GoodOn families 2 3 43 46 := @split_negative 42 199 families 2 3 43 44 46 node340_good node343_good theorem node345_good : GoodOn families 2 3 42 46 := @split_negative 42 199 families 2 3 42 43 46 node339_good node344_good theorem node346_good : GoodOn families 2 3 41 46 := @split_negative 42 199 families 2 3 41 42 46 node338_good node345_good theorem node347_good : GoodOn families 2 3 40 46 := @split_negative 42 199 families 2 3 40 41 46 node337_good node346_good theorem node348_good : GoodOn families 2 3 39 46 := @split_negative 42 199 families 2 3 39 40 46 node336_good node347_good theorem node349_good : GoodOn families 2 3 38 46 := @split_negative 42 199 families 2 3 38 39 46 node335_good node348_good theorem node350_good : GoodOn families 2 3 37 46 := @split_negative 42 199 families 2 3 37 38 46 node334_good node349_good theorem node351_good : GoodOn families 2 3 46 48 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨46, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box178_checked) theorem node352_good : GoodOn families 2 3 37 48 := @split_negative 42 199 families 2 3 37 46 48 node350_good node351_good theorem node353_good : GoodOn families 2 3 48 51 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨48, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box179_checked) theorem node354_good : GoodOn families 2 3 37 51 := @split_negative 42 199 families 2 3 37 48 51 node352_good node353_good theorem node355_good : GoodOn families 2 3 51 56 := @corner_cover 42 199 families ⟨2, by decide⟩ ⟨2, by decide⟩ ⟨51, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box180_checked) theorem node356_good : GoodOn families 2 3 37 56 := @split_negative 42 199 families 2 3 37 51 56 node354_good node355_good theorem node357_good : GoodOn families 1 3 37 56 := @split_positive 42 199 families 1 2 3 37 56 node333_good node356_good theorem node358_good : GoodOn families 0 3 37 56 := @split_positive 42 199 families 0 1 3 37 56 node314_good node357_good theorem node359_good : GoodOn families 0 3 56 199 := @corner_cover 42 199 families ⟨0, by decide⟩ ⟨2, by decide⟩ ⟨56, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box181_checked) theorem node360_good : GoodOn families 0 3 37 199 := @split_negative 42 199 families 0 3 37 56 199 node358_good node359_good theorem node361_good : GoodOn families 3 4 37 38 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box182_checked) theorem node362_good : GoodOn families 3 4 38 39 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box183_checked) theorem node363_good : GoodOn families 3 4 39 40 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box184_checked) theorem node364_good : GoodOn families 3 4 40 41 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box185_checked) theorem node365_good : GoodOn families 3 4 41 42 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box186_checked) theorem node366_good : GoodOn families 3 4 42 43 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box187_checked) theorem node367_good : GoodOn families 3 4 43 44 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box188_checked) theorem node368_good : GoodOn families 3 4 44 45 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box189_checked) theorem node369_good : GoodOn families 3 4 45 46 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box190_checked) theorem node370_good : GoodOn families 3 4 44 46 := @split_negative 42 199 families 3 4 44 45 46 node368_good node369_good theorem node371_good : GoodOn families 3 4 43 46 := @split_negative 42 199 families 3 4 43 44 46 node367_good node370_good theorem node372_good : GoodOn families 3 4 42 46 := @split_negative 42 199 families 3 4 42 43 46 node366_good node371_good theorem node373_good : GoodOn families 3 4 41 46 := @split_negative 42 199 families 3 4 41 42 46 node365_good node372_good theorem node374_good : GoodOn families 3 4 40 46 := @split_negative 42 199 families 3 4 40 41 46 node364_good node373_good theorem node375_good : GoodOn families 3 4 39 46 := @split_negative 42 199 families 3 4 39 40 46 node363_good node374_good theorem node376_good : GoodOn families 3 4 38 46 := @split_negative 42 199 families 3 4 38 39 46 node362_good node375_good theorem node377_good : GoodOn families 3 4 37 46 := @split_negative 42 199 families 3 4 37 38 46 node361_good node376_good theorem node378_good : GoodOn families 3 4 46 48 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨46, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box191_checked) theorem node379_good : GoodOn families 3 4 37 48 := @split_negative 42 199 families 3 4 37 46 48 node377_good node378_good theorem node380_good : GoodOn families 3 4 48 51 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨48, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box192_checked) theorem node381_good : GoodOn families 3 4 37 51 := @split_negative 42 199 families 3 4 37 48 51 node379_good node380_good theorem node382_good : GoodOn families 3 4 51 56 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨3, by decide⟩ ⟨51, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box193_checked) theorem node383_good : GoodOn families 3 4 37 56 := @split_negative 42 199 families 3 4 37 51 56 node381_good node382_good theorem node384_good : GoodOn families 4 5 37 38 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box194_checked) theorem node385_good : GoodOn families 4 5 38 39 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box195_checked) theorem node386_good : GoodOn families 4 5 39 40 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box196_checked) theorem node387_good : GoodOn families 4 5 40 41 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box197_checked) theorem node388_good : GoodOn families 4 5 41 42 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box198_checked) theorem node389_good : GoodOn families 4 5 42 43 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box199_checked) theorem node390_good : GoodOn families 4 5 43 44 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box200_checked) theorem node391_good : GoodOn families 4 5 44 45 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box201_checked) theorem node392_good : GoodOn families 4 5 45 46 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box202_checked) theorem node393_good : GoodOn families 4 5 46 47 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box203_checked) theorem node394_good : GoodOn families 4 5 45 47 := @split_negative 42 199 families 4 5 45 46 47 node392_good node393_good theorem node395_good : GoodOn families 4 5 44 47 := @split_negative 42 199 families 4 5 44 45 47 node391_good node394_good theorem node396_good : GoodOn families 4 5 43 47 := @split_negative 42 199 families 4 5 43 44 47 node390_good node395_good theorem node397_good : GoodOn families 4 5 42 47 := @split_negative 42 199 families 4 5 42 43 47 node389_good node396_good theorem node398_good : GoodOn families 4 5 41 47 := @split_negative 42 199 families 4 5 41 42 47 node388_good node397_good theorem node399_good : GoodOn families 4 5 40 47 := @split_negative 42 199 families 4 5 40 41 47 node387_good node398_good theorem node400_good : GoodOn families 4 5 39 47 := @split_negative 42 199 families 4 5 39 40 47 node386_good node399_good theorem node401_good : GoodOn families 4 5 38 47 := @split_negative 42 199 families 4 5 38 39 47 node385_good node400_good theorem node402_good : GoodOn families 4 5 37 47 := @split_negative 42 199 families 4 5 37 38 47 node384_good node401_good theorem node403_good : GoodOn families 4 5 47 49 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨47, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box204_checked) theorem node404_good : GoodOn families 4 5 37 49 := @split_negative 42 199 families 4 5 37 47 49 node402_good node403_good theorem node405_good : GoodOn families 4 5 49 52 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨49, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box205_checked) theorem node406_good : GoodOn families 4 5 37 52 := @split_negative 42 199 families 4 5 37 49 52 node404_good node405_good theorem node407_good : GoodOn families 4 5 52 56 := @corner_cover 42 199 families ⟨4, by decide⟩ ⟨4, by decide⟩ ⟨52, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box206_checked) theorem node408_good : GoodOn families 4 5 37 56 := @split_negative 42 199 families 4 5 37 52 56 node406_good node407_good theorem node409_good : GoodOn families 3 5 37 56 := @split_positive 42 199 families 3 4 5 37 56 node383_good node408_good theorem node410_good : GoodOn families 3 5 56 199 := @corner_cover 42 199 families ⟨3, by decide⟩ ⟨4, by decide⟩ ⟨56, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box207_checked) theorem node411_good : GoodOn families 3 5 37 199 := @split_negative 42 199 families 3 5 37 56 199 node409_good node410_good theorem node412_good : GoodOn families 0 5 37 199 := @split_positive 42 199 families 0 3 5 37 199 node360_good node411_good theorem node413_good : GoodOn families 5 6 37 38 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box208_checked) theorem node414_good : GoodOn families 5 6 38 39 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box209_checked) theorem node415_good : GoodOn families 5 6 39 40 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box210_checked) theorem node416_good : GoodOn families 5 6 38 40 := @split_negative 42 199 families 5 6 38 39 40 node414_good node415_good theorem node417_good : GoodOn families 5 6 37 40 := @split_negative 42 199 families 5 6 37 38 40 node413_good node416_good theorem node418_good : GoodOn families 6 7 37 38 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box211_checked) theorem node419_good : GoodOn families 6 7 38 39 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box212_checked) theorem node420_good : GoodOn families 6 7 39 40 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box213_checked) theorem node421_good : GoodOn families 6 7 38 40 := @split_negative 42 199 families 6 7 38 39 40 node419_good node420_good theorem node422_good : GoodOn families 6 7 37 40 := @split_negative 42 199 families 6 7 37 38 40 node418_good node421_good theorem node423_good : GoodOn families 5 7 37 40 := @split_positive 42 199 families 5 6 7 37 40 node417_good node422_good theorem node424_good : GoodOn families 7 8 37 38 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box214_checked) theorem node425_good : GoodOn families 8 9 37 38 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box215_checked) theorem node426_good : GoodOn families 7 9 37 38 := @split_positive 42 199 families 7 8 9 37 38 node424_good node425_good theorem node427_good : GoodOn families 7 8 38 39 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box216_checked) theorem node428_good : GoodOn families 8 9 38 39 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box217_checked) theorem node429_good : GoodOn families 7 9 38 39 := @split_positive 42 199 families 7 8 9 38 39 node427_good node428_good theorem node430_good : GoodOn families 7 9 37 39 := @split_negative 42 199 families 7 9 37 38 39 node426_good node429_good theorem node431_good : GoodOn families 9 10 37 39 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨37, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box218_checked) theorem node432_good : GoodOn families 7 10 37 39 := @split_positive 42 199 families 7 9 10 37 39 node430_good node431_good theorem node433_good : GoodOn families 7 8 39 40 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box219_checked) theorem node434_good : GoodOn families 8 9 39 40 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box220_checked) theorem node435_good : GoodOn families 9 10 39 40 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box221_checked) theorem node436_good : GoodOn families 8 10 39 40 := @split_positive 42 199 families 8 9 10 39 40 node434_good node435_good theorem node437_good : GoodOn families 7 10 39 40 := @split_positive 42 199 families 7 8 10 39 40 node433_good node436_good theorem node438_good : GoodOn families 7 10 37 40 := @split_negative 42 199 families 7 10 37 39 40 node432_good node437_good theorem node439_good : GoodOn families 5 10 37 40 := @split_positive 42 199 families 5 7 10 37 40 node423_good node438_good theorem node440_good : GoodOn families 10 12 37 38 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨11, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box222_checked) theorem node441_good : GoodOn families 12 14 37 38 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨13, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box223_checked) theorem node442_good : GoodOn families 10 14 37 38 := @split_positive 42 199 families 10 12 14 37 38 node440_good node441_good theorem node443_good : GoodOn families 14 17 37 38 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨16, by decide⟩ ⟨37, by decide⟩ ⟨37, by decide⟩ (checkAreaCell_sound box224_checked) theorem node444_good : GoodOn families 10 17 37 38 := @split_positive 42 199 families 10 14 17 37 38 node442_good node443_good theorem node445_good : GoodOn families 10 11 38 40 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨38, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box225_checked) theorem node446_good : GoodOn families 11 13 38 39 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨12, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box226_checked) theorem node447_good : GoodOn families 13 15 38 39 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨14, by decide⟩ ⟨38, by decide⟩ ⟨38, by decide⟩ (checkAreaCell_sound box227_checked) theorem node448_good : GoodOn families 11 15 38 39 := @split_positive 42 199 families 11 13 15 38 39 node446_good node447_good theorem node449_good : GoodOn families 11 13 39 40 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨12, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box228_checked) theorem node450_good : GoodOn families 13 15 39 40 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨14, by decide⟩ ⟨39, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box229_checked) theorem node451_good : GoodOn families 11 15 39 40 := @split_positive 42 199 families 11 13 15 39 40 node449_good node450_good theorem node452_good : GoodOn families 11 15 38 40 := @split_negative 42 199 families 11 15 38 39 40 node448_good node451_good theorem node453_good : GoodOn families 10 15 38 40 := @split_positive 42 199 families 10 11 15 38 40 node445_good node452_good theorem node454_good : GoodOn families 15 17 38 40 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨16, by decide⟩ ⟨38, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box230_checked) theorem node455_good : GoodOn families 10 17 38 40 := @split_positive 42 199 families 10 15 17 38 40 node453_good node454_good theorem node456_good : GoodOn families 10 17 37 40 := @split_negative 42 199 families 10 17 37 38 40 node444_good node455_good theorem node457_good : GoodOn families 5 17 37 40 := @split_positive 42 199 families 5 10 17 37 40 node439_good node456_good theorem node458_good : GoodOn families 17 20 37 40 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨19, by decide⟩ ⟨37, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box231_checked) theorem node459_good : GoodOn families 5 20 37 40 := @split_positive 42 199 families 5 17 20 37 40 node457_good node458_good theorem node460_good : GoodOn families 20 27 37 40 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨26, by decide⟩ ⟨37, by decide⟩ ⟨39, by decide⟩ (checkAreaCell_sound box232_checked) theorem node461_good : GoodOn families 5 27 37 40 := @split_positive 42 199 families 5 20 27 37 40 node459_good node460_good theorem node462_good : GoodOn families 5 6 40 41 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box233_checked) theorem node463_good : GoodOn families 6 7 40 41 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box234_checked) theorem node464_good : GoodOn families 7 8 40 41 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box235_checked) theorem node465_good : GoodOn families 8 9 40 41 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box236_checked) theorem node466_good : GoodOn families 9 10 40 41 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box237_checked) theorem node467_good : GoodOn families 10 11 40 41 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box238_checked) theorem node468_good : GoodOn families 9 11 40 41 := @split_positive 42 199 families 9 10 11 40 41 node466_good node467_good theorem node469_good : GoodOn families 8 11 40 41 := @split_positive 42 199 families 8 9 11 40 41 node465_good node468_good theorem node470_good : GoodOn families 7 11 40 41 := @split_positive 42 199 families 7 8 11 40 41 node464_good node469_good theorem node471_good : GoodOn families 6 11 40 41 := @split_positive 42 199 families 6 7 11 40 41 node463_good node470_good theorem node472_good : GoodOn families 5 11 40 41 := @split_positive 42 199 families 5 6 11 40 41 node462_good node471_good theorem node473_good : GoodOn families 5 6 41 42 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box239_checked) theorem node474_good : GoodOn families 6 7 41 42 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box240_checked) theorem node475_good : GoodOn families 7 8 41 42 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box241_checked) theorem node476_good : GoodOn families 8 9 41 42 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box242_checked) theorem node477_good : GoodOn families 9 10 41 42 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box243_checked) theorem node478_good : GoodOn families 10 11 41 42 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box244_checked) theorem node479_good : GoodOn families 9 11 41 42 := @split_positive 42 199 families 9 10 11 41 42 node477_good node478_good theorem node480_good : GoodOn families 8 11 41 42 := @split_positive 42 199 families 8 9 11 41 42 node476_good node479_good theorem node481_good : GoodOn families 7 11 41 42 := @split_positive 42 199 families 7 8 11 41 42 node475_good node480_good theorem node482_good : GoodOn families 6 11 41 42 := @split_positive 42 199 families 6 7 11 41 42 node474_good node481_good theorem node483_good : GoodOn families 5 11 41 42 := @split_positive 42 199 families 5 6 11 41 42 node473_good node482_good theorem node484_good : GoodOn families 5 11 40 42 := @split_negative 42 199 families 5 11 40 41 42 node472_good node483_good theorem node485_good : GoodOn families 11 12 40 42 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨40, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box245_checked) theorem node486_good : GoodOn families 5 12 40 42 := @split_positive 42 199 families 5 11 12 40 42 node484_good node485_good theorem node487_good : GoodOn families 5 6 42 43 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box246_checked) theorem node488_good : GoodOn families 6 7 42 43 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box247_checked) theorem node489_good : GoodOn families 7 8 42 43 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box248_checked) theorem node490_good : GoodOn families 8 9 42 43 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box249_checked) theorem node491_good : GoodOn families 9 10 42 43 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box250_checked) theorem node492_good : GoodOn families 10 11 42 43 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box251_checked) theorem node493_good : GoodOn families 11 12 42 43 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box252_checked) theorem node494_good : GoodOn families 10 12 42 43 := @split_positive 42 199 families 10 11 12 42 43 node492_good node493_good theorem node495_good : GoodOn families 9 12 42 43 := @split_positive 42 199 families 9 10 12 42 43 node491_good node494_good theorem node496_good : GoodOn families 8 12 42 43 := @split_positive 42 199 families 8 9 12 42 43 node490_good node495_good theorem node497_good : GoodOn families 7 12 42 43 := @split_positive 42 199 families 7 8 12 42 43 node489_good node496_good theorem node498_good : GoodOn families 6 12 42 43 := @split_positive 42 199 families 6 7 12 42 43 node488_good node497_good theorem node499_good : GoodOn families 5 12 42 43 := @split_positive 42 199 families 5 6 12 42 43 node487_good node498_good theorem node500_good : GoodOn families 5 6 43 44 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box253_checked) theorem node501_good : GoodOn families 6 7 43 44 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box254_checked) theorem node502_good : GoodOn families 7 8 43 44 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box255_checked) theorem node503_good : GoodOn families 8 9 43 44 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box256_checked) theorem node504_good : GoodOn families 9 10 43 44 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box257_checked) theorem node505_good : GoodOn families 10 11 43 44 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box258_checked) theorem node506_good : GoodOn families 11 12 43 44 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box259_checked) theorem node507_good : GoodOn families 10 12 43 44 := @split_positive 42 199 families 10 11 12 43 44 node505_good node506_good theorem node508_good : GoodOn families 9 12 43 44 := @split_positive 42 199 families 9 10 12 43 44 node504_good node507_good theorem node509_good : GoodOn families 8 12 43 44 := @split_positive 42 199 families 8 9 12 43 44 node503_good node508_good theorem node510_good : GoodOn families 7 12 43 44 := @split_positive 42 199 families 7 8 12 43 44 node502_good node509_good theorem node511_good : GoodOn families 6 12 43 44 := @split_positive 42 199 families 6 7 12 43 44 node501_good node510_good theorem node512_good : GoodOn families 5 12 43 44 := @split_positive 42 199 families 5 6 12 43 44 node500_good node511_good theorem node513_good : GoodOn families 5 12 42 44 := @split_negative 42 199 families 5 12 42 43 44 node499_good node512_good theorem node514_good : GoodOn families 5 12 40 44 := @split_negative 42 199 families 5 12 40 42 44 node486_good node513_good theorem node515_good : GoodOn families 12 14 40 41 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨13, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box260_checked) theorem node516_good : GoodOn families 14 15 40 41 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box261_checked) theorem node517_good : GoodOn families 12 15 40 41 := @split_positive 42 199 families 12 14 15 40 41 node515_good node516_good theorem node518_good : GoodOn families 12 13 41 43 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨41, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box262_checked) theorem node519_good : GoodOn families 12 13 43 44 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box263_checked) theorem node520_good : GoodOn families 12 13 41 44 := @split_negative 42 199 families 12 13 41 43 44 node518_good node519_good theorem node521_good : GoodOn families 13 15 41 42 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨14, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box264_checked) theorem node522_good : GoodOn families 13 14 42 43 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box265_checked) theorem node523_good : GoodOn families 13 14 43 44 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box266_checked) theorem node524_good : GoodOn families 13 14 42 44 := @split_negative 42 199 families 13 14 42 43 44 node522_good node523_good theorem node525_good : GoodOn families 14 15 42 44 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨42, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box267_checked) theorem node526_good : GoodOn families 13 15 42 44 := @split_positive 42 199 families 13 14 15 42 44 node524_good node525_good theorem node527_good : GoodOn families 13 15 41 44 := @split_negative 42 199 families 13 15 41 42 44 node521_good node526_good theorem node528_good : GoodOn families 12 15 41 44 := @split_positive 42 199 families 12 13 15 41 44 node520_good node527_good theorem node529_good : GoodOn families 12 15 40 44 := @split_negative 42 199 families 12 15 40 41 44 node517_good node528_good theorem node530_good : GoodOn families 15 16 40 41 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box268_checked) theorem node531_good : GoodOn families 16 19 40 41 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨18, by decide⟩ ⟨40, by decide⟩ ⟨40, by decide⟩ (checkAreaCell_sound box269_checked) theorem node532_good : GoodOn families 15 19 40 41 := @split_positive 42 199 families 15 16 19 40 41 node530_good node531_good theorem node533_good : GoodOn families 15 17 41 42 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨16, by decide⟩ ⟨41, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box270_checked) theorem node534_good : GoodOn families 15 17 42 43 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨16, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box271_checked) theorem node535_good : GoodOn families 15 17 41 43 := @split_negative 42 199 families 15 17 41 42 43 node533_good node534_good theorem node536_good : GoodOn families 17 19 41 43 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨18, by decide⟩ ⟨41, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box272_checked) theorem node537_good : GoodOn families 15 19 41 43 := @split_positive 42 199 families 15 17 19 41 43 node535_good node536_good theorem node538_good : GoodOn families 15 19 40 43 := @split_negative 42 199 families 15 19 40 41 43 node532_good node537_good theorem node539_good : GoodOn families 19 22 40 42 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨21, by decide⟩ ⟨40, by decide⟩ ⟨41, by decide⟩ (checkAreaCell_sound box273_checked) theorem node540_good : GoodOn families 19 22 42 43 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨21, by decide⟩ ⟨42, by decide⟩ ⟨42, by decide⟩ (checkAreaCell_sound box274_checked) theorem node541_good : GoodOn families 19 22 40 43 := @split_negative 42 199 families 19 22 40 42 43 node539_good node540_good theorem node542_good : GoodOn families 15 22 40 43 := @split_positive 42 199 families 15 19 22 40 43 node538_good node541_good theorem node543_good : GoodOn families 15 16 43 44 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box275_checked) theorem node544_good : GoodOn families 16 18 43 44 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨17, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box276_checked) theorem node545_good : GoodOn families 15 18 43 44 := @split_positive 42 199 families 15 16 18 43 44 node543_good node544_good theorem node546_good : GoodOn families 18 20 43 44 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨19, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box277_checked) theorem node547_good : GoodOn families 15 20 43 44 := @split_positive 42 199 families 15 18 20 43 44 node545_good node546_good theorem node548_good : GoodOn families 20 22 43 44 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨21, by decide⟩ ⟨43, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box278_checked) theorem node549_good : GoodOn families 15 22 43 44 := @split_positive 42 199 families 15 20 22 43 44 node547_good node548_good theorem node550_good : GoodOn families 15 22 40 44 := @split_negative 42 199 families 15 22 40 43 44 node542_good node549_good theorem node551_good : GoodOn families 12 22 40 44 := @split_positive 42 199 families 12 15 22 40 44 node529_good node550_good theorem node552_good : GoodOn families 5 22 40 44 := @split_positive 42 199 families 5 12 22 40 44 node514_good node551_good theorem node553_good : GoodOn families 22 23 40 44 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨40, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box279_checked) theorem node554_good : GoodOn families 5 23 40 44 := @split_positive 42 199 families 5 22 23 40 44 node552_good node553_good theorem node555_good : GoodOn families 23 27 40 44 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨26, by decide⟩ ⟨40, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box280_checked) theorem node556_good : GoodOn families 5 27 40 44 := @split_positive 42 199 families 5 23 27 40 44 node554_good node555_good theorem node557_good : GoodOn families 5 27 37 44 := @split_negative 42 199 families 5 27 37 40 44 node461_good node556_good theorem node558_good : GoodOn families 27 30 37 44 := @corner_cover 42 199 families ⟨27, by decide⟩ ⟨29, by decide⟩ ⟨37, by decide⟩ ⟨43, by decide⟩ (checkAreaCell_sound box281_checked) theorem node559_good : GoodOn families 5 30 37 44 := @split_positive 42 199 families 5 27 30 37 44 node557_good node558_good theorem node560_good : GoodOn families 5 6 44 45 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box282_checked) theorem node561_good : GoodOn families 6 7 44 45 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box283_checked) theorem node562_good : GoodOn families 7 8 44 45 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box284_checked) theorem node563_good : GoodOn families 8 9 44 45 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box285_checked) theorem node564_good : GoodOn families 9 10 44 45 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box286_checked) theorem node565_good : GoodOn families 10 11 44 45 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box287_checked) theorem node566_good : GoodOn families 11 12 44 45 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box288_checked) theorem node567_good : GoodOn families 12 13 44 45 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box289_checked) theorem node568_good : GoodOn families 13 14 44 45 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box290_checked) theorem node569_good : GoodOn families 14 15 44 45 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box291_checked) theorem node570_good : GoodOn families 15 16 44 45 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box292_checked) theorem node571_good : GoodOn families 16 17 44 45 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box293_checked) theorem node572_good : GoodOn families 17 18 44 45 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box294_checked) theorem node573_good : GoodOn families 16 18 44 45 := @split_positive 42 199 families 16 17 18 44 45 node571_good node572_good theorem node574_good : GoodOn families 15 18 44 45 := @split_positive 42 199 families 15 16 18 44 45 node570_good node573_good theorem node575_good : GoodOn families 14 18 44 45 := @split_positive 42 199 families 14 15 18 44 45 node569_good node574_good theorem node576_good : GoodOn families 13 18 44 45 := @split_positive 42 199 families 13 14 18 44 45 node568_good node575_good theorem node577_good : GoodOn families 12 18 44 45 := @split_positive 42 199 families 12 13 18 44 45 node567_good node576_good theorem node578_good : GoodOn families 11 18 44 45 := @split_positive 42 199 families 11 12 18 44 45 node566_good node577_good theorem node579_good : GoodOn families 10 18 44 45 := @split_positive 42 199 families 10 11 18 44 45 node565_good node578_good theorem node580_good : GoodOn families 9 18 44 45 := @split_positive 42 199 families 9 10 18 44 45 node564_good node579_good theorem node581_good : GoodOn families 8 18 44 45 := @split_positive 42 199 families 8 9 18 44 45 node563_good node580_good theorem node582_good : GoodOn families 7 18 44 45 := @split_positive 42 199 families 7 8 18 44 45 node562_good node581_good theorem node583_good : GoodOn families 6 18 44 45 := @split_positive 42 199 families 6 7 18 44 45 node561_good node582_good theorem node584_good : GoodOn families 5 18 44 45 := @split_positive 42 199 families 5 6 18 44 45 node560_good node583_good theorem node585_good : GoodOn families 18 20 44 45 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨19, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box295_checked) theorem node586_good : GoodOn families 5 20 44 45 := @split_positive 42 199 families 5 18 20 44 45 node584_good node585_good theorem node587_good : GoodOn families 20 22 44 45 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨21, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box296_checked) theorem node588_good : GoodOn families 5 22 44 45 := @split_positive 42 199 families 5 20 22 44 45 node586_good node587_good theorem node589_good : GoodOn families 22 25 44 45 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨24, by decide⟩ ⟨44, by decide⟩ ⟨44, by decide⟩ (checkAreaCell_sound box297_checked) theorem node590_good : GoodOn families 5 25 44 45 := @split_positive 42 199 families 5 22 25 44 45 node588_good node589_good theorem node591_good : GoodOn families 5 6 45 46 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box298_checked) theorem node592_good : GoodOn families 6 7 45 46 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box299_checked) theorem node593_good : GoodOn families 7 8 45 46 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box300_checked) theorem node594_good : GoodOn families 8 9 45 46 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box301_checked) theorem node595_good : GoodOn families 9 10 45 46 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box302_checked) theorem node596_good : GoodOn families 10 11 45 46 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box303_checked) theorem node597_good : GoodOn families 11 12 45 46 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box304_checked) theorem node598_good : GoodOn families 12 13 45 46 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box305_checked) theorem node599_good : GoodOn families 13 14 45 46 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box306_checked) theorem node600_good : GoodOn families 14 15 45 46 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box307_checked) theorem node601_good : GoodOn families 15 16 45 46 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box308_checked) theorem node602_good : GoodOn families 16 17 45 46 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box309_checked) theorem node603_good : GoodOn families 17 18 45 46 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box310_checked) theorem node604_good : GoodOn families 18 19 45 46 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box311_checked) theorem node605_good : GoodOn families 19 20 45 46 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box312_checked) theorem node606_good : GoodOn families 18 20 45 46 := @split_positive 42 199 families 18 19 20 45 46 node604_good node605_good theorem node607_good : GoodOn families 17 20 45 46 := @split_positive 42 199 families 17 18 20 45 46 node603_good node606_good theorem node608_good : GoodOn families 16 20 45 46 := @split_positive 42 199 families 16 17 20 45 46 node602_good node607_good theorem node609_good : GoodOn families 15 20 45 46 := @split_positive 42 199 families 15 16 20 45 46 node601_good node608_good theorem node610_good : GoodOn families 14 20 45 46 := @split_positive 42 199 families 14 15 20 45 46 node600_good node609_good theorem node611_good : GoodOn families 13 20 45 46 := @split_positive 42 199 families 13 14 20 45 46 node599_good node610_good theorem node612_good : GoodOn families 12 20 45 46 := @split_positive 42 199 families 12 13 20 45 46 node598_good node611_good theorem node613_good : GoodOn families 11 20 45 46 := @split_positive 42 199 families 11 12 20 45 46 node597_good node612_good theorem node614_good : GoodOn families 10 20 45 46 := @split_positive 42 199 families 10 11 20 45 46 node596_good node613_good theorem node615_good : GoodOn families 9 20 45 46 := @split_positive 42 199 families 9 10 20 45 46 node595_good node614_good theorem node616_good : GoodOn families 8 20 45 46 := @split_positive 42 199 families 8 9 20 45 46 node594_good node615_good theorem node617_good : GoodOn families 7 20 45 46 := @split_positive 42 199 families 7 8 20 45 46 node593_good node616_good theorem node618_good : GoodOn families 6 20 45 46 := @split_positive 42 199 families 6 7 20 45 46 node592_good node617_good theorem node619_good : GoodOn families 5 20 45 46 := @split_positive 42 199 families 5 6 20 45 46 node591_good node618_good theorem node620_good : GoodOn families 20 22 45 46 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨21, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box313_checked) theorem node621_good : GoodOn families 5 22 45 46 := @split_positive 42 199 families 5 20 22 45 46 node619_good node620_good theorem node622_good : GoodOn families 22 25 45 46 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨24, by decide⟩ ⟨45, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box314_checked) theorem node623_good : GoodOn families 5 25 45 46 := @split_positive 42 199 families 5 22 25 45 46 node621_good node622_good theorem node624_good : GoodOn families 5 25 44 46 := @split_negative 42 199 families 5 25 44 45 46 node590_good node623_good theorem node625_good : GoodOn families 25 30 44 46 := @corner_cover 42 199 families ⟨25, by decide⟩ ⟨29, by decide⟩ ⟨44, by decide⟩ ⟨45, by decide⟩ (checkAreaCell_sound box315_checked) theorem node626_good : GoodOn families 5 30 44 46 := @split_positive 42 199 families 5 25 30 44 46 node624_good node625_good theorem node627_good : GoodOn families 5 6 46 47 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box316_checked) theorem node628_good : GoodOn families 6 7 46 47 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box317_checked) theorem node629_good : GoodOn families 7 8 46 47 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box318_checked) theorem node630_good : GoodOn families 8 9 46 47 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box319_checked) theorem node631_good : GoodOn families 9 10 46 47 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box320_checked) theorem node632_good : GoodOn families 10 11 46 47 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box321_checked) theorem node633_good : GoodOn families 11 12 46 47 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box322_checked) theorem node634_good : GoodOn families 12 13 46 47 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box323_checked) theorem node635_good : GoodOn families 13 14 46 47 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box324_checked) theorem node636_good : GoodOn families 14 15 46 47 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box325_checked) theorem node637_good : GoodOn families 15 16 46 47 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box326_checked) theorem node638_good : GoodOn families 16 17 46 47 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box327_checked) theorem node639_good : GoodOn families 17 18 46 47 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box328_checked) theorem node640_good : GoodOn families 18 19 46 47 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box329_checked) theorem node641_good : GoodOn families 19 20 46 47 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box330_checked) theorem node642_good : GoodOn families 20 21 46 47 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box331_checked) theorem node643_good : GoodOn families 21 22 46 47 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box332_checked) theorem node644_good : GoodOn families 20 22 46 47 := @split_positive 42 199 families 20 21 22 46 47 node642_good node643_good theorem node645_good : GoodOn families 19 22 46 47 := @split_positive 42 199 families 19 20 22 46 47 node641_good node644_good theorem node646_good : GoodOn families 18 22 46 47 := @split_positive 42 199 families 18 19 22 46 47 node640_good node645_good theorem node647_good : GoodOn families 17 22 46 47 := @split_positive 42 199 families 17 18 22 46 47 node639_good node646_good theorem node648_good : GoodOn families 16 22 46 47 := @split_positive 42 199 families 16 17 22 46 47 node638_good node647_good theorem node649_good : GoodOn families 15 22 46 47 := @split_positive 42 199 families 15 16 22 46 47 node637_good node648_good theorem node650_good : GoodOn families 14 22 46 47 := @split_positive 42 199 families 14 15 22 46 47 node636_good node649_good theorem node651_good : GoodOn families 13 22 46 47 := @split_positive 42 199 families 13 14 22 46 47 node635_good node650_good theorem node652_good : GoodOn families 12 22 46 47 := @split_positive 42 199 families 12 13 22 46 47 node634_good node651_good theorem node653_good : GoodOn families 11 22 46 47 := @split_positive 42 199 families 11 12 22 46 47 node633_good node652_good theorem node654_good : GoodOn families 10 22 46 47 := @split_positive 42 199 families 10 11 22 46 47 node632_good node653_good theorem node655_good : GoodOn families 9 22 46 47 := @split_positive 42 199 families 9 10 22 46 47 node631_good node654_good theorem node656_good : GoodOn families 8 22 46 47 := @split_positive 42 199 families 8 9 22 46 47 node630_good node655_good theorem node657_good : GoodOn families 7 22 46 47 := @split_positive 42 199 families 7 8 22 46 47 node629_good node656_good theorem node658_good : GoodOn families 6 22 46 47 := @split_positive 42 199 families 6 7 22 46 47 node628_good node657_good theorem node659_good : GoodOn families 5 22 46 47 := @split_positive 42 199 families 5 6 22 46 47 node627_good node658_good theorem node660_good : GoodOn families 22 24 46 47 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨23, by decide⟩ ⟨46, by decide⟩ ⟨46, by decide⟩ (checkAreaCell_sound box333_checked) theorem node661_good : GoodOn families 5 24 46 47 := @split_positive 42 199 families 5 22 24 46 47 node659_good node660_good theorem node662_good : GoodOn families 5 6 47 48 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box334_checked) theorem node663_good : GoodOn families 6 7 47 48 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box335_checked) theorem node664_good : GoodOn families 7 8 47 48 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box336_checked) theorem node665_good : GoodOn families 8 9 47 48 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box337_checked) theorem node666_good : GoodOn families 9 10 47 48 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box338_checked) theorem node667_good : GoodOn families 10 11 47 48 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box339_checked) theorem node668_good : GoodOn families 11 12 47 48 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box340_checked) theorem node669_good : GoodOn families 12 13 47 48 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box341_checked) theorem node670_good : GoodOn families 13 14 47 48 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box342_checked) theorem node671_good : GoodOn families 14 15 47 48 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box343_checked) theorem node672_good : GoodOn families 15 16 47 48 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box344_checked) theorem node673_good : GoodOn families 16 17 47 48 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box345_checked) theorem node674_good : GoodOn families 17 18 47 48 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box346_checked) theorem node675_good : GoodOn families 18 19 47 48 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box347_checked) theorem node676_good : GoodOn families 19 20 47 48 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box348_checked) theorem node677_good : GoodOn families 20 21 47 48 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box349_checked) theorem node678_good : GoodOn families 21 22 47 48 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box350_checked) theorem node679_good : GoodOn families 20 22 47 48 := @split_positive 42 199 families 20 21 22 47 48 node677_good node678_good theorem node680_good : GoodOn families 19 22 47 48 := @split_positive 42 199 families 19 20 22 47 48 node676_good node679_good theorem node681_good : GoodOn families 18 22 47 48 := @split_positive 42 199 families 18 19 22 47 48 node675_good node680_good theorem node682_good : GoodOn families 17 22 47 48 := @split_positive 42 199 families 17 18 22 47 48 node674_good node681_good theorem node683_good : GoodOn families 16 22 47 48 := @split_positive 42 199 families 16 17 22 47 48 node673_good node682_good theorem node684_good : GoodOn families 15 22 47 48 := @split_positive 42 199 families 15 16 22 47 48 node672_good node683_good theorem node685_good : GoodOn families 14 22 47 48 := @split_positive 42 199 families 14 15 22 47 48 node671_good node684_good theorem node686_good : GoodOn families 13 22 47 48 := @split_positive 42 199 families 13 14 22 47 48 node670_good node685_good theorem node687_good : GoodOn families 12 22 47 48 := @split_positive 42 199 families 12 13 22 47 48 node669_good node686_good theorem node688_good : GoodOn families 11 22 47 48 := @split_positive 42 199 families 11 12 22 47 48 node668_good node687_good theorem node689_good : GoodOn families 10 22 47 48 := @split_positive 42 199 families 10 11 22 47 48 node667_good node688_good theorem node690_good : GoodOn families 9 22 47 48 := @split_positive 42 199 families 9 10 22 47 48 node666_good node689_good theorem node691_good : GoodOn families 8 22 47 48 := @split_positive 42 199 families 8 9 22 47 48 node665_good node690_good theorem node692_good : GoodOn families 7 22 47 48 := @split_positive 42 199 families 7 8 22 47 48 node664_good node691_good theorem node693_good : GoodOn families 6 22 47 48 := @split_positive 42 199 families 6 7 22 47 48 node663_good node692_good theorem node694_good : GoodOn families 5 22 47 48 := @split_positive 42 199 families 5 6 22 47 48 node662_good node693_good theorem node695_good : GoodOn families 22 24 47 48 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨23, by decide⟩ ⟨47, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box351_checked) theorem node696_good : GoodOn families 5 24 47 48 := @split_positive 42 199 families 5 22 24 47 48 node694_good node695_good theorem node697_good : GoodOn families 5 24 46 48 := @split_negative 42 199 families 5 24 46 47 48 node661_good node696_good theorem node698_good : GoodOn families 24 26 46 48 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨25, by decide⟩ ⟨46, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box352_checked) theorem node699_good : GoodOn families 5 26 46 48 := @split_positive 42 199 families 5 24 26 46 48 node697_good node698_good theorem node700_good : GoodOn families 26 30 46 48 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨29, by decide⟩ ⟨46, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box353_checked) theorem node701_good : GoodOn families 5 30 46 48 := @split_positive 42 199 families 5 26 30 46 48 node699_good node700_good theorem node702_good : GoodOn families 5 30 44 48 := @split_negative 42 199 families 5 30 44 46 48 node626_good node701_good theorem node703_good : GoodOn families 5 30 37 48 := @split_negative 42 199 families 5 30 37 44 48 node559_good node702_good theorem node704_good : GoodOn families 30 42 37 48 := @corner_cover 42 199 families ⟨30, by decide⟩ ⟨41, by decide⟩ ⟨37, by decide⟩ ⟨47, by decide⟩ (checkAreaCell_sound box354_checked) theorem node705_good : GoodOn families 5 42 37 48 := @split_positive 42 199 families 5 30 42 37 48 node703_good node704_good theorem node706_good : GoodOn families 5 6 48 50 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨48, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box355_checked) theorem node707_good : GoodOn families 5 6 50 53 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨50, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box356_checked) theorem node708_good : GoodOn families 5 6 48 53 := @split_negative 42 199 families 5 6 48 50 53 node706_good node707_good theorem node709_good : GoodOn families 5 6 53 59 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨5, by decide⟩ ⟨53, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box357_checked) theorem node710_good : GoodOn families 5 6 48 59 := @split_negative 42 199 families 5 6 48 53 59 node708_good node709_good theorem node711_good : GoodOn families 6 7 48 50 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨48, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box358_checked) theorem node712_good : GoodOn families 6 7 50 53 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨50, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box359_checked) theorem node713_good : GoodOn families 6 7 48 53 := @split_negative 42 199 families 6 7 48 50 53 node711_good node712_good theorem node714_good : GoodOn families 6 7 53 58 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨6, by decide⟩ ⟨53, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box360_checked) theorem node715_good : GoodOn families 6 7 48 58 := @split_negative 42 199 families 6 7 48 53 58 node713_good node714_good theorem node716_good : GoodOn families 7 8 48 50 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨48, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box361_checked) theorem node717_good : GoodOn families 7 8 50 53 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨50, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box362_checked) theorem node718_good : GoodOn families 7 8 48 53 := @split_negative 42 199 families 7 8 48 50 53 node716_good node717_good theorem node719_good : GoodOn families 7 8 53 58 := @corner_cover 42 199 families ⟨7, by decide⟩ ⟨7, by decide⟩ ⟨53, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box363_checked) theorem node720_good : GoodOn families 7 8 48 58 := @split_negative 42 199 families 7 8 48 53 58 node718_good node719_good theorem node721_good : GoodOn families 8 9 48 49 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box364_checked) theorem node722_good : GoodOn families 8 9 49 51 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨49, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box365_checked) theorem node723_good : GoodOn families 8 9 48 51 := @split_negative 42 199 families 8 9 48 49 51 node721_good node722_good theorem node724_good : GoodOn families 8 9 51 54 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨51, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box366_checked) theorem node725_good : GoodOn families 8 9 48 54 := @split_negative 42 199 families 8 9 48 51 54 node723_good node724_good theorem node726_good : GoodOn families 8 9 54 58 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨8, by decide⟩ ⟨54, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box367_checked) theorem node727_good : GoodOn families 8 9 48 58 := @split_negative 42 199 families 8 9 48 54 58 node725_good node726_good theorem node728_good : GoodOn families 7 9 48 58 := @split_positive 42 199 families 7 8 9 48 58 node720_good node727_good theorem node729_good : GoodOn families 6 9 48 58 := @split_positive 42 199 families 6 7 9 48 58 node715_good node728_good theorem node730_good : GoodOn families 6 9 58 59 := @corner_cover 42 199 families ⟨6, by decide⟩ ⟨8, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box368_checked) theorem node731_good : GoodOn families 6 9 48 59 := @split_negative 42 199 families 6 9 48 58 59 node729_good node730_good theorem node732_good : GoodOn families 9 10 48 49 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box369_checked) theorem node733_good : GoodOn families 9 10 49 51 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨49, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box370_checked) theorem node734_good : GoodOn families 9 10 48 51 := @split_negative 42 199 families 9 10 48 49 51 node732_good node733_good theorem node735_good : GoodOn families 9 10 51 54 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨51, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box371_checked) theorem node736_good : GoodOn families 9 10 48 54 := @split_negative 42 199 families 9 10 48 51 54 node734_good node735_good theorem node737_good : GoodOn families 9 10 54 59 := @corner_cover 42 199 families ⟨9, by decide⟩ ⟨9, by decide⟩ ⟨54, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box372_checked) theorem node738_good : GoodOn families 9 10 48 59 := @split_negative 42 199 families 9 10 48 54 59 node736_good node737_good theorem node739_good : GoodOn families 6 10 48 59 := @split_positive 42 199 families 6 9 10 48 59 node731_good node738_good theorem node740_good : GoodOn families 5 10 48 59 := @split_positive 42 199 families 5 6 10 48 59 node710_good node739_good theorem node741_good : GoodOn families 5 8 59 199 := @corner_cover 42 199 families ⟨5, by decide⟩ ⟨7, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box373_checked) theorem node742_good : GoodOn families 8 10 59 199 := @corner_cover 42 199 families ⟨8, by decide⟩ ⟨9, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box374_checked) theorem node743_good : GoodOn families 5 10 59 199 := @split_positive 42 199 families 5 8 10 59 199 node741_good node742_good theorem node744_good : GoodOn families 5 10 48 199 := @split_negative 42 199 families 5 10 48 59 199 node740_good node743_good theorem node745_good : GoodOn families 10 11 48 49 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box375_checked) theorem node746_good : GoodOn families 10 11 49 51 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨49, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box376_checked) theorem node747_good : GoodOn families 10 11 48 51 := @split_negative 42 199 families 10 11 48 49 51 node745_good node746_good theorem node748_good : GoodOn families 10 11 51 53 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨51, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box377_checked) theorem node749_good : GoodOn families 10 11 48 53 := @split_negative 42 199 families 10 11 48 51 53 node747_good node748_good theorem node750_good : GoodOn families 10 11 53 56 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨53, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box378_checked) theorem node751_good : GoodOn families 10 11 48 56 := @split_negative 42 199 families 10 11 48 53 56 node749_good node750_good theorem node752_good : GoodOn families 11 12 48 49 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box379_checked) theorem node753_good : GoodOn families 12 13 48 49 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box380_checked) theorem node754_good : GoodOn families 13 14 48 49 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box381_checked) theorem node755_good : GoodOn families 14 15 48 49 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box382_checked) theorem node756_good : GoodOn families 13 15 48 49 := @split_positive 42 199 families 13 14 15 48 49 node754_good node755_good theorem node757_good : GoodOn families 12 15 48 49 := @split_positive 42 199 families 12 13 15 48 49 node753_good node756_good theorem node758_good : GoodOn families 11 15 48 49 := @split_positive 42 199 families 11 12 15 48 49 node752_good node757_good theorem node759_good : GoodOn families 11 12 49 50 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box383_checked) theorem node760_good : GoodOn families 12 13 49 50 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box384_checked) theorem node761_good : GoodOn families 13 14 49 50 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box385_checked) theorem node762_good : GoodOn families 14 15 49 50 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box386_checked) theorem node763_good : GoodOn families 13 15 49 50 := @split_positive 42 199 families 13 14 15 49 50 node761_good node762_good theorem node764_good : GoodOn families 12 15 49 50 := @split_positive 42 199 families 12 13 15 49 50 node760_good node763_good theorem node765_good : GoodOn families 11 15 49 50 := @split_positive 42 199 families 11 12 15 49 50 node759_good node764_good theorem node766_good : GoodOn families 11 15 48 50 := @split_negative 42 199 families 11 15 48 49 50 node758_good node765_good theorem node767_good : GoodOn families 11 12 50 52 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨50, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box387_checked) theorem node768_good : GoodOn families 11 12 52 55 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨52, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box388_checked) theorem node769_good : GoodOn families 11 12 50 55 := @split_negative 42 199 families 11 12 50 52 55 node767_good node768_good theorem node770_good : GoodOn families 12 13 50 52 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨50, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box389_checked) theorem node771_good : GoodOn families 13 14 50 52 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨50, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box390_checked) theorem node772_good : GoodOn families 12 14 50 52 := @split_positive 42 199 families 12 13 14 50 52 node770_good node771_good theorem node773_good : GoodOn families 12 13 52 54 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨12, by decide⟩ ⟨52, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box391_checked) theorem node774_good : GoodOn families 13 14 52 54 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨13, by decide⟩ ⟨52, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box392_checked) theorem node775_good : GoodOn families 12 14 52 54 := @split_positive 42 199 families 12 13 14 52 54 node773_good node774_good theorem node776_good : GoodOn families 12 14 50 54 := @split_negative 42 199 families 12 14 50 52 54 node772_good node775_good theorem node777_good : GoodOn families 12 14 54 55 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨13, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box393_checked) theorem node778_good : GoodOn families 12 14 50 55 := @split_negative 42 199 families 12 14 50 54 55 node776_good node777_good theorem node779_good : GoodOn families 14 15 50 51 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box394_checked) theorem node780_good : GoodOn families 14 15 51 53 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨51, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box395_checked) theorem node781_good : GoodOn families 14 15 50 53 := @split_negative 42 199 families 14 15 50 51 53 node779_good node780_good theorem node782_good : GoodOn families 14 15 53 55 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨53, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box396_checked) theorem node783_good : GoodOn families 14 15 50 55 := @split_negative 42 199 families 14 15 50 53 55 node781_good node782_good theorem node784_good : GoodOn families 12 15 50 55 := @split_positive 42 199 families 12 14 15 50 55 node778_good node783_good theorem node785_good : GoodOn families 11 15 50 55 := @split_positive 42 199 families 11 12 15 50 55 node769_good node784_good theorem node786_good : GoodOn families 11 13 55 56 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨12, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box397_checked) theorem node787_good : GoodOn families 13 15 55 56 := @corner_cover 42 199 families ⟨13, by decide⟩ ⟨14, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box398_checked) theorem node788_good : GoodOn families 11 15 55 56 := @split_positive 42 199 families 11 13 15 55 56 node786_good node787_good theorem node789_good : GoodOn families 11 15 50 56 := @split_negative 42 199 families 11 15 50 55 56 node785_good node788_good theorem node790_good : GoodOn families 11 15 48 56 := @split_negative 42 199 families 11 15 48 50 56 node766_good node789_good theorem node791_good : GoodOn families 10 15 48 56 := @split_positive 42 199 families 10 11 15 48 56 node751_good node790_good theorem node792_good : GoodOn families 10 11 56 199 := @corner_cover 42 199 families ⟨10, by decide⟩ ⟨10, by decide⟩ ⟨56, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box399_checked) theorem node793_good : GoodOn families 11 12 56 59 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨11, by decide⟩ ⟨56, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box400_checked) theorem node794_good : GoodOn families 12 14 56 58 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨13, by decide⟩ ⟨56, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box401_checked) theorem node795_good : GoodOn families 12 14 58 59 := @corner_cover 42 199 families ⟨12, by decide⟩ ⟨13, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box402_checked) theorem node796_good : GoodOn families 12 14 56 59 := @split_negative 42 199 families 12 14 56 58 59 node794_good node795_good theorem node797_good : GoodOn families 11 14 56 59 := @split_positive 42 199 families 11 12 14 56 59 node793_good node796_good theorem node798_good : GoodOn families 11 14 59 199 := @corner_cover 42 199 families ⟨11, by decide⟩ ⟨13, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box403_checked) theorem node799_good : GoodOn families 11 14 56 199 := @split_negative 42 199 families 11 14 56 59 199 node797_good node798_good theorem node800_good : GoodOn families 10 14 56 199 := @split_positive 42 199 families 10 11 14 56 199 node792_good node799_good theorem node801_good : GoodOn families 14 15 56 199 := @corner_cover 42 199 families ⟨14, by decide⟩ ⟨14, by decide⟩ ⟨56, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box404_checked) theorem node802_good : GoodOn families 10 15 56 199 := @split_positive 42 199 families 10 14 15 56 199 node800_good node801_good theorem node803_good : GoodOn families 10 15 48 199 := @split_negative 42 199 families 10 15 48 56 199 node791_good node802_good theorem node804_good : GoodOn families 5 15 48 199 := @split_positive 42 199 families 5 10 15 48 199 node744_good node803_good theorem node805_good : GoodOn families 15 16 48 49 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box405_checked) theorem node806_good : GoodOn families 15 16 49 50 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box406_checked) theorem node807_good : GoodOn families 15 16 50 51 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box407_checked) theorem node808_good : GoodOn families 15 16 51 52 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box408_checked) theorem node809_good : GoodOn families 15 16 50 52 := @split_negative 42 199 families 15 16 50 51 52 node807_good node808_good theorem node810_good : GoodOn families 15 16 49 52 := @split_negative 42 199 families 15 16 49 50 52 node806_good node809_good theorem node811_good : GoodOn families 15 16 48 52 := @split_negative 42 199 families 15 16 48 49 52 node805_good node810_good theorem node812_good : GoodOn families 15 16 52 54 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨52, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box409_checked) theorem node813_good : GoodOn families 15 16 48 54 := @split_negative 42 199 families 15 16 48 52 54 node811_good node812_good theorem node814_good : GoodOn families 15 16 54 56 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨54, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box410_checked) theorem node815_good : GoodOn families 15 16 48 56 := @split_negative 42 199 families 15 16 48 54 56 node813_good node814_good theorem node816_good : GoodOn families 15 16 56 199 := @corner_cover 42 199 families ⟨15, by decide⟩ ⟨15, by decide⟩ ⟨56, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box411_checked) theorem node817_good : GoodOn families 15 16 48 199 := @split_negative 42 199 families 15 16 48 56 199 node815_good node816_good theorem node818_good : GoodOn families 16 17 48 49 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box412_checked) theorem node819_good : GoodOn families 16 17 49 50 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box413_checked) theorem node820_good : GoodOn families 16 17 50 51 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box414_checked) theorem node821_good : GoodOn families 16 17 51 52 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box415_checked) theorem node822_good : GoodOn families 16 17 52 53 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨52, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box416_checked) theorem node823_good : GoodOn families 16 17 53 54 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box417_checked) theorem node824_good : GoodOn families 16 17 52 54 := @split_negative 42 199 families 16 17 52 53 54 node822_good node823_good theorem node825_good : GoodOn families 16 17 51 54 := @split_negative 42 199 families 16 17 51 52 54 node821_good node824_good theorem node826_good : GoodOn families 16 17 50 54 := @split_negative 42 199 families 16 17 50 51 54 node820_good node825_good theorem node827_good : GoodOn families 16 17 49 54 := @split_negative 42 199 families 16 17 49 50 54 node819_good node826_good theorem node828_good : GoodOn families 16 17 48 54 := @split_negative 42 199 families 16 17 48 49 54 node818_good node827_good theorem node829_good : GoodOn families 16 17 54 56 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨54, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box418_checked) theorem node830_good : GoodOn families 16 17 48 56 := @split_negative 42 199 families 16 17 48 54 56 node828_good node829_good theorem node831_good : GoodOn families 16 17 56 59 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨16, by decide⟩ ⟨56, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box419_checked) theorem node832_good : GoodOn families 16 17 48 59 := @split_negative 42 199 families 16 17 48 56 59 node830_good node831_good theorem node833_good : GoodOn families 17 18 48 49 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box420_checked) theorem node834_good : GoodOn families 17 18 49 50 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box421_checked) theorem node835_good : GoodOn families 17 18 50 51 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box422_checked) theorem node836_good : GoodOn families 17 18 51 52 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box423_checked) theorem node837_good : GoodOn families 17 18 52 53 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨52, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box424_checked) theorem node838_good : GoodOn families 17 18 53 54 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box425_checked) theorem node839_good : GoodOn families 17 18 54 55 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box426_checked) theorem node840_good : GoodOn families 17 18 53 55 := @split_negative 42 199 families 17 18 53 54 55 node838_good node839_good theorem node841_good : GoodOn families 17 18 52 55 := @split_negative 42 199 families 17 18 52 53 55 node837_good node840_good theorem node842_good : GoodOn families 17 18 51 55 := @split_negative 42 199 families 17 18 51 52 55 node836_good node841_good theorem node843_good : GoodOn families 17 18 50 55 := @split_negative 42 199 families 17 18 50 51 55 node835_good node842_good theorem node844_good : GoodOn families 17 18 49 55 := @split_negative 42 199 families 17 18 49 50 55 node834_good node843_good theorem node845_good : GoodOn families 17 18 48 55 := @split_negative 42 199 families 17 18 48 49 55 node833_good node844_good theorem node846_good : GoodOn families 17 18 55 57 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨55, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box427_checked) theorem node847_good : GoodOn families 17 18 48 57 := @split_negative 42 199 families 17 18 48 55 57 node845_good node846_good theorem node848_good : GoodOn families 17 18 57 59 := @corner_cover 42 199 families ⟨17, by decide⟩ ⟨17, by decide⟩ ⟨57, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box428_checked) theorem node849_good : GoodOn families 17 18 48 59 := @split_negative 42 199 families 17 18 48 57 59 node847_good node848_good theorem node850_good : GoodOn families 16 18 48 59 := @split_positive 42 199 families 16 17 18 48 59 node832_good node849_good theorem node851_good : GoodOn families 16 18 59 199 := @corner_cover 42 199 families ⟨16, by decide⟩ ⟨17, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box429_checked) theorem node852_good : GoodOn families 16 18 48 199 := @split_negative 42 199 families 16 18 48 59 199 node850_good node851_good theorem node853_good : GoodOn families 18 19 48 49 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box430_checked) theorem node854_good : GoodOn families 18 19 49 50 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box431_checked) theorem node855_good : GoodOn families 18 19 50 51 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box432_checked) theorem node856_good : GoodOn families 18 19 51 52 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box433_checked) theorem node857_good : GoodOn families 18 19 52 53 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨52, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box434_checked) theorem node858_good : GoodOn families 18 19 53 54 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box435_checked) theorem node859_good : GoodOn families 18 19 54 55 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box436_checked) theorem node860_good : GoodOn families 18 19 55 56 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box437_checked) theorem node861_good : GoodOn families 18 19 54 56 := @split_negative 42 199 families 18 19 54 55 56 node859_good node860_good theorem node862_good : GoodOn families 18 19 53 56 := @split_negative 42 199 families 18 19 53 54 56 node858_good node861_good theorem node863_good : GoodOn families 18 19 52 56 := @split_negative 42 199 families 18 19 52 53 56 node857_good node862_good theorem node864_good : GoodOn families 18 19 51 56 := @split_negative 42 199 families 18 19 51 52 56 node856_good node863_good theorem node865_good : GoodOn families 18 19 50 56 := @split_negative 42 199 families 18 19 50 51 56 node855_good node864_good theorem node866_good : GoodOn families 18 19 49 56 := @split_negative 42 199 families 18 19 49 50 56 node854_good node865_good theorem node867_good : GoodOn families 18 19 48 56 := @split_negative 42 199 families 18 19 48 49 56 node853_good node866_good theorem node868_good : GoodOn families 18 19 56 58 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨56, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box438_checked) theorem node869_good : GoodOn families 18 19 48 58 := @split_negative 42 199 families 18 19 48 56 58 node867_good node868_good theorem node870_good : GoodOn families 18 19 58 199 := @corner_cover 42 199 families ⟨18, by decide⟩ ⟨18, by decide⟩ ⟨58, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box439_checked) theorem node871_good : GoodOn families 18 19 48 199 := @split_negative 42 199 families 18 19 48 58 199 node869_good node870_good theorem node872_good : GoodOn families 16 19 48 199 := @split_positive 42 199 families 16 18 19 48 199 node852_good node871_good theorem node873_good : GoodOn families 15 19 48 199 := @split_positive 42 199 families 15 16 19 48 199 node817_good node872_good theorem node874_good : GoodOn families 19 20 48 49 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box440_checked) theorem node875_good : GoodOn families 19 20 49 50 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box441_checked) theorem node876_good : GoodOn families 19 20 50 51 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box442_checked) theorem node877_good : GoodOn families 19 20 51 52 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box443_checked) theorem node878_good : GoodOn families 19 20 52 53 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨52, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box444_checked) theorem node879_good : GoodOn families 19 20 53 54 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box445_checked) theorem node880_good : GoodOn families 19 20 54 55 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box446_checked) theorem node881_good : GoodOn families 19 20 55 56 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box447_checked) theorem node882_good : GoodOn families 19 20 56 57 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box448_checked) theorem node883_good : GoodOn families 19 20 55 57 := @split_negative 42 199 families 19 20 55 56 57 node881_good node882_good theorem node884_good : GoodOn families 19 20 54 57 := @split_negative 42 199 families 19 20 54 55 57 node880_good node883_good theorem node885_good : GoodOn families 19 20 53 57 := @split_negative 42 199 families 19 20 53 54 57 node879_good node884_good theorem node886_good : GoodOn families 19 20 52 57 := @split_negative 42 199 families 19 20 52 53 57 node878_good node885_good theorem node887_good : GoodOn families 19 20 51 57 := @split_negative 42 199 families 19 20 51 52 57 node877_good node886_good theorem node888_good : GoodOn families 19 20 50 57 := @split_negative 42 199 families 19 20 50 51 57 node876_good node887_good theorem node889_good : GoodOn families 19 20 49 57 := @split_negative 42 199 families 19 20 49 50 57 node875_good node888_good theorem node890_good : GoodOn families 19 20 48 57 := @split_negative 42 199 families 19 20 48 49 57 node874_good node889_good theorem node891_good : GoodOn families 19 20 57 59 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨57, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box449_checked) theorem node892_good : GoodOn families 19 20 48 59 := @split_negative 42 199 families 19 20 48 57 59 node890_good node891_good theorem node893_good : GoodOn families 19 20 59 199 := @corner_cover 42 199 families ⟨19, by decide⟩ ⟨19, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box450_checked) theorem node894_good : GoodOn families 19 20 48 199 := @split_negative 42 199 families 19 20 48 59 199 node892_good node893_good theorem node895_good : GoodOn families 20 21 48 49 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box451_checked) theorem node896_good : GoodOn families 20 21 49 50 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box452_checked) theorem node897_good : GoodOn families 20 21 50 51 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box453_checked) theorem node898_good : GoodOn families 20 21 51 52 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box454_checked) theorem node899_good : GoodOn families 20 21 52 53 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨52, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box455_checked) theorem node900_good : GoodOn families 20 21 53 54 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box456_checked) theorem node901_good : GoodOn families 20 21 54 55 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box457_checked) theorem node902_good : GoodOn families 20 21 55 56 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box458_checked) theorem node903_good : GoodOn families 20 21 56 57 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box459_checked) theorem node904_good : GoodOn families 20 21 55 57 := @split_negative 42 199 families 20 21 55 56 57 node902_good node903_good theorem node905_good : GoodOn families 20 21 54 57 := @split_negative 42 199 families 20 21 54 55 57 node901_good node904_good theorem node906_good : GoodOn families 20 21 53 57 := @split_negative 42 199 families 20 21 53 54 57 node900_good node905_good theorem node907_good : GoodOn families 20 21 52 57 := @split_negative 42 199 families 20 21 52 53 57 node899_good node906_good theorem node908_good : GoodOn families 20 21 51 57 := @split_negative 42 199 families 20 21 51 52 57 node898_good node907_good theorem node909_good : GoodOn families 20 21 50 57 := @split_negative 42 199 families 20 21 50 51 57 node897_good node908_good theorem node910_good : GoodOn families 20 21 49 57 := @split_negative 42 199 families 20 21 49 50 57 node896_good node909_good theorem node911_good : GoodOn families 20 21 48 57 := @split_negative 42 199 families 20 21 48 49 57 node895_good node910_good theorem node912_good : GoodOn families 20 21 57 59 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨57, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box460_checked) theorem node913_good : GoodOn families 20 21 48 59 := @split_negative 42 199 families 20 21 48 57 59 node911_good node912_good theorem node914_good : GoodOn families 20 21 59 199 := @corner_cover 42 199 families ⟨20, by decide⟩ ⟨20, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box461_checked) theorem node915_good : GoodOn families 20 21 48 199 := @split_negative 42 199 families 20 21 48 59 199 node913_good node914_good theorem node916_good : GoodOn families 19 21 48 199 := @split_positive 42 199 families 19 20 21 48 199 node894_good node915_good theorem node917_good : GoodOn families 21 22 48 49 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box462_checked) theorem node918_good : GoodOn families 21 22 49 50 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box463_checked) theorem node919_good : GoodOn families 21 22 50 51 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box464_checked) theorem node920_good : GoodOn families 21 22 51 52 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box465_checked) theorem node921_good : GoodOn families 21 22 52 53 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨52, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box466_checked) theorem node922_good : GoodOn families 21 22 53 54 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box467_checked) theorem node923_good : GoodOn families 21 22 54 55 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box468_checked) theorem node924_good : GoodOn families 21 22 55 56 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box469_checked) theorem node925_good : GoodOn families 21 22 56 57 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box470_checked) theorem node926_good : GoodOn families 21 22 55 57 := @split_negative 42 199 families 21 22 55 56 57 node924_good node925_good theorem node927_good : GoodOn families 21 22 54 57 := @split_negative 42 199 families 21 22 54 55 57 node923_good node926_good theorem node928_good : GoodOn families 21 22 53 57 := @split_negative 42 199 families 21 22 53 54 57 node922_good node927_good theorem node929_good : GoodOn families 21 22 52 57 := @split_negative 42 199 families 21 22 52 53 57 node921_good node928_good theorem node930_good : GoodOn families 21 22 51 57 := @split_negative 42 199 families 21 22 51 52 57 node920_good node929_good theorem node931_good : GoodOn families 21 22 50 57 := @split_negative 42 199 families 21 22 50 51 57 node919_good node930_good theorem node932_good : GoodOn families 21 22 49 57 := @split_negative 42 199 families 21 22 49 50 57 node918_good node931_good theorem node933_good : GoodOn families 21 22 48 57 := @split_negative 42 199 families 21 22 48 49 57 node917_good node932_good theorem node934_good : GoodOn families 21 22 57 59 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨57, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box471_checked) theorem node935_good : GoodOn families 21 22 48 59 := @split_negative 42 199 families 21 22 48 57 59 node933_good node934_good theorem node936_good : GoodOn families 21 22 59 199 := @corner_cover 42 199 families ⟨21, by decide⟩ ⟨21, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box472_checked) theorem node937_good : GoodOn families 21 22 48 199 := @split_negative 42 199 families 21 22 48 59 199 node935_good node936_good theorem node938_good : GoodOn families 22 23 48 49 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box473_checked) theorem node939_good : GoodOn families 22 23 49 50 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box474_checked) theorem node940_good : GoodOn families 22 23 50 51 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box475_checked) theorem node941_good : GoodOn families 22 23 51 52 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box476_checked) theorem node942_good : GoodOn families 22 23 52 53 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨52, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box477_checked) theorem node943_good : GoodOn families 22 23 53 54 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box478_checked) theorem node944_good : GoodOn families 22 23 54 55 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box479_checked) theorem node945_good : GoodOn families 22 23 55 56 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box480_checked) theorem node946_good : GoodOn families 22 23 56 57 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box481_checked) theorem node947_good : GoodOn families 22 23 57 58 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box482_checked) theorem node948_good : GoodOn families 22 23 56 58 := @split_negative 42 199 families 22 23 56 57 58 node946_good node947_good theorem node949_good : GoodOn families 22 23 55 58 := @split_negative 42 199 families 22 23 55 56 58 node945_good node948_good theorem node950_good : GoodOn families 22 23 54 58 := @split_negative 42 199 families 22 23 54 55 58 node944_good node949_good theorem node951_good : GoodOn families 22 23 53 58 := @split_negative 42 199 families 22 23 53 54 58 node943_good node950_good theorem node952_good : GoodOn families 22 23 52 58 := @split_negative 42 199 families 22 23 52 53 58 node942_good node951_good theorem node953_good : GoodOn families 22 23 51 58 := @split_negative 42 199 families 22 23 51 52 58 node941_good node952_good theorem node954_good : GoodOn families 22 23 50 58 := @split_negative 42 199 families 22 23 50 51 58 node940_good node953_good theorem node955_good : GoodOn families 22 23 49 58 := @split_negative 42 199 families 22 23 49 50 58 node939_good node954_good theorem node956_good : GoodOn families 22 23 48 58 := @split_negative 42 199 families 22 23 48 49 58 node938_good node955_good theorem node957_good : GoodOn families 22 23 58 199 := @corner_cover 42 199 families ⟨22, by decide⟩ ⟨22, by decide⟩ ⟨58, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box483_checked) theorem node958_good : GoodOn families 22 23 48 199 := @split_negative 42 199 families 22 23 48 58 199 node956_good node957_good theorem node959_good : GoodOn families 21 23 48 199 := @split_positive 42 199 families 21 22 23 48 199 node937_good node958_good theorem node960_good : GoodOn families 19 23 48 199 := @split_positive 42 199 families 19 21 23 48 199 node916_good node959_good theorem node961_good : GoodOn families 15 23 48 199 := @split_positive 42 199 families 15 19 23 48 199 node873_good node960_good theorem node962_good : GoodOn families 5 23 48 199 := @split_positive 42 199 families 5 15 23 48 199 node804_good node961_good theorem node963_good : GoodOn families 23 25 48 49 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨24, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box484_checked) theorem node964_good : GoodOn families 25 28 48 49 := @corner_cover 42 199 families ⟨25, by decide⟩ ⟨27, by decide⟩ ⟨48, by decide⟩ ⟨48, by decide⟩ (checkAreaCell_sound box485_checked) theorem node965_good : GoodOn families 23 28 48 49 := @split_positive 42 199 families 23 25 28 48 49 node963_good node964_good theorem node966_good : GoodOn families 23 24 49 51 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨23, by decide⟩ ⟨49, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box486_checked) theorem node967_good : GoodOn families 24 26 49 50 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨25, by decide⟩ ⟨49, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box487_checked) theorem node968_good : GoodOn families 24 26 50 51 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨25, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box488_checked) theorem node969_good : GoodOn families 24 26 49 51 := @split_negative 42 199 families 24 26 49 50 51 node967_good node968_good theorem node970_good : GoodOn families 23 26 49 51 := @split_positive 42 199 families 23 24 26 49 51 node966_good node969_good theorem node971_good : GoodOn families 26 28 49 51 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨27, by decide⟩ ⟨49, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box489_checked) theorem node972_good : GoodOn families 23 28 49 51 := @split_positive 42 199 families 23 26 28 49 51 node970_good node971_good theorem node973_good : GoodOn families 23 28 48 51 := @split_negative 42 199 families 23 28 48 49 51 node965_good node972_good theorem node974_good : GoodOn families 28 32 48 50 := @corner_cover 42 199 families ⟨28, by decide⟩ ⟨31, by decide⟩ ⟨48, by decide⟩ ⟨49, by decide⟩ (checkAreaCell_sound box490_checked) theorem node975_good : GoodOn families 28 32 50 51 := @corner_cover 42 199 families ⟨28, by decide⟩ ⟨31, by decide⟩ ⟨50, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box491_checked) theorem node976_good : GoodOn families 28 32 48 51 := @split_negative 42 199 families 28 32 48 50 51 node974_good node975_good theorem node977_good : GoodOn families 23 32 48 51 := @split_positive 42 199 families 23 28 32 48 51 node973_good node976_good theorem node978_good : GoodOn families 32 40 48 51 := @corner_cover 42 199 families ⟨32, by decide⟩ ⟨39, by decide⟩ ⟨48, by decide⟩ ⟨50, by decide⟩ (checkAreaCell_sound box492_checked) theorem node979_good : GoodOn families 23 40 48 51 := @split_positive 42 199 families 23 32 40 48 51 node977_good node978_good theorem node980_good : GoodOn families 23 24 51 52 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨23, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box493_checked) theorem node981_good : GoodOn families 24 25 51 52 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨24, by decide⟩ ⟨51, by decide⟩ ⟨51, by decide⟩ (checkAreaCell_sound box494_checked) theorem node982_good : GoodOn families 23 25 51 52 := @split_positive 42 199 families 23 24 25 51 52 node980_good node981_good theorem node983_good : GoodOn families 23 24 52 53 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨23, by decide⟩ ⟨52, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box495_checked) theorem node984_good : GoodOn families 24 25 52 53 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨24, by decide⟩ ⟨52, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box496_checked) theorem node985_good : GoodOn families 23 25 52 53 := @split_positive 42 199 families 23 24 25 52 53 node983_good node984_good theorem node986_good : GoodOn families 23 25 51 53 := @split_negative 42 199 families 23 25 51 52 53 node982_good node985_good theorem node987_good : GoodOn families 25 26 51 53 := @corner_cover 42 199 families ⟨25, by decide⟩ ⟨25, by decide⟩ ⟨51, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box497_checked) theorem node988_good : GoodOn families 23 26 51 53 := @split_positive 42 199 families 23 25 26 51 53 node986_good node987_good theorem node989_good : GoodOn families 26 27 51 53 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨26, by decide⟩ ⟨51, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box498_checked) theorem node990_good : GoodOn families 23 27 51 53 := @split_positive 42 199 families 23 26 27 51 53 node988_good node989_good theorem node991_good : GoodOn families 27 28 51 53 := @corner_cover 42 199 families ⟨27, by decide⟩ ⟨27, by decide⟩ ⟨51, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box499_checked) theorem node992_good : GoodOn families 23 28 51 53 := @split_positive 42 199 families 23 27 28 51 53 node990_good node991_good theorem node993_good : GoodOn families 28 29 51 53 := @corner_cover 42 199 families ⟨28, by decide⟩ ⟨28, by decide⟩ ⟨51, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box500_checked) theorem node994_good : GoodOn families 23 29 51 53 := @split_positive 42 199 families 23 28 29 51 53 node992_good node993_good theorem node995_good : GoodOn families 29 30 51 53 := @corner_cover 42 199 families ⟨29, by decide⟩ ⟨29, by decide⟩ ⟨51, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box501_checked) theorem node996_good : GoodOn families 23 30 51 53 := @split_positive 42 199 families 23 29 30 51 53 node994_good node995_good theorem node997_good : GoodOn families 30 33 51 53 := @corner_cover 42 199 families ⟨30, by decide⟩ ⟨32, by decide⟩ ⟨51, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box502_checked) theorem node998_good : GoodOn families 23 33 51 53 := @split_positive 42 199 families 23 30 33 51 53 node996_good node997_good theorem node999_good : GoodOn families 33 40 51 53 := @corner_cover 42 199 families ⟨33, by decide⟩ ⟨39, by decide⟩ ⟨51, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box503_checked) theorem node1000_good : GoodOn families 23 40 51 53 := @split_positive 42 199 families 23 33 40 51 53 node998_good node999_good theorem node1001_good : GoodOn families 23 40 48 53 := @split_negative 42 199 families 23 40 48 51 53 node979_good node1000_good theorem node1002_good : GoodOn families 40 41 48 53 := @corner_cover 42 199 families ⟨40, by decide⟩ ⟨40, by decide⟩ ⟨48, by decide⟩ ⟨52, by decide⟩ (checkAreaCell_sound box504_checked) theorem node1003_good : GoodOn families 23 41 48 53 := @split_positive 42 199 families 23 40 41 48 53 node1001_good node1002_good theorem node1004_good : GoodOn families 23 24 53 54 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨23, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box505_checked) theorem node1005_good : GoodOn families 23 24 54 55 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨23, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box506_checked) theorem node1006_good : GoodOn families 23 24 55 56 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨23, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box507_checked) theorem node1007_good : GoodOn families 23 24 56 57 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨23, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box508_checked) theorem node1008_good : GoodOn families 23 24 57 58 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨23, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box509_checked) theorem node1009_good : GoodOn families 23 24 56 58 := @split_negative 42 199 families 23 24 56 57 58 node1007_good node1008_good theorem node1010_good : GoodOn families 23 24 55 58 := @split_negative 42 199 families 23 24 55 56 58 node1006_good node1009_good theorem node1011_good : GoodOn families 23 24 54 58 := @split_negative 42 199 families 23 24 54 55 58 node1005_good node1010_good theorem node1012_good : GoodOn families 23 24 53 58 := @split_negative 42 199 families 23 24 53 54 58 node1004_good node1011_good theorem node1013_good : GoodOn families 24 25 53 54 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨24, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box510_checked) theorem node1014_good : GoodOn families 24 25 54 55 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨24, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box511_checked) theorem node1015_good : GoodOn families 24 25 55 56 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨24, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box512_checked) theorem node1016_good : GoodOn families 24 25 56 57 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨24, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box513_checked) theorem node1017_good : GoodOn families 24 25 57 58 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨24, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box514_checked) theorem node1018_good : GoodOn families 24 25 56 58 := @split_negative 42 199 families 24 25 56 57 58 node1016_good node1017_good theorem node1019_good : GoodOn families 24 25 55 58 := @split_negative 42 199 families 24 25 55 56 58 node1015_good node1018_good theorem node1020_good : GoodOn families 24 25 54 58 := @split_negative 42 199 families 24 25 54 55 58 node1014_good node1019_good theorem node1021_good : GoodOn families 24 25 53 58 := @split_negative 42 199 families 24 25 53 54 58 node1013_good node1020_good theorem node1022_good : GoodOn families 23 25 53 58 := @split_positive 42 199 families 23 24 25 53 58 node1012_good node1021_good theorem node1023_good : GoodOn families 25 26 53 54 := @corner_cover 42 199 families ⟨25, by decide⟩ ⟨25, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box515_checked) theorem node1024_good : GoodOn families 25 26 54 55 := @corner_cover 42 199 families ⟨25, by decide⟩ ⟨25, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box516_checked) theorem node1025_good : GoodOn families 25 26 55 56 := @corner_cover 42 199 families ⟨25, by decide⟩ ⟨25, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box517_checked) theorem node1026_good : GoodOn families 25 26 56 57 := @corner_cover 42 199 families ⟨25, by decide⟩ ⟨25, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box518_checked) theorem node1027_good : GoodOn families 25 26 57 58 := @corner_cover 42 199 families ⟨25, by decide⟩ ⟨25, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box519_checked) theorem node1028_good : GoodOn families 25 26 56 58 := @split_negative 42 199 families 25 26 56 57 58 node1026_good node1027_good theorem node1029_good : GoodOn families 25 26 55 58 := @split_negative 42 199 families 25 26 55 56 58 node1025_good node1028_good theorem node1030_good : GoodOn families 25 26 54 58 := @split_negative 42 199 families 25 26 54 55 58 node1024_good node1029_good theorem node1031_good : GoodOn families 25 26 53 58 := @split_negative 42 199 families 25 26 53 54 58 node1023_good node1030_good theorem node1032_good : GoodOn families 26 27 53 54 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨26, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box520_checked) theorem node1033_good : GoodOn families 26 27 54 55 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨26, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box521_checked) theorem node1034_good : GoodOn families 26 27 55 56 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨26, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box522_checked) theorem node1035_good : GoodOn families 26 27 56 57 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨26, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box523_checked) theorem node1036_good : GoodOn families 26 27 57 58 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨26, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box524_checked) theorem node1037_good : GoodOn families 26 27 56 58 := @split_negative 42 199 families 26 27 56 57 58 node1035_good node1036_good theorem node1038_good : GoodOn families 26 27 55 58 := @split_negative 42 199 families 26 27 55 56 58 node1034_good node1037_good theorem node1039_good : GoodOn families 26 27 54 58 := @split_negative 42 199 families 26 27 54 55 58 node1033_good node1038_good theorem node1040_good : GoodOn families 26 27 53 58 := @split_negative 42 199 families 26 27 53 54 58 node1032_good node1039_good theorem node1041_good : GoodOn families 25 27 53 58 := @split_positive 42 199 families 25 26 27 53 58 node1031_good node1040_good theorem node1042_good : GoodOn families 23 27 53 58 := @split_positive 42 199 families 23 25 27 53 58 node1022_good node1041_good theorem node1043_good : GoodOn families 27 29 53 54 := @corner_cover 42 199 families ⟨27, by decide⟩ ⟨28, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box525_checked) theorem node1044_good : GoodOn families 27 28 54 55 := @corner_cover 42 199 families ⟨27, by decide⟩ ⟨27, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box526_checked) theorem node1045_good : GoodOn families 28 29 54 55 := @corner_cover 42 199 families ⟨28, by decide⟩ ⟨28, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box527_checked) theorem node1046_good : GoodOn families 27 29 54 55 := @split_positive 42 199 families 27 28 29 54 55 node1044_good node1045_good theorem node1047_good : GoodOn families 27 28 55 56 := @corner_cover 42 199 families ⟨27, by decide⟩ ⟨27, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box528_checked) theorem node1048_good : GoodOn families 28 29 55 56 := @corner_cover 42 199 families ⟨28, by decide⟩ ⟨28, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box529_checked) theorem node1049_good : GoodOn families 27 29 55 56 := @split_positive 42 199 families 27 28 29 55 56 node1047_good node1048_good theorem node1050_good : GoodOn families 27 29 54 56 := @split_negative 42 199 families 27 29 54 55 56 node1046_good node1049_good theorem node1051_good : GoodOn families 27 28 56 57 := @corner_cover 42 199 families ⟨27, by decide⟩ ⟨27, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box530_checked) theorem node1052_good : GoodOn families 28 29 56 57 := @corner_cover 42 199 families ⟨28, by decide⟩ ⟨28, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box531_checked) theorem node1053_good : GoodOn families 27 29 56 57 := @split_positive 42 199 families 27 28 29 56 57 node1051_good node1052_good theorem node1054_good : GoodOn families 27 28 57 58 := @corner_cover 42 199 families ⟨27, by decide⟩ ⟨27, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box532_checked) theorem node1055_good : GoodOn families 28 29 57 58 := @corner_cover 42 199 families ⟨28, by decide⟩ ⟨28, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box533_checked) theorem node1056_good : GoodOn families 27 29 57 58 := @split_positive 42 199 families 27 28 29 57 58 node1054_good node1055_good theorem node1057_good : GoodOn families 27 29 56 58 := @split_negative 42 199 families 27 29 56 57 58 node1053_good node1056_good theorem node1058_good : GoodOn families 27 29 54 58 := @split_negative 42 199 families 27 29 54 56 58 node1050_good node1057_good theorem node1059_good : GoodOn families 27 29 53 58 := @split_negative 42 199 families 27 29 53 54 58 node1043_good node1058_good theorem node1060_good : GoodOn families 29 31 53 54 := @corner_cover 42 199 families ⟨29, by decide⟩ ⟨30, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box534_checked) theorem node1061_good : GoodOn families 29 31 54 55 := @corner_cover 42 199 families ⟨29, by decide⟩ ⟨30, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box535_checked) theorem node1062_good : GoodOn families 29 30 55 56 := @corner_cover 42 199 families ⟨29, by decide⟩ ⟨29, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box536_checked) theorem node1063_good : GoodOn families 29 30 56 57 := @corner_cover 42 199 families ⟨29, by decide⟩ ⟨29, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box537_checked) theorem node1064_good : GoodOn families 29 30 57 58 := @corner_cover 42 199 families ⟨29, by decide⟩ ⟨29, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box538_checked) theorem node1065_good : GoodOn families 29 30 56 58 := @split_negative 42 199 families 29 30 56 57 58 node1063_good node1064_good theorem node1066_good : GoodOn families 29 30 55 58 := @split_negative 42 199 families 29 30 55 56 58 node1062_good node1065_good theorem node1067_good : GoodOn families 30 31 55 56 := @corner_cover 42 199 families ⟨30, by decide⟩ ⟨30, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box539_checked) theorem node1068_good : GoodOn families 30 31 56 57 := @corner_cover 42 199 families ⟨30, by decide⟩ ⟨30, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box540_checked) theorem node1069_good : GoodOn families 30 31 57 58 := @corner_cover 42 199 families ⟨30, by decide⟩ ⟨30, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box541_checked) theorem node1070_good : GoodOn families 30 31 56 58 := @split_negative 42 199 families 30 31 56 57 58 node1068_good node1069_good theorem node1071_good : GoodOn families 30 31 55 58 := @split_negative 42 199 families 30 31 55 56 58 node1067_good node1070_good theorem node1072_good : GoodOn families 29 31 55 58 := @split_positive 42 199 families 29 30 31 55 58 node1066_good node1071_good theorem node1073_good : GoodOn families 29 31 54 58 := @split_negative 42 199 families 29 31 54 55 58 node1061_good node1072_good theorem node1074_good : GoodOn families 29 31 53 58 := @split_negative 42 199 families 29 31 53 54 58 node1060_good node1073_good theorem node1075_good : GoodOn families 27 31 53 58 := @split_positive 42 199 families 27 29 31 53 58 node1059_good node1074_good theorem node1076_good : GoodOn families 23 31 53 58 := @split_positive 42 199 families 23 27 31 53 58 node1042_good node1075_good theorem node1077_good : GoodOn families 31 34 53 54 := @corner_cover 42 199 families ⟨31, by decide⟩ ⟨33, by decide⟩ ⟨53, by decide⟩ ⟨53, by decide⟩ (checkAreaCell_sound box542_checked) theorem node1078_good : GoodOn families 31 33 54 55 := @corner_cover 42 199 families ⟨31, by decide⟩ ⟨32, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box543_checked) theorem node1079_good : GoodOn families 33 34 54 55 := @corner_cover 42 199 families ⟨33, by decide⟩ ⟨33, by decide⟩ ⟨54, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box544_checked) theorem node1080_good : GoodOn families 31 34 54 55 := @split_positive 42 199 families 31 33 34 54 55 node1078_good node1079_good theorem node1081_good : GoodOn families 31 34 53 55 := @split_negative 42 199 families 31 34 53 54 55 node1077_good node1080_good theorem node1082_good : GoodOn families 34 36 53 55 := @corner_cover 42 199 families ⟨34, by decide⟩ ⟨35, by decide⟩ ⟨53, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box545_checked) theorem node1083_good : GoodOn families 31 36 53 55 := @split_positive 42 199 families 31 34 36 53 55 node1081_good node1082_good theorem node1084_good : GoodOn families 36 40 53 55 := @corner_cover 42 199 families ⟨36, by decide⟩ ⟨39, by decide⟩ ⟨53, by decide⟩ ⟨54, by decide⟩ (checkAreaCell_sound box546_checked) theorem node1085_good : GoodOn families 31 40 53 55 := @split_positive 42 199 families 31 36 40 53 55 node1083_good node1084_good theorem node1086_good : GoodOn families 31 33 55 56 := @corner_cover 42 199 families ⟨31, by decide⟩ ⟨32, by decide⟩ ⟨55, by decide⟩ ⟨55, by decide⟩ (checkAreaCell_sound box547_checked) theorem node1087_good : GoodOn families 31 32 56 57 := @corner_cover 42 199 families ⟨31, by decide⟩ ⟨31, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box548_checked) theorem node1088_good : GoodOn families 32 33 56 57 := @corner_cover 42 199 families ⟨32, by decide⟩ ⟨32, by decide⟩ ⟨56, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box549_checked) theorem node1089_good : GoodOn families 31 33 56 57 := @split_positive 42 199 families 31 32 33 56 57 node1087_good node1088_good theorem node1090_good : GoodOn families 31 33 55 57 := @split_negative 42 199 families 31 33 55 56 57 node1086_good node1089_good theorem node1091_good : GoodOn families 33 34 55 57 := @corner_cover 42 199 families ⟨33, by decide⟩ ⟨33, by decide⟩ ⟨55, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box550_checked) theorem node1092_good : GoodOn families 31 34 55 57 := @split_positive 42 199 families 31 33 34 55 57 node1090_good node1091_good theorem node1093_good : GoodOn families 34 35 55 57 := @corner_cover 42 199 families ⟨34, by decide⟩ ⟨34, by decide⟩ ⟨55, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box551_checked) theorem node1094_good : GoodOn families 31 35 55 57 := @split_positive 42 199 families 31 34 35 55 57 node1092_good node1093_good theorem node1095_good : GoodOn families 35 36 55 57 := @corner_cover 42 199 families ⟨35, by decide⟩ ⟨35, by decide⟩ ⟨55, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box552_checked) theorem node1096_good : GoodOn families 31 36 55 57 := @split_positive 42 199 families 31 35 36 55 57 node1094_good node1095_good theorem node1097_good : GoodOn families 36 38 55 57 := @corner_cover 42 199 families ⟨36, by decide⟩ ⟨37, by decide⟩ ⟨55, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box553_checked) theorem node1098_good : GoodOn families 31 38 55 57 := @split_positive 42 199 families 31 36 38 55 57 node1096_good node1097_good theorem node1099_good : GoodOn families 38 40 55 57 := @corner_cover 42 199 families ⟨38, by decide⟩ ⟨39, by decide⟩ ⟨55, by decide⟩ ⟨56, by decide⟩ (checkAreaCell_sound box554_checked) theorem node1100_good : GoodOn families 31 40 55 57 := @split_positive 42 199 families 31 38 40 55 57 node1098_good node1099_good theorem node1101_good : GoodOn families 31 32 57 58 := @corner_cover 42 199 families ⟨31, by decide⟩ ⟨31, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box555_checked) theorem node1102_good : GoodOn families 32 33 57 58 := @corner_cover 42 199 families ⟨32, by decide⟩ ⟨32, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box556_checked) theorem node1103_good : GoodOn families 33 34 57 58 := @corner_cover 42 199 families ⟨33, by decide⟩ ⟨33, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box557_checked) theorem node1104_good : GoodOn families 34 35 57 58 := @corner_cover 42 199 families ⟨34, by decide⟩ ⟨34, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box558_checked) theorem node1105_good : GoodOn families 35 36 57 58 := @corner_cover 42 199 families ⟨35, by decide⟩ ⟨35, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box559_checked) theorem node1106_good : GoodOn families 34 36 57 58 := @split_positive 42 199 families 34 35 36 57 58 node1104_good node1105_good theorem node1107_good : GoodOn families 33 36 57 58 := @split_positive 42 199 families 33 34 36 57 58 node1103_good node1106_good theorem node1108_good : GoodOn families 32 36 57 58 := @split_positive 42 199 families 32 33 36 57 58 node1102_good node1107_good theorem node1109_good : GoodOn families 31 36 57 58 := @split_positive 42 199 families 31 32 36 57 58 node1101_good node1108_good theorem node1110_good : GoodOn families 36 38 57 58 := @corner_cover 42 199 families ⟨36, by decide⟩ ⟨37, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box560_checked) theorem node1111_good : GoodOn families 31 38 57 58 := @split_positive 42 199 families 31 36 38 57 58 node1109_good node1110_good theorem node1112_good : GoodOn families 38 40 57 58 := @corner_cover 42 199 families ⟨38, by decide⟩ ⟨39, by decide⟩ ⟨57, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box561_checked) theorem node1113_good : GoodOn families 31 40 57 58 := @split_positive 42 199 families 31 38 40 57 58 node1111_good node1112_good theorem node1114_good : GoodOn families 31 40 55 58 := @split_negative 42 199 families 31 40 55 57 58 node1100_good node1113_good theorem node1115_good : GoodOn families 31 40 53 58 := @split_negative 42 199 families 31 40 53 55 58 node1085_good node1114_good theorem node1116_good : GoodOn families 23 40 53 58 := @split_positive 42 199 families 23 31 40 53 58 node1076_good node1115_good theorem node1117_good : GoodOn families 40 41 53 58 := @corner_cover 42 199 families ⟨40, by decide⟩ ⟨40, by decide⟩ ⟨53, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box562_checked) theorem node1118_good : GoodOn families 23 41 53 58 := @split_positive 42 199 families 23 40 41 53 58 node1116_good node1117_good theorem node1119_good : GoodOn families 23 41 48 58 := @split_negative 42 199 families 23 41 48 53 58 node1003_good node1118_good theorem node1120_good : GoodOn families 41 42 48 58 := @corner_cover 42 199 families ⟨41, by decide⟩ ⟨41, by decide⟩ ⟨48, by decide⟩ ⟨57, by decide⟩ (checkAreaCell_sound box563_checked) theorem node1121_good : GoodOn families 23 42 48 58 := @split_positive 42 199 families 23 41 42 48 58 node1119_good node1120_good theorem node1122_good : GoodOn families 23 24 58 199 := @corner_cover 42 199 families ⟨23, by decide⟩ ⟨23, by decide⟩ ⟨58, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box564_checked) theorem node1123_good : GoodOn families 24 25 58 60 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨24, by decide⟩ ⟨58, by decide⟩ ⟨59, by decide⟩ (checkAreaCell_sound box565_checked) theorem node1124_good : GoodOn families 25 26 58 60 := @corner_cover 42 199 families ⟨25, by decide⟩ ⟨25, by decide⟩ ⟨58, by decide⟩ ⟨59, by decide⟩ (checkAreaCell_sound box566_checked) theorem node1125_good : GoodOn families 24 26 58 60 := @split_positive 42 199 families 24 25 26 58 60 node1123_good node1124_good theorem node1126_good : GoodOn families 24 26 60 199 := @corner_cover 42 199 families ⟨24, by decide⟩ ⟨25, by decide⟩ ⟨60, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box567_checked) theorem node1127_good : GoodOn families 24 26 58 199 := @split_negative 42 199 families 24 26 58 60 199 node1125_good node1126_good theorem node1128_good : GoodOn families 26 27 58 60 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨26, by decide⟩ ⟨58, by decide⟩ ⟨59, by decide⟩ (checkAreaCell_sound box568_checked) theorem node1129_good : GoodOn families 27 28 58 59 := @corner_cover 42 199 families ⟨27, by decide⟩ ⟨27, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box569_checked) theorem node1130_good : GoodOn families 27 28 59 60 := @corner_cover 42 199 families ⟨27, by decide⟩ ⟨27, by decide⟩ ⟨59, by decide⟩ ⟨59, by decide⟩ (checkAreaCell_sound box570_checked) theorem node1131_good : GoodOn families 27 28 58 60 := @split_negative 42 199 families 27 28 58 59 60 node1129_good node1130_good theorem node1132_good : GoodOn families 26 28 58 60 := @split_positive 42 199 families 26 27 28 58 60 node1128_good node1131_good theorem node1133_good : GoodOn families 26 28 60 199 := @corner_cover 42 199 families ⟨26, by decide⟩ ⟨27, by decide⟩ ⟨60, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box571_checked) theorem node1134_good : GoodOn families 26 28 58 199 := @split_negative 42 199 families 26 28 58 60 199 node1132_good node1133_good theorem node1135_good : GoodOn families 24 28 58 199 := @split_positive 42 199 families 24 26 28 58 199 node1127_good node1134_good theorem node1136_good : GoodOn families 28 29 58 59 := @corner_cover 42 199 families ⟨28, by decide⟩ ⟨28, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box572_checked) theorem node1137_good : GoodOn families 28 29 59 199 := @corner_cover 42 199 families ⟨28, by decide⟩ ⟨28, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box573_checked) theorem node1138_good : GoodOn families 28 29 58 199 := @split_negative 42 199 families 28 29 58 59 199 node1136_good node1137_good theorem node1139_good : GoodOn families 29 30 58 59 := @corner_cover 42 199 families ⟨29, by decide⟩ ⟨29, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box574_checked) theorem node1140_good : GoodOn families 29 30 59 199 := @corner_cover 42 199 families ⟨29, by decide⟩ ⟨29, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box575_checked) theorem node1141_good : GoodOn families 29 30 58 199 := @split_negative 42 199 families 29 30 58 59 199 node1139_good node1140_good theorem node1142_good : GoodOn families 28 30 58 199 := @split_positive 42 199 families 28 29 30 58 199 node1138_good node1141_good theorem node1143_good : GoodOn families 30 31 58 59 := @corner_cover 42 199 families ⟨30, by decide⟩ ⟨30, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box576_checked) theorem node1144_good : GoodOn families 30 31 59 199 := @corner_cover 42 199 families ⟨30, by decide⟩ ⟨30, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box577_checked) theorem node1145_good : GoodOn families 30 31 58 199 := @split_negative 42 199 families 30 31 58 59 199 node1143_good node1144_good theorem node1146_good : GoodOn families 31 32 58 59 := @corner_cover 42 199 families ⟨31, by decide⟩ ⟨31, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box578_checked) theorem node1147_good : GoodOn families 31 32 59 199 := @corner_cover 42 199 families ⟨31, by decide⟩ ⟨31, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box579_checked) theorem node1148_good : GoodOn families 31 32 58 199 := @split_negative 42 199 families 31 32 58 59 199 node1146_good node1147_good theorem node1149_good : GoodOn families 32 33 58 59 := @corner_cover 42 199 families ⟨32, by decide⟩ ⟨32, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box580_checked) theorem node1150_good : GoodOn families 32 33 59 199 := @corner_cover 42 199 families ⟨32, by decide⟩ ⟨32, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box581_checked) theorem node1151_good : GoodOn families 32 33 58 199 := @split_negative 42 199 families 32 33 58 59 199 node1149_good node1150_good theorem node1152_good : GoodOn families 31 33 58 199 := @split_positive 42 199 families 31 32 33 58 199 node1148_good node1151_good theorem node1153_good : GoodOn families 30 33 58 199 := @split_positive 42 199 families 30 31 33 58 199 node1145_good node1152_good theorem node1154_good : GoodOn families 28 33 58 199 := @split_positive 42 199 families 28 30 33 58 199 node1142_good node1153_good theorem node1155_good : GoodOn families 24 33 58 199 := @split_positive 42 199 families 24 28 33 58 199 node1135_good node1154_good theorem node1156_good : GoodOn families 33 34 58 59 := @corner_cover 42 199 families ⟨33, by decide⟩ ⟨33, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box582_checked) theorem node1157_good : GoodOn families 33 34 59 199 := @corner_cover 42 199 families ⟨33, by decide⟩ ⟨33, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box583_checked) theorem node1158_good : GoodOn families 33 34 58 199 := @split_negative 42 199 families 33 34 58 59 199 node1156_good node1157_good theorem node1159_good : GoodOn families 34 35 58 59 := @corner_cover 42 199 families ⟨34, by decide⟩ ⟨34, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box584_checked) theorem node1160_good : GoodOn families 34 35 59 199 := @corner_cover 42 199 families ⟨34, by decide⟩ ⟨34, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box585_checked) theorem node1161_good : GoodOn families 34 35 58 199 := @split_negative 42 199 families 34 35 58 59 199 node1159_good node1160_good theorem node1162_good : GoodOn families 33 35 58 199 := @split_positive 42 199 families 33 34 35 58 199 node1158_good node1161_good theorem node1163_good : GoodOn families 35 36 58 59 := @corner_cover 42 199 families ⟨35, by decide⟩ ⟨35, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box586_checked) theorem node1164_good : GoodOn families 35 36 59 199 := @corner_cover 42 199 families ⟨35, by decide⟩ ⟨35, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box587_checked) theorem node1165_good : GoodOn families 35 36 58 199 := @split_negative 42 199 families 35 36 58 59 199 node1163_good node1164_good theorem node1166_good : GoodOn families 36 37 58 59 := @corner_cover 42 199 families ⟨36, by decide⟩ ⟨36, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box588_checked) theorem node1167_good : GoodOn families 36 37 59 199 := @corner_cover 42 199 families ⟨36, by decide⟩ ⟨36, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box589_checked) theorem node1168_good : GoodOn families 36 37 58 199 := @split_negative 42 199 families 36 37 58 59 199 node1166_good node1167_good theorem node1169_good : GoodOn families 35 37 58 199 := @split_positive 42 199 families 35 36 37 58 199 node1165_good node1168_good theorem node1170_good : GoodOn families 33 37 58 199 := @split_positive 42 199 families 33 35 37 58 199 node1162_good node1169_good theorem node1171_good : GoodOn families 37 39 58 59 := @corner_cover 42 199 families ⟨37, by decide⟩ ⟨38, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box590_checked) theorem node1172_good : GoodOn families 37 38 59 199 := @corner_cover 42 199 families ⟨37, by decide⟩ ⟨37, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box591_checked) theorem node1173_good : GoodOn families 38 39 59 199 := @corner_cover 42 199 families ⟨38, by decide⟩ ⟨38, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box592_checked) theorem node1174_good : GoodOn families 37 39 59 199 := @split_positive 42 199 families 37 38 39 59 199 node1172_good node1173_good theorem node1175_good : GoodOn families 37 39 58 199 := @split_negative 42 199 families 37 39 58 59 199 node1171_good node1174_good theorem node1176_good : GoodOn families 39 41 58 59 := @corner_cover 42 199 families ⟨39, by decide⟩ ⟨40, by decide⟩ ⟨58, by decide⟩ ⟨58, by decide⟩ (checkAreaCell_sound box593_checked) theorem node1177_good : GoodOn families 39 40 59 199 := @corner_cover 42 199 families ⟨39, by decide⟩ ⟨39, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box594_checked) theorem node1178_good : GoodOn families 40 41 59 199 := @corner_cover 42 199 families ⟨40, by decide⟩ ⟨40, by decide⟩ ⟨59, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box595_checked) theorem node1179_good : GoodOn families 39 41 59 199 := @split_positive 42 199 families 39 40 41 59 199 node1177_good node1178_good theorem node1180_good : GoodOn families 39 41 58 199 := @split_negative 42 199 families 39 41 58 59 199 node1176_good node1179_good theorem node1181_good : GoodOn families 41 42 58 60 := @corner_cover 42 199 families ⟨41, by decide⟩ ⟨41, by decide⟩ ⟨58, by decide⟩ ⟨59, by decide⟩ (checkAreaCell_sound box596_checked) theorem node1182_good : GoodOn families 41 42 60 199 := @corner_cover 42 199 families ⟨41, by decide⟩ ⟨41, by decide⟩ ⟨60, by decide⟩ ⟨198, by decide⟩ (checkAreaCell_sound box597_checked) theorem node1183_good : GoodOn families 41 42 58 199 := @split_negative 42 199 families 41 42 58 60 199 node1181_good node1182_good theorem node1184_good : GoodOn families 39 42 58 199 := @split_positive 42 199 families 39 41 42 58 199 node1180_good node1183_good theorem node1185_good : GoodOn families 37 42 58 199 := @split_positive 42 199 families 37 39 42 58 199 node1175_good node1184_good theorem node1186_good : GoodOn families 33 42 58 199 := @split_positive 42 199 families 33 37 42 58 199 node1170_good node1185_good theorem node1187_good : GoodOn families 24 42 58 199 := @split_positive 42 199 families 24 33 42 58 199 node1155_good node1186_good theorem node1188_good : GoodOn families 23 42 58 199 := @split_positive 42 199 families 23 24 42 58 199 node1122_good node1187_good theorem node1189_good : GoodOn families 23 42 48 199 := @split_negative 42 199 families 23 42 48 58 199 node1121_good node1188_good theorem node1190_good : GoodOn families 5 42 48 199 := @split_positive 42 199 families 5 23 42 48 199 node962_good node1189_good theorem node1191_good : GoodOn families 5 42 37 199 := @split_negative 42 199 families 5 42 37 48 199 node705_good node1190_good theorem node1192_good : GoodOn families 0 42 37 199 := @split_positive 42 199 families 0 5 42 37 199 node412_good node1191_good theorem node1193_good : GoodOn families 0 42 5 199 := @split_negative 42 199 families 0 42 5 37 199 node303_good node1192_good theorem node1194_good : GoodOn families 0 42 0 199 := @split_negative 42 199 families 0 42 0 5 199 node0_good node1193_good theorem family_pair_good (i : Fin 42) (j : Fin 199) : GoodAreaPair (positiveFamily i) (negativeFamily j) := node1194_good i j (Nat.zero_le _) i.isLt (Nat.zero_le _) j.isLt theorem grid_checked : checkGrid negBands posBands = true := by apply checkGrid_complete refine (List.forall_mem_iff_get (l := posBands) (p := fun p => ∀ n ∈ negBands, GoodAreaPair p n)).mpr ?_ intro i refine (List.forall_mem_iff_get (l := negBands) (p := fun n => GoodAreaPair (posBands.get i) n)).mpr ?_ intro j simpa only [positive_get_agreement, negative_get_agreement] using (family_pair_good ⟨i.val, by simpa only [positive_length] using i.isLt⟩ ⟨j.val, by simpa only [negative_length] using j.isLt⟩) theorem positive_bands_checked : checkBands ((1 : ℚ) / 64) ((7 : ℚ) / 50) posBands = true := by decide +kernel theorem negative_bands_checked : checkBands ((1 : ℚ) / 16) ((14 : ℚ) / 25) negBands = true := by decide +kernel end QuantileFiniteCertificate.W02FastCoarseGrid end /- END M088 -/ /- BEGIN M089 -/ section /-! Exact retained 42-band supplier binding for the accepted tangent forests. No new prices, parameters, cuts, or finite forest checks are introduced. -/ namespace Polya26.W04.TangentConcreteCatalog open QuantileFiniteCertificate open QuantileFiniteCertificate.TangentData def entry0 : TangentPositiveEntry := ⟨W02ThinnedGrid.p0, .fk⟩ def entry1 : TangentPositiveEntry := ⟨W02ThinnedGrid.p1, .forest positive_21Cfg positive_21Large positive_21Small⟩ def entry2 : TangentPositiveEntry := ⟨W02ThinnedGrid.p2, .forest positive_22Cfg positive_22Large positive_22Small⟩ def entry3 : TangentPositiveEntry := ⟨W02ThinnedGrid.p3, .forest positive_23Cfg positive_23Large positive_23Small⟩ def entry4 : TangentPositiveEntry := ⟨W02ThinnedGrid.p4, .forest positive_24Cfg positive_24Large positive_24Small⟩ def entry5 : TangentPositiveEntry := ⟨W02ThinnedGrid.p5, .forest positive_25Cfg positive_25Large positive_25Small⟩ def entry6 : TangentPositiveEntry := ⟨W02ThinnedGrid.p6, .forest positive_26Cfg positive_26Large positive_26Small⟩ def entry7 : TangentPositiveEntry := ⟨W02ThinnedGrid.p7, .forest positive_27Cfg positive_27Large positive_27Small⟩ def entry8 : TangentPositiveEntry := ⟨W02ThinnedGrid.p8, .forest positive_28Cfg positive_28Large positive_28Small⟩ def entry9 : TangentPositiveEntry := ⟨W02ThinnedGrid.p9, .forest positive_29Cfg positive_29Large positive_29Small⟩ def entry10 : TangentPositiveEntry := ⟨W02ThinnedGrid.p10, .forest positive_30Cfg positive_30Large positive_30Small⟩ def entry11 : TangentPositiveEntry := ⟨W02ThinnedGrid.p11, .forest positive_31Cfg positive_31Large positive_31Small⟩ def entry12 : TangentPositiveEntry := ⟨W02ThinnedGrid.p12, .forest positive_32Cfg positive_32Large positive_32Small⟩ def entry13 : TangentPositiveEntry := ⟨W02ThinnedGrid.p13, .forest positive_33Cfg positive_33Large positive_33Small⟩ def entry14 : TangentPositiveEntry := ⟨W02ThinnedGrid.p14, .forest positive_34Cfg positive_34Large positive_34Small⟩ def entry15 : TangentPositiveEntry := ⟨W02ThinnedGrid.p15, .forest positive_35Cfg positive_35Large positive_35Small⟩ def entry16 : TangentPositiveEntry := ⟨W02ThinnedGrid.p16, .forest positive_36Cfg positive_36Large positive_36Small⟩ def entry17 : TangentPositiveEntry := ⟨W02ThinnedGrid.p17, .forest positive_37Cfg positive_37Large positive_37Small⟩ def entry18 : TangentPositiveEntry := ⟨W02ThinnedGrid.p18, .forest positive_38Cfg positive_38Large positive_38Small⟩ def entry19 : TangentPositiveEntry := ⟨W02ThinnedGrid.p19, .forest positive_39Cfg positive_39Large positive_39Small⟩ def entry20 : TangentPositiveEntry := ⟨W02ThinnedGrid.p20, .forest positive_40Cfg positive_40Large positive_40Small⟩ def entry21 : TangentPositiveEntry := ⟨W02ThinnedGrid.p21, .forest positive_41Cfg positive_41Large positive_41Small⟩ def entry22 : TangentPositiveEntry := ⟨W02ThinnedGrid.p22, .forest positive_42Cfg positive_42Large positive_42Small⟩ def entry23 : TangentPositiveEntry := ⟨W02ThinnedGrid.p23, .forest positive_43Cfg positive_43Large positive_43Small⟩ def entry24 : TangentPositiveEntry := ⟨W02ThinnedGrid.p24, .forest positive_44Cfg positive_44Large positive_44Small⟩ def entry25 : TangentPositiveEntry := ⟨W02ThinnedGrid.p25, .forest positive_45Cfg positive_45Large positive_45Small⟩ def entry26 : TangentPositiveEntry := ⟨W02ThinnedGrid.p26, .forest positive_46Cfg positive_46Large positive_46Small⟩ def entry27 : TangentPositiveEntry := ⟨W02ThinnedGrid.p27, .forest positive_47Cfg positive_47Large positive_47Small⟩ def entry28 : TangentPositiveEntry := ⟨W02ThinnedGrid.p28, .forest positive_48Cfg positive_48Large positive_48Small⟩ def entry29 : TangentPositiveEntry := ⟨W02ThinnedGrid.p29, .forest positive_49Cfg positive_49Large positive_49Small⟩ def entry30 : TangentPositiveEntry := ⟨W02ThinnedGrid.p30, .forest positive_50Cfg positive_50Large positive_50Small⟩ def entry31 : TangentPositiveEntry := ⟨W02ThinnedGrid.p31, .forest positive_51Cfg positive_51Large positive_51Small⟩ def entry32 : TangentPositiveEntry := ⟨W02ThinnedGrid.p32, .forest positive_52Cfg positive_52Large positive_52Small⟩ def entry33 : TangentPositiveEntry := ⟨W02ThinnedGrid.p33, .forest positive_53Cfg positive_53Large positive_53Small⟩ def entry34 : TangentPositiveEntry := ⟨W02ThinnedGrid.p34, .forest positive_54Cfg positive_54Large positive_54Small⟩ def entry35 : TangentPositiveEntry := ⟨W02ThinnedGrid.p35, .forest positive_55Cfg positive_55Large positive_55Small⟩ def entry36 : TangentPositiveEntry := ⟨W02ThinnedGrid.p36, .forest positive_56Cfg positive_56Large positive_56Small⟩ def entry37 : TangentPositiveEntry := ⟨W02ThinnedGrid.p37, .forest positive_57Cfg positive_57Large positive_57Small⟩ def entry38 : TangentPositiveEntry := ⟨W02ThinnedGrid.p38, .forest positive_58Cfg positive_58Large positive_58Small⟩ def entry39 : TangentPositiveEntry := ⟨W02ThinnedGrid.p39, .forest positive_59Cfg positive_59Large positive_59Small⟩ def entry40 : TangentPositiveEntry := ⟨W02ThinnedGrid.p40, .forest positive_60Cfg positive_60Large positive_60Small⟩ def entry41 : TangentPositiveEntry := ⟨W02ThinnedGrid.p41, .forest positive_61Cfg positive_61Large positive_61Small⟩ def entries : List TangentPositiveEntry := [entry0, entry1, entry2, entry3, entry4, entry5, entry6, entry7, entry8, entry9, entry10, entry11, entry12, entry13, entry14, entry15, entry16, entry17, entry18, entry19, entry20, entry21, entry22, entry23, entry24, entry25, entry26, entry27, entry28, entry29, entry30, entry31, entry32, entry33, entry34, entry35, entry36, entry37, entry38, entry39, entry40, entry41] theorem entries_linked : checkTangentPositiveCatalog entries = true := by decide +kernel theorem entries_accepted : TangentPositiveCatalogAccepted entries := by intro e he simp only [entries, List.mem_cons, List.not_mem_nil, or_false] at he rcases he with h0 | h1 | h2 | h3 | h4 | h5 | h6 | h7 | h8 | h9 | h10 | h11 | h12 | h13 | h14 | h15 | h16 | h17 | h18 | h19 | h20 | h21 | h22 | h23 | h24 | h25 | h26 | h27 | h28 | h29 | h30 | h31 | h32 | h33 | h34 | h35 | h36 | h37 | h38 | h39 | h40 | h41 <;> subst e · trivial · exact ⟨positive_21Large_checked, positive_21Small_checked⟩ · exact ⟨positive_22Large_checked, positive_22Small_checked⟩ · exact ⟨positive_23Large_checked, positive_23Small_checked⟩ · exact ⟨positive_24Large_checked, positive_24Small_checked⟩ · exact ⟨positive_25Large_checked, positive_25Small_checked⟩ · exact ⟨positive_26Large_checked, positive_26Small_checked⟩ · exact ⟨positive_27Large_checked, positive_27Small_checked⟩ · exact ⟨positive_28Large_checked, positive_28Small_checked⟩ · exact ⟨positive_29Large_checked, positive_29Small_checked⟩ · exact ⟨positive_30Large_checked, positive_30Small_checked⟩ · exact ⟨positive_31Large_checked, positive_31Small_checked⟩ · exact ⟨positive_32Large_checked, positive_32Small_checked⟩ · exact ⟨positive_33Large_checked, positive_33Small_checked⟩ · exact ⟨positive_34Large_checked, positive_34Small_checked⟩ · exact ⟨positive_35Large_checked, positive_35Small_checked⟩ · exact ⟨positive_36Large_checked, positive_36Small_checked⟩ · exact ⟨positive_37Large_checked, positive_37Small_checked⟩ · exact ⟨positive_38Large_checked, positive_38Small_checked⟩ · exact ⟨positive_39Large_checked, positive_39Small_checked⟩ · exact ⟨positive_40Large_checked, positive_40Small_checked⟩ · exact ⟨positive_41Large_checked, positive_41Small_checked⟩ · exact ⟨positive_42Large_checked, positive_42Small_checked⟩ · exact ⟨positive_43Large_checked, positive_43Small_checked⟩ · exact ⟨positive_44Large_checked, positive_44Small_checked⟩ · exact ⟨positive_45Large_checked, positive_45Small_checked⟩ · exact ⟨positive_46Large_checked, positive_46Small_checked⟩ · exact ⟨positive_47Large_checked, positive_47Small_checked⟩ · exact ⟨positive_48Large_checked, positive_48Small_checked⟩ · exact ⟨positive_49Large_checked, positive_49Small_checked⟩ · exact ⟨positive_50Large_checked, positive_50Small_checked⟩ · exact ⟨positive_51Large_checked, positive_51Small_checked⟩ · exact ⟨positive_52Large_checked, positive_52Small_checked⟩ · exact ⟨positive_53Large_checked, positive_53Small_checked⟩ · exact ⟨positive_54Large_checked, positive_54Small_checked⟩ · exact ⟨positive_55Large_checked, positive_55Small_checked⟩ · exact ⟨positive_56Large_checked, positive_56Small_checked⟩ · exact ⟨positive_57Large_checked, positive_57Small_checked⟩ · exact ⟨positive_58Large_checked, positive_58Small_checked⟩ · exact ⟨positive_59Large_checked, positive_59Small_checked⟩ · exact ⟨positive_60Large_checked, positive_60Small_checked⟩ · exact ⟨positive_61Large_checked, positive_61Small_checked⟩ theorem bands_eq_thinned : tangentPositiveBands entries = W02ThinnedGrid.posBands := by rfl theorem negative_bands_eq_canonical : W02ThinnedGrid.negBands = GridData.negBands := W02ThinnedGrid.negative_table_eq_original theorem high_accepted : TangentPositiveMethodAccepted (.forest high_xCfg high_xLarge high_xSmall) := ⟨high_xLarge_checked, high_xSmall_checked⟩ theorem high_x_config : high_xCfg.x ≤ 7 / 50 := by decide +kernel theorem high_price_config : 8 / 3 ≤ high_xCfg.target := by decide +kernel theorem positive_bands_checked : checkBands ((1 : ℚ) / 64) ((7 : ℚ) / 50) (tangentPositiveBands entries) = true := by rw [bands_eq_thinned] exact W02FastCoarseGrid.positive_bands_checked theorem negative_bands_checked : checkBands ((1 : ℚ) / 16) ((14 : ℚ) / 25) W02ThinnedGrid.negBands = true := W02FastCoarseGrid.negative_bands_checked theorem grid_checked : checkGrid W02ThinnedGrid.negBands (tangentPositiveBands entries) = true := by rw [bands_eq_thinned] exact W02FastCoarseGrid.grid_checked end Polya26.W04.TangentConcreteCatalog end /- END M089 -/ /- BEGIN M090 -/ section /-! Genuine primitive calculus for the original negative radial profile. -/ noncomputable section open Set Filter MeasureTheory open scoped Topology namespace Polya26.Strike.S06.Header.PrimitiveStar theorem primitiveTail_continuousOn_area {f : ℝ → ℝ} {b : ℝ} (hb : 0 ≤ b) (hf : IntervalIntegrable f volume 0 b) : ContinuousOn (fun s => ∫ t in s..b, f t) (Icc 0 b) := by have h := (intervalIntegral.continuousOn_primitive_interval' hf right_mem_uIcc).neg have he : (-(fun s : ℝ => ∫ t in b..s, f t)) = fun s => ∫ t in s..b, f t := by funext s exact (intervalIntegral.integral_symm (f := f) (μ := volume) b s).symm rw [he] at h simpa only [uIcc_of_le hb] using h /-- Genuine local-AC weighted pairing at the original area scale. The profile has no imposed centre trace or centre AC condition. -/ theorem radialWeightedPrefix_pairing (F J rho h : ℝ → ℝ) (b C : ℝ) (hb : 0 < b) (hC : 0 ≤ C) (hF : ∀ eps > 0, eps < b → Polya26.Strike.S02.Header.PrimitiveOn F eps b) (hJ : Polya26.Strike.S02.Header.PrimitiveOn J 0 b) (hdF : deriv F =ᵐ[volume.restrict (Ioc 0 b)] h) (hdJ : deriv J =ᵐ[volume.restrict (Ioc 0 b)] fun s => rho s*F s) (houter : F b = 0) (hFbound : ∀ s ∈ Icc (0:ℝ) b, |F s| ≤ C) (hJbound : ∀ s ∈ Icc (0:ℝ) b, |J s| ≤ C*s) (hiMass : IntervalIntegrable (fun s => rho s*(F s)^2) volume 0 b) (hiPair : IntervalIntegrable (fun s => h s*J s) volume 0 b) : (∫ s in 0..b, rho s*(F s)^2) = -(∫ s in 0..b, h s*J s) := by let eps : ℕ → ℝ := fun n => b/((n:ℝ)+2) have heps_pos (n : ℕ) : 0 < eps n := by dsimp [eps]; positivity have heps_lt (n : ℕ) : eps n < b := by dsimp [eps] apply (div_lt_iff₀ (by positivity : (0:ℝ) < (n:ℝ)+2)).mpr nlinarith [Nat.cast_nonneg (α := ℝ) n] have heps_zero : Tendsto eps atTop (𝓝 0) := by have ht : Tendsto (fun n : ℕ => ((n:ℝ)+2)⁻¹) atTop (𝓝 (0:ℝ)) := tendsto_inv_atTop_zero.comp (tendsto_atTop_add_const_right atTop 2 tendsto_natCast_atTop_atTop) simpa only [eps,div_eq_mul_inv,mul_zero] using ht.const_mul b have heps_closed : Tendsto eps atTop (𝓝[Icc (0:ℝ) b] 0) := tendsto_nhdsWithin_iff.mpr ⟨heps_zero,Eventually.of_forall fun n => ⟨(heps_pos n).le,(heps_lt n).le⟩⟩ have hIBP (n : ℕ) : (∫ s in eps n..b, rho s*(F s)^2) = -F (eps n)*J (eps n)-(∫ s in eps n..b, h s*J s) := by have hsub : uIcc (eps n) b ⊆ uIcc (0:ℝ) b := by rw [uIcc_of_le (heps_lt n).le,uIcc_of_le hb.le] exact Icc_subset_Icc (heps_pos n).le le_rfl have hsubIoc : Ioc (eps n) b ⊆ Ioc (0:ℝ) b := Ioc_subset_Ioc (heps_pos n).le le_rfl have hdf := hdF.filter_mono (ae_mono (Measure.restrict_mono hsubIoc le_rfl)) have hdj := hdJ.filter_mono (ae_mono (Measure.restrict_mono hsubIoc le_rfl)) have he := (hF (eps n) (heps_pos n) (heps_lt n)).integral_mul_deriv_eq_deriv_mul (hJ.mono hsub) have hleft : (∫ s in eps n..b, F s*deriv J s) = ∫ s in eps n..b, rho s*(F s)^2 := by apply intervalIntegral.integral_congr_ae_restrict rw [uIoc_of_le (heps_lt n).le] filter_upwards [hdj] with s hs rw [hs] ring have hright : (∫ s in eps n..b, deriv F s*J s) = ∫ s in eps n..b, h s*J s := by apply intervalIntegral.integral_congr_ae_restrict rw [uIoc_of_le (heps_lt n).le] filter_upwards [hdf] with s hs rw [hs] rw [hleft,hright,houter,zero_mul,zero_sub] at he simpa only [neg_mul] using he have hlimMass : Tendsto (fun n => ∫ s in eps n..b, rho s*(F s)^2) atTop (𝓝 (∫ s in 0..b, rho s*(F s)^2)) := ((primitiveTail_continuousOn_area hb.le hiMass) 0 (by simp [hb.le])).tendsto.comp heps_closed have hlimPair : Tendsto (fun n => ∫ s in eps n..b, h s*J s) atTop (𝓝 (∫ s in 0..b, h s*J s)) := ((primitiveTail_continuousOn_area hb.le hiPair) 0 (by simp [hb.le])).tendsto.comp heps_closed have hfluxBound (n : ℕ) : ‖F (eps n)*J (eps n)‖ ≤ C^2*eps n := by have hf := hFbound (eps n) ⟨(heps_pos n).le,(heps_lt n).le⟩ have hj := hJbound (eps n) ⟨(heps_pos n).le,(heps_lt n).le⟩ rw [Real.norm_eq_abs,abs_mul] calc |F (eps n)| * |J (eps n)| ≤ C*(C*eps n) := mul_le_mul hf hj (abs_nonneg _) hC _ = C^2*eps n := by ring have hlimFluxNorm : Tendsto (fun n => ‖F (eps n)*J (eps n)‖) atTop (𝓝 0) := squeeze_zero (fun n => norm_nonneg _) hfluxBound (by simpa only [mul_zero] using heps_zero.const_mul (C^2)) have hlimFlux : Tendsto (fun n => F (eps n)*J (eps n)) atTop (𝓝 0) := tendsto_zero_iff_norm_tendsto_zero.mpr hlimFluxNorm have hlimRight := hlimFlux.neg.sub hlimPair have heq : (fun n => ∫ s in eps n..b, rho s*(F s)^2) = fun n => -(F (eps n)*J (eps n))-(∫ s in eps n..b, h s*J s) := by funext n simpa only [neg_mul] using hIBP n rw [← heq] at hlimRight simpa only [neg_zero,zero_sub] using tendsto_nhds_unique hlimMass hlimRight def areaPrefix (g : ℝ → ℝ) (s : ℝ) : ℝ := ∫ t in 0..s, g t theorem bounded_intervalIntegrable {g : ℝ → ℝ} (hg : Measurable g) (C : ℝ) (hbound : ∀ s, ‖g s‖ ≤ C) (left right : ℝ) : IntervalIntegrable g volume left right := by apply (intervalIntegrable_const : IntervalIntegrable (fun _ : ℝ => C) volume left right).mono_fun' hg.aestronglyMeasurable exact Eventually.of_forall hbound theorem areaPrefix_continuous {g : ℝ → ℝ} (hg : Measurable g) (C : ℝ) (hbound : ∀ s, ‖g s‖ ≤ C) : Continuous (areaPrefix g) := intervalIntegral.continuous_primitive (bounded_intervalIntegrable hg C hbound) 0 theorem areaPrefix_ac {g : ℝ → ℝ} (hg : Measurable g) (C : ℝ) (hbound : ∀ s, ‖g s‖ ≤ C) (b : ℝ) : Polya26.Strike.S02.Header.PrimitiveOn (areaPrefix g) 0 b := Polya26.Strike.S02.Header.PrimitiveOn.intervalIntegral (bounded_intervalIntegrable hg C hbound 0 b) left_mem_uIcc theorem areaPrefix_deriv_ae {g : ℝ → ℝ} (hg : Measurable g) (C : ℝ) (hbound : ∀ s, ‖g s‖ ≤ C) {b : ℝ} (hb : 0 ≤ b) : deriv (areaPrefix g) =ᵐ[volume.restrict (Ioc 0 b)] g := by have hi := bounded_intervalIntegrable hg C hbound 0 b filter_upwards [ae_restrict_of_ae (Polya26.Strike.S02.Header.intervalIntegrable_ae_hasDerivAt_integral hi), ae_restrict_mem measurableSet_Ioc] with s hs hsu exact (hs (by rw [uIcc_of_le hb]; exact ⟨hsu.1.le,hsu.2⟩) 0 left_mem_uIcc).deriv theorem areaPrefix_bound {g : ℝ → ℝ} (C : ℝ) (hbound : ∀ s, ‖g s‖ ≤ C) {b s : ℝ} (hs : s ∈ Icc (0:ℝ) b) : |areaPrefix g s| ≤ C*s := by have h := intervalIntegral.norm_integral_le_of_norm_le_const (f := g) (a := 0) (b := s) (fun t ht => hbound t) simpa only [areaPrefix,Real.norm_eq_abs,sub_zero,abs_of_nonneg hs.1] using h theorem areaPrefix_radial_quotient_integrable {g : ℝ → ℝ} (hg : Measurable g) (C : ℝ) (hC : 0 ≤ C) (hbound : ∀ s, ‖g s‖ ≤ C) {b : ℝ} (hb : 0 < b) : IntegrableOn (fun s => (areaPrefix g s)^2/s) (Ioo (0:ℝ) b) volume := by have hc := areaPrefix_continuous hg C hbound apply IntegrableOn.of_bound (by simp [Real.volume_Ioo]) ((hc.measurable.pow_const 2).div measurable_id).aestronglyMeasurable (C^2*b) filter_upwards [ae_restrict_mem measurableSet_Ioo] with s hs have hsq : (areaPrefix g s)^2 ≤ (C*s)^2 := by have hh := (sq_le_sq₀ (abs_nonneg _) (mul_nonneg hC hs.1.le)).mpr (areaPrefix_bound C hbound ⟨hs.1.le,hs.2.le⟩) simpa only [sq_abs] using hh have hquot : (areaPrefix g s)^2/s ≤ C^2*s := by apply (div_le_iff₀ hs.1).mpr nlinarith only [hsq] change ‖(areaPrefix g s)^2/s‖ ≤ C^2*b rw [Real.norm_of_nonneg (div_nonneg (sq_nonneg _) hs.1.le)] exact hquot.trans (mul_le_mul_of_nonneg_left hs.2.le (sq_nonneg C)) theorem areaPrefix_div_sqrt_memLp {g : ℝ → ℝ} (hg : Measurable g) (C : ℝ) (hC : 0 ≤ C) (hbound : ∀ s, ‖g s‖ ≤ C) {b : ℝ} (hb : 0 < b) : MemLp (fun s => areaPrefix g s/Real.sqrt s) 2 (volume.restrict (Ioo (0:ℝ) b)) := by have hm : AEStronglyMeasurable (fun s => areaPrefix g s/Real.sqrt s) (volume.restrict (Ioo (0:ℝ) b)) := ((areaPrefix_continuous hg C hbound).measurable.div Real.continuous_sqrt.measurable).aestronglyMeasurable apply (memLp_two_iff_integrable_sq hm).mpr apply (areaPrefix_radial_quotient_integrable hg C hC hbound hb).congr filter_upwards [ae_restrict_mem measurableSet_Ioo] with s hs rw [div_pow,Real.sq_sqrt hs.1.le] end Polya26.Strike.S06.Header.PrimitiveStar end end /- END M090 -/ /- BEGIN M091 -/ section noncomputable section open Set Filter MeasureTheory open scoped Topology namespace Polya26.Strike.S06.Header.PrimitiveStar open _root_.Polya26.Strike.S01.Header.PureKernelSupport theorem areaPrefix_unit_cross_integrable {g : ℝ → ℝ} (hg : Measurable g) (C : ℝ) (hC : 0 ≤ C) (hbound : ∀ s, ‖g s‖ ≤ C) : IntervalIntegrable (fun s => (areaPrefix g s*g s)*(-Real.log s)) volume 0 1 := by letI : IsFiniteMeasure unitAreaMeasure := unitAreaMeasure_finite letI : NullSingletonClass unitAreaMeasure := unitAreaMeasure_nullSingleton have hlogi : Integrable (fun s : ℝ => (Real.log s)^2) unitAreaMeasure := (intervalIntegrable_log_sq (by norm_num : (0:ℝ) < 1)).1 have hmajor : Integrable (fun s : ℝ => C^2*(1+(Real.log s)^2)) unitAreaMeasure := ((integrable_const (1:ℝ)).add hlogi).const_mul (C^2) have hm : AEStronglyMeasurable (fun s => (areaPrefix g s*g s)*(-Real.log s)) unitAreaMeasure := (((areaPrefix_continuous hg C hbound).measurable.mul hg).mul Real.measurable_log.neg).aestronglyMeasurable have hi := hmajor.mono' hm (by filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs have hj : ‖areaPrefix g s‖ ≤ C := by rw [Real.norm_eq_abs] exact (areaPrefix_bound C hbound ⟨hs.1.le,hs.2⟩).trans (by simpa only [mul_one] using mul_le_mul_of_nonneg_left hs.2 hC) have hlog : |Real.log s| ≤ 1+(Real.log s)^2 := by nlinarith [sq_nonneg (|Real.log s|-1),sq_abs (Real.log s)] rw [norm_mul,norm_mul,norm_neg,Real.norm_eq_abs (Real.log s)] calc ‖areaPrefix g s‖*‖g s‖*|Real.log s| ≤ C*C*(1+(Real.log s)^2) := mul_le_mul (mul_le_mul hj (hbound s) (norm_nonneg _) hC) hlog (abs_nonneg _) (mul_nonneg hC hC) _ = C^2*(1+(Real.log s)^2) := by ring) apply intervalIntegrable_iff.mpr rw [uIoc_of_le (by norm_num : (0:ℝ) ≤ 1)] change Integrable _ unitAreaMeasure exact hi theorem areaPrefix_unit_kernel_identity {g : ℝ → ℝ} (hg : Measurable g) (C : ℝ) (hC : 0 ≤ C) (hbound : ∀ s, ‖g s‖ ≤ C) : (∫ s in 0..1, (areaPrefix g s)^2/s) = kernelQuadratic (μ := unitAreaMeasure) unitRadialLogKernel g := by letI : IsFiniteMeasure unitAreaMeasure := unitAreaMeasure_finite letI : NullSingletonClass unitAreaMeasure := unitAreaMeasure_nullSingleton have hfg : MemLp g 2 unitAreaMeasure := MemLp.of_bound hg.aestronglyMeasurable C (Eventually.of_forall hbound) have hiD : IntervalIntegrable (fun s => (areaPrefix g s)^2/s) volume 0 1 := (intervalIntegrable_iff_integrableOn_Ioo_of_le (by norm_num : (0:ℝ) ≤ 1)).mpr (areaPrefix_radial_quotient_integrable hg C hC hbound (by norm_num)) apply Polya26.Strike.S06.Header.PrimitiveStar.radialPrefix_kernel_identity (areaPrefix g) g C hC hfg (areaPrefix_ac hg C hbound 1) ?_ (fun s hs => rfl) (fun s hs => areaPrefix_bound C hbound hs) hiD (areaPrefix_unit_cross_integrable hg C hC hbound) simpa only [uIoc_of_le (by norm_num : (0:ℝ) ≤ 1)] using areaPrefix_deriv_ae hg C hbound (by norm_num : (0:ℝ) ≤ 1) end Polya26.Strike.S06.Header.PrimitiveStar end end /- END M091 -/ /- BEGIN M092 -/ section /-! Finite genuine component captures keep their cap relative to the ORIGINAL mass. A single uniform deficit works for every selected weight, and is removed only after the finite forest price has been proved. -/ noncomputable section open Filter open scoped Topology namespace QuantileFiniteCertificate theorem branchFloor_ge_three_eighths (small : Bool) {w : ℝ} (hw : 0 ≤ w) : (3 : ℝ) / 8 ≤ branchFloor small w := by cases small <;> norm_num [branchFloor, quantileFraction] <;> linarith theorem uniform_loss_floor (small : Bool) (w m lost weighted : ℝ) (hw : 0 ≤ w) (hlost : 0 ≤ lost) (hfloor : branchFloor small w * m - lost ≤ weighted) : branchFloor small w * (m - 8 * lost / 3) ≤ weighted := by have he := branchFloor_ge_three_eighths small hw have hmul := mul_nonneg (sub_nonneg.mpr he) hlost nlinarith /-- The cap is measured against m, not against the finite approximation. The omitted excess lost is retained explicitly in the true weighted mass. -/ theorem weighted_floor_of_original_cap_loss (w m lost selected weighted : ℝ) (hw0 : 0 ≤ w) (hw1 : w ≤ 1) (hlost : 0 ≤ lost) (hcap : selected ≤ (5 : ℝ) * m / 8) (hweighted : weighted = m - lost - (1 - w) * selected) : branchFloor false w * (m - 8 * lost / 3) ≤ weighted := by apply uniform_loss_floor false w m lost weighted hw0 hlost have hc := mul_le_mul_of_nonneg_left hcap (sub_nonneg.mpr hw1) rw [hweighted] norm_num [branchFloor, quantileFraction] nlinarith /-- A certificate may be the original fixed-axis forest or the new adaptive rational-box forest. Only its exact checked profile price enters here; all physical finite masses and energies remain explicit. -/ theorem phase_price_of_profile_approximations {p : Params} (price : ∀ m Q : ℝ, 0 < m → 0 ≤ Q → PositivePhaseWitness p m Q → (p.target : ℝ) * m ≤ Q) (m Q : ℝ) (mass : ℕ → ℝ) (hm : 0 < m) (hlim : Tendsto mass atTop (𝓝 m)) (hprofiles : ∀ n : ℕ, 0 < mass n → ∃ q : ℝ, 0 ≤ q ∧ q ≤ Q ∧ PositivePhaseWitness p (mass n) q) : (p.target : ℝ) * m ≤ Q := by have hpos : ∀ᶠ n in atTop, 0 < mass n := (tendsto_order.1 hlim).1 0 hm have hbound : ∀ᶠ n in atTop, (p.target : ℝ) * mass n ≤ Q := by filter_upwards [hpos] with n hn obtain ⟨q, hq0, hqQ, hprofile⟩ := hprofiles n hn exact (price (mass n) q hn hq0 hprofile).trans hqQ exact le_of_tendsto (tendsto_const_nhds.mul hlim) hbound theorem phase_price_of_uniform_profile_loss {p : Params} (price : ∀ m Q : ℝ, 0 < m → 0 ≤ Q → PositivePhaseWitness p m Q → (p.target : ℝ) * m ≤ Q) (m Q : ℝ) (lost : ℕ → ℝ) (hm : 0 < m) (hlost : Tendsto lost atTop (𝓝 0)) (hprofiles : ∀ n : ℕ, 0 < m - 8 * lost n / 3 → ∃ q : ℝ, 0 ≤ q ∧ q ≤ Q ∧ PositivePhaseWitness p (m - 8 * lost n / 3) q) : (p.target : ℝ) * m ≤ Q := by apply phase_price_of_profile_approximations price m Q (fun n => m - 8 * lost n / 3) hm ?_ hprofiles have hc8 : Tendsto (fun _ : ℕ => (8 : ℝ)) atTop (𝓝 8) := tendsto_const_nhds have hcm : Tendsto (fun _ : ℕ => m) atTop (𝓝 m) := tendsto_const_nhds have h := hcm.sub ((hc8.mul hlost).div_const (3 : ℝ)) simpa only [mul_zero, zero_div, sub_zero] using h end QuantileFiniteCertificate end end /- END M092 -/ /- BEGIN M093 -/ section /-! Genuine finite set families enter the actual star factory through physical representatives. Arbitrarily small omitted ORIGINAL excess comes from the checked finite high-component capture, not a sequence or a renormalized mass assumption. -/ noncomputable section open Set MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S03.Header.PrimitiveProfiles open Polya26.ComponentCutoff Polya26.QuantileCoreFamily QuantileFiniteCertificate theorem genuine_finset_representatives {u : Math30.Polya.Plane → ℝ} {τ : ℝ} {S : Finset (Set Math30.Polya.Plane)} (hS : ∀ D ∈ S, ∃ p ∈ levelSet u τ, D = levelComponent u τ p) : ∃ points : S → Math30.Polya.Plane, (∀ D : S, τ < u (points D)) ∧ (∀ D : S, component u τ (points D) = (D : Set Math30.Polya.Plane)) := by classical have hex : ∀ D : S, ∃ p : Math30.Polya.Plane, τ < u p ∧ component u τ p = (D : Set Math30.Polya.Plane) := by intro D obtain ⟨p, hp, hDp⟩ := hS D D.property exact ⟨p, hp, hDp.symm⟩ choose points hpoints hsets using hex exact ⟨points, hpoints, hsets⟩ theorem exists_actual_finiteStarFrame_of_genuine_finset {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {τ B U : ℝ} (hτ : 0 < τ) (hB : 0 < B) (hU : 0 < U) (hbound : ∀ x, u x ≤ U) {S : Finset (Set Math30.Polya.Plane)} (hS : ∀ D ∈ S, ∃ p ∈ levelSet u τ, D = levelComponent u τ p) (hdis : Set.Pairwise (S : Set (Set Math30.Polya.Plane)) Disjoint) (hwrap : ∀ t ∈ Ioo (0 : ℝ) τ, {x | t < u x}.Nonempty ∧ ∃ p : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {x | t < u x}ᶜ p) ∧ B ≤ Math30.Polya.area (connectedComponentIn {x | t < u x}ᶜ p)) (cfg : Params) (hcfg : GoodParams cfg) (hx : (cfg.x : ℝ) ≤ B / Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) : ∃ points : S → Math30.Polya.Plane, (∀ D : S, component u τ (points D) = (D : Set Math30.Polya.Plane)) ∧ Nonempty (ActualFiniteStarFrame S u τ points cfg) := by classical obtain ⟨points, hpoints, hsets⟩ := genuine_finset_representatives hS have hd : Pairwise (fun D E : S => Disjoint (component u τ (points D)) (component u τ (points E))) := by intro D E hne rw [hsets D, hsets E] apply hdis D.property E.property intro heq exact hne (Subtype.ext heq) exact ⟨points, hsets, exists_actual_finiteStarFrame hu hf hτ hB hU hbound points hpoints hd hwrap cfg hcfg hx⟩ /-- Full actual finite-capture-to-frame interface. It permits no strict high branch at all and an arbitrary original threshold plateau. -/ theorem exists_actual_finiteStarFrame_small_original_excess {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {τ B U : ℝ} (hτ : 0 < τ) (hB : 0 < B) (hU : 0 < U) (hbound : ∀ x, u x ≤ U) (hwrap : ∀ t ∈ Ioo (0 : ℝ) τ, {x | t < u x}.Nonempty ∧ ∃ p : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {x | t < u x}ᶜ p) ∧ B ≤ Math30.Polya.area (connectedComponentIn {x | t < u x}ᶜ p)) (cfg : Params) (hcfg : GoodParams cfg) (hx : (cfg.x : ℝ) ≤ B / Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}) {ε : ℝ} (hε : 0 < ε) : ∃ S : Finset (Set Math30.Polya.Plane), ∃ points : S → Math30.Polya.Plane, (∀ D : S, component u τ (points D) = (D : Set Math30.Polya.Plane)) ∧ Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u τ (fun D : S => component u τ (points D)) < ε ∧ Nonempty (ActualFiniteStarFrame S u τ points cfg) := by obtain ⟨S, hS, hdis, hsmall⟩ := Polya26.PlanarIsoperimetric.PhaseBudgets.exists_finite_high_components_small_original_excess hu hf.continuous hτ hε obtain ⟨points, hsets, hframe⟩ := exists_actual_finiteStarFrame_of_genuine_finset hu hf hτ hB hU hbound hS hdis hwrap cfg hcfg hx refine ⟨S, points, hsets, ?_, hframe⟩ have hfamily : (fun D : S => component u τ (points D)) = fun D : S => (D : Set Math30.Polya.Plane) := funext hsets rw [hfamily] exact hsmall end Polya26.Strike.S03.Header.PrimitiveProfiles noncomputable section open MeasureTheory Set Filter open scoped BigOperators namespace Polya26.Strike.S06.Header.PrimitiveStar.FiniteStarData variable {ι : Type*} [Fintype ι] {alpha B : ℝ} theorem branchMass_nonneg (d : FiniteStarData ι alpha B) (i : ι) : 0 ≤ d.branchMass i := intervalIntegral.integral_nonneg_of_forall (d.area_pos i).le (fun _ => sq_nonneg _) theorem branch_memLp (d : FiniteStarData ι alpha B) (i : ι) : MemLp (d.branch i) 2 (volume.restrict (Ioc 0 (d.area i))) := (memLp_two_iff_integrable_sq (d.branch_measurable i).aestronglyMeasurable).mpr (d.branchMass_intervalIntegrable i).1 theorem branchFlux_sq_le (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (i : ι) : (d.branchFlux weight i)^2 ≤ (weight i*d.area i)*(weight i*d.branchMass i) := by have h := Polya26.Strike.S01.Header.PureKernelSupport.integral_mul_sq_le (d.branch i) (fun _ : ℝ => (1 : ℝ)) (d.branch_memLp i) (memLp_const (1 : ℝ) (p := 2) (μ := volume.restrict (Ioc 0 (d.area i)))) have hvol : (∫ s in Ioc (0 : ℝ) (d.area i), (1 : ℝ)) = d.area i := by simp only [integral_const,Measure.real_def,Measure.restrict_apply_univ, Real.volume_Ioc,smul_eq_mul,mul_one,sub_zero] exact ENNReal.toReal_ofReal (d.area_pos i).le simp only [mul_one,one_pow] at h rw [hvol] at h have hc : (∫ s in 0..d.area i, d.branch i s)^2 ≤ d.branchMass i*d.area i := by simpa only [intervalIntegral.integral_of_le (d.area_pos i).le,branchMass] using h have hw := mul_le_mul_of_nonneg_left hc (sq_nonneg (weight i)) dsimp only [branchFlux] nlinarith only [hw] theorem gateFlux_sq_le_gateArea_mul_weightedHighMass (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) : (d.gateFlux weight)^2 ≤ d.gateArea weight*d.weightedHighMass weight := by exact finiteGate_cauchy (fun i => weight i*d.area i) (fun i => weight i*d.branchMass i) (d.branchFlux weight) d.plateau d.gate (fun i => mul_nonneg (hw0 i) (d.area_pos i).le) (fun i => mul_nonneg (hw0 i) (d.branchMass_nonneg i)) d.plateau_nonneg (d.branchFlux_sq_le weight) theorem trunkMass_nonneg (d : FiniteStarData ι alpha B) : 0 ≤ d.trunkMass := intervalIntegral.integral_nonneg_of_forall d.junction_lt_one.le (fun _ => sq_nonneg _) theorem weightedHighMass_nonneg (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) : 0 ≤ d.weightedHighMass weight := by exact add_nonneg (Finset.sum_nonneg (fun i _ => mul_nonneg (hw0 i) (d.branchMass_nonneg i))) (mul_nonneg d.plateau_nonneg (sq_nonneg _)) theorem weightedMass_nonneg (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) : 0 ≤ d.weightedMass weight := add_nonneg (d.weightedHighMass_nonneg weight hw0) d.trunkMass_nonneg theorem mass_nonneg (d : FiniteStarData ι alpha B) : 0 ≤ d.mass := add_nonneg (add_nonneg (Finset.sum_nonneg (fun i _ => d.branchMass_nonneg i)) (mul_nonneg d.plateau_nonneg (sq_nonneg _))) d.trunkMass_nonneg theorem gateArea_nonneg (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) : 0 ≤ d.gateArea weight := add_nonneg (Finset.sum_nonneg (fun i _ => mul_nonneg (hw0 i) (d.area_pos i).le)) d.plateau_nonneg theorem radialEnergy_nonneg (d : FiniteStarData ι alpha B) (halpha : 0 < alpha) (hB : 0 < B) : 0 ≤ d.radialEnergy := add_nonneg (Finset.sum_nonneg (fun i _ => intervalIntegral.integral_nonneg (d.area_pos i).le (fun s hs => mul_nonneg hs.1 (sq_nonneg _)))) (intervalIntegral.integral_nonneg d.junction_lt_one.le (fun s hs => mul_nonneg (d.affineWeight_pos halpha hB hs).le (sq_nonneg _))) theorem prefixGreen_nonneg (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (halpha : 0 < alpha) (hB : 0 < B) : 0 ≤ d.prefixGreen weight := add_nonneg (Finset.sum_nonneg (fun i _ => intervalIntegral.integral_nonneg (d.area_pos i).le (fun s hs => div_nonneg (sq_nonneg _) hs.1))) (intervalIntegral.integral_nonneg d.junction_lt_one.le (fun s hs => div_nonneg (sq_nonneg _) (d.affineWeight_pos halpha hB hs).le)) theorem branchGreen_intervalIntegrable (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) (hw1 : ∀ i, weight i ≤ 1) (i : ι) : IntervalIntegrable (fun s => (d.branchPrefix weight i s)^2/s) volume 0 (d.area i) := by apply (intervalIntegrable_iff_integrableOn_Ioc_of_le (d.area_pos i).le).mpr apply (d.branchPrefix_reciprocal_memLp weight hw0 hw1 i).integrable_sq.congr filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs change (d.branchPrefix weight i s/Real.sqrt s)^2 = (d.branchPrefix weight i s)^2/s rw [div_pow,Real.sq_sqrt hs.1.le] theorem trunkGreen_intervalIntegrable (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (halpha : 0 < alpha) (hB : 0 < B) : IntervalIntegrable (fun s => (d.trunkPrefix weight s)^2/(alpha*s+4*B)) volume d.junction 1 := by apply (intervalIntegrable_iff_integrableOn_Ioc_of_le d.junction_lt_one.le).mpr apply (d.trunkPrefix_reciprocal_memLp weight halpha hB).integrable_sq.congr filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs change (d.trunkPrefix weight s/Real.sqrt (alpha*s+4*B))^2 = (d.trunkPrefix weight s)^2/(alpha*s+4*B) rw [div_pow,Real.sq_sqrt (d.affineWeight_pos halpha hB ⟨hs.1.le,hs.2⟩).le] end Polya26.Strike.S06.Header.PrimitiveStar.FiniteStarData /-! Actual original-profile radial diagonal bound. Dilation uses sqrt(a), so the normalized L2 source retains exactly the original mass. No outer branch trace condition is imposed, and no division by a branch weight occurs. -/ noncomputable section open MeasureTheory Set open scoped BigOperators namespace Polya26.Strike.S06.Header.PrimitiveStar open Polya26.Strike.S01.Header.PureKernelSupport /-- The prefix transports with precisely one square root of the area. -/ theorem areaPrefix_dilatedProfile (F : ℝ → ℝ) {a : ℝ} (ha : 0 < a) (x : ℝ) : areaPrefix F (a*x) = Real.sqrt a*areaPrefix (Polya26.Strike.S01.Header.PureKernelSupport.dilatedProfile a F) x := by have hi : a*(∫ t in 0..x, F (a*t)) = ∫ s in 0..a*x, F s := by simpa only [zero_div,mul_div_cancel_left₀ _ ha.ne'] using Polya26.Strike.S01.Header.PureKernelSupport.integral_dilation F ha 0 (a*x) unfold areaPrefix Polya26.Strike.S01.Header.PureKernelSupport.dilatedProfile rw [intervalIntegral.integral_const_mul] calc (∫ s in 0..a*x, F s) = a*(∫ t in 0..x, F (a*t)) := hi.symm _ = Real.sqrt a*(Real.sqrt a*(∫ t in 0..x, F (a*t))) := by rw [← mul_assoc,← pow_two,Real.sq_sqrt ha.le] theorem areaPrefix_radialGreen_dilation (F : ℝ → ℝ) {a : ℝ} (ha : 0 < a) : (∫ s in 0..a, (areaPrefix F s)^2/s) = a*(∫ x in 0..1, (areaPrefix (Polya26.Strike.S01.Header.PureKernelSupport.dilatedProfile a F) x)^2/x) := by have hi := Polya26.Strike.S01.Header.PureKernelSupport.integral_dilation (fun s => (areaPrefix F s)^2/s) ha 0 a have hi' : a*(∫ x in 0..1, (areaPrefix F (a*x))^2/(a*x)) = ∫ s in 0..a, (areaPrefix F s)^2/s := by simpa only [zero_div,div_self ha.ne'] using hi rw [← hi'] congr 1 apply intervalIntegral.integral_congr intro x _ change (areaPrefix F (a*x))^2/(a*x) = (areaPrefix (Polya26.Strike.S01.Header.PureKernelSupport.dilatedProfile a F) x)^2/x rw [areaPrefix_dilatedProfile F ha x,mul_pow,Real.sq_sqrt ha.le] exact mul_div_mul_left _ _ ha.ne' /-- The checked unit-area Schur estimate at the ORIGINAL branch scale. -/ theorem actualBranch_radialGreen_le (F : ℝ → ℝ) (hF : Measurable F) (C : ℝ) (hC : 0 ≤ C) (hbound : ∀ s, ‖F s‖ ≤ C) {a : ℝ} (ha : 0 < a) : (∫ s in 0..a, (areaPrefix F s)^2/s) ≤ a/(QuantileFiniteCertificate.radialConstant : ℝ)*(∫ s in 0..a, (F s)^2) := by letI : IsFiniteMeasure Polya26.Strike.S01.Header.PureKernelSupport.unitAreaMeasure := Polya26.Strike.S01.Header.PureKernelSupport.unitAreaMeasure_finite letI : NullSingletonClass Polya26.Strike.S01.Header.PureKernelSupport.unitAreaMeasure := Polya26.Strike.S01.Header.PureKernelSupport.unitAreaMeasure_nullSingleton let H := Polya26.Strike.S01.Header.PureKernelSupport.dilatedProfile a F let HC := Real.sqrt a*C have hHm : Measurable H := by exact measurable_const.mul (hF.comp (measurable_const.mul measurable_id)) have hHC : 0 ≤ HC := mul_nonneg (Real.sqrt_nonneg _) hC have hHb (x : ℝ) : ‖H x‖ ≤ HC := by dsimp only [H,HC,Polya26.Strike.S01.Header.PureKernelSupport.dilatedProfile] rw [norm_mul,Real.norm_of_nonneg (Real.sqrt_nonneg _)] exact mul_le_mul_of_nonneg_left (hbound (a*x)) (Real.sqrt_nonneg _) have hHlp : MemLp H 2 Polya26.Strike.S01.Header.PureKernelSupport.unitAreaMeasure := MemLp.of_bound hHm.aestronglyMeasurable HC (Filter.Eventually.of_forall hHb) have hunit : (∫ x in 0..1, (areaPrefix H x)^2/x) ≤ (16/23)*(∫ x in 0..1, (H x)^2) := by rw [areaPrefix_unit_kernel_identity hHm HC hHC hHb] simpa only [Polya26.Strike.S01.Header.PureKernelSupport.unitAreaMeasure,intervalIntegral.integral_of_le (by norm_num : (0 : ℝ) ≤ 1)] using unitRadialLogKernel_quadratic_le_required H hHlp have hm : (∫ x in 0..1, (H x)^2) = ∫ s in 0..a, (F s)^2 := by simpa only [zero_div,div_self ha.ne',H] using Polya26.Strike.S01.Header.PureKernelSupport.dilatedProfile_mass F ha 0 a rw [hm] at hunit rw [areaPrefix_radialGreen_dilation F ha] refine (mul_le_mul_of_nonneg_left hunit ha.le).trans_eq ?_ norm_num [QuantileFiniteCertificate.radialConstant] ring /-- Weighted prefix numerator has w²; zero weight requires no separate limit. -/ theorem weightedBranch_radialGreen_le (F : ℝ → ℝ) (hF : Measurable F) (C : ℝ) (hC : 0 ≤ C) (hbound : ∀ s, ‖F s‖ ≤ C) {a : ℝ} (ha : 0 < a) (w : ℝ) : (∫ s in 0..a, (w*areaPrefix F s)^2/s) ≤ (w*a/(QuantileFiniteCertificate.radialConstant : ℝ))*(w*(∫ s in 0..a, (F s)^2)) := by have he : (∫ s in 0..a, (w*areaPrefix F s)^2/s) = w^2*(∫ s in 0..a, (areaPrefix F s)^2/s) := by rw [← intervalIntegral.integral_const_mul] apply intervalIntegral.integral_congr intro s _ change (w*areaPrefix F s)^2/s = w^2*((areaPrefix F s)^2/s) rw [mul_pow] ring rw [he] refine (mul_le_mul_of_nonneg_left (actualBranch_radialGreen_le F hF C hC hbound ha) (sq_nonneg w)).trans_eq ?_ ring namespace FiniteStarData variable {ι : Type*} [Fintype ι] {alpha B : ℝ} theorem branchRadialGreen_le (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (i : ι) : (∫ s in 0..d.area i, (d.branchPrefix weight i s)^2/s) ≤ (weight i*d.area i/(QuantileFiniteCertificate.radialConstant : ℝ))* (weight i*d.branchMass i) := weightedBranch_radialGreen_le (d.branch i) (d.branch_measurable i) d.heightBound d.heightBound_nonneg (fun s => by simpa only [Real.norm_eq_abs] using d.branch_bound i s) (d.area_pos i) (weight i) /-- Actual radial-diagonal input for the finite matrix factory. The plateau has zero diagonal Green term and retains its original mass on the right. -/ theorem branchGreen_sum_le (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) (_hw1 : ∀ i, weight i ≤ 1) (diagonal : ℝ) (hdiagonal : 0 ≤ diagonal) (hcoeff : ∀ i, weight i*d.area i/(QuantileFiniteCertificate.radialConstant : ℝ) ≤ diagonal) : (∑ i, ∫ s in 0..d.area i, (d.branchPrefix weight i s)^2/s) ≤ diagonal*d.weightedHighMass weight := by calc (∑ i, ∫ s in 0..d.area i, (d.branchPrefix weight i s)^2/s) ≤ ∑ i, diagonal*(weight i*d.branchMass i) := by apply Finset.sum_le_sum intro i _ exact (d.branchRadialGreen_le weight i).trans (mul_le_mul_of_nonneg_right (hcoeff i) (mul_nonneg (hw0 i) (d.branchMass_nonneg i))) _ = diagonal*(∑ i, weight i*d.branchMass i) := by rw [Finset.mul_sum] _ ≤ diagonal*d.weightedHighMass weight := mul_le_mul_of_nonneg_left (le_add_of_nonneg_right (mul_nonneg d.plateau_nonneg (sq_nonneg _))) hdiagonal end FiniteStarData end Polya26.Strike.S06.Header.PrimitiveStar /-! Actual finite Green forms feed the checked matrix interface. The ORIGINAL cap/loss floor is supplied separately by finite physical mass bookkeeping. Neither Cauchy nor a Green bound is an input to the factory. -/ noncomputable section open MeasureTheory Set Filter open scoped BigOperators namespace Polya26.Strike.S06.Header.PrimitiveStar theorem scalar_rankCross_sqrt_bound (diagonal R I0 I1 H MH MT A L : ℝ) (hR : 0 ≤ R) (hI0 : 0 ≤ I0) (hH : 0 ≤ H) (hMH : 0 ≤ MH) (hMT : 0 ≤ MT) (hA : A^2 ≤ H*MH) (hL : L^2 ≤ I0*MT) : diagonal*MH+R*A^2+2*A*L+Real.sqrt (2*I1)*MT ≤ (diagonal+R*H)*(Real.sqrt MH)^2+ 2*Real.sqrt (I0*H)*Real.sqrt MH*Real.sqrt MT+ Real.sqrt (2*I1)*(Real.sqrt MT)^2 := by have hc0 : 0 ≤ I0*H := mul_nonneg hI0 hH have hrank := mul_le_mul_of_nonneg_left hA hR have hprod : (A*L)^2 ≤ (Real.sqrt (I0*H)*Real.sqrt MH*Real.sqrt MT)^2 := by calc (A*L)^2 = A^2*L^2 := mul_pow _ _ _ _ ≤ (H*MH)*(I0*MT) := mul_le_mul hA hL (sq_nonneg _) (mul_nonneg hH hMH) _ = (Real.sqrt (I0*H)*Real.sqrt MH*Real.sqrt MT)^2 := by rw [mul_pow,mul_pow,Real.sq_sqrt hc0,Real.sq_sqrt hMH,Real.sq_sqrt hMT] ring have hcross : A*L ≤ Real.sqrt (I0*H)*Real.sqrt MH*Real.sqrt MT := by have hsq : |A*L|^2 ≤ (Real.sqrt (I0*H)*Real.sqrt MH*Real.sqrt MT)^2 := by simpa only [sq_abs] using hprod exact (le_abs_self _).trans ((sq_le_sq₀ (abs_nonneg _) (by positivity)).mp hsq) rw [Real.sq_sqrt hMH,Real.sq_sqrt hMT] nlinarith only [hrank,hcross] namespace FiniteStarData variable {ι : Type*} [Fintype ι] {alpha B : ℝ} theorem prefixGreen_le_matrix (d : FiniteStarData ι alpha B) (weight : ι → ℝ) (hw0 : ∀ i, 0 ≤ weight i) (hw1 : ∀ i, weight i ≤ 1) (ha : 0 < alpha) (hB : 0 < B) (diagonal : ℝ) (hd0 : 0 ≤ diagonal) (hdiagonal : ∀ i, weight i*d.area i/(QuantileFiniteCertificate.radialConstant : ℝ) ≤ diagonal) : d.prefixGreen weight ≤ (diagonal+QuantileFiniteCertificate.tailR alpha B d.junction*d.gateArea weight)* (Real.sqrt (d.weightedHighMass weight))^2+ 2*Real.sqrt (QuantileFiniteCertificate.tailI0 alpha B d.junction*d.gateArea weight)* Real.sqrt (d.weightedHighMass weight)*Real.sqrt d.trunkMass+ Real.sqrt (2*QuantileFiniteCertificate.tailI1 alpha B d.junction)* (Real.sqrt d.trunkMass)^2 := by have hfirst := d.branchGreen_sum_le weight hw0 hw1 diagonal hd0 hdiagonal have htrunk := d.trunkGreen_le weight ha hB have hsum : d.prefixGreen weight ≤ diagonal*d.weightedHighMass weight+ QuantileFiniteCertificate.tailR alpha B d.junction*(d.gateFlux weight)^2+ 2*d.gateFlux weight*d.trunkCross+ Real.sqrt (2*QuantileFiniteCertificate.tailI1 alpha B d.junction)*d.trunkMass := by exact (add_le_add hfirst htrunk).trans_eq (by ring) exact hsum.trans (scalar_rankCross_sqrt_bound diagonal (QuantileFiniteCertificate.tailR alpha B d.junction) (QuantileFiniteCertificate.tailI0 alpha B d.junction) (QuantileFiniteCertificate.tailI1 alpha B d.junction) (d.gateArea weight) (d.weightedHighMass weight) d.trunkMass (d.gateFlux weight) d.trunkCross (tailR_nonneg ha hB d.junction_nonneg d.junction_lt_one) (tailI0_nonneg ha hB d.junction_nonneg d.junction_lt_one) (d.gateArea_nonneg weight hw0) (d.weightedHighMass_nonneg weight hw0) d.trunkMass_nonneg (d.gateFlux_sq_le_gateArea_mul_weightedHighMass weight hw0) (d.trunkCross_sq_bound ha hB)) end FiniteStarData /-- Concrete matrix factory for a genuine finite star. The source mass may have an omitted-excess loss, but the analytic Green form does not alter the physical component cap denominator. -/ theorem finiteStarData_positiveMatrixProfile {ι : Type*} [Fintype ι] (p : QuantileFiniteCertificate.Params) (d : FiniteStarData ι (p.alpha : ℝ) (p.x : ℝ)) (ha : 0 < (p.alpha : ℝ)) (hB : 0 < (p.x : ℝ)) (small : Bool) (r : ℝ) (weight : ι → ℝ) (w m : ℝ) (hw0 : 0 ≤ w) (hw1 : w ≤ 1) (hpoint : QuantileFiniteCertificate.Contains (if small then QuantileFiniteCertificate.smallRootBox else QuantileFiniteCertificate.rootBox) d.junction r) (hweight0 : ∀ i, 0 ≤ weight i) (hweight1 : ∀ i, weight i ≤ 1) (hfloor : QuantileFiniteCertificate.branchFloor small w*m ≤ d.weightedMass weight) (hgate : d.gateArea weight = QuantileFiniteCertificate.branchMass small d.junction r w) (hdiag : ∀ i, weight i*d.area i/(QuantileFiniteCertificate.radialConstant : ℝ) ≤ QuantileFiniteCertificate.branchDiagonal small d.junction r w) : Nonempty (QuantileFiniteCertificate.PositiveMatrixProfile p small d.junction r m d.radialEnergy w) := by have hr0 : 0 ≤ r := by cases small <;> norm_num [QuantileFiniteCertificate.Contains, QuantileFiniteCertificate.rootBox,QuantileFiniteCertificate.smallRootBox] at hpoint <;> linarith [hpoint.2.2.1] have hdiag0 : 0 ≤ QuantileFiniteCertificate.branchDiagonal small d.junction r w := by cases small · exact div_nonneg (mul_nonneg d.junction_nonneg ((mul_nonneg hw0 hr0).trans (le_max_left _ _))) (by norm_num [QuantileFiniteCertificate.radialConstant]) · exact div_nonneg d.junction_nonneg (by norm_num [QuantileFiniteCertificate.radialConstant]) let R := QuantileFiniteCertificate.tailR (p.alpha : ℝ) (p.x : ℝ) d.junction let I0 := QuantileFiniteCertificate.tailI0 (p.alpha : ℝ) (p.x : ℝ) d.junction let I1 := QuantileFiniteCertificate.tailI1 (p.alpha : ℝ) (p.x : ℝ) d.junction have hH : 0 ≤ d.gateArea weight := d.gateArea_nonneg weight hweight0 have hMH := d.weightedHighMass_nonneg weight hweight0 have hMT := d.trunkMass_nonneg have hI0 : 0 ≤ I0 := tailI0_nonneg ha hB d.junction_nonneg d.junction_lt_one have hI1 : 0 ≤ 2*I1 := mul_nonneg (by norm_num) (tailI1_nonneg ha hB d.junction_nonneg d.junction_lt_one) refine ⟨{ weighted := d.weightedMass weight green := d.prefixGreen weight top := QuantileFiniteCertificate.branchDiagonal small d.junction r w+R*d.gateArea weight cross := Real.sqrt (I0*d.gateArea weight) trunk := Real.sqrt (2*I1) leftNorm := Real.sqrt (d.weightedHighMass weight) rightNorm := Real.sqrt d.trunkMass weighted_floor := hfloor cauchy := d.weightedMass_sq_le_radialEnergy_mul_prefixGreen weight hweight0 hweight1 ha hB green_form := d.prefixGreen_le_matrix weight hweight0 hweight1 ha hB (QuantileFiniteCertificate.branchDiagonal small d.junction r w) hdiag0 hdiag norm_mass := ?_ entry_top := ?_ entry_trunk_nonneg := Real.sqrt_nonneg _ entry_cross_sq := ?_ entry_trunk_sq := ?_ }⟩ · rw [Real.sq_sqrt hMH,Real.sq_sqrt hMT] rfl · rw [hgate] · rw [Real.sq_sqrt (mul_nonneg hI0 hH),hgate] · rw [Real.sq_sqrt hI1] end Polya26.Strike.S06.Header.PrimitiveStar /-! Finite actual branch weighting. The plateau and trunk always retain weight one. Component caps use the ORIGINAL sign mass, while the common loss-adjusted mass is used only in the certificate floor. -/ noncomputable section open Filter open scoped BigOperators Topology namespace Polya26.Strike.S05.Header.PrimitivePositiveWeights open QuantileFiniteCertificate open Polya26.Strike.S05.Header.PrimitivePositiveWeights section FiniteWeights variable {ι : Type*} [Fintype ι] def selectedBranchWeight (i : ι) (w : ℝ) (j : ι) : ℝ := by classical exact if j = i then w else 1 def finiteWeightedMass (mass : ι → ℝ) (plateauMass trunkMass : ℝ) (i : ι) (w : ℝ) : ℝ := (∑ j, selectedBranchWeight i w j * mass j) + plateauMass + trunkMass def finiteWeightedGateArea (area : ι → ℝ) (plateau : ℝ) (i : ι) (w : ℝ) : ℝ := (∑ j, selectedBranchWeight i w j * area j) + plateau theorem selectedBranchWeight_nonneg (i : ι) {w : ℝ} (hw : 0 ≤ w) (j : ι) : 0 ≤ selectedBranchWeight i w j := by classical by_cases h : j = i <;> simp [selectedBranchWeight, h, hw] theorem selectedBranchWeight_le_one (i : ι) {w : ℝ} (hw : w ≤ 1) (j : ι) : selectedBranchWeight i w j ≤ 1 := by classical by_cases h : j = i <;> simp [selectedBranchWeight, h, hw] theorem selectedBranchWeight_sum (value : ι → ℝ) (i : ι) (w : ℝ) : (∑ j, selectedBranchWeight i w j * value j) = (∑ j, value j) - (1 - w) * value i := by classical have hpoint (j : ι) : selectedBranchWeight i w j * value j = value j - if j = i then (1-w)*value j else 0 := by by_cases h : j = i · simp [selectedBranchWeight, h] ring · simp [selectedBranchWeight, h] simp_rw [hpoint] rw [Finset.sum_sub_distrib] simp theorem finiteWeightedMass_eq_original_loss (mass : ι → ℝ) (plateauMass trunkMass m lost : ℝ) (hmass : (∑ j, mass j) + plateauMass + trunkMass = m - lost) (i : ι) (w : ℝ) : finiteWeightedMass mass plateauMass trunkMass i w = m - lost - (1-w)*mass i := by unfold finiteWeightedMass rw [selectedBranchWeight_sum] linarith theorem finiteWeightedMass_original_cap_floor (mass : ι → ℝ) (plateauMass trunkMass m lost : ℝ) (hmass : (∑ j, mass j) + plateauMass + trunkMass = m - lost) (i : ι) (hcap : mass i ≤ (5 : ℝ)*m/8) (hlost : 0 ≤ lost) (w : ℝ) (hw0 : 0 ≤ w) (hw1 : w ≤ 1) : branchFloor false w * (m - 8*lost/3) ≤ finiteWeightedMass mass plateauMass trunkMass i w := by apply weighted_floor_of_original_cap_loss w m lost (mass i) (finiteWeightedMass mass plateauMass trunkMass i w) hw0 hw1 hlost hcap exact finiteWeightedMass_eq_original_loss mass plateauMass trunkMass m lost hmass i w theorem finiteUnweightedMass_loss_floor (m lost w : ℝ) (hlost : 0 ≤ lost) (hw0 : 0 ≤ w) : branchFloor true w * (m - 8*lost/3) ≤ m - lost := by apply uniform_loss_floor true w m lost (m-lost) hw0 hlost simp [branchFloor] theorem branch_area_le_junction (area : ι → ℝ) (plateau junction : ℝ) (ha : ∀ i, 0 ≤ area i) (hp : 0 ≤ plateau) (harea : (∑ i, area i) + plateau = junction) (i : ι) : area i ≤ junction := by have hs := Finset.single_le_sum (fun j hj => ha j) (Finset.mem_univ i) linarith theorem other_branch_area_le_rest (area : ι → ℝ) (plateau junction : ℝ) (ha : ∀ i, 0 ≤ area i) (hp : 0 ≤ plateau) (harea : (∑ i, area i) + plateau = junction) (i j : ι) (hji : j ≠ i) : area j ≤ junction - area i := by classical have hj : j ∈ (Finset.univ : Finset ι).erase i := Finset.mem_erase.mpr ⟨hji, Finset.mem_univ j⟩ have hs := Finset.single_le_sum (fun k hk => ha k) hj have he := Finset.sum_erase_add (Finset.univ : Finset ι) area (Finset.mem_univ i) linarith theorem selected_weighted_branch_area_bound (area : ι → ℝ) (plateau junction : ℝ) (ha : ∀ i, 0 ≤ area i) (hp : 0 ≤ plateau) (harea : (∑ i, area i) + plateau = junction) (i : ι) (w : ℝ) (j : ι) : selectedBranchWeight i w j * area j ≤ max (w*area i) (junction-area i) := by classical by_cases hji : j = i · subst j simpa [selectedBranchWeight] using le_max_left (w*area i) (junction-area i) · have hj := other_branch_area_le_rest area plateau junction ha hp harea i j hji simpa [selectedBranchWeight, hji] using hj.trans (le_max_right (w*area i) (junction-area i)) theorem finiteWeightedGateArea_eq (area : ι → ℝ) (plateau junction : ℝ) (harea : (∑ i, area i) + plateau = junction) (i : ι) (w : ℝ) : finiteWeightedGateArea area plateau i w = w*area i + junction-area i := by unfold finiteWeightedGateArea rw [selectedBranchWeight_sum] linarith theorem branchMass_large_eq {junction branch w : ℝ} (ht : 0 < junction) : branchMass false junction (branch/junction) w = w*branch + junction-branch := by simp only [branchMass, Bool.false_eq_true, ite_false] field_simp theorem branchDiagonal_large_eq {junction branch w : ℝ} (ht : 0 < junction) : branchDiagonal false junction (branch/junction) w = max (w*branch) (junction-branch) / (radialConstant : ℝ) := by have hleft : junction*(w*(branch/junction)) = w*branch := by field_simp have hright : junction*(1-branch/junction) = junction-branch := by field_simp have hmax : junction*max (w*(branch/junction)) (1-branch/junction) = max (w*branch) (junction-branch) := by rw [mul_max_of_nonneg _ _ ht.le, hleft, hright] simpa only [branchDiagonal, Bool.false_eq_true, ite_false] using congrArg (fun z : ℝ => z/(radialConstant : ℝ)) hmax theorem selected_weighted_area_le_large_diagonal (area : ι → ℝ) (plateau junction : ℝ) (ha : ∀ i, 0 ≤ area i) (hp : 0 ≤ plateau) (harea : (∑ i, area i) + plateau = junction) (ht : 0 < junction) (i : ι) (w : ℝ) (j : ι) : selectedBranchWeight i w j * area j ≤ branchDiagonal false junction (area i/junction) w * (radialConstant : ℝ) := by have hc : (radialConstant : ℝ) ≠ 0 := by norm_num [radialConstant] rw [branchDiagonal_large_eq ht, div_mul_cancel₀ _ hc] exact selected_weighted_branch_area_bound area plateau junction ha hp harea i w j theorem finiteWeightedGateArea_large_branchMass (area : ι → ℝ) (plateau junction : ℝ) (harea : (∑ i, area i) + plateau = junction) (ht : 0 < junction) (i : ι) (w : ℝ) : finiteWeightedGateArea area plateau i w = branchMass false junction (area i/junction) w := by rw [finiteWeightedGateArea_eq area plateau junction harea i w, branchMass_large_eq ht] theorem branchDiagonal_small_mul_radial (junction r w : ℝ) : branchDiagonal true junction r w * (radialConstant : ℝ) = junction/2 := by norm_num [branchDiagonal, radialConstant] ring theorem all_small_area_le_diagonal (area : ι → ℝ) (junction w : ℝ) (hsmall : ∀ i, area i ≤ junction/2) (i : ι) : (1 : ℝ)*area i ≤ branchDiagonal true junction (1/2) w * (radialConstant : ℝ) := by rw [branchDiagonal_small_mul_radial, one_mul] exact hsmall i theorem large_branch_rootBox {junction branch : ℝ} (hb : 0 < branch) (hbt : branch ≤ junction) (hhalf : junction/2 ≤ branch) (ht1 : junction ≤ 1) : Contains rootBox junction (branch/junction) := by have ht : 0 < junction := hb.trans_le hbt have hratio0 : (1 : ℝ)/2 ≤ branch/junction := by apply (le_div_iff₀ ht).2 linarith have hratio1 : branch/junction ≤ 1 := (div_le_one₀ ht).2 hbt norm_num only [Contains, rootBox, Rat.cast_zero, Rat.cast_one, Rat.cast_div, Rat.cast_ofNat] exact ⟨ht.le, ht1, hratio0, hratio1⟩ theorem all_small_rootBox {junction : ℝ} (ht0 : 0 ≤ junction) (ht1 : junction ≤ 1) : Contains smallRootBox junction (1/2) := by norm_num [Contains, smallRootBox] exact ⟨ht0, ht1⟩ /-- A finite family needs no global largest-component enumeration. The actual residual area includes every unselected area as a constant plateau. The analytic factory is called in exactly one of the two checked root boxes. -/ theorem positivePhaseWitness_of_finite_partition (p : Params) (area : ι → ℝ) (plateau junction m Q : ℝ) (ha : ∀ i, 0 < area i) (hp : 0 ≤ plateau) (harea : (∑ i, area i) + plateau = junction) (ht0 : 0 ≤ junction) (ht1 : junction ≤ 1) (hlarge : ∀ i, junction/2 ≤ area i → ∀ w : ℝ, 0 ≤ w → w ≤ 1 → Nonempty (PositiveMatrixProfile p false junction (area i/junction) m Q w)) (hsmall : (∀ i, area i ≤ junction/2) → ∀ w : ℝ, 0 ≤ w → w ≤ 1 → Nonempty (PositiveMatrixProfile p true junction (1/2) m Q w)) : PositivePhaseWitness p m Q := by classical by_cases h : ∃ i, junction/2 ≤ area i · obtain ⟨i, hi⟩ := h have hai := branch_area_le_junction area plateau junction (fun j => (ha j).le) hp harea i exact .large junction (area i/junction) (large_branch_rootBox (ha i) hai hi ht1) (hlarge i hi) · have hs : ∀ i, area i ≤ junction/2 := by intro i exact (not_le.mp fun hi => h ⟨i,hi⟩).le exact .small junction (1/2) (all_small_rootBox ht0 ht1) (hsmall hs) end FiniteWeights section ActualFiniteStarData open Polya26.Strike.S06.Header.PrimitiveStar variable {ι : Type*} [Fintype ι] {alpha B : ℝ} theorem finiteStar_weightedMass_original_loss (d : FiniteStarData ι alpha B) (m lost : ℝ) (hmass : d.mass = m-lost) (i : ι) (w : ℝ) : d.weightedMass (selectedBranchWeight i w) = m-lost-(1-w)*d.branchMass i := by change finiteWeightedMass d.branchMass (d.plateau*d.gate^2) d.trunkMass i w = _ exact finiteWeightedMass_eq_original_loss d.branchMass (d.plateau*d.gate^2) d.trunkMass m lost hmass i w theorem finiteStar_original_cap_floor (d : FiniteStarData ι alpha B) (m lost : ℝ) (hmass : d.mass = m-lost) (i : ι) (hcap : d.branchMass i ≤ (5 : ℝ)*m/8) (hlost : 0 ≤ lost) (w : ℝ) (hw0 : 0 ≤ w) (hw1 : w ≤ 1) : branchFloor false w * (m-8*lost/3) ≤ d.weightedMass (selectedBranchWeight i w) := by change _ ≤ finiteWeightedMass d.branchMass (d.plateau*d.gate^2) d.trunkMass i w exact finiteWeightedMass_original_cap_floor d.branchMass (d.plateau*d.gate^2) d.trunkMass m lost hmass i hcap hlost w hw0 hw1 theorem finiteStar_unweightedMass (d : FiniteStarData ι alpha B) : d.weightedMass (fun _ => 1) = d.mass := by simp [FiniteStarData.weightedMass, FiniteStarData.weightedHighMass, FiniteStarData.mass] theorem finiteStar_unweighted_loss_floor (d : FiniteStarData ι alpha B) (m lost : ℝ) (hmass : d.mass = m-lost) (hlost : 0 ≤ lost) (w : ℝ) (hw0 : 0 ≤ w) : branchFloor true w * (m-8*lost/3) ≤ d.weightedMass (fun _ => 1) := by rw [finiteStar_unweightedMass, hmass] exact finiteUnweightedMass_loss_floor m lost w hlost hw0 theorem finiteStar_junction_pos_of_index (d : FiniteStarData ι alpha B) (i : ι) : 0 < d.junction := by apply (d.area_pos i).trans_le exact branch_area_le_junction d.area d.plateau d.junction (fun j => (d.area_pos j).le) d.plateau_nonneg d.junction_area i theorem finiteStar_large_gateArea (d : FiniteStarData ι alpha B) (i : ι) (w : ℝ) : d.gateArea (selectedBranchWeight i w) = branchMass false d.junction (d.area i/d.junction) w := by change finiteWeightedGateArea d.area d.plateau i w = _ exact finiteWeightedGateArea_large_branchMass d.area d.plateau d.junction d.junction_area (finiteStar_junction_pos_of_index d i) i w theorem finiteStar_large_diagonal (d : FiniteStarData ι alpha B) (i : ι) (w : ℝ) (j : ι) : selectedBranchWeight i w j * d.area j / (radialConstant : ℝ) ≤ branchDiagonal false d.junction (d.area i/d.junction) w := by have hc : (0 : ℝ) < (radialConstant : ℝ) := by norm_num [radialConstant] apply (div_le_iff₀ hc).2 exact selected_weighted_area_le_large_diagonal d.area d.plateau d.junction (fun j => (d.area_pos j).le) d.plateau_nonneg d.junction_area (finiteStar_junction_pos_of_index d i) i w j theorem finiteStar_small_gateArea (d : FiniteStarData ι alpha B) (w : ℝ) : d.gateArea (fun _ => 1) = branchMass true d.junction (1/2) w := by simpa [FiniteStarData.gateArea, branchMass] using d.junction_area theorem finiteStar_small_diagonal (d : FiniteStarData ι alpha B) (w : ℝ) (hsmall : ∀ i, d.area i ≤ d.junction/2) (i : ι) : (1 : ℝ)*d.area i / (radialConstant : ℝ) ≤ branchDiagonal true d.junction (1/2) w := by have hc : (0 : ℝ) < (radialConstant : ℝ) := by norm_num [radialConstant] apply (div_le_iff₀ hc).2 exact all_small_area_le_diagonal d.area d.junction w hsmall i /-- The analytic factory sees the actual finite star and true weighted mass. Its floor is supplied from ORIGINAL caps, with one shared loss for all weights. The plateau is never selected or capped as a high branch. -/ theorem positivePhaseWitness_of_finiteStarData (p : Params) (d : FiniteStarData ι alpha B) (m lost : ℝ) (hmass : d.mass = m-lost) (hlost : 0 ≤ lost) (hcap : ∀ i, d.branchMass i ≤ (5 : ℝ)*m/8) (hfactory : ∀ (small : Bool) (r : ℝ) (weight : ι → ℝ) (w : ℝ), 0 ≤ w → w ≤ 1 → Contains (if small then smallRootBox else rootBox) d.junction r → (∀ i, 0 ≤ weight i) → (∀ i, weight i ≤ 1) → branchFloor small w * (m-8*lost/3) ≤ d.weightedMass weight → d.gateArea weight = branchMass small d.junction r w → (∀ i, weight i*d.area i/(radialConstant : ℝ) ≤ branchDiagonal small d.junction r w) → Nonempty (PositiveMatrixProfile p small d.junction r (m-8*lost/3) d.radialEnergy w)) : PositivePhaseWitness p (m-8*lost/3) d.radialEnergy := by apply positivePhaseWitness_of_finite_partition p d.area d.plateau d.junction (m-8*lost/3) d.radialEnergy d.area_pos d.plateau_nonneg d.junction_area d.junction_nonneg d.junction_lt_one.le · intro i hi w hw0 hw1 have hroot := large_branch_rootBox (d.area_pos i) (branch_area_le_junction d.area d.plateau d.junction (fun j => (d.area_pos j).le) d.plateau_nonneg d.junction_area i) hi d.junction_lt_one.le exact hfactory false (d.area i/d.junction) (selectedBranchWeight i w) w hw0 hw1 hroot (selectedBranchWeight_nonneg i hw0) (selectedBranchWeight_le_one i hw1) (finiteStar_original_cap_floor d m lost hmass i (hcap i) hlost w hw0 hw1) (finiteStar_large_gateArea d i w) (finiteStar_large_diagonal d i w) · intro hsmall w hw0 hw1 exact hfactory true (1/2) (fun _ => 1) w hw0 hw1 (all_small_rootBox d.junction_nonneg d.junction_lt_one.le) (fun i => by norm_num) (fun i => le_rfl) (finiteStar_unweighted_loss_floor d m lost hmass hlost w hw0) (finiteStar_small_gateArea d w) (finiteStar_small_diagonal d w hsmall) end ActualFiniteStarData /-- Remove the physical excess loss only AFTER each finite profile has been priced. Profiles may use different large/small cases at each n. -/ theorem limitingMethodControl_of_finite_profile_loss (p : Params) (large small : Tree) (x a k qP scale m : ℝ) (hscale : 0 ≤ scale) (hm : 0 < m) (hk : k = scale*m) (lost : ℕ → ℝ) (hlost : Tendsto lost atTop (𝓝 0)) (hprofiles : PositiveMethodAccepted (.forest p large small) → (p.x : ℝ) ≤ x → ∃ Q : ℝ, 0 ≤ Q ∧ scale*Q ≤ a*qP ∧ ∀ n : ℕ, 0 < m-8*lost n/3 → ∃ q : ℝ, 0 ≤ q ∧ q ≤ Q ∧ PositivePhaseWitness p (m-8*lost n/3) q) : PositiveMethodControl (.forest p large small) x a k qP := by intro haccepted hx obtain ⟨Q,hQ,hbudget,hfinite⟩ := hprofiles haccepted hx have hprice : (p.target : ℝ)*m ≤ Q := phase_price_of_uniform_profile_loss (fun mass energy hmass henergy hprofile => acceptedForest_profile_price haccepted mass energy hmass henergy hprofile) m Q lost hm hlost hfinite exact phasePrice_of_normalized scale m k Q a qP (p.target : ℝ) hscale hk hprice hbudget /-- Arbitrarily small physical finite capture is enough. No prechosen enumeration, convergence sequence or common finite-profile energy is required; each actual finite energy keeps its own physical budget. -/ theorem limitingMethodControl_of_arbitrarily_small_profile_loss (p : Params) (large small : Tree) (x a k qP scale m : ℝ) (hscale : 0 ≤ scale) (hm : 0 < m) (hk : k = scale*m) (hprofiles : PositiveMethodAccepted (.forest p large small) → (p.x : ℝ) ≤ x → ∀ ε : ℝ, 0 < ε → ∃ lost : ℝ, 0 ≤ lost ∧ lost < ε ∧ ∃ Q : ℝ, 0 ≤ Q ∧ scale*Q ≤ a*qP ∧ PositivePhaseWitness p (m-8*lost/3) Q) : PositiveMethodControl (.forest p large small) x a k qP := by classical intro haccepted hx let ε : ℕ → ℝ := fun n => 1/((n : ℝ)+1) have hε (n : ℕ) : 0 < ε n := by dsimp only [ε]; positivity have hεlim : Tendsto ε atTop (𝓝 0) := tendsto_one_div_add_atTop_nhds_zero_nat have hseq := fun n : ℕ => hprofiles haccepted hx (ε n) (hε n) choose lost hlost0 hlostε Q hQ hbudget hprofile using hseq have hlost : Tendsto lost atTop (𝓝 0) := tendsto_of_tendsto_of_tendsto_of_le_of_le tendsto_const_nhds hεlim hlost0 (fun n => (hlostε n).le) have hmasslim : Tendsto (fun n => m-8*lost n/3) atTop (𝓝 m) := by have hmconst : Tendsto (fun _ : ℕ => m) atTop (𝓝 m) := tendsto_const_nhds have h8const : Tendsto (fun _ : ℕ => (8 : ℝ)) atTop (𝓝 (8 : ℝ)) := tendsto_const_nhds have h := hmconst.sub ((h8const.mul hlost).div_const 3) simpa only [mul_zero, zero_div, sub_zero] using h have hpos : ∀ᶠ n in atTop, 0 < m-8*lost n/3 := (tendsto_order.1 hmasslim).1 0 hm have hbound : ∀ᶠ n in atTop, scale*(p.target : ℝ)*(m-8*lost n/3) ≤ a*qP := by filter_upwards [hpos] with n hn have hprice := acceptedForest_profile_price haccepted (m-8*lost n/3) (Q n) hn (hQ n) (hprofile n) have h := phasePrice_of_normalized scale (m-8*lost n/3) (scale*(m-8*lost n/3)) (Q n) a qP (p.target : ℝ) hscale rfl hprice (hbudget n) convert h using 1 <;> ring have hlim : Tendsto (fun n => scale*(p.target : ℝ)*(m-8*lost n/3)) atTop (𝓝 (scale*(p.target : ℝ)*m)) := tendsto_const_nhds.mul hmasslim have hfinal := le_of_tendsto hlim hbound calc k*(p.target : ℝ) = scale*(p.target : ℝ)*m := by rw [hk]; ring _ ≤ a*qP := hfinal /-- Direct physical finite-component capture. The only remaining input here is the actual finite-profile factory; the omitted ORIGINAL excess, its nonnegativity and its arbitrarily small limit are native conclusions. -/ theorem limitingMethodControl_of_actual_finite_capture {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hc : Continuous u) {tau : ℝ} (htau : 0 < tau) (p : Params) (large small : Tree) (x a k qP scale m : ℝ) (hscale : 0 ≤ scale) (hm : 0 < m) (hk : k = scale*m) (hprofiles : PositiveMethodAccepted (.forest p large small) → (p.x : ℝ) ≤ x → ∀ S : Finset (Set Math30.Polya.Plane), (∀ D ∈ S, ∃ z ∈ Polya26.QuantileCoreFamily.levelSet u tau, D = Polya26.QuantileCoreFamily.levelComponent u tau z) → Set.Pairwise (S : Set (Set Math30.Polya.Plane)) Disjoint → ∃ Q : ℝ, 0 ≤ Q ∧ scale*Q ≤ a*qP ∧ PositivePhaseWitness p (m-8*Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u tau (fun D : S => (D : Set Math30.Polya.Plane))/3) Q) : PositiveMethodControl (.forest p large small) x a k qP := by apply limitingMethodControl_of_arbitrarily_small_profile_loss p large small x a k qP scale m hscale hm hk intro haccepted hx epsilon hepsilon obtain ⟨S,hS,hdis,hsmall⟩ := Polya26.PlanarIsoperimetric.PhaseBudgets.exists_finite_high_components_small_original_excess hu hc htau hepsilon have hnonneg : 0 ≤ Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u tau (fun D : S => (D : Set Math30.Polya.Plane)) := Polya26.PlanarIsoperimetric.PhaseBudgets.omitted_excess_nonneg hc htau (Polya26.PlanarIsoperimetric.PhaseBudgets.genuine_finset_inputs hc hS hdis).1 obtain ⟨Q,hQ,hbudget,hprofile⟩ := hprofiles haccepted hx S hS hdis exact ⟨_,hnonneg,hsmall,Q,hQ,hbudget,hprofile⟩ end Polya26.Strike.S05.Header.PrimitivePositiveWeights /-! Actual finite capture, physical normalized profiles, actual Cauchy and Green estimates, ORIGINAL component caps and the lost-excess limit supply the positive forest MethodControl. No abstract profile-energy hypothesis is retained in the physical endpoint. -/ noncomputable section open Set MeasureTheory open scoped BigOperators Topology ContDiff namespace Polya26.Strike.S05.Header.PrimitivePositiveControl open QuantileFiniteCertificate open Polya26.Strike.S05.Header.PrimitivePositiveWeights open Polya26.Strike.S06.Header.PrimitiveStar open Polya26.ComponentCutoff open Polya26.Strike.S03.Header.PrimitiveProfiles -- These two declarations are the checked w01 AcceptedParameters source. theorem checkTree_goodParams {p : Params} {small turn : Bool} {b : Box} {tree : Tree} (h : checkTree p small turn b tree = true) : GoodParams p := by induction tree generalizing turn b with | leaf tag => exact (checkLeaf_sound h).1 | split left right ihl ihr => have hh : checkTree p small (!turn) (leftBox small turn b) left = true ∧ checkTree p small (!turn) (rightBox small turn b) right = true := Bool.and_eq_true_iff.mp h exact ihl hh.1 theorem acceptedForest_goodParams {p : Params} {large small : Tree} (h : PositiveMethodAccepted (.forest p large small)) : GoodParams p := checkTree_goodParams h.1 theorem finiteStarData_positivePhaseWitness_actual {ι : Type*} [Fintype ι] (p : Params) (d : FiniteStarData ι (p.alpha : ℝ) (p.x : ℝ)) (ha : 0 < (p.alpha : ℝ)) (hB : 0 < (p.x : ℝ)) (m lost : ℝ) (hmass : d.mass = m-lost) (hlost : 0 ≤ lost) (hcap : ∀ i, d.branchMass i ≤ (5 : ℝ)*m/8) : PositivePhaseWitness p (m-8*lost/3) d.radialEnergy := by apply positivePhaseWitness_of_finiteStarData p d m lost hmass hlost hcap intro small r weight w hw0 hw1 hpoint hweight0 hweight1 hfloor hgate hdiag exact finiteStarData_positiveMatrixProfile p d ha hB small r weight w (m-8*lost/3) hw0 hw1 hpoint hweight0 hweight1 hfloor hgate hdiag /-- Every physical hypothesis is displayed: smooth compact support, true all-lower-level wrapping, and ORIGINAL strict-high component caps. There is no branch-count, plateau cap, profile model or Green hypothesis. -/ theorem actual_positive_forest_control {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B U : ℝ} (htau : 0 < tau) (hB : 0 < B) (hU : 0 < U) (hbound : ∀ z, u z ≤ U) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (p : Params) (large small : Tree) : PositiveMethodControl (.forest p large small) (B/Math30.Polya.area {z | 0 < u z}) (Math30.Polya.area {z | 0 < u z}) (∫ z in {z | 0 < u z}, (u z)^2) ((∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2)/(4*Real.pi)) := by apply limitingMethodControl_of_actual_finite_capture hu hf.continuous htau p large small (B/Math30.Polya.area {z | 0 < u z}) (Math30.Polya.area {z | 0 < u z}) (∫ z in {z | 0 < u z}, (u z)^2) ((∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2)/(4*Real.pi)) 1 (∫ z in {z | 0 < u z}, (u z)^2) (by norm_num) hm (by ring) intro haccepted hx S hS hdis have hcfg := acceptedForest_goodParams haccepted have ha : 0 < (p.alpha : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hcfg.2.1 have hxp : 0 < (p.x : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hcfg.1 obtain ⟨points,hsets,⟨frame⟩⟩ := exists_actual_finiteStarFrame_of_genuine_finset hu hf htau hB hU hbound hS hdis hwrap p hcfg hx have hfamily : (fun D : S => component u tau (points D)) = (fun D : S => (D : Set Math30.Polya.Plane)) := funext hsets have hmass := frame.original_mass rw [hfamily] at hmass have hlost : 0 ≤ Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u tau (fun D : S => (D : Set Math30.Polya.Plane)) := Polya26.PlanarIsoperimetric.PhaseBudgets.omitted_excess_nonneg hf.continuous htau (Polya26.PlanarIsoperimetric.PhaseBudgets.genuine_finset_inputs hf.continuous hS hdis).1 have hbranchcap (D : S) : frame.data.branchMass D ≤ (5 : ℝ)*(∫ z in {z | 0 < u z}, (u z)^2)/8 := by rw [frame.original_branch_mass D, hsets D] obtain ⟨z,hz,hDz⟩ := hS D D.property rw [hDz] exact hcap z hz have hprofile := finiteStarData_positivePhaseWitness_actual p frame.data ha hxp (∫ z in {z | 0 < u z}, (u z)^2) (Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u tau (fun D : S => (D : Set Math30.Polya.Plane))) hmass hlost hbranchcap refine ⟨frame.data.radialEnergy,frame.data.radialEnergy_nonneg ha hxp,?_,hprofile⟩ simpa only [one_mul,mul_div_assoc] using frame.physical_energy_budget theorem actual_positive_fk_control {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) (x : ℝ) : PositiveMethodControl .fk x (Math30.Polya.area {z | 0 < u z}) (∫ z in {z | 0 < u z}, (u z)^2) ((∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2)/(4*Real.pi)) := by have hfk : (23/4 : ℝ)*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2) ≤ Math30.Polya.area {z | 0 < u z}*(∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by simpa only [Polya26.Strike.S05.Header.PrimitiveSupport.positivePhase,Polya26.Strike.S05.Header.PrimitiveSupport.norm_gradient_eq_fderiv] using (Polya26.Strike.S05.Header.PrimitiveSupport.positive_phase_fk hu (hf.of_le (by simp))) change (∫ z in {z | 0 < u z}, (u z)^2)*(radialConstant : ℝ) ≤ _ rw [← mul_div_assoc] apply (le_div_iff₀ (show (0 : ℝ) < 4*Real.pi by positivity)).2 norm_num only [radialConstant, Rat.cast_div, Rat.cast_ofNat] convert hfk using 1 <;> ring /-- The compact smooth function supplies its own positive uniform upper bound. Thus the catalog interface retains only actual wrapping and caps. -/ theorem actual_positive_method_control {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (method : PositiveMethod) : PositiveMethodControl method (B/Math30.Polya.area {z | 0 < u z}) (Math30.Polya.area {z | 0 < u z}) (∫ z in {z | 0 < u z}, (u z)^2) ((∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2)/(4*Real.pi)) := by cases method with | fk => exact actual_positive_fk_control hu hf _ | forest p large small => obtain ⟨C,hC⟩ := hf.continuous.bddAbove_range_of_hasCompactSupport hu let U : ℝ := max C 0+1 have hU : 0 < U := by have h := le_max_right C (0 : ℝ) dsimp [U] linarith have hbound (z : Math30.Polya.Plane) : u z ≤ U := by have hz := hC (Set.mem_range_self z) have h := le_max_left C (0 : ℝ) dsimp [U] linarith exact actual_positive_forest_control hu hf htau hB hU hbound hwrap hm hcap p large small theorem actual_positive_catalog_price {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (entries : List PositiveEntry) (hcheck : checkPositiveCatalog entries = true) (haccepted : PositiveCatalogAccepted entries) : ∀ band ∈ positiveBands entries, (band.lo : ℝ) ≤ B/Math30.Polya.area {z | 0 < u z} → (∫ z in {z | 0 < u z}, (u z)^2)*(band.value : ℝ) ≤ Math30.Polya.area {z | 0 < u z}* ((∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2)/(4*Real.pi)) := by apply checkedPositiveCatalog_price entries hcheck haccepted _ _ _ _ hm.le intro entry hentry exact actual_positive_method_control hu hf htau hB hwrap hm hcap entry.method theorem actual_positive_catalog_physical_price {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (entries : List PositiveEntry) (hcheck : checkPositiveCatalog entries = true) (haccepted : PositiveCatalogAccepted entries) : ∀ band ∈ positiveBands entries, (band.lo : ℝ) ≤ B/Math30.Polya.area {z | 0 < u z} → (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2))*(band.value : ℝ) ≤ Math30.Polya.area {z | 0 < u z}* (∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by intro band hband hx have h := actual_positive_catalog_price hu hf htau hB hwrap hm hcap entries hcheck haccepted band hband hx calc (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2))*(band.value : ℝ) = (4*Real.pi)*((∫ z in {z | 0 < u z}, (u z)^2)*(band.value : ℝ)) := by ring _ ≤ (4*Real.pi)*(Math30.Polya.area {z | 0 < u z}* ((∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2)/(4*Real.pi))) := mul_le_mul_of_nonneg_left h (by positivity) _ = Math30.Polya.area {z | 0 < u z}* (∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by field_simp end Polya26.Strike.S05.Header.PrimitivePositiveControl /-! Original finite captures converge to the actual positive phase price. The price input is the literal checked profile theorem, so either fixed-axis or adaptive forests, and either initial split direction, can be consumed. -/ noncomputable section open Filter Set open scoped Topology namespace Polya26.Strike.S05.Header.PrimitiveCapturePrice open QuantileFiniteCertificate Polya26.Strike.S05.Header.PrimitivePositiveWeights abbrev Plane := Math30.Polya.Plane /-- Checked fixed-axis trees provide the full original profile price, including the actual all-small alternative. The initial large-tree split direction is retained exactly as it occurs in the arithmetic certificate. -/ theorem profile_price_of_checked_trees (p : Params) (large small : Tree) (turn : Bool) (hlarge : checkTree p false turn rootBox large = true) (hsmall : checkTree p true true smallRootBox small = true) : ∀ m Q : ℝ, 0 < m → 0 ≤ Q → PositivePhaseWitness p m Q → (p.target : ℝ) * m ≤ Q := by intro m Q hm hQ hprofile cases hprofile with | large t r hpoint hprofiles => exact checkedTree_positive_energy p false turn rootBox large hlarge t r hpoint m Q hm hQ hprofiles | small t r hpoint hprofiles => exact checkedTree_positive_energy p true true smallRootBox small hsmall t r hpoint m Q hm hQ hprofiles theorem goodParams_of_checked_large_tree (p : Params) (tree : Tree) (turn : Bool) (h : checkTree p false turn rootBox tree = true) : GoodParams p := by have hpoint : Contains rootBox (0 : ℝ) (1 / 2) := by norm_num [Contains, rootBox] obtain ⟨b, tag, hmem, hgood⟩ := checkTree_coverage p false tree turn rootBox h 0 (1 / 2) hpoint exact hgood.1 theorem goodParams_of_adaptive_large_tree {p : Params} {tree : AdaptiveTree} (h : AdaptiveChecked p false rootBox tree) : GoodParams p := by have hpoint : Contains rootBox (0 : ℝ) (1 / 2) := by norm_num [Contains, rootBox] obtain ⟨b, tag, hmem, hgood⟩ := h.coverage 0 (1 / 2) hpoint exact hgood.1 /-- The only analytic input is a genuine finite-profile producer with its original omitted excess and actual physical energy budget. The omitted original excess is nonnegative and tends to zero by finite capture. No profile, loss, or energy limit is supplied as a premise. -/ theorem actual_price_of_finite_capture {u : Plane → ℝ} (hu : HasCompactSupport u) (hc : Continuous u) {tau : ℝ} (htau : 0 < tau) (p : Params) (price : ∀ m Q : ℝ, 0 < m → 0 ≤ Q → PositivePhaseWitness p m Q → (p.target : ℝ) * m ≤ Q) (scale m budget : ℝ) (hscale : 0 < scale) (hm : 0 < m) (hprofiles : ∀ S : Finset (Set Plane), (∀ D ∈ S, ∃ z ∈ Polya26.QuantileCoreFamily.levelSet u tau, D = Polya26.QuantileCoreFamily.levelComponent u tau z) → Set.Pairwise (S : Set (Set Plane)) Disjoint → ∃ Q : ℝ, 0 ≤ Q ∧ scale * Q ≤ budget ∧ PositivePhaseWitness p (m - 8 * Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u tau (fun D : S => (D : Set Plane)) / 3) Q) : (scale * m) * (p.target : ℝ) ≤ budget := by classical let epsilon : ℕ → ℝ := fun n => 1 / ((n : ℝ) + 1) have hepsilon (n : ℕ) : 0 < epsilon n := by dsimp only [epsilon] positivity have hepsilonlim : Tendsto epsilon atTop (𝓝 0) := tendsto_one_div_add_atTop_nhds_zero_nat have hcapture := fun n : ℕ => Polya26.PlanarIsoperimetric.PhaseBudgets.exists_finite_high_components_small_original_excess hu hc htau (hepsilon n) choose S hS hdis hsmall using hcapture let lost : ℕ → ℝ := fun n => Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u tau (fun D : S n => (D : Set Plane)) have hlost0 (n : ℕ) : 0 ≤ lost n := Polya26.PlanarIsoperimetric.PhaseBudgets.omitted_excess_nonneg hc htau (Polya26.PlanarIsoperimetric.PhaseBudgets.genuine_finset_inputs hc (hS n) (hdis n)).1 have hlost : Tendsto lost atTop (𝓝 0) := tendsto_of_tendsto_of_tendsto_of_le_of_le tendsto_const_nhds hepsilonlim hlost0 (fun n => (hsmall n).le) have hprice : (p.target : ℝ) * m ≤ budget / scale := by apply phase_price_of_uniform_profile_loss price m (budget / scale) lost hm hlost intro n hn obtain ⟨Q, hQ, hbudget, hprofile⟩ := hprofiles (S n) (hS n) (hdis n) refine ⟨Q, hQ, (le_div_iff₀ hscale).2 ?_, hprofile⟩ simpa only [mul_comm] using hbudget have hfinal := (le_div_iff₀ hscale).1 hprice convert hfinal using 1 <;> ring end Polya26.Strike.S05.Header.PrimitiveCapturePrice /-! Typed adaptive forests consume the same actual original finite-star producer as fixed-axis trees. Concrete catalog lists and their exact band equalities are separate arithmetic inputs; no casts between tree types are used. -/ noncomputable section open Set MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S05.Header.PrimitivePositiveControl open QuantileFiniteCertificate open Polya26.Strike.S05.Header.PrimitivePositiveWeights open Polya26.Strike.S06.Header.PrimitiveStar Polya26.ComponentCutoff open Polya26.Strike.S03.Header.PrimitiveProfiles open Polya26.Strike.S05.Header.PrimitiveCapturePrice theorem actual_positive_finite_profile_physical {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B U : ℝ} (htau : 0 < tau) (hB : 0 < B) (hU : 0 < U) (hbound : ∀ z, u z ≤ U) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (p : Params) (hcfg : GoodParams p) (hx : (p.x : ℝ) ≤ B/Math30.Polya.area {z | 0 < u z}) (S : Finset (Set Math30.Polya.Plane)) (hS : ∀ D ∈ S, ∃ z ∈ Polya26.QuantileCoreFamily.levelSet u tau, D = Polya26.QuantileCoreFamily.levelComponent u tau z) (hdis : Set.Pairwise (S : Set (Set Math30.Polya.Plane)) Disjoint) : ∃ Q : ℝ, 0 ≤ Q ∧ (4*Real.pi)*Q ≤ Math30.Polya.area {z | 0 < u z}*(∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) ∧ PositivePhaseWitness p ((∫ z in {z | 0 < u z}, (u z)^2)- 8*Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u tau (fun D : S => (D : Set Math30.Polya.Plane))/3) Q := by have ha : 0 < (p.alpha : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hcfg.2.1 have hxp : 0 < (p.x : ℝ) := (Rat.cast_pos (K := ℝ)).mpr hcfg.1 obtain ⟨points,hsets,⟨frame⟩⟩ := exists_actual_finiteStarFrame_of_genuine_finset hu hf htau hB hU hbound hS hdis hwrap p hcfg hx have hfamily : (fun D : S => component u tau (points D)) = (fun D : S => (D : Set Math30.Polya.Plane)) := funext hsets have hmass := frame.original_mass rw [hfamily] at hmass have hlost : 0 ≤ Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u tau (fun D : S => (D : Set Math30.Polya.Plane)) := Polya26.PlanarIsoperimetric.PhaseBudgets.omitted_excess_nonneg hf.continuous htau (Polya26.PlanarIsoperimetric.PhaseBudgets.genuine_finset_inputs hf.continuous hS hdis).1 have hbranchcap (D : S) : frame.data.branchMass D ≤ (5 : ℝ)*(∫ z in {z | 0 < u z}, (u z)^2)/8 := by rw [frame.original_branch_mass D, hsets D] obtain ⟨z,hz,hDz⟩ := hS D D.property rw [hDz] exact hcap z hz have hprofile := finiteStarData_positivePhaseWitness_actual p frame.data ha hxp (∫ z in {z | 0 < u z}, (u z)^2) (Polya26.PlanarIsoperimetric.PhaseBudgets.omittedExcess u tau (fun D : S => (D : Set Math30.Polya.Plane))) hmass hlost hbranchcap refine ⟨frame.data.radialEnergy,frame.data.radialEnergy_nonneg ha hxp,?_,hprofile⟩ have hbudget := (le_div_iff₀ (show (0 : ℝ) < 4*Real.pi by positivity)).1 frame.physical_energy_budget simpa only [mul_comm] using hbudget theorem actual_positive_adaptive_forest_control {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (p : Params) (large small : AdaptiveTree) : AdaptivePositiveMethodControl (.forest p large small) (B/Math30.Polya.area {z | 0 < u z}) (Math30.Polya.area {z | 0 < u z}) (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2)) (∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by intro haccepted hx have hcfg := goodParams_of_adaptive_large_tree haccepted.1 obtain ⟨C,hC⟩ := hf.continuous.bddAbove_range_of_hasCompactSupport hu let U : ℝ := max C 0+1 have hU : 0 < U := by have h := le_max_right C (0 : ℝ); dsimp [U]; linarith have hbound (z : Math30.Polya.Plane) : u z ≤ U := by have hz := hC (Set.mem_range_self z) have h := le_max_left C (0 : ℝ) dsimp [U] linarith exact actual_price_of_finite_capture hu hf.continuous htau p (adaptiveForest_profile_price haccepted.1 haccepted.2) (4*Real.pi) (∫ z in {z | 0 < u z}, (u z)^2) (Math30.Polya.area {z | 0 < u z}*(∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2)) (by positivity) hm (actual_positive_finite_profile_physical hu hf htau hB hU hbound hwrap hcap p hcfg hx) theorem actual_positive_adaptive_method_control {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (method : AdaptivePositiveMethod) : AdaptivePositiveMethodControl method (B/Math30.Polya.area {z | 0 < u z}) (Math30.Polya.area {z | 0 < u z}) (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2)) (∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by cases method with | fk => have hfk := Polya26.Strike.S05.Header.PrimitiveSupport.positive_phase_fk hu (hf.of_le (by simp)) simp only [Polya26.Strike.S05.Header.PrimitiveSupport.positivePhase,Polya26.Strike.S05.Header.PrimitiveSupport.norm_gradient_eq_fderiv] at hfk change (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2))*(radialConstant : ℝ) ≤ _ norm_num only [radialConstant, Rat.cast_div, Rat.cast_ofNat] convert hfk using 1 <;> ring | forest p large small => exact actual_positive_adaptive_forest_control hu hf htau hB hwrap hm hcap p large small theorem actual_positive_adaptive_catalog_physical_price {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (entries : List AdaptivePositiveEntry) (hcheck : checkAdaptivePositiveCatalog entries = true) (haccepted : AdaptivePositiveCatalogAccepted entries) : ∀ band ∈ adaptivePositiveBands entries, (band.lo : ℝ) ≤ B/Math30.Polya.area {z | 0 < u z} → (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2))*(band.value : ℝ) ≤ Math30.Polya.area {z | 0 < u z}* (∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by apply checkedAdaptivePositiveCatalog_price entries hcheck haccepted _ _ _ _ (mul_nonneg (by positivity) hm.le) intro entry hentry exact actual_positive_adaptive_method_control hu hf htau hB hwrap hm hcap entry.method end Polya26.Strike.S05.Header.PrimitivePositiveControl /-! Exact tangent admitted forests price actual positive phases through exactly the same finite captures, original mass and omitted-excess limit. Catalog linkage remains an explicit arithmetic input. -/ noncomputable section open Set MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S05.Header.PrimitivePositiveControl open QuantileFiniteCertificate open Polya26.Strike.S05.Header.PrimitivePositiveWeights open Polya26.Strike.S06.Header.PrimitiveStar Polya26.ComponentCutoff open Polya26.Strike.S03.Header.PrimitiveProfiles open Polya26.Strike.S05.Header.PrimitiveCapturePrice theorem goodParams_of_tangent_large_tree {p : Params} {tree : TangentTree} (h : TangentChecked p false rootBox tree) : GoodParams p := by have hpoint : Contains rootBox (0 : ℝ) (1 / 2) := by norm_num [Contains, rootBox] obtain ⟨b, weight, mLo, mHi, hmem, hgood⟩ := h.coverage 0 (1 / 2) hpoint exact hgood.1 theorem actual_positive_tangent_forest_control {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (p : Params) (large small : TangentTree) : TangentPositiveMethodControl (.forest p large small) (B/Math30.Polya.area {z | 0 < u z}) (Math30.Polya.area {z | 0 < u z}) (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2)) (∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by intro haccepted hx have hcfg := goodParams_of_tangent_large_tree haccepted.1 obtain ⟨C,hC⟩ := hf.continuous.bddAbove_range_of_hasCompactSupport hu let U : ℝ := max C 0+1 have hU : 0 < U := by have h := le_max_right C (0 : ℝ); dsimp [U]; linarith have hbound (z : Math30.Polya.Plane) : u z ≤ U := by have hz := hC (Set.mem_range_self z) have h := le_max_left C (0 : ℝ) dsimp [U] linarith exact actual_price_of_finite_capture hu hf.continuous htau p (tangentForest_profile_price haccepted.1 haccepted.2) (4*Real.pi) (∫ z in {z | 0 < u z}, (u z)^2) (Math30.Polya.area {z | 0 < u z}*(∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2)) (by positivity) hm (actual_positive_finite_profile_physical hu hf htau hB hU hbound hwrap hcap p hcfg hx) theorem actual_positive_tangent_method_control {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (method : TangentPositiveMethod) : TangentPositiveMethodControl method (B/Math30.Polya.area {z | 0 < u z}) (Math30.Polya.area {z | 0 < u z}) (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2)) (∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by cases method with | fk => have hfk := Polya26.Strike.S05.Header.PrimitiveSupport.positive_phase_fk hu (hf.of_le (by simp)) simp only [Polya26.Strike.S05.Header.PrimitiveSupport.positivePhase,Polya26.Strike.S05.Header.PrimitiveSupport.norm_gradient_eq_fderiv] at hfk change (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2))*(radialConstant : ℝ) ≤ _ norm_num only [radialConstant, Rat.cast_div, Rat.cast_ofNat] convert hfk using 1 <;> ring | forest p large small => exact actual_positive_tangent_forest_control hu hf htau hB hwrap hm hcap p large small theorem actual_positive_tangent_catalog_physical_price {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (entries : List TangentPositiveEntry) (hcheck : checkTangentPositiveCatalog entries = true) (haccepted : TangentPositiveCatalogAccepted entries) : ∀ band ∈ tangentPositiveBands entries, (band.lo : ℝ) ≤ B/Math30.Polya.area {z | 0 < u z} → (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2))*(band.value : ℝ) ≤ Math30.Polya.area {z | 0 < u z}* (∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by apply checkedTangentPositiveCatalog_price entries hcheck haccepted _ _ _ _ (mul_nonneg (by positivity) hm.le) intro entry hentry exact actual_positive_tangent_method_control hu hf htau hB hwrap hm hcap entry.method theorem actual_positive_tangent_high_tail {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ ∞ u) {tau B : ℝ} (htau : 0 < tau) (hB : 0 < B) (hwrap : ∀ t ∈ Ioo (0 : ℝ) tau, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ B ≤ Math30.Polya.area (connectedComponentIn {z | t < u z}ᶜ z)) (hm : 0 < ∫ z in {z | 0 < u z}, (u z)^2) (hcap : ∀ z ∈ {z | tau < u z}, (∫ x in connectedComponentIn {x | tau < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8) (p : Params) (large small : TangentTree) (haccepted : TangentPositiveMethodAccepted (.forest p large small)) (hxConfig : p.x ≤ 7 / 50) (hpriceConfig : 8 / 3 ≤ p.target) (hx : (7 : ℝ)/50 ≤ B/Math30.Polya.area {z | 0 < u z}) : (4*Real.pi*(∫ z in {z | 0 < u z}, (u z)^2))*(8/3) ≤ Math30.Polya.area {z | 0 < u z}* (∫ z in {z | 0 < u z}, ‖fderiv ℝ u z‖^2) := by exact tangentHighTail_price p large small haccepted hxConfig hpriceConfig _ _ _ _ (mul_nonneg (by positivity) hm.le) (actual_positive_tangent_forest_control hu hf htau hB hwrap hm hcap p large small) hx end Polya26.Strike.S05.Header.PrimitivePositiveControl /-! The literal retained tangent catalog prices the actual selected positive phase. The final selected-energy bridge retains only the independent actual negative prices as an input. -/ noncomputable section open Set MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S05.Header.PrimitivePositivePrices open Math30.Polya Polya26.Strike.S06 QuantileFiniteCertificate open Polya26.Strike.S05.Header.PrimitivePositiveControl open Polya26.SelectedProfileAssembly Polya26.W04.TangentConcreteCatalog open QuantileFiniteCertificate.TangentData theorem positive_band_controls_of_selected {Ω : PlanarLipschitzDomain} {u : Math30.Polya.Plane → ℝ} (hu : IsTestFunction Ω.carrier u) (hm : 0 < OriginalMass u) {τ : ℝ} {K : Set Math30.Polya.Plane} (h : SelectedProfileConditions u τ K) : PositiveBandPriceControls W02ThinnedGrid.posBands u K := by have hmass : (∫ z in {z | 0 < u z}, (u z)^2) = OriginalMass u / 2 := by rw [positive_set_mass_eq hu.1.continuous] exact h.positive_half_mass have hmP : 0 < ∫ z in {z | 0 < u z}, (u z)^2 := by rw [hmass]; positivity have hwrap : ∀ t ∈ Ioo (0 : ℝ) τ, {z | t < u z}.Nonempty ∧ ∃ z : Math30.Polya.Plane, Bornology.IsBounded (connectedComponentIn {z | t < u z}ᶜ z) ∧ area K ≤ area (connectedComponentIn {z | t < u z}ᶜ z) := by intro t ht obtain ⟨p, hp, q, hq, hK, hbound⟩ := h.lower_level_enclosure t ht.1 ht.2 have hKcomp : K ⊆ (PositiveLevel u t)ᶜ := by intro z hz hzt have hzneg := h.terminal_negative hz change u z < 0 at hzneg change t < u z at hzt exact (not_lt_of_ge (le_of_lt ht.1)) (lt_trans hzt hzneg) have hKwhole : K ⊆ connectedComponentIn (PositiveLevel u t)ᶜ q := h.terminal_connected.isPreconnected.subset_connectedComponentIn hq hKcomp have hwhole : Bornology.IsBounded (connectedComponentIn (PositiveLevel u t)ᶜ q) := hbound.subset (connectedComponentIn_mono q (compl_subset_compl.mpr (connectedComponentIn_subset (PositiveLevel u t) p))) refine ⟨⟨p, hp⟩, q, hwhole, ?_⟩ exact ENNReal.toReal_mono hwhole.measure_lt_top.ne (measure_mono hKwhole) have hcap : ∀ z ∈ {z | τ < u z}, (∫ x in connectedComponentIn {x | τ < u x} z, (u x)^2) ≤ (5 : ℝ)*(∫ x in {x | 0 < u x}, (u x)^2)/8 := by intro z hz rw [hmass] convert h.high_component_original_cap z hz using 1 <;> ring have hc := actual_positive_tangent_catalog_physical_price hu.2.1 hu.1 h.threshold_pos h.terminal_area_pos hwrap hmP hcap entries entries_linked entries_accepted refine ⟨?_, ?_⟩ · intro hx have hx' : (7 : ℝ)/50 ≤ area K / area {z | 0 < u z} := hx have hh := actual_positive_tangent_high_tail hu.2.1 hu.1 h.threshold_pos h.terminal_area_pos hwrap hmP hcap high_xCfg high_xLarge high_xSmall high_accepted high_x_config high_price_config hx' simpa only [hmass, physicalScale, positiveArea, positiveEnergy] using hh · intro p hp hx have hp' : p ∈ tangentPositiveBands entries := by rw [bands_eq_thinned] exact hp have hx' : (p.lo : ℝ) ≤ area K / area {z | 0 < u z} := hx simpa only [hmass, physicalScale, positiveArea, positiveEnergy] using hc p hp' hx' theorem actualPositiveBandPrices : ActualPositiveBandPrices W02ThinnedGrid.posBands := by intro Ω u hu hm τ K h exact positive_band_controls_of_selected hu hm h theorem selectedProfileEnergy_of_negative_prices (hN : ActualNegativeBandPrices W02ThinnedGrid.negBands) : SelectedProfileEnergy := by intro Ω u hu hm τ K h have hp := Polya26.Strike.S05.Header.PrimitiveSupport.actual_physical_scalar_inputs hu hm h have hP := actualPositiveBandPrices Ω u hu hm τ K h have hN' := hN Ω u hu hm τ K h have hs := completeScalar_energy W02ThinnedGrid.posBands W02ThinnedGrid.negBands W02FastCoarseGrid.positive_bands_checked W02FastCoarseGrid.negative_bands_checked W02FastCoarseGrid.grid_checked (terminalX u K) (terminalBeta u K) (positiveArea u) (negativeArea u) (area Ω.carrier) (physicalScale u) (positiveEnergy u) (negativeEnergy u) hp.positive_area_pos hp.negative_area_pos hp.areas_le hp.scale_nonneg hp.positive_energy_nonneg hp.negative_energy_nonneg hp.x_nonneg hp.beta_pos hp.ratio hp.positive_fk hp.negative_fk hP.high_x hN'.low_beta hP.bands hN'.bands calc 16 * Real.pi * OriginalMass u = 8 * physicalScale u := by dsimp [physicalScale]; ring _ ≤ area Ω.carrier * (positiveEnergy u + negativeEnergy u) := hs _ ≤ area Ω.carrier * OriginalEnergy u := mul_le_mul_of_nonneg_left hp.energy_budget (area_pos Ω).le end Polya26.Strike.S05.Header.PrimitivePositivePrices end end end end end end end end end end end /- END M093 -/ /- BEGIN M094 -/ section /-! Actual weighted radial prefix pairing and negative phase witness. All masses are original profile masses. The profile is AC only away from the natural centre; bounded actual prefix flux pays the limiting endpoint. -/ noncomputable section open Set Filter MeasureTheory open scoped Topology namespace Polya26.Strike.S06.Header.PrimitiveStar open _root_.Polya26.Strike.S01.Header.PureKernelSupport /-- The weighted source uses one square root of the density, so its weighted kernel quadratic is EXACTLY the plain kernel on rho*F. -/ theorem densityWeightedKernel_quadratic_eq_plain (beta : ℝ) {p : ℝ} (hp0 : 0 ≤ p) (K : ℝ × ℝ → ℝ) (F : ℝ → ℝ) : kernelQuadratic (μ := unitAreaMeasure) (densityWeightedKernel beta p K) (fun s => Real.sqrt (thresholdDensity beta p s)*F s) = kernelQuadratic (μ := unitAreaMeasure) K (fun s => thresholdDensity beta p s*F s) := by unfold kernelQuadratic apply integral_congr_ae exact Eventually.of_forall fun z => by have hs0 (s : ℝ) : 0 ≤ thresholdDensity beta p s := by by_cases hx : s ≤ beta <;> simp [thresholdDensity,hx,hp0] unfold densityWeightedKernel dsimp only calc Real.sqrt (thresholdDensity beta p z.1)*K z*Real.sqrt (thresholdDensity beta p z.2)* (Real.sqrt (thresholdDensity beta p z.1)*F z.1* (Real.sqrt (thresholdDensity beta p z.2)*F z.2)) = K z*((Real.sqrt (thresholdDensity beta p z.1))^2*F z.1* ((Real.sqrt (thresholdDensity beta p z.2))^2*F z.2)) := by ring _ = _ := by rw [Real.sq_sqrt (hs0 z.1),Real.sq_sqrt (hs0 z.2)] end Polya26.Strike.S06.Header.PrimitiveStar noncomputable section open Set Filter MeasureTheory open scoped Topology namespace Polya26.Strike.S06.Header.PrimitiveStar open _root_.Polya26.Strike.S01.Header.PureKernelSupport /-- Actual weighted Cauchy on the original radial area measure. -/ theorem radialPrefix_pair_cauchy {h g : ℝ → ℝ} (hg : Measurable g) (C : ℝ) (hC : 0 ≤ C) (hbound : ∀ s, ‖g s‖ ≤ C) {b : ℝ} (hb : 0 < b) (hh : MemLp (fun s => Real.sqrt s*h s) 2 (volume.restrict (Ioo (0:ℝ) b))) : (∫ s in Ioo (0:ℝ) b, h s*areaPrefix g s)^2 ≤ (∫ s in Ioo (0:ℝ) b, s*(h s)^2)* (∫ s in Ioo (0:ℝ) b, (areaPrefix g s)^2/s) := by apply Polya26.Strike.S06.Header.PrimitiveStar.weightedIntegral_cauchy h (areaPrefix g) id ?_ hh (areaPrefix_div_sqrt_memLp hg C hC hbound hb) filter_upwards [ae_restrict_mem measurableSet_Ioo] with s hs using hs.1 end Polya26.Strike.S06.Header.PrimitiveStar noncomputable section open Set Filter MeasureTheory open scoped Topology namespace Polya26.Strike.S06.Header.PrimitiveStar open _root_.Polya26.Strike.S01.Header.PureKernelSupport theorem threshold_forcing_bound (beta : ℝ) {p C : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (hC : 0 ≤ C) {F : ℝ → ℝ} (hbound : ∀ s, ‖F s‖ ≤ C) (s : ℝ) : ‖thresholdDensity beta p s*F s‖ ≤ C := by obtain ⟨h0,h1⟩ := thresholdDensity_bounds beta hp0 hp1 s rw [norm_mul,Real.norm_eq_abs,abs_of_nonneg h0] exact (mul_le_mul h1 (hbound s) (norm_nonneg _) (by norm_num : (0:ℝ) ≤ 1)).trans_eq (one_mul C) theorem threshold_sqrt_forcing_bound (beta : ℝ) {p C : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (hC : 0 ≤ C) {F : ℝ → ℝ} (hbound : ∀ s, ‖F s‖ ≤ C) (s : ℝ) : ‖Real.sqrt (thresholdDensity beta p s)*F s‖ ≤ C := by obtain ⟨h0,h1⟩ := thresholdDensity_bounds beta hp0 hp1 s have hs1 : Real.sqrt (thresholdDensity beta p s) ≤ 1 := by simpa only [Real.sqrt_one] using Real.sqrt_le_sqrt h1 rw [norm_mul,Real.norm_eq_abs,abs_of_nonneg (Real.sqrt_nonneg _)] exact (mul_le_mul hs1 (hbound s) (norm_nonneg _) (by norm_num : (0:ℝ) ≤ 1)).trans_eq (one_mul C) theorem actual_negative_hs_nonneg {beta p : ℝ} (hb0 : 0 < beta) (hb1 : beta ≤ 1) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) : 0 ≤ Polya26.QuantileLogBounds.negativeHSsq beta p (Real.log (1/beta)) := by rw [← negativeWeightedKernel_hs_sq_expanded hb0 hb1 hp0 hp1] exact integral_nonneg fun z => sq_nonneg _ theorem negativeUnitGreen_bound {beta p C : ℝ} {F : ℝ → ℝ} (hb0 : 0 < beta) (hb1 : beta ≤ 1) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (hF : Measurable F) (hC : 0 ≤ C) (hbound : ∀ s, ‖F s‖ ≤ C) : (∫ s in 0..1, (areaPrefix (fun t => thresholdDensity beta p t*F t) s)^2/s) ≤ Real.sqrt (Polya26.QuantileLogBounds.negativeHSsq beta p (Real.log (1/beta))) * (∫ s in 0..1, thresholdDensity beta p s*(F s)^2) := by letI : IsFiniteMeasure unitAreaMeasure := unitAreaMeasure_finite letI : NullSingletonClass unitAreaMeasure := unitAreaMeasure_nullSingleton have hρ := thresholdDensity_measurable beta p have hg := hρ.mul hF have hgb := threshold_forcing_bound beta hp0 hp1 hC hbound rw [areaPrefix_unit_kernel_identity (g := fun t => thresholdDensity beta p t*F t) hg C hC hgb, ← densityWeightedKernel_quadratic_eq_plain beta hp0 unitRadialLogKernel F] have hsource : MemLp (fun s => Real.sqrt (thresholdDensity beta p s)*F s) 2 unitAreaMeasure := MemLp.of_bound ((Real.continuous_sqrt.measurable.comp hρ).mul hF).aestronglyMeasurable C (Eventually.of_forall (threshold_sqrt_forcing_bound beta hp0 hp1 hC hbound)) have hcoef := actual_negative_hs_nonneg hb0 hb1 hp0 hp1 have hgreen := negativeWeightedKernel_quadratic_le hb0 hb1 hp0 hp1 (Real.sqrt_nonneg _) (by rw [Real.sq_sqrt hcoef]) _ hsource convert hgreen using 1 rw [intervalIntegral.integral_of_le (by norm_num : (0:ℝ) ≤ 1)] congr 1 apply integral_congr_ae exact Eventually.of_forall fun s => by dsimp only rw [mul_pow,Real.sq_sqrt (thresholdDensity_bounds beta hp0 hp1 s).1] end Polya26.Strike.S06.Header.PrimitiveStar noncomputable section open Set Filter MeasureTheory open scoped Topology namespace Polya26.Strike.S06.Header.PrimitiveStar open _root_.Polya26.Strike.S01.Header.PureKernelSupport /-- Actual pairing plus weighted Cauchy, with no centre trace. -/ theorem densityWeightedPrefix_cauchy {F : ℝ → ℝ} {b beta p C : ℝ} (hb : 0 < b) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (hC : 0 ≤ C) (hFmeas : Measurable F) (hbound : ∀ s, ‖F s‖ ≤ C) (hF : ∀ eps > 0, eps < b → Polya26.Strike.S02.Header.PrimitiveOn F eps b) (houter : F b = 0) (hder : MemLp (fun s => Real.sqrt s*deriv F s) 2 (volume.restrict (Ioo (0:ℝ) b))) : (∫ s in 0..b, thresholdDensity beta p s*(F s)^2)^2 ≤ (∫ s in Ioo (0:ℝ) b, s*(deriv F s)^2)* (∫ s in 0..b, (areaPrefix (fun t => thresholdDensity beta p t*F t) s)^2/s) := by let g : ℝ → ℝ := fun s => thresholdDensity beta p s*F s have hg : Measurable g := (thresholdDensity_measurable beta p).mul hFmeas have hgb : ∀ s, ‖g s‖ ≤ C := threshold_forcing_bound beta hp0 hp1 hC hbound have hJlp := areaPrefix_div_sqrt_memLp hg C hC hgb hb have hiPair : IntegrableOn (fun s => deriv F s*areaPrefix g s) (Ioo (0:ℝ) b) volume := by apply (hder.integrable_mul hJlp).congr filter_upwards [ae_restrict_mem measurableSet_Ioo] with s hs change (Real.sqrt s*deriv F s)*(areaPrefix g s/Real.sqrt s) = deriv F s*areaPrefix g s have hsq : Real.sqrt s ≠ 0 := ne_of_gt (Real.sqrt_pos.2 hs.1) field_simp [hsq] have hiMass : IntervalIntegrable (fun s => thresholdDensity beta p s*(F s)^2) volume 0 b := by apply bounded_intervalIntegrable ((thresholdDensity_measurable beta p).mul (hFmeas.pow_const 2)) (C^2) ?_ 0 b intro s have hh := threshold_sqrt_forcing_bound beta hp0 hp1 hC hbound s have hsq := (sq_le_sq₀ (norm_nonneg _) hC).mpr hh rw [Real.norm_eq_abs, sq_abs, mul_pow, Real.sq_sqrt (thresholdDensity_bounds beta hp0 hp1 s).1] at hsq change ‖thresholdDensity beta p s*(F s)^2‖ ≤ C^2 rw [Real.norm_eq_abs,abs_of_nonneg (mul_nonneg (thresholdDensity_bounds beta hp0 hp1 s).1 (sq_nonneg _))] exact hsq have hiPairI : IntervalIntegrable (fun s => deriv F s*areaPrefix g s) volume 0 b := (intervalIntegrable_iff_integrableOn_Ioo_of_le hb.le).mpr hiPair have hpair := radialWeightedPrefix_pairing F (areaPrefix g) (thresholdDensity beta p) (deriv F) b C hb hC hF (areaPrefix_ac hg C hgb b) EventuallyEq.rfl (areaPrefix_deriv_ae hg C hgb hb.le) houter (fun s hs => by simpa only [Real.norm_eq_abs] using hbound s) (fun s hs => areaPrefix_bound C hgb hs) hiMass hiPairI have hc := radialPrefix_pair_cauchy hg C hC hgb hb hder rw [hpair,neg_sq] simpa only [intervalIntegral.integral_of_le hb.le,integral_Ioc_eq_integral_Ioo] using hc theorem areaPrefix_dilation (g : ℝ → ℝ) {b : ℝ} (hb : 0 < b) (x : ℝ) : areaPrefix (fun t => Real.sqrt b*g (b*t)) x = areaPrefix g (b*x)/Real.sqrt b := by have hi := integral_dilation g hb 0 (b*x) have hx : b*x/b = x := by field_simp simp only [zero_div,hx] at hi have hs : Real.sqrt b ≠ 0 := ne_of_gt (Real.sqrt_pos.2 hb) unfold areaPrefix rw [intervalIntegral.integral_const_mul] apply (eq_div_iff hs).mpr calc (Real.sqrt b*(∫ t in 0..x, g (b*t)))*Real.sqrt b = (Real.sqrt b)^2*(∫ t in 0..x, g (b*t)) := by ring _ = b*(∫ t in 0..x, g (b*t)) := by rw [Real.sq_sqrt hb.le] _ = _ := hi theorem areaPrefix_dilation_green (g : ℝ → ℝ) {b : ℝ} (hb : 0 < b) : b*(∫ x in 0..1, (areaPrefix (fun t => Real.sqrt b*g (b*t)) x)^2/x) = ∫ s in 0..b, (areaPrefix g s)^2/s := by have he : (fun x => (areaPrefix (fun t => Real.sqrt b*g (b*t)) x)^2/x) = fun x => (areaPrefix g (b*x))^2/(b*x) := by funext x rw [areaPrefix_dilation g hb x,div_pow,Real.sq_sqrt hb.le,div_div] rw [he] simpa only [zero_div,div_self hb.ne'] using integral_dilation (fun s => (areaPrefix g s)^2/s) hb 0 b theorem thresholdDensity_dilation {b : ℝ} (hb : 0 < b) (beta p x : ℝ) : thresholdDensity (b*beta) p (b*x) = thresholdDensity beta p x := by have he : b*x ≤ b*beta ↔ x ≤ beta := (mul_le_mul_iff_right₀ hb) simp only [thresholdDensity,he] theorem densityProfile_dilation_mass (F : ℝ → ℝ) {b : ℝ} (hb : 0 < b) (beta p : ℝ) : (∫ x in 0..1, thresholdDensity beta p x*(dilatedProfile b F x)^2) = ∫ s in 0..b, thresholdDensity (b*beta) p s*(F s)^2 := by calc _ = b*(∫ x in 0..1, thresholdDensity (b*beta) p (b*x)*(F (b*x))^2) := by rw [← intervalIntegral.integral_const_mul] apply intervalIntegral.integral_congr intro x hx dsimp only rw [thresholdDensity_dilation hb,dilatedProfile,mul_pow,Real.sq_sqrt hb.le] ring _ = _ := by simpa only [zero_div,div_self hb.ne'] using integral_dilation (fun s => thresholdDensity (b*beta) p s*(F s)^2) hb 0 b theorem densityProfile_dilation_green (F : ℝ → ℝ) {b : ℝ} (hb : 0 < b) (beta p : ℝ) : b*(∫ x in 0..1, (areaPrefix (fun t => thresholdDensity beta p t*dilatedProfile b F t) x)^2/x) = ∫ s in 0..b, (areaPrefix (fun t => thresholdDensity (b*beta) p t*F t) s)^2/s := by have he : (fun t => thresholdDensity beta p t*dilatedProfile b F t) = fun t => Real.sqrt b*(thresholdDensity (b*beta) p (b*t)*F (b*t)) := by funext t rw [thresholdDensity_dilation hb,dilatedProfile] ring rw [he] exact areaPrefix_dilation_green (fun t => thresholdDensity (b*beta) p t*F t) hb end Polya26.Strike.S06.Header.PrimitiveStar noncomputable section open Set Filter MeasureTheory open scoped Topology namespace Polya26.Strike.S06.Header.PrimitiveStar open _root_.Polya26.Strike.S01.Header.PureKernelSupport theorem thresholdProfile_mass {F : ℝ → ℝ} {b c p C : ℝ} (hb : 0 < b) (hc0 : 0 ≤ c) (hcb : c ≤ b) (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (hF : Measurable F) (hC : 0 ≤ C) (hbound : ∀ s, ‖F s‖ ≤ C) : (∫ s in 0..b, thresholdDensity c p s*(F s)^2) = p*(∫ s in 0..b, (F s)^2)+(1-p)*(∫ s in 0..c, (F s)^2) := by have hFs : ∀ s, ‖(F s)^2‖ ≤ C^2 := by intro s have hh := (sq_le_sq₀ (norm_nonneg _) hC).mpr (hbound s) rw [Real.norm_eq_abs,abs_of_nonneg (sq_nonneg (F s))] simpa only [Real.norm_eq_abs,sq_abs] using hh have hWs : ∀ s, ‖thresholdDensity c p s*(F s)^2‖ ≤ C^2 := by intro s obtain ⟨h0,h1⟩ := thresholdDensity_bounds c hp0 hp1 s rw [norm_mul,Real.norm_eq_abs,abs_of_nonneg h0] exact (mul_le_mul h1 (hFs s) (norm_nonneg _) (by norm_num : (0:ℝ) ≤ 1)).trans_eq (one_mul _) have hiF := bounded_intervalIntegrable (hF.pow_const 2) (C^2) hFs have hiW := bounded_intervalIntegrable (g := fun s => thresholdDensity c p s*(F s)^2) ((thresholdDensity_measurable c p).mul (hF.pow_const 2)) (C^2) hWs have hlow : (∫ s in 0..c, thresholdDensity c p s*(F s)^2) = ∫ s in 0..c, (F s)^2 := by apply intervalIntegral.integral_congr intro s hs rw [uIcc_of_le hc0] at hs simp only [thresholdDensity,if_pos hs.2,one_mul] have hhigh : (∫ s in c..b, thresholdDensity c p s*(F s)^2) = p*(∫ s in c..b, (F s)^2) := by rw [← intervalIntegral.integral_const_mul] apply intervalIntegral.integral_congr_ae_restrict rw [uIoc_of_le hcb] filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs simp only [thresholdDensity,if_neg (not_le.mpr hs.1)] rw [← intervalIntegral.integral_add_adjacent_intervals (hiW 0 c) (hiW c b),hlow,hhigh] rw [← intervalIntegral.integral_add_adjacent_intervals (hiF 0 c) (hiF c b)] ring /-- Complete actual negative witness for a bounded local-AC ORIGINAL profile. The prefix floor is original squared mass at the enlarged row cutoff; all energy, pairing and Green inequalities are constructed. -/ theorem negativePhaseWitness_of_profile (row : QuantileFiniteCertificate.NegativeRow) (hrow : QuantileFiniteCertificate.NegativeRowAccepted row) {F : ℝ → ℝ} {m D b C : ℝ} (hb : 0 < b) (hD : 0 ≤ D) (hC : 0 ≤ C) (hFmeas : Measurable F) (hbound : ∀ s, ‖F s‖ ≤ C) (hF : ∀ eps > 0, eps < b → Polya26.Strike.S02.Header.PrimitiveOn F eps b) (houter : F b = 0) (hder : MemLp (fun s => Real.sqrt s*deriv F s) 2 (volume.restrict (Ioo (0:ℝ) b))) (henergy : (∫ s in Ioo (0:ℝ) b, s*(deriv F s)^2) ≤ D) (hmass : (∫ s in 0..b, (F s)^2) = m) (hprefix : (5/8:ℝ)*m ≤ ∫ s in 0..b*(row.beta:ℝ), (F s)^2) : Nonempty (QuantileFiniteCertificate.NegativePhaseWitness row m (b*D)) := by rcases QuantileFiniteCertificate.checkNegativeRowNumerics_sound hrow.1 with ⟨hbeta, hmax, hp0, hpHalf, htarget, hnonneg, hbudget⟩ have hb0 : (0:ℝ) < (row.beta:ℝ) := (Rat.cast_pos (K := ℝ)).mpr hbeta have hb1 : (row.beta:ℝ) ≤ 1 := by have hh := (Rat.cast_le (K := ℝ)).mpr hmax norm_num at hh ⊢ linarith have hp0R : (0:ℝ) ≤ (row.weight:ℝ) := (Rat.cast_nonneg (K := ℝ)).mpr hp0 have hp1R : (row.weight:ℝ) ≤ 1 := by have hh := (Rat.cast_le (K := ℝ)).mpr hpHalf norm_num at hh ⊢ linarith let H := dilatedProfile b F let weighted := ∫ s in 0..b, thresholdDensity (b*(row.beta:ℝ)) (row.weight:ℝ) s*(F s)^2 let green := ∫ x in 0..1, (areaPrefix (fun t => thresholdDensity (row.beta:ℝ) (row.weight:ℝ) t*H t) x)^2/x let S := Real.sqrt (Polya26.QuantileLogBounds.negativeHSsq (row.beta:ℝ) (row.weight:ℝ) (Real.log (1/(row.beta:ℝ)))) have hfloor : (QuantileFiniteCertificate.negativeRowFloor row:ℝ)*m ≤ weighted := by dsimp only [weighted] rw [thresholdProfile_mass hb (mul_nonneg hb.le hb0.le) (by simpa only [mul_one] using mul_le_mul_of_nonneg_left hb1 hb.le) hp0R hp1R hFmeas hC hbound,hmass,QuantileFiniteCertificate.negativeRowFloor_cast] have hh := mul_le_mul_of_nonneg_left hprefix (sub_nonneg.mpr hp1R) nlinarith only [hh] have hgreen0 : 0 ≤ green := by dsimp only [green] rw [intervalIntegral.integral_of_le (by norm_num : (0:ℝ) ≤ 1)] apply integral_nonneg_of_ae filter_upwards [ae_restrict_mem measurableSet_Ioc] with s hs exact div_nonneg (sq_nonneg _) hs.1.le have hc := densityWeightedPrefix_cauchy hb hp0R hp1R hC hFmeas hbound hF houter hder (beta := b*(row.beta:ℝ)) have hgd := densityProfile_dilation_green F hb (row.beta:ℝ) (row.weight:ℝ) have hCauchy : weighted^2 ≤ (b*D)*green := by change weighted^2 ≤ (b*D)*green rw [← hgd] at hc calc weighted^2 ≤ (∫ s in Ioo (0:ℝ) b, s*(deriv F s)^2)*(b*green) := hc _ = b*(∫ s in Ioo (0:ℝ) b, s*(deriv F s)^2)*green := by ring _ ≤ b*D*green := mul_le_mul_of_nonneg_right (mul_le_mul_of_nonneg_left henergy hb.le) hgreen0 have hHmeas : Measurable H := by exact measurable_const.mul (hFmeas.comp (measurable_const.mul measurable_id)) have hHb : ∀ x, ‖H x‖ ≤ Real.sqrt b*C := by intro x dsimp only [H,dilatedProfile] rw [norm_mul,Real.norm_eq_abs,abs_of_nonneg (Real.sqrt_nonneg _)] exact mul_le_mul_of_nonneg_left (hbound (b*x)) (Real.sqrt_nonneg _) have hGreen := negativeUnitGreen_bound hb0 hb1 hp0R hp1R hHmeas (mul_nonneg (Real.sqrt_nonneg _) hC) hHb have hwm := densityProfile_dilation_mass F hb (row.beta:ℝ) (row.weight:ℝ) have hGreen' : green ≤ S*weighted := by change green ≤ S*(∫ s in 0..1, thresholdDensity (row.beta:ℝ) (row.weight:ℝ) s*(H s)^2) at hGreen change (∫ s in 0..1, thresholdDensity (row.beta:ℝ) (row.weight:ℝ) s*(H s)^2) = weighted at hwm rw [hwm] at hGreen exact hGreen refine ⟨⟨weighted,green,S,Real.sqrt_nonneg _,hfloor,hCauchy,hGreen',?_⟩⟩ dsimp only [S] rw [Real.sq_sqrt (actual_negative_hs_nonneg hb0 hb1 hp0R hp1R)] end Polya26.Strike.S06.Header.PrimitiveStar noncomputable section open Set Filter MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S06.Header.PrimitiveStar open _root_.Polya26.Strike.S01.Header.PureKernelSupport open Math30.Polya Polya26.Strike.S03.Header.ScalarCarrierRadialPilot Polya26.Strike.S03.Header.PrimitiveProfiles Polya26.Strike.S03.Header.PrimitiveProfileFactory Polya26.Strike.S03.Header.PrimitiveProfileFactory.Gates Polya26.Strike.S03.Header.PrimitiveProfileFactory.GateMoments Polya26.Strike.S01.Header.QuantileAlgebra Polya26.Strike.S05.Header.QuantileDistribution Polya26.Strike.S05.Header.FiniteValues Polya26.PlanarIsoperimetric /-- Actual square-gradient integrability, constructed through the compact ordinary derivative and its continuous norm. -/ theorem actual_gradient_sq_integrable {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) : Integrable (fun x : Math30.Polya.Plane => ‖gradient u x‖^2) volume := by have hd : HasCompactSupport (fderiv ℝ u) := hu.fderiv ℝ have hc : HasCompactSupport (fun x : Math30.Polya.Plane => ‖fderiv ℝ u x‖^2) := hd.comp_left (g := fun L : Math30.Polya.Plane →L[ℝ] ℝ => ‖L‖^2) (by simp) have hi : Integrable (fun x : Math30.Polya.Plane => ‖fderiv ℝ u x‖^2) volume := ((hf.continuous_fderiv one_ne_zero).norm.pow 2).integrable_of_hasCompactSupport hc simpa only [Polya26.Strike.S05.Header.PrimitiveSupport.norm_gradient_eq_fderiv] using hi /-- Physical factory: every profile/gate/derivative/moment premise is constructed from the ORIGINAL compact C1 function and its actual core. -/ theorem actualPositivePhase_negativeWitness (row : QuantileFiniteCertificate.NegativeRow) (hrow : QuantileFiniteCertificate.NegativeRowAccepted row) {u : Math30.Polya.Plane → ℝ} (hu : HasCompactSupport u) (hf : ContDiff ℝ 1 u) {p : Math30.Polya.Plane} (hp : 0 < u p) {K : Set Math30.Polya.Plane} (hK : MeasurableSet K) (hKD : K ⊆ {x : Math30.Polya.Plane | 0 < u x}) (hcore : (5/8:ℝ)*(∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x)^2) ≤ ∫ x in K, (u x)^2) (hcut : Math30.Polya.area K ≤ Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}*(row.beta:ℝ)) : Nonempty (QuantileFiniteCertificate.NegativePhaseWitness row (∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x)^2) (Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x}* ((∫ x in {x : Math30.Polya.Plane | 0 < u x}, ‖gradient u x‖^2)/(4*Real.pi)))) := by obtain ⟨B,hB⟩ := hf.continuous.bounded_above_of_compact_support hu let U : ℝ := max 1 B have hU : 0 < U := lt_of_lt_of_le zero_lt_one (le_max_left _ _) have hub (x : Math30.Polya.Plane) : u x ≤ U := by have hux : u x ≤ B := by calc u x ≤ |u x| := le_abs_self _ _ = ‖u x‖ := (Real.norm_eq_abs _).symm _ ≤ B := hB x exact hux.trans (le_max_right _ _) let b := Math30.Polya.area {x : Math30.Polya.Plane | 0 < u x} let f := positiveRadialProfile u hu U let F := gateExtension f 0 b (f 0) 0 let q := ∫ x in {x : Math30.Polya.Plane | 0 < u x}, ‖gradient u x‖^2 have hb : 0 < b := by have hmass := Polya26.Strike.S03.Header.PrimitiveProfileFactory.Gates.originalPositiveValues_mass_pos hu hf.continuous.measurable ((isOpen_lt continuous_const hf.continuous).measure_pos volume ⟨p,hp⟩) change 0 < ((positiveValueFinite u hu).mass : ℝ) at hmass rw [positiveValueFinite_mass hu hf.continuous.measurable] at hmass exact hmass have hs := smooth_positive_weighted_profile hu hf hp hU hub change ∃ h : ℝ → ℝ, WeightedProfile f id 0 b ((∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0:ℝ) U}, ‖gradient u x‖^2)/(4*Real.pi)) h ∧ (∀ eps > 0, eps < b → Polya26.Strike.S02.Header.PrimitiveOn F eps b) at hs obtain ⟨h,hprof,hac⟩ := hs have hfm : Measurable f := areaProfile_measurable _ hU.le hb have hFm : Measurable F := gateExtension_measurable hfm 0 b (f 0) 0 have hFb : ∀ s, ‖F s‖ ≤ U := by intro s have hfb (t : ℝ) : 0 ≤ f t ∧ f t ≤ U := areaProfile_bounds ((positiveValueFinite u hu).normalize : Measure ℝ) hU.le b t have hh : 0 ≤ F s ∧ F s ≤ U := by dsimp only [F, gateExtension] split_ifs with hs0 hsb · exact hfb 0 · exact ⟨le_rfl, hU.le⟩ · exact hfb s change ‖F s‖ ≤ U rw [Real.norm_eq_abs,abs_of_nonneg hh.1] exact hh.2 have hqint : Integrable (fun x : Math30.Polya.Plane => ‖gradient u x‖^2) volume := actual_gradient_sq_integrable hu hf have hqle : (∫ x in {x : Math30.Polya.Plane | u x ∈ Ioo (0:ℝ) U}, ‖gradient u x‖^2) ≤ q := setIntegral_mono_set hqint.integrableOn (Eventually.of_forall fun x => sq_nonneg _) (Eventually.of_forall fun x hx => hx.1) have hD : 0 ≤ q/(4*Real.pi) := div_nonneg (integral_nonneg fun x => sq_nonneg _) (by positivity) have hE : (∫ s in Ioo (0:ℝ) b, s*(deriv F s)^2) ≤ q/(4*Real.pi) := (hprof.gateExtension_energy_le (L := f 0) (R := 0)).trans (div_le_div_of_nonneg_right hqle (by positivity)) have hlp : MemLp (fun s => Real.sqrt s*deriv F s) 2 (volume.restrict (Ioo (0:ℝ) b)) := hprof.gateExtension_memLp (L := f 0) (R := 0) continuous_id (fun s hs => hs.1.le) have hm : (∫ s in 0..b, (F s)^2) = ∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x)^2 := by rw [intervalIntegral.integral_of_le hb.le,integral_Ioc_eq_integral_Ioo] rw [gateExtension_sq_integral] exact positiveRadialProfile_mass hu hf.continuous.measurable hU hub hb have hpref : (5/8:ℝ)*(∫ x in {x : Math30.Polya.Plane | 0 < u x}, (u x)^2) ≤ ∫ s in 0..b*(row.beta:ℝ), (F s)^2 := by have hcoreP := positive_gate_core_mass_le_prefix hu hf.continuous.measurable hU hub hb hK hKD have hsqb : ∀ s, ‖(F s)^2‖ ≤ U^2 := by intro s have hh := (sq_le_sq₀ (norm_nonneg _) hU.le).mpr (hFb s) rw [Real.norm_eq_abs,abs_of_nonneg (sq_nonneg (F s))] simpa only [Real.norm_eq_abs,sq_abs] using hh have hi := bounded_intervalIntegrable (hFm.pow_const 2) (U^2) hsqb 0 (b*(row.beta:ℝ)) have hc0 : (0:ℝ) ≤ b*(row.beta:ℝ) := ENNReal.toReal_nonneg.trans hcut have him : IntegrableOn (fun s => (F s)^2) (Ioo (0:ℝ) (b*(row.beta:ℝ))) volume := (intervalIntegrable_iff_integrableOn_Ioo_of_le hc0).mp hi have hmono : (∫ s in Ioo (0:ℝ) (Math30.Polya.area K), (F s)^2) ≤ ∫ s in Ioo (0:ℝ) (b*(row.beta:ℝ)), (F s)^2 := setIntegral_mono_set him (Eventually.of_forall fun s => sq_nonneg _) (Eventually.of_forall fun s hs => ⟨hs.1,hs.2.trans_le hcut⟩) rw [intervalIntegral.integral_of_le hc0,integral_Ioc_eq_integral_Ioo] exact hcore.trans (hcoreP.trans hmono) exact negativePhaseWitness_of_profile row hrow hb hD hU.le hFm hFb hac (gateExtension_right f hb (f 0) 0) hlp hE hm hpref end Polya26.Strike.S06.Header.PrimitiveStar noncomputable section open Set Filter MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S06.Header.PrimitiveStar open _root_.Polya26.Strike.S01.Header.PureKernelSupport open Math30.Polya Polya26.Strike.S06 Polya26.SelectedProfileAssembly /-- The exact selected negative phase, using its actual original terminal set, ORIGINAL half mass and phase energy. No profile premise is supplied. -/ theorem actual_selected_negative_row_witness (row : QuantileFiniteCertificate.NegativeRow) (hrow : QuantileFiniteCertificate.NegativeRowAccepted row) {Ω : PlanarLipschitzDomain} {u : Math30.Polya.Plane → ℝ} (hu : IsTestFunction Ω.carrier u) (hm : 0 < OriginalMass u) {τ : ℝ} {K : Set Math30.Polya.Plane} (h : SelectedProfileConditions u τ K) (hbeta : terminalBeta u K ≤ (row.beta:ℝ)) : Nonempty (QuantileFiniteCertificate.NegativePhaseWitness row (OriginalMass u/2) (negativeArea u*(negativeEnergy u/(4*Real.pi)))) := by have hf : ContDiff ℝ 1 u := hu.1.of_le (by simp) have hs := Polya26.Strike.S05.Header.PrimitiveSupport.actual_physical_scalar_inputs hu hm h have hmass : (∫ x in {x : Math30.Polya.Plane | u x < 0}, (u x)^2) = OriginalMass u/2 := by rw [negative_set_mass_eq hu.1.continuous] exact h.negative_half_mass obtain ⟨p,hpK⟩ := h.terminal_connected.nonempty have hp : 0 < (-u) p := neg_pos.mpr (h.terminal_negative hpK) have hKD : K ⊆ {x : Math30.Polya.Plane | 0 < (-u) x} := by intro x hx change 0 < -u x have hxneg : u x < 0 := h.terminal_negative hx exact neg_pos.mpr hxneg have hcore : (5/8:ℝ)*(∫ x in {x : Math30.Polya.Plane | 0 < (-u) x}, ((-u) x)^2) ≤ ∫ x in K, ((-u) x)^2 := by simp only [Pi.neg_apply,neg_pos,neg_sq] rw [hmass] have he : (5/8:ℝ)*(OriginalMass u/2) = 5*OriginalMass u/16 := by ring rw [he] exact h.terminal_original_mass have hb : 0 < area {x : Math30.Polya.Plane | 0 < (-u) x} := by simpa only [Pi.neg_apply,neg_pos,negativeArea] using hs.negative_area_pos have hbeta' : area K/area {x : Math30.Polya.Plane | 0 < (-u) x} ≤ (row.beta:ℝ) := by simpa only [terminalBeta,negativeArea,Pi.neg_apply,neg_pos] using hbeta have hcut : area K ≤ area {x : Math30.Polya.Plane | 0 < (-u) x}*(row.beta:ℝ) := by simpa only [mul_comm] using (div_le_iff₀ hb).mp hbeta' have hw := actualPositivePhase_negativeWitness row hrow hu.2.1.neg hf.neg hp h.terminal_compact.measurableSet hKD hcore hcut simpa only [Pi.neg_apply,neg_pos,neg_sq,Polya26.Strike.S05.Header.PrimitiveSupport.negative_gradient_energy, Polya26.Strike.S05.Header.PrimitiveSupport.norm_gradient_eq_fderiv,fderiv_neg,fderiv_fun_neg,norm_neg, hmass,negativeArea,negativeEnergy] using hw /-- Accepted-row price in the exact normalized contract consumed by the physical Band assembler. Everything analytic is constructed above. -/ theorem actual_selected_negative_row_price (row : QuantileFiniteCertificate.NegativeRow) (hrow : QuantileFiniteCertificate.NegativeRowAccepted row) {Ω : PlanarLipschitzDomain} {u : Math30.Polya.Plane → ℝ} (hu : IsTestFunction Ω.carrier u) (hm : 0 < OriginalMass u) {τ : ℝ} {K : Set Math30.Polya.Plane} (h : SelectedProfileConditions u τ K) (hbeta : terminalBeta u K ≤ (row.beta:ℝ)) : (row.target:ℝ)*(OriginalMass u/2) ≤ negativeArea u*(negativeEnergy u/(4*Real.pi)) := by apply QuantileFiniteCertificate.acceptedHS_profile_price hrow (OriginalMass u/2) (negativeArea u*(negativeEnergy u/(4*Real.pi))) (by positivity) ?_ (actual_selected_negative_row_witness row hrow hu hm h hbeta) exact mul_nonneg ENNReal.toReal_nonneg (div_nonneg (integral_nonneg fun x => sq_nonneg _) (by positivity)) end Polya26.Strike.S06.Header.PrimitiveStar end end end end end end end end /- END M094 -/ /- BEGIN M095 -/ section /-! Exact original 199 negative-band prices and the low-beta endpoint. The actual inverse(-u), terminal-core mass and radial phase energy are constructed by the imported actual selected-row theorem. Every FK fallback uses the actual compact-support FK root in the selected physical assembly. -/ noncomputable section open Set MeasureTheory open scoped Topology ContDiff namespace Polya26.Strike.S02.Header.NegativeBandPrices open Math30.Polya Polya26.Strike.S06 Polya26.SelectedProfileAssembly open QuantileFiniteCertificate QuantileFiniteCertificate.NegativeTable def ActualNegativePrice (n : Band) : Prop := ∀ (Ω : PlanarLipschitzDomain) (u : Math30.Polya.Plane → ℝ), IsTestFunction Ω.carrier u → 0 < OriginalMass u → ∀ τ K, SelectedProfileConditions u τ K → terminalBeta u K ≤ (n.hi : ℝ) → physicalScale u * (n.value : ℝ) ≤ negativeArea u * negativeEnergy u def AllBandPrices (ns : List Band) : Prop := ∀ n ∈ ns, ActualNegativePrice n theorem all_prices_nil : AllBandPrices [] := by simp [AllBandPrices] theorem all_prices_cons {n : Band} {ns : List Band} (hn : ActualNegativePrice n) (hs : AllBandPrices ns) : AllBandPrices (n :: ns) := by intro d hd rcases List.mem_cons.mp hd with rfl | hd · exact hn · exact hs d hd theorem all_prices_append {as bs : List Band} (ha : AllBandPrices as) (hb : AllBandPrices bs) : AllBandPrices (as ++ bs) := by intro n hn rcases List.mem_append.mp hn with hn | hn · exact ha n hn · exact hb n hn /-- The enlarged cutoff is the accepted row endpoint. All original core concentration and physical phase-energy inputs have already been proved. -/ theorem actual_band_price_of_row (n : Band) (row : NegativeRow) (hrow : NegativeRowAccepted row) (hhi : n.hi ≤ row.beta) (hvalue : n.value ≤ row.target) : ActualNegativePrice n := by intro Ω u hu hm τ K h hbeta have hbetaRow : terminalBeta u K ≤ (row.beta : ℝ) := hbeta.trans ((Rat.cast_le (K := ℝ)).mpr hhi) have hrowPrice := Polya26.Strike.S06.Header.PrimitiveStar.actual_selected_negative_row_price row hrow hu hm h hbetaRow have hphysical : physicalScale u * (row.target : ℝ) ≤ negativeArea u * negativeEnergy u := by apply physical_price_of_normalized (OriginalMass u / 2) (negativeArea u) (negativeEnergy u) (row.target : ℝ) rw [mul_comm (OriginalMass u / 2) (row.target : ℝ)] exact hrowPrice exact (mul_le_mul_of_nonneg_left ((Rat.cast_le (K := ℝ)).mpr hvalue) (Polya26.Strike.S05.Header.PrimitiveSupport.actual_physical_scalar_inputs hu hm h).scale_nonneg).trans hphysical theorem actual_band_price_of_fk (n : Band) (hvalue : n.value ≤ (23 / 16 : ℚ)) : ActualNegativePrice n := by intro Ω u hu hm τ K h hbeta have hvalueR : (n.value : ℝ) ≤ 23 / 16 := by simpa only [Rat.cast_div, Rat.cast_ofNat] using (Rat.cast_le (K := ℝ)).mpr hvalue have hs := Polya26.Strike.S05.Header.PrimitiveSupport.actual_physical_scalar_inputs hu hm h exact (mul_le_mul_of_nonneg_left hvalueR hs.scale_nonneg).trans hs.negative_fk theorem negative_0_price : ActualNegativePrice GridData.n0 := actual_band_price_of_row GridData.n0 row0 row0Accepted le_rfl le_rfl theorem negative_1_price : ActualNegativePrice GridData.n1 := actual_band_price_of_row GridData.n1 row1 row1Accepted le_rfl le_rfl theorem negative_2_price : ActualNegativePrice GridData.n2 := actual_band_price_of_row GridData.n2 row2 row2Accepted le_rfl le_rfl theorem negative_3_price : ActualNegativePrice GridData.n3 := actual_band_price_of_row GridData.n3 row3 row3Accepted le_rfl le_rfl theorem negative_4_price : ActualNegativePrice GridData.n4 := actual_band_price_of_row GridData.n4 row4 row4Accepted le_rfl le_rfl theorem negative_5_price : ActualNegativePrice GridData.n5 := actual_band_price_of_row GridData.n5 row5 row5Accepted le_rfl le_rfl theorem negative_6_price : ActualNegativePrice GridData.n6 := actual_band_price_of_row GridData.n6 row6 row6Accepted le_rfl le_rfl theorem negative_7_price : ActualNegativePrice GridData.n7 := actual_band_price_of_row GridData.n7 row7 row7Accepted le_rfl le_rfl theorem negative_8_price : ActualNegativePrice GridData.n8 := actual_band_price_of_row GridData.n8 row8 row8Accepted le_rfl le_rfl theorem negative_9_price : ActualNegativePrice GridData.n9 := actual_band_price_of_row GridData.n9 row9 row9Accepted le_rfl le_rfl theorem negative_10_price : ActualNegativePrice GridData.n10 := actual_band_price_of_row GridData.n10 row10 row10Accepted le_rfl le_rfl theorem negative_11_price : ActualNegativePrice GridData.n11 := actual_band_price_of_row GridData.n11 row11 row11Accepted le_rfl le_rfl theorem negative_12_price : ActualNegativePrice GridData.n12 := actual_band_price_of_row GridData.n12 row12 row12Accepted le_rfl le_rfl theorem negative_13_price : ActualNegativePrice GridData.n13 := actual_band_price_of_row GridData.n13 row13 row13Accepted le_rfl le_rfl theorem negative_14_price : ActualNegativePrice GridData.n14 := actual_band_price_of_row GridData.n14 row14 row14Accepted le_rfl le_rfl theorem negative_15_price : ActualNegativePrice GridData.n15 := actual_band_price_of_row GridData.n15 row15 row15Accepted le_rfl le_rfl theorem negative_16_price : ActualNegativePrice GridData.n16 := actual_band_price_of_row GridData.n16 row16 row16Accepted le_rfl le_rfl theorem negative_17_price : ActualNegativePrice GridData.n17 := actual_band_price_of_row GridData.n17 row17 row17Accepted le_rfl le_rfl theorem negative_18_price : ActualNegativePrice GridData.n18 := actual_band_price_of_row GridData.n18 row18 row18Accepted le_rfl le_rfl theorem negative_19_price : ActualNegativePrice GridData.n19 := actual_band_price_of_row GridData.n19 row19 row19Accepted le_rfl le_rfl theorem negative_20_price : ActualNegativePrice GridData.n20 := actual_band_price_of_row GridData.n20 row20 row20Accepted le_rfl le_rfl theorem negative_21_price : ActualNegativePrice GridData.n21 := actual_band_price_of_row GridData.n21 row21 row21Accepted le_rfl le_rfl theorem negative_22_price : ActualNegativePrice GridData.n22 := actual_band_price_of_row GridData.n22 row22 row22Accepted le_rfl le_rfl theorem negative_23_price : ActualNegativePrice GridData.n23 := actual_band_price_of_row GridData.n23 row23 row23Accepted le_rfl le_rfl theorem negative_24_price : ActualNegativePrice GridData.n24 := actual_band_price_of_row GridData.n24 row24 row24Accepted le_rfl le_rfl theorem negative_25_price : ActualNegativePrice GridData.n25 := actual_band_price_of_row GridData.n25 row25 row25Accepted le_rfl le_rfl theorem negative_26_price : ActualNegativePrice GridData.n26 := actual_band_price_of_row GridData.n26 row26 row26Accepted le_rfl le_rfl theorem negative_27_price : ActualNegativePrice GridData.n27 := actual_band_price_of_row GridData.n27 row27 row27Accepted le_rfl le_rfl theorem negative_28_price : ActualNegativePrice GridData.n28 := actual_band_price_of_row GridData.n28 row28 row28Accepted le_rfl le_rfl theorem negative_29_price : ActualNegativePrice GridData.n29 := actual_band_price_of_row GridData.n29 row29 row29Accepted le_rfl le_rfl theorem negative_30_price : ActualNegativePrice GridData.n30 := actual_band_price_of_row GridData.n30 row30 row30Accepted le_rfl le_rfl theorem negative_31_price : ActualNegativePrice GridData.n31 := actual_band_price_of_row GridData.n31 row31 row31Accepted le_rfl le_rfl theorem negative_32_price : ActualNegativePrice GridData.n32 := actual_band_price_of_row GridData.n32 row32 row32Accepted le_rfl le_rfl theorem negative_33_price : ActualNegativePrice GridData.n33 := actual_band_price_of_row GridData.n33 row33 row33Accepted le_rfl le_rfl theorem negative_34_price : ActualNegativePrice GridData.n34 := actual_band_price_of_row GridData.n34 row34 row34Accepted le_rfl le_rfl theorem negative_35_price : ActualNegativePrice GridData.n35 := actual_band_price_of_row GridData.n35 row35 row35Accepted le_rfl le_rfl theorem negative_36_price : ActualNegativePrice GridData.n36 := actual_band_price_of_row GridData.n36 row36 row36Accepted le_rfl le_rfl theorem negative_37_price : ActualNegativePrice GridData.n37 := actual_band_price_of_row GridData.n37 row37 row37Accepted le_rfl le_rfl theorem negative_38_price : ActualNegativePrice GridData.n38 := actual_band_price_of_row GridData.n38 row38 row38Accepted le_rfl le_rfl theorem negative_39_price : ActualNegativePrice GridData.n39 := actual_band_price_of_row GridData.n39 row39 row39Accepted le_rfl le_rfl theorem negative_40_price : ActualNegativePrice GridData.n40 := actual_band_price_of_row GridData.n40 row40 row40Accepted le_rfl le_rfl theorem negative_41_price : ActualNegativePrice GridData.n41 := actual_band_price_of_row GridData.n41 row41 row41Accepted le_rfl le_rfl theorem negative_42_price : ActualNegativePrice GridData.n42 := actual_band_price_of_row GridData.n42 row42 row42Accepted le_rfl le_rfl theorem negative_43_price : ActualNegativePrice GridData.n43 := actual_band_price_of_row GridData.n43 row43 row43Accepted le_rfl le_rfl theorem negative_44_price : ActualNegativePrice GridData.n44 := actual_band_price_of_row GridData.n44 row44 row44Accepted le_rfl le_rfl theorem negative_45_price : ActualNegativePrice GridData.n45 := actual_band_price_of_row GridData.n45 row45 row45Accepted le_rfl le_rfl theorem negative_46_price : ActualNegativePrice GridData.n46 := actual_band_price_of_row GridData.n46 row46 row46Accepted le_rfl le_rfl theorem negative_47_price : ActualNegativePrice GridData.n47 := actual_band_price_of_row GridData.n47 row47 row47Accepted le_rfl le_rfl theorem negative_48_price : ActualNegativePrice GridData.n48 := actual_band_price_of_row GridData.n48 row48 row48Accepted le_rfl le_rfl theorem negative_49_price : ActualNegativePrice GridData.n49 := actual_band_price_of_row GridData.n49 row49 row49Accepted le_rfl le_rfl theorem negative_50_price : ActualNegativePrice GridData.n50 := actual_band_price_of_row GridData.n50 row50 row50Accepted le_rfl le_rfl theorem negative_51_price : ActualNegativePrice GridData.n51 := actual_band_price_of_row GridData.n51 row51 row51Accepted le_rfl le_rfl theorem negative_52_price : ActualNegativePrice GridData.n52 := actual_band_price_of_row GridData.n52 row52 row52Accepted le_rfl le_rfl theorem negative_53_price : ActualNegativePrice GridData.n53 := actual_band_price_of_row GridData.n53 row53 row53Accepted le_rfl le_rfl theorem negative_54_price : ActualNegativePrice GridData.n54 := actual_band_price_of_row GridData.n54 row54 row54Accepted le_rfl le_rfl theorem negative_55_price : ActualNegativePrice GridData.n55 := actual_band_price_of_row GridData.n55 row55 row55Accepted le_rfl le_rfl theorem negative_56_price : ActualNegativePrice GridData.n56 := actual_band_price_of_row GridData.n56 row56 row56Accepted le_rfl le_rfl theorem negative_57_price : ActualNegativePrice GridData.n57 := actual_band_price_of_row GridData.n57 row57 row57Accepted le_rfl le_rfl theorem negative_58_price : ActualNegativePrice GridData.n58 := actual_band_price_of_row GridData.n58 row58 row58Accepted le_rfl le_rfl theorem negative_59_price : ActualNegativePrice GridData.n59 := actual_band_price_of_row GridData.n59 row59 row59Accepted le_rfl le_rfl theorem negative_60_price : ActualNegativePrice GridData.n60 := actual_band_price_of_fk GridData.n60 le_rfl theorem negative_61_price : ActualNegativePrice GridData.n61 := actual_band_price_of_fk GridData.n61 le_rfl theorem negative_62_price : ActualNegativePrice GridData.n62 := actual_band_price_of_fk GridData.n62 le_rfl theorem negative_63_price : ActualNegativePrice GridData.n63 := actual_band_price_of_fk GridData.n63 le_rfl theorem negative_64_price : ActualNegativePrice GridData.n64 := actual_band_price_of_fk GridData.n64 le_rfl theorem negative_65_price : ActualNegativePrice GridData.n65 := actual_band_price_of_fk GridData.n65 le_rfl theorem negative_66_price : ActualNegativePrice GridData.n66 := actual_band_price_of_fk GridData.n66 le_rfl theorem negative_67_price : ActualNegativePrice GridData.n67 := actual_band_price_of_fk GridData.n67 le_rfl theorem negative_68_price : ActualNegativePrice GridData.n68 := actual_band_price_of_fk GridData.n68 le_rfl theorem negative_69_price : ActualNegativePrice GridData.n69 := actual_band_price_of_fk GridData.n69 le_rfl theorem negative_70_price : ActualNegativePrice GridData.n70 := actual_band_price_of_fk GridData.n70 le_rfl theorem negative_71_price : ActualNegativePrice GridData.n71 := actual_band_price_of_fk GridData.n71 le_rfl theorem negative_72_price : ActualNegativePrice GridData.n72 := actual_band_price_of_fk GridData.n72 le_rfl theorem negative_73_price : ActualNegativePrice GridData.n73 := actual_band_price_of_fk GridData.n73 le_rfl theorem negative_74_price : ActualNegativePrice GridData.n74 := actual_band_price_of_fk GridData.n74 le_rfl theorem negative_75_price : ActualNegativePrice GridData.n75 := actual_band_price_of_fk GridData.n75 le_rfl theorem negative_76_price : ActualNegativePrice GridData.n76 := actual_band_price_of_fk GridData.n76 le_rfl theorem negative_77_price : ActualNegativePrice GridData.n77 := actual_band_price_of_fk GridData.n77 le_rfl theorem negative_78_price : ActualNegativePrice GridData.n78 := actual_band_price_of_fk GridData.n78 le_rfl theorem negative_79_price : ActualNegativePrice GridData.n79 := actual_band_price_of_fk GridData.n79 le_rfl theorem negative_80_price : ActualNegativePrice GridData.n80 := actual_band_price_of_fk GridData.n80 le_rfl theorem negative_81_price : ActualNegativePrice GridData.n81 := actual_band_price_of_fk GridData.n81 le_rfl theorem negative_82_price : ActualNegativePrice GridData.n82 := actual_band_price_of_fk GridData.n82 le_rfl theorem negative_83_price : ActualNegativePrice GridData.n83 := actual_band_price_of_fk GridData.n83 le_rfl theorem negative_84_price : ActualNegativePrice GridData.n84 := actual_band_price_of_fk GridData.n84 le_rfl theorem negative_85_price : ActualNegativePrice GridData.n85 := actual_band_price_of_fk GridData.n85 le_rfl theorem negative_86_price : ActualNegativePrice GridData.n86 := actual_band_price_of_fk GridData.n86 le_rfl theorem negative_87_price : ActualNegativePrice GridData.n87 := actual_band_price_of_fk GridData.n87 le_rfl theorem negative_88_price : ActualNegativePrice GridData.n88 := actual_band_price_of_fk GridData.n88 le_rfl theorem negative_89_price : ActualNegativePrice GridData.n89 := actual_band_price_of_fk GridData.n89 le_rfl theorem negative_90_price : ActualNegativePrice GridData.n90 := actual_band_price_of_fk GridData.n90 le_rfl theorem negative_91_price : ActualNegativePrice GridData.n91 := actual_band_price_of_fk GridData.n91 le_rfl theorem negative_92_price : ActualNegativePrice GridData.n92 := actual_band_price_of_fk GridData.n92 le_rfl theorem negative_93_price : ActualNegativePrice GridData.n93 := actual_band_price_of_fk GridData.n93 le_rfl theorem negative_94_price : ActualNegativePrice GridData.n94 := actual_band_price_of_fk GridData.n94 le_rfl theorem negative_95_price : ActualNegativePrice GridData.n95 := actual_band_price_of_fk GridData.n95 le_rfl theorem negative_96_price : ActualNegativePrice GridData.n96 := actual_band_price_of_fk GridData.n96 le_rfl theorem negative_97_price : ActualNegativePrice GridData.n97 := actual_band_price_of_fk GridData.n97 le_rfl theorem negative_98_price : ActualNegativePrice GridData.n98 := actual_band_price_of_fk GridData.n98 le_rfl theorem negative_99_price : ActualNegativePrice GridData.n99 := actual_band_price_of_fk GridData.n99 le_rfl theorem negative_100_price : ActualNegativePrice GridData.n100 := actual_band_price_of_fk GridData.n100 le_rfl theorem negative_101_price : ActualNegativePrice GridData.n101 := actual_band_price_of_fk GridData.n101 le_rfl theorem negative_102_price : ActualNegativePrice GridData.n102 := actual_band_price_of_fk GridData.n102 le_rfl theorem negative_103_price : ActualNegativePrice GridData.n103 := actual_band_price_of_fk GridData.n103 le_rfl theorem negative_104_price : ActualNegativePrice GridData.n104 := actual_band_price_of_fk GridData.n104 le_rfl theorem negative_105_price : ActualNegativePrice GridData.n105 := actual_band_price_of_fk GridData.n105 le_rfl theorem negative_106_price : ActualNegativePrice GridData.n106 := actual_band_price_of_fk GridData.n106 le_rfl theorem negative_107_price : ActualNegativePrice GridData.n107 := actual_band_price_of_fk GridData.n107 le_rfl theorem negative_108_price : ActualNegativePrice GridData.n108 := actual_band_price_of_fk GridData.n108 le_rfl theorem negative_109_price : ActualNegativePrice GridData.n109 := actual_band_price_of_fk GridData.n109 le_rfl theorem negative_110_price : ActualNegativePrice GridData.n110 := actual_band_price_of_fk GridData.n110 le_rfl theorem negative_111_price : ActualNegativePrice GridData.n111 := actual_band_price_of_fk GridData.n111 le_rfl theorem negative_112_price : ActualNegativePrice GridData.n112 := actual_band_price_of_fk GridData.n112 le_rfl theorem negative_113_price : ActualNegativePrice GridData.n113 := actual_band_price_of_fk GridData.n113 le_rfl theorem negative_114_price : ActualNegativePrice GridData.n114 := actual_band_price_of_fk GridData.n114 le_rfl theorem negative_115_price : ActualNegativePrice GridData.n115 := actual_band_price_of_fk GridData.n115 le_rfl theorem negative_116_price : ActualNegativePrice GridData.n116 := actual_band_price_of_fk GridData.n116 le_rfl theorem negative_117_price : ActualNegativePrice GridData.n117 := actual_band_price_of_fk GridData.n117 le_rfl theorem negative_118_price : ActualNegativePrice GridData.n118 := actual_band_price_of_fk GridData.n118 le_rfl theorem negative_119_price : ActualNegativePrice GridData.n119 := actual_band_price_of_fk GridData.n119 le_rfl theorem negative_120_price : ActualNegativePrice GridData.n120 := actual_band_price_of_fk GridData.n120 le_rfl theorem negative_121_price : ActualNegativePrice GridData.n121 := actual_band_price_of_fk GridData.n121 le_rfl theorem negative_122_price : ActualNegativePrice GridData.n122 := actual_band_price_of_fk GridData.n122 le_rfl theorem negative_123_price : ActualNegativePrice GridData.n123 := actual_band_price_of_fk GridData.n123 le_rfl theorem negative_124_price : ActualNegativePrice GridData.n124 := actual_band_price_of_fk GridData.n124 le_rfl theorem negative_125_price : ActualNegativePrice GridData.n125 := actual_band_price_of_fk GridData.n125 le_rfl theorem negative_126_price : ActualNegativePrice GridData.n126 := actual_band_price_of_fk GridData.n126 le_rfl theorem negative_127_price : ActualNegativePrice GridData.n127 := actual_band_price_of_fk GridData.n127 le_rfl theorem negative_128_price : ActualNegativePrice GridData.n128 := actual_band_price_of_fk GridData.n128 le_rfl theorem negative_129_price : ActualNegativePrice GridData.n129 := actual_band_price_of_fk GridData.n129 le_rfl theorem negative_130_price : ActualNegativePrice GridData.n130 := actual_band_price_of_fk GridData.n130 le_rfl theorem negative_131_price : ActualNegativePrice GridData.n131 := actual_band_price_of_fk GridData.n131 le_rfl theorem negative_132_price : ActualNegativePrice GridData.n132 := actual_band_price_of_fk GridData.n132 le_rfl theorem negative_133_price : ActualNegativePrice GridData.n133 := actual_band_price_of_fk GridData.n133 le_rfl theorem negative_134_price : ActualNegativePrice GridData.n134 := actual_band_price_of_fk GridData.n134 le_rfl theorem negative_135_price : ActualNegativePrice GridData.n135 := actual_band_price_of_fk GridData.n135 le_rfl theorem negative_136_price : ActualNegativePrice GridData.n136 := actual_band_price_of_fk GridData.n136 le_rfl theorem negative_137_price : ActualNegativePrice GridData.n137 := actual_band_price_of_fk GridData.n137 le_rfl theorem negative_138_price : ActualNegativePrice GridData.n138 := actual_band_price_of_fk GridData.n138 le_rfl theorem negative_139_price : ActualNegativePrice GridData.n139 := actual_band_price_of_fk GridData.n139 le_rfl theorem negative_140_price : ActualNegativePrice GridData.n140 := actual_band_price_of_fk GridData.n140 le_rfl theorem negative_141_price : ActualNegativePrice GridData.n141 := actual_band_price_of_fk GridData.n141 le_rfl theorem negative_142_price : ActualNegativePrice GridData.n142 := actual_band_price_of_fk GridData.n142 le_rfl theorem negative_143_price : ActualNegativePrice GridData.n143 := actual_band_price_of_fk GridData.n143 le_rfl theorem negative_144_price : ActualNegativePrice GridData.n144 := actual_band_price_of_fk GridData.n144 le_rfl theorem negative_145_price : ActualNegativePrice GridData.n145 := actual_band_price_of_fk GridData.n145 le_rfl theorem negative_146_price : ActualNegativePrice GridData.n146 := actual_band_price_of_fk GridData.n146 le_rfl theorem negative_147_price : ActualNegativePrice GridData.n147 := actual_band_price_of_fk GridData.n147 le_rfl theorem negative_148_price : ActualNegativePrice GridData.n148 := actual_band_price_of_fk GridData.n148 le_rfl theorem negative_149_price : ActualNegativePrice GridData.n149 := actual_band_price_of_fk GridData.n149 le_rfl theorem negative_150_price : ActualNegativePrice GridData.n150 := actual_band_price_of_fk GridData.n150 le_rfl theorem negative_151_price : ActualNegativePrice GridData.n151 := actual_band_price_of_fk GridData.n151 le_rfl theorem negative_152_price : ActualNegativePrice GridData.n152 := actual_band_price_of_fk GridData.n152 le_rfl theorem negative_153_price : ActualNegativePrice GridData.n153 := actual_band_price_of_fk GridData.n153 le_rfl theorem negative_154_price : ActualNegativePrice GridData.n154 := actual_band_price_of_fk GridData.n154 le_rfl theorem negative_155_price : ActualNegativePrice GridData.n155 := actual_band_price_of_fk GridData.n155 le_rfl theorem negative_156_price : ActualNegativePrice GridData.n156 := actual_band_price_of_fk GridData.n156 le_rfl theorem negative_157_price : ActualNegativePrice GridData.n157 := actual_band_price_of_fk GridData.n157 le_rfl theorem negative_158_price : ActualNegativePrice GridData.n158 := actual_band_price_of_fk GridData.n158 le_rfl theorem negative_159_price : ActualNegativePrice GridData.n159 := actual_band_price_of_fk GridData.n159 le_rfl theorem negative_160_price : ActualNegativePrice GridData.n160 := actual_band_price_of_fk GridData.n160 le_rfl theorem negative_161_price : ActualNegativePrice GridData.n161 := actual_band_price_of_fk GridData.n161 le_rfl theorem negative_162_price : ActualNegativePrice GridData.n162 := actual_band_price_of_fk GridData.n162 le_rfl theorem negative_163_price : ActualNegativePrice GridData.n163 := actual_band_price_of_fk GridData.n163 le_rfl theorem negative_164_price : ActualNegativePrice GridData.n164 := actual_band_price_of_fk GridData.n164 le_rfl theorem negative_165_price : ActualNegativePrice GridData.n165 := actual_band_price_of_fk GridData.n165 le_rfl theorem negative_166_price : ActualNegativePrice GridData.n166 := actual_band_price_of_fk GridData.n166 le_rfl theorem negative_167_price : ActualNegativePrice GridData.n167 := actual_band_price_of_fk GridData.n167 le_rfl theorem negative_168_price : ActualNegativePrice GridData.n168 := actual_band_price_of_fk GridData.n168 le_rfl theorem negative_169_price : ActualNegativePrice GridData.n169 := actual_band_price_of_fk GridData.n169 le_rfl theorem negative_170_price : ActualNegativePrice GridData.n170 := actual_band_price_of_fk GridData.n170 le_rfl theorem negative_171_price : ActualNegativePrice GridData.n171 := actual_band_price_of_fk GridData.n171 le_rfl theorem negative_172_price : ActualNegativePrice GridData.n172 := actual_band_price_of_fk GridData.n172 le_rfl theorem negative_173_price : ActualNegativePrice GridData.n173 := actual_band_price_of_fk GridData.n173 le_rfl theorem negative_174_price : ActualNegativePrice GridData.n174 := actual_band_price_of_fk GridData.n174 le_rfl theorem negative_175_price : ActualNegativePrice GridData.n175 := actual_band_price_of_fk GridData.n175 le_rfl theorem negative_176_price : ActualNegativePrice GridData.n176 := actual_band_price_of_fk GridData.n176 le_rfl theorem negative_177_price : ActualNegativePrice GridData.n177 := actual_band_price_of_fk GridData.n177 le_rfl theorem negative_178_price : ActualNegativePrice GridData.n178 := actual_band_price_of_fk GridData.n178 le_rfl theorem negative_179_price : ActualNegativePrice GridData.n179 := actual_band_price_of_fk GridData.n179 le_rfl theorem negative_180_price : ActualNegativePrice GridData.n180 := actual_band_price_of_fk GridData.n180 le_rfl theorem negative_181_price : ActualNegativePrice GridData.n181 := actual_band_price_of_fk GridData.n181 le_rfl theorem negative_182_price : ActualNegativePrice GridData.n182 := actual_band_price_of_fk GridData.n182 le_rfl theorem negative_183_price : ActualNegativePrice GridData.n183 := actual_band_price_of_fk GridData.n183 le_rfl theorem negative_184_price : ActualNegativePrice GridData.n184 := actual_band_price_of_fk GridData.n184 le_rfl theorem negative_185_price : ActualNegativePrice GridData.n185 := actual_band_price_of_fk GridData.n185 le_rfl theorem negative_186_price : ActualNegativePrice GridData.n186 := actual_band_price_of_fk GridData.n186 le_rfl theorem negative_187_price : ActualNegativePrice GridData.n187 := actual_band_price_of_fk GridData.n187 le_rfl theorem negative_188_price : ActualNegativePrice GridData.n188 := actual_band_price_of_fk GridData.n188 le_rfl theorem negative_189_price : ActualNegativePrice GridData.n189 := actual_band_price_of_fk GridData.n189 le_rfl theorem negative_190_price : ActualNegativePrice GridData.n190 := actual_band_price_of_fk GridData.n190 le_rfl theorem negative_191_price : ActualNegativePrice GridData.n191 := actual_band_price_of_fk GridData.n191 le_rfl theorem negative_192_price : ActualNegativePrice GridData.n192 := actual_band_price_of_fk GridData.n192 le_rfl theorem negative_193_price : ActualNegativePrice GridData.n193 := actual_band_price_of_fk GridData.n193 le_rfl theorem negative_194_price : ActualNegativePrice GridData.n194 := actual_band_price_of_fk GridData.n194 le_rfl theorem negative_195_price : ActualNegativePrice GridData.n195 := actual_band_price_of_fk GridData.n195 le_rfl theorem negative_196_price : ActualNegativePrice GridData.n196 := actual_band_price_of_fk GridData.n196 le_rfl theorem negative_197_price : ActualNegativePrice GridData.n197 := actual_band_price_of_fk GridData.n197 le_rfl theorem negative_198_price : ActualNegativePrice GridData.n198 := actual_band_price_of_fk GridData.n198 le_rfl theorem ns0_prices : AllBandPrices GridData.ns0 := all_prices_cons negative_0_price (all_prices_cons negative_1_price (all_prices_cons negative_2_price (all_prices_cons negative_3_price (all_prices_cons negative_4_price (all_prices_cons negative_5_price (all_prices_cons negative_6_price (all_prices_cons negative_7_price (all_prices_cons negative_8_price (all_prices_cons negative_9_price (all_prices_cons negative_10_price (all_prices_cons negative_11_price (all_prices_cons negative_12_price (all_prices_cons negative_13_price (all_prices_cons negative_14_price (all_prices_cons negative_15_price (all_prices_nil)))))))))))))))) theorem ns1_prices : AllBandPrices GridData.ns1 := all_prices_cons negative_16_price (all_prices_cons negative_17_price (all_prices_cons negative_18_price (all_prices_cons negative_19_price (all_prices_cons negative_20_price (all_prices_cons negative_21_price (all_prices_cons negative_22_price (all_prices_cons negative_23_price (all_prices_cons negative_24_price (all_prices_cons negative_25_price (all_prices_cons negative_26_price (all_prices_cons negative_27_price (all_prices_cons negative_28_price (all_prices_cons negative_29_price (all_prices_cons negative_30_price (all_prices_cons negative_31_price (all_prices_nil)))))))))))))))) theorem ns2_prices : AllBandPrices GridData.ns2 := all_prices_cons negative_32_price (all_prices_cons negative_33_price (all_prices_cons negative_34_price (all_prices_cons negative_35_price (all_prices_cons negative_36_price (all_prices_cons negative_37_price (all_prices_cons negative_38_price (all_prices_cons negative_39_price (all_prices_cons negative_40_price (all_prices_cons negative_41_price (all_prices_cons negative_42_price (all_prices_cons negative_43_price (all_prices_cons negative_44_price (all_prices_cons negative_45_price (all_prices_cons negative_46_price (all_prices_cons negative_47_price (all_prices_nil)))))))))))))))) theorem ns3_prices : AllBandPrices GridData.ns3 := all_prices_cons negative_48_price (all_prices_cons negative_49_price (all_prices_cons negative_50_price (all_prices_cons negative_51_price (all_prices_cons negative_52_price (all_prices_cons negative_53_price (all_prices_cons negative_54_price (all_prices_cons negative_55_price (all_prices_cons negative_56_price (all_prices_cons negative_57_price (all_prices_cons negative_58_price (all_prices_cons negative_59_price (all_prices_cons negative_60_price (all_prices_cons negative_61_price (all_prices_cons negative_62_price (all_prices_cons negative_63_price (all_prices_nil)))))))))))))))) theorem ns4_prices : AllBandPrices GridData.ns4 := all_prices_cons negative_64_price (all_prices_cons negative_65_price (all_prices_cons negative_66_price (all_prices_cons negative_67_price (all_prices_cons negative_68_price (all_prices_cons negative_69_price (all_prices_cons negative_70_price (all_prices_cons negative_71_price (all_prices_cons negative_72_price (all_prices_cons negative_73_price (all_prices_cons negative_74_price (all_prices_cons negative_75_price (all_prices_cons negative_76_price (all_prices_cons negative_77_price (all_prices_cons negative_78_price (all_prices_cons negative_79_price (all_prices_nil)))))))))))))))) theorem ns5_prices : AllBandPrices GridData.ns5 := all_prices_cons negative_80_price (all_prices_cons negative_81_price (all_prices_cons negative_82_price (all_prices_cons negative_83_price (all_prices_cons negative_84_price (all_prices_cons negative_85_price (all_prices_cons negative_86_price (all_prices_cons negative_87_price (all_prices_cons negative_88_price (all_prices_cons negative_89_price (all_prices_cons negative_90_price (all_prices_cons negative_91_price (all_prices_cons negative_92_price (all_prices_cons negative_93_price (all_prices_cons negative_94_price (all_prices_cons negative_95_price (all_prices_nil)))))))))))))))) theorem ns6_prices : AllBandPrices GridData.ns6 := all_prices_cons negative_96_price (all_prices_cons negative_97_price (all_prices_cons negative_98_price (all_prices_cons negative_99_price (all_prices_cons negative_100_price (all_prices_cons negative_101_price (all_prices_cons negative_102_price (all_prices_cons negative_103_price (all_prices_cons negative_104_price (all_prices_cons negative_105_price (all_prices_cons negative_106_price (all_prices_cons negative_107_price (all_prices_cons negative_108_price (all_prices_cons negative_109_price (all_prices_cons negative_110_price (all_prices_cons negative_111_price (all_prices_nil)))))))))))))))) theorem ns7_prices : AllBandPrices GridData.ns7 := all_prices_cons negative_112_price (all_prices_cons negative_113_price (all_prices_cons negative_114_price (all_prices_cons negative_115_price (all_prices_cons negative_116_price (all_prices_cons negative_117_price (all_prices_cons negative_118_price (all_prices_cons negative_119_price (all_prices_cons negative_120_price (all_prices_cons negative_121_price (all_prices_cons negative_122_price (all_prices_cons negative_123_price (all_prices_cons negative_124_price (all_prices_cons negative_125_price (all_prices_cons negative_126_price (all_prices_cons negative_127_price (all_prices_nil)))))))))))))))) theorem ns8_prices : AllBandPrices GridData.ns8 := all_prices_cons negative_128_price (all_prices_cons negative_129_price (all_prices_cons negative_130_price (all_prices_cons negative_131_price (all_prices_cons negative_132_price (all_prices_cons negative_133_price (all_prices_cons negative_134_price (all_prices_cons negative_135_price (all_prices_cons negative_136_price (all_prices_cons negative_137_price (all_prices_cons negative_138_price (all_prices_cons negative_139_price (all_prices_cons negative_140_price (all_prices_cons negative_141_price (all_prices_cons negative_142_price (all_prices_cons negative_143_price (all_prices_nil)))))))))))))))) theorem ns9_prices : AllBandPrices GridData.ns9 := all_prices_cons negative_144_price (all_prices_cons negative_145_price (all_prices_cons negative_146_price (all_prices_cons negative_147_price (all_prices_cons negative_148_price (all_prices_cons negative_149_price (all_prices_cons negative_150_price (all_prices_cons negative_151_price (all_prices_cons negative_152_price (all_prices_cons negative_153_price (all_prices_cons negative_154_price (all_prices_cons negative_155_price (all_prices_cons negative_156_price (all_prices_cons negative_157_price (all_prices_cons negative_158_price (all_prices_cons negative_159_price (all_prices_nil)))))))))))))))) theorem ns10_prices : AllBandPrices GridData.ns10 := all_prices_cons negative_160_price (all_prices_cons negative_161_price (all_prices_cons negative_162_price (all_prices_cons negative_163_price (all_prices_cons negative_164_price (all_prices_cons negative_165_price (all_prices_cons negative_166_price (all_prices_cons negative_167_price (all_prices_cons negative_168_price (all_prices_cons negative_169_price (all_prices_cons negative_170_price (all_prices_cons negative_171_price (all_prices_cons negative_172_price (all_prices_cons negative_173_price (all_prices_cons negative_174_price (all_prices_cons negative_175_price (all_prices_nil)))))))))))))))) theorem ns11_prices : AllBandPrices GridData.ns11 := all_prices_cons negative_176_price (all_prices_cons negative_177_price (all_prices_cons negative_178_price (all_prices_cons negative_179_price (all_prices_cons negative_180_price (all_prices_cons negative_181_price (all_prices_cons negative_182_price (all_prices_cons negative_183_price (all_prices_cons negative_184_price (all_prices_cons negative_185_price (all_prices_cons negative_186_price (all_prices_cons negative_187_price (all_prices_cons negative_188_price (all_prices_cons negative_189_price (all_prices_cons negative_190_price (all_prices_cons negative_191_price (all_prices_nil)))))))))))))))) theorem ns12_prices : AllBandPrices GridData.ns12 := all_prices_cons negative_192_price (all_prices_cons negative_193_price (all_prices_cons negative_194_price (all_prices_cons negative_195_price (all_prices_cons negative_196_price (all_prices_cons negative_197_price (all_prices_cons negative_198_price (all_prices_nil))))))) theorem nsJoin0_prices : AllBandPrices GridData.nsJoin0 := all_prices_append ns1_prices ns2_prices theorem nsJoin1_prices : AllBandPrices GridData.nsJoin1 := all_prices_append ns0_prices nsJoin0_prices theorem nsJoin2_prices : AllBandPrices GridData.nsJoin2 := all_prices_append ns4_prices ns5_prices theorem nsJoin3_prices : AllBandPrices GridData.nsJoin3 := all_prices_append ns3_prices nsJoin2_prices theorem nsJoin4_prices : AllBandPrices GridData.nsJoin4 := all_prices_append nsJoin1_prices nsJoin3_prices theorem nsJoin5_prices : AllBandPrices GridData.nsJoin5 := all_prices_append ns7_prices ns8_prices theorem nsJoin6_prices : AllBandPrices GridData.nsJoin6 := all_prices_append ns6_prices nsJoin5_prices theorem nsJoin7_prices : AllBandPrices GridData.nsJoin7 := all_prices_append ns9_prices ns10_prices theorem nsJoin8_prices : AllBandPrices GridData.nsJoin8 := all_prices_append ns11_prices ns12_prices theorem nsJoin9_prices : AllBandPrices GridData.nsJoin9 := all_prices_append nsJoin7_prices nsJoin8_prices theorem nsJoin10_prices : AllBandPrices GridData.nsJoin10 := all_prices_append nsJoin6_prices nsJoin9_prices theorem nsJoin11_prices : AllBandPrices GridData.nsJoin11 := all_prices_append nsJoin4_prices nsJoin10_prices theorem all_original_negative_band_prices : AllBandPrices GridData.negBands := nsJoin11_prices /-- The actual original-mass low-beta price uses its own accepted 64-term logarithm row, including every original value atom. -/ theorem actual_negative_low_beta_price {Ω : PlanarLipschitzDomain} {u : Math30.Polya.Plane → ℝ} (hu : IsTestFunction Ω.carrier u) (hm : 0 < OriginalMass u) {τ : ℝ} {K : Set Math30.Polya.Plane} (h : SelectedProfileConditions u τ K) (hbeta : terminalBeta u K ≤ 1 / 16) : physicalScale u * (3020629 / 1000000) ≤ negativeArea u * negativeEnergy u := by have hb : terminalBeta u K ≤ (lowBetaRow.beta : ℝ) := by simpa only [lowBetaRow, Rat.cast_div, Rat.cast_one, Rat.cast_ofNat] using hbeta have hrow := Polya26.Strike.S06.Header.PrimitiveStar.actual_selected_negative_row_price lowBetaRow lowBetaRowAccepted hu hm h hb apply physical_price_of_normalized (OriginalMass u / 2) (negativeArea u) (negativeEnergy u) (3020629 / 1000000) rw [mul_comm (OriginalMass u / 2) (3020629 / 1000000)] simpa only [lowBetaRow, Rat.cast_div, Rat.cast_ofNat] using hrow /-- Exact analytic negative supplier consumed by SelectedProfileAssembly. There is no arithmetic-certificate, profile-energy or rearrangement premise. -/ theorem actual_negative_band_prices : ActualNegativeBandPrices GridData.negBands := by intro Ω u hu hm τ K h refine ⟨actual_negative_low_beta_price hu hm h, ?_⟩ intro n hn hbeta exact all_original_negative_band_prices n hn Ω u hu hm τ K h hbeta end Polya26.Strike.S02.Header.NegativeBandPrices end end /- END M095 -/ /- BEGIN M096 -/ section /-! Production join of the new actual 42/199 prices and cubical selection. The official S06 contract and scalar definitions are supplied once by the chosen production prefix. All suppliers below have their literal types. -/ namespace Polya26.W03.FinalPrimitiveJoin open QuantileFiniteCertificate Polya26.SelectedProfileAssembly theorem actualPositiveBandPrices42 : ActualPositiveBandPrices W02ThinnedGrid.posBands := Polya26.Strike.S05.Header.PrimitivePositivePrices.actualPositiveBandPrices theorem actualNegativeBandPrices199 : ActualNegativeBandPrices W02ThinnedGrid.negBands := by rw [W02ThinnedGrid.negative_table_eq_original] exact Polya26.Strike.S02.Header.NegativeBandPrices.actual_negative_band_prices theorem selectedProfileEnergy42 : Polya26.Strike.S06.SelectedProfileEnergy := Polya26.Strike.S05.Header.PrimitivePositivePrices.selectedProfileEnergy_of_negative_prices actualNegativeBandPrices199 theorem target26_actual : Math30.Polya.Target26 := Polya26.Strike.S06.target26_of_quantile_contracts Polya26.Strike.S01.Selection.subcriticalFamilyQuantileSelection selectedProfileEnergy42 end Polya26.W03.FinalPrimitiveJoin end /- END M096 -/ namespace Bounty theorem target : fcTypeOfName% "Math30Catalog.source26" := Polya26.W03.FinalPrimitiveJoin.target26_actual