Documentation

LeanPool.HighContrastHomogenization.Entry.Multiscale.ScaleSelection.TransportAlternative

High-contrast homogenization: Entry.Multiscale.ScaleSelection.TransportAlternative #

Imported from the Apache-2.0 HighContrastHomogenization development at commit 7a13dbcd8d6609264a713373f5c69ceeac870472.

The transport application and the change-of-geometry alternative #

Group D of the printed proof (p.scale.selection), third part: the two-grid transport applied to the updated geometry, and alternative 2 with its output profile bound C σ^{(1-γ)/8}, its output eccentricity and its two output conditions.

Part of the proof of the statement in HCPoly/Entry/Statements/ScaleSelection.lean. Conventions of the entire group: q = š’¬(š”Ŗ) is Geometry.explicitRoundedGrid jStar m; the printed data are h = 2Q, c = cā‚€, L(ε,σ) = selectionLength Lā‚€ σ and Bā‚€(ε,σ) = max 1 (max (Bā‚€^bridge (√ε σ) L) (2 C_tr (L+1))); √ε is the printed ε^{1/2}; the source lower scale e.source.lower.scale is carried wherever j_* appears with the law, and no integrability, finiteness or measurability premise is added anywhere. Unused hypothesis binders of a statement are underscore-prefixed; the tree compiles with -DwarningAsError=true.

The declaration text of this file is the closed skeleton's, copied unchanged; only this header, the imports and the namespace frame are new.

theorem HCPolySupport.HighContrast.Multiscale.transport_application (d : ā„•) (hd : 2 ≤ d) (γ : ā„) (hγ : γ ∈ Set.Ico 0 1) (Csrc C₁ : ā„) (hC₁ : 0 < C₁) (hone : OneGridBody d γ Csrc C₁) (Ctr : ā„) (hCtr : 1 ≤ Ctr) (htr : TransportBody d γ Ctr Csrc) (Lā‚€ : ā„•) (hLā‚€ : 1 ≤ Lā‚€) (hCtrLā‚€ : Ctr ≤ ↑Lā‚€) (cā‚€ : ā„) (hcā‚€ : cā‚€ ∈ Set.Ioo 0 1) (Bā‚€ : ā„ → ā„• → ā„) (hbr : BridgeBody d γ Lā‚€ cā‚€ Csrc Bā‚€) (ε₁ : ā„) (hsmall : āˆ€ (ε σ : ā„), ε ∈ Set.Ioc 0 ε₁ → σ ∈ Set.Ioc 0 ε → 2 * C₁ * (1 + 2 * ↑(bigQ d γ) * ↑d) * (1 + ↑(selectionLength Lā‚€ σ)) * ε * σ ≤ 3 ^ (-(1 / 2) * (1 - γ) * ↑(selectionLength Lā‚€ σ)) * σ ^ ((1 - γ) / 8)) (ε σ B : ā„) (hε4 : ε ∈ Set.Ioc 0 (1 / 4)) (hεc : ε ≤ (cā‚€ / (↑d + 1)) ^ 2) (hε₁ : ε ≤ ε₁) (hQε : ↑(bigQ d γ) * ↑d * ε ≤ Real.log 2) (hLε : 2 * Ctr * ε ≤ ↑Lā‚€ * Real.log 3) (hσ : σ ∈ Set.Ioc 0 ε) (hB1 : Bā‚€ (√ε * σ) (selectionLength Lā‚€ σ) ≤ B) (hB2 : 2 * Ctr * (↑(selectionLength Lā‚€ σ) + 1) ≤ B) (P : MeasureTheory.Measure (CoeffSpace d)) (E : BlockMat d) (ĪØ : ā„ → ā„) (K : ā„) (S : CoeffSpace d → ā„) (hP : MeasureTheory.IsProbabilityMeasure P) (hstat : IsStationaryLaw P) (hunit : IsUnitRangeLaw P) (hdag : CoarseEllipticityDagger P γ E ĪØ K S) (jStar : ā„•) (hj : 2 * d ≤ 3 ^ jStar) (hsrc : ⌈Csrc * Real.logb 3 (2 * K)āŒ‰ ≤ ↑jStar) (m : Mat d) (hm : Matrix.PosDef m) (k n : ℤ) (hjk : ↑jStar ≤ k) (hkn : k ≤ n) (hecc : 1 / 2 * Real.log (‖m‖ * ‖m⁻¹‖) ≤ ε / ↑(selectionLength Lā‚€ σ) * (↑k - ↑jStar - ā†‘āŒˆB * Real.logb 3 (2 + aspectRatio E)āŒ‰)) (hin2 : k < n → k + ↑(2 * bigQ d γ) ≤ n) (hcont : adaptedCell (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)) ∪ adaptedCell (Geometry.explicitRoundedGrid jStar (geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)))))) (n + ↑(selectionLength Lā‚€ σ)) āŠ† centeredCube d (2 * ↑jStar)) (hk : k < n) (hĪ· : profile P γ (Geometry.explicitRoundedGrid jStar m) jStar k n + determinantDrift P γ (Geometry.explicitRoundedGrid jStar m) jStar n ≤ cā‚€ * ε * σ) (hlong : (↑d)⁻¹ * detIncrement P (Geometry.explicitRoundedGrid jStar m) n (n + 2 * ↑(selectionLength Lā‚€ σ)) ≤ ε * σ) :
profile P γ (Geometry.explicitRoundedGrid jStar (geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)))))) jStar (n + ↑(selectionLength Lā‚€ σ)) (n + ↑(selectionLength Lā‚€ σ)) + determinantDrift P γ (Geometry.explicitRoundedGrid jStar (geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)))))) jStar (n + ↑(selectionLength Lā‚€ σ)) ≤ Ctr * (√ε * σ + σ ^ ((1 - γ) / 8))

