Generated predictor-corrector algorithm and final convergence theorem #
This is the main file to edit when the algorithmic proof changes. The iterate sequence is generated recursively from the initial point, so the dependency on the fixed YTM theory is explicit and there is no hidden import of an old numbered file.
Lean-reading hints for beginners:
induction k with | zero => ... | succ k ih => ...proves a statement for all natural numbers by proving the base case and the successor case.calc ...is a readable chain of equalities/inequalities.omegasolves arithmetic goals over natural numbers and integers.
Lean comments for readers who know interior-point methods #
This file is the final iteration-count layer. The mathematical objects are the predictor point, the corrector point, and the contraction estimate for the homogenized gap. A few Lean proof commands occur repeatedly.
intro kintroduces the iteration index in a theorem whose conclusion starts with∀ k, ....induction k with ...proves a statement for all natural numbers by showing the base case0and then the step fromktok+1.have h := ...records an intermediate estimate, such as one-step contraction.rw [lemma]rewrites the current goal using an equality.simpa [name₁, name₂] using hunfolds the listed definitions, simplifies both sides, and then applies the already-proved facth.simpis used only in very small base cases, such asc^0 = 1.ringcloses purely algebraic real-number identities.linarithandnlinarithare used in imported files for linear and nonlinear real inequalities; here most inequalities are chained explicitly withcalc.
A generated predictor-corrector algorithm: the iterate sequence is no longer a field. It is obtained recursively from the initial point by applying the canonical Newton predictor step and the canonical Newton corrector step.
- m : ℕ
Number of equality constraints in the LP data.
Linear-programming data.
- std : LPStandardAssumptions self.P
Standard assumptions on the LP data.
- w0 : HSState n
Initial HSD state.
- initial_neigh : HSDNeighborhood ytmBetaTight self.w0
Initial tight-neighborhood certificate.
Instances For
Canonical fixed predictor step from a tight-neighborhood point.
Equations
- alg.predictorStep w h = HSDInteriorPointLP.addStep w (HSDInteriorPointLP.HSDNewtonDirection alg.P ⋯ w ⋯ 0) (HSDInteriorPointLP.ytmPredictorAlpha n)
Instances For
Canonical full corrector step from a wide-neighborhood point.
Equations
- alg.correctorStep w h = HSDInteriorPointLP.addStep w (HSDInteriorPointLP.HSDNewtonDirection alg.P ⋯ w ⋯ 1) 1
Instances For
The generated predictor step stays in the wide neighborhood.
The generated corrector step returns to the tight neighborhood.
Even iterates, carrying the proof that they are in the tight neighborhood.
Equations
Instances For
The even iterate at predictor-corrector pair k.
Instances For
Tight-neighborhood proof for generated even iterates.
The odd iterate obtained after the predictor step from even k.
Equations
- alg.odd k = alg.predictorStep (alg.even k) ⋯
Instances For
Wide-neighborhood proof for generated odd iterates.
Predictor gap decrease for generated odd iterates.
One generated predictor-corrector pair contracts the gap.
Initial gap positivity is derived from the initial neighborhood.
Generated even iterates satisfy the exponential power bound.
Generated odd iterates satisfy the corresponding one-predictor-shifted bound.
Logarithmic pair bound for the generated algorithm, using
L = log(gap0 / ε) as in the paper-style iteration estimate.
Instances For
Pair-count ceiling bound computed from the generated algorithm's initial gap.
Equations
- alg.logPairBound ε = HSDInteriorPointLP.ytmLogPairBoundL n (alg.logL ε)
Instances For
Ordinary iteration-count bound, twice the pair-count bound.
Equations
- alg.logIterationBound ε = 2 * alg.logPairBound ε
Instances For
The generated pair bound implies the required power condition.
Gap stopping at the generated logarithmic pair bound.
The predictor point at the same pair index also satisfies the gap test.
Generated even iterate satisfies the μ ≤ ε test at the log bound.
Generated odd iterate satisfies the μ ≤ ε test at the log bound.
Abstract paper-style stopping condition: the residual predicates are parameters, because the current HLP skeleton has not yet introduced concrete primal and dual residual maps.
- mu_stop : YTMMuStop ε w
- primal_stop : PrimalResidualStop w
- dual_stop : DualResidualStop w
Instances For
Once residual estimates are available, this packages them with μ ≤ ε.