High-contrast homogenization: Entry.Multiscale.Global.RunStepAny #
Imported from the Apache-2.0 HighContrastHomogenization development at commit
7a13dbcd8d6609264a713373f5c69ceeac870472.
The Selects projections the run needs and the per-step case analysis #
This module serves the scale-selection proposition p.scale.selection. The run quantifies
over a selection datum S : SelectionData with S.Selects d γ, and the module extracts from
Selects the three inequalities the run needs: selects_two_bigQ_le_h (2 * bigQ d γ ≤ S.h,
the generation gap consumed by Entry.fixed_geometry_one_grid_propagation_full),
selects_one_le_L (1 ≤ S.L ε σ, the scale gap needed by long_step_decrease.hL), and the
bridge sandwich at δ = √ε σ, L = S.L ε σ under the run's source threshold. It then proves
run_step_any, the five-way case analysis of Selects at a run state, which derives the
containment hcont and step hstep binders of run_exists_stop; the remaining assembly is
in HCPoly.Entry.Multiscale.Global.RunAssembly.
§1 The three facts the run needs, carried by Selects #
C1 of SelectionData.Selects (near p.scale.selection, s.polynomial.entry.proof): the
generation gap is at
least 2Q, so Entry.fixed_geometry_one_grid_propagation_full applies at the step length.
C2a of SelectionData.Selects (p.scale.selection, e.bridge.length.choice): the scale
gap is a
length, as long_step_decrease.hL needs.
§2 The per-step case analysis #
The five-way case analysis of Selects at a run state — the hcont and hstep
binders of run_exists_stop, as one theorem.
Route. Fix a state st with st.i ≤ J.
- Containment (
hcont):run_entry_containmentatm := st.m,mP := 𝔪₊,j := st.n + 2L,jP := st.n + L,e := ε * (J + 1); the two eccentricity premises come fromst.hecc(and, for𝔪₊, fromst.hprthroughGeometry.projectiveDistance_geometryUpdate_le), andhj/hjParehcontA, thecontainment_arithinstance at its free real argumentd := 4d, fed byst.hgen. - Step (
hstep): applyhSatst.m,st.k,st.n, with entry premises the source threshold at theSelectssource constant,st.hecc,st.hone,st.hgapand the containment just built; then case-split on the five disjuncts: Alt-1 start-up is vacuous byst.hlt, Alt-1 service isrun_step_service, Alt-2 with𝔪₊ ≠ 𝔪⋆isrun_step_change, Alt-2 with𝔪₊ = 𝔪⋆isrun_step_failed_testwhen the determinant test fails and the RIGHT disjunct (the stop) when it succeeds, Alt-3 synchronized isrun_step_syncand Alt-3 long isrun_step_long. The propagation clauseshprop1/hspanofrun_step_sync/run_step_failed_test/run_step_longcome fromEntry.fixed_geometry_one_grid_propagation_fullunderhh, and the bridge sandwicheshbr₁/hbr₂ofrun_step_change/run_step_failed_testfromSelects' conjunct C3; both source thresholds are discharged byhsrc.
Csrc is existential because the Selects, propagation and bridge source constants are
Skolem constants of their own statements: the theorem chooses their maximum.
The existential ∃ Cbase and the binder Cbase ≤ C are present because the Selects
transport constant and the one-grid propagation constant must both sit below the run's C;
neither follows from 1 ≤ C, (d : ℝ) ≤ C. The scales_arith and eccentricity_arith
hypotheses are not assumed: they are unused by this conclusion, contradictory with the
comparison_choice binder at the same C, and needed only by run_stop_output at the output
constant. The stop disjunct is RunStopData … Cbase, which carries the Alternative-2 bridge
sandwich and output bound.