p.scale.selection: the two-grid transport applies with Ī“ = ε^{1/2}σ, ρ = σ^{(1āˆ’Ī³)/8}.

theorem HCPolySupport.HighContrast.Multiscale.transport_alternative (d : ā„•) (hd : 2 ≤ d) (γ : ā„) (hγ : γ ∈ Set.Ico 0 1) (Csrc C₁ : ā„) (hC₁ : 0 < C₁) (hone : OneGridBody d γ Csrc C₁) (Ctr : ā„) (hCtr : 1 ≤ Ctr) (htr : TransportBody d γ Ctr Csrc) (C : ā„) (hC : 2 * Ctr ≤ C) (Lā‚€ : ā„•) (hLā‚€ : 1 ≤ Lā‚€) (hCtrLā‚€ : Ctr ≤ ↑Lā‚€) (cā‚€ : ā„) (hcā‚€ : cā‚€ ∈ Set.Ioo 0 1) (Bā‚€ : ā„ → ā„• → ā„) (hbr : BridgeBody d γ Lā‚€ cā‚€ Csrc Bā‚€) (ε₁ : ā„) (hsmall : āˆ€ (ε σ : ā„), ε ∈ Set.Ioc 0 ε₁ → σ ∈ Set.Ioc 0 ε → 2 * C₁ * (1 + 2 * ↑(bigQ d γ) * ↑d) * (1 + ↑(selectionLength Lā‚€ σ)) * ε * σ ≤ 3 ^ (-(1 / 2) * (1 - γ) * ↑(selectionLength Lā‚€ σ)) * σ ^ ((1 - γ) / 8)) (ε σ B : ā„) (hε4 : ε ∈ Set.Ioc 0 (1 / 4)) (hεc : ε ≤ (cā‚€ / (↑d + 1)) ^ 2) (hε₁ : ε ≤ ε₁) (hQε : ↑(bigQ d γ) * ↑d * ε ≤ Real.log 2) (hCε : C * ε ^ ((1 - γ) / 8) ≤ 1) (hLε : 2 * Ctr * ε ≤ ↑Lā‚€ * Real.log 3) (hσ : σ ∈ Set.Ioc 0 ε) (hB1 : Bā‚€ (√ε * σ) (selectionLength Lā‚€ σ) ≤ B) (hB2 : 2 * Ctr * (↑(selectionLength Lā‚€ σ) + 1) ≤ B) (P : MeasureTheory.Measure (CoeffSpace d)) (E : BlockMat d) (ĪØ : ā„ → ā„) (K : ā„) (S : CoeffSpace d → ā„) (hP : MeasureTheory.IsProbabilityMeasure P) (hstat : IsStationaryLaw P) (hunit : IsUnitRangeLaw P) (hdag : CoarseEllipticityDagger P γ E ĪØ K S) (jStar : ā„•) (hj : 2 * d ≤ 3 ^ jStar) (hsrc : ⌈Csrc * Real.logb 3 (2 * K)āŒ‰ ≤ ↑jStar) (m : Mat d) (hm : Matrix.PosDef m) (k n : ℤ) (hjk : ↑jStar ≤ k) (hkn : k ≤ n) (hecc : 1 / 2 * Real.log (‖m‖ * ‖m⁻¹‖) ≤ ε / ↑(selectionLength Lā‚€ σ) * (↑k - ↑jStar - ā†‘āŒˆB * Real.logb 3 (2 + aspectRatio E)āŒ‰)) (hin2 : k < n → k + ↑(2 * bigQ d γ) ≤ n) (hcont : adaptedCell (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)) ∪ adaptedCell (Geometry.explicitRoundedGrid jStar (geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)))))) (n + ↑(selectionLength Lā‚€ σ)) āŠ† centeredCube d (2 * ↑jStar)) (hk : k < n) (hĪ· : profile P γ (Geometry.explicitRoundedGrid jStar m) jStar k n + determinantDrift P γ (Geometry.explicitRoundedGrid jStar m) jStar n ≤ cā‚€ * ε * σ) (hlong : (↑d)⁻¹ * detIncrement P (Geometry.explicitRoundedGrid jStar m) n (n + 2 * ↑(selectionLength Lā‚€ σ)) ≤ ε * σ) :
(k < n ∧ profile P γ (Geometry.explicitRoundedGrid jStar m) jStar k n + determinantDrift P γ (Geometry.explicitRoundedGrid jStar m) jStar n ≤ cā‚€ * ε * σ ∧ (↑d)⁻¹ * detIncrement P (Geometry.explicitRoundedGrid jStar m) n (n + 2 * ↑(selectionLength Lā‚€ σ)) ≤ ε * σ ∧ profile P γ (Geometry.explicitRoundedGrid jStar (geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)))))) jStar (n + ↑(selectionLength Lā‚€ σ)) (n + ↑(selectionLength Lā‚€ σ)) + determinantDrift P γ (Geometry.explicitRoundedGrid jStar (geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)))))) jStar (n + ↑(selectionLength Lā‚€ σ)) ≤ C * σ ^ ((1 - γ) / 8)) ∧ 1 / 2 * Real.log (‖geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ))))‖ * ‖(geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)))))⁻¹‖) ≤ ε / ↑(selectionLength Lā‚€ σ) * (↑n + ↑(selectionLength Lā‚€ σ) - ↑jStar - ā†‘āŒˆB * Real.logb 3 (2 + aspectRatio E)āŒ‰) ∧ (n + ↑(selectionLength Lā‚€ σ) = n + ↑(selectionLength Lā‚€ σ) → profile P γ (Geometry.explicitRoundedGrid jStar (geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)))))) jStar (n + ↑(selectionLength Lā‚€ σ)) (n + ↑(selectionLength Lā‚€ σ)) + determinantDrift P γ (Geometry.explicitRoundedGrid jStar (geometryUpdate ε m (explicitCanonicalMetric (adaptedMean P (Geometry.explicitRoundedGrid jStar m) (n + 2 * ↑(selectionLength Lā‚€ σ)))))) jStar (n + ↑(selectionLength Lā‚€ σ)) ≤ 1) ∧ (n + ↑(selectionLength Lā‚€ σ) < n + ↑(selectionLength Lā‚€ σ) → n + ↑(selectionLength Lā‚€ σ) + ↑(2 * bigQ d γ) ≤ n + ↑(selectionLength Lā‚€ σ))

Alternative 2, change of geometry (p.scale.selection): the transport output ≤ Cσ^{(1āˆ’Ī³)/8} ≤ 1, the output eccentricity from l.projective.step, and the vacuous clause.