Primal-dual LP data and HSDE notation #
This file is intended to be a stable foundation. It contains the LP data, homogeneous self-dual variables, complementarity/gap notation, and the neighborhood definitions used later in the proof.
Lean-reading hints for beginners:
structureis a record type. Its fields become named assumptions/data.defintroduces a definition;theoremintroduces a proved proposition.namespace HSDInteriorPointLPprevents names from clashing with Mathlib.simp only [...]rewrites only by the listed rules. It is safer than baresimpin a long proof because the simplification set does not change silently.
HSDE-LP proof skeleton with separated (x, τ) and (s, κ) variables #
This version keeps the homogenizing variables explicit:
- primal-side variables:
x : Vec nandtau : ℝ; - dual/complementarity-side variables:
s : Vec nandkappa : ℝ.
This is closer to the Ye--Todd--Mizuno HLP notation and is easier to compare with
Clarabel-style homogeneous embedding variables. It is mathematically equivalent to
bundling (x,τ) and (s,κ) into vectors of dimension n+1, but the separated form
makes the special scalar complementarity term τκ visible.
The remaining YTM predictor/corrector neighborhood estimates are kept only in the
fixed-parameter YTM form: tight neighborhood 1/4, wide neighborhood 1/2,
and predictor step constant 8^{-2.5}.
Short Lean proof-command guide #
The file is written for readers who know the interior-point algebra but may be new to Lean.
introintroduces an assumption or quantified variable from the current goal.have h : P := by ...proves and names an intermediate claim.rcases h with ⟨...⟩unpacks conjunctions, existentials, and structures.simp only [...]performs controlled rewriting using only the listed facts.simpa [defs] using hsimplifies the goal and the type ofh, then appliesh.linarithcloses linear real-arithmetic goals from the available hypotheses.nlinarithis the same idea for nonlinear arithmetic such as products/squares.ringproves polynomial identities over rings such asℝ.
Real coordinate vectors indexed by Fin n.
Equations
- HSDInteriorPointLP.Vec n = (Fin n → ℝ)
Instances For
Full row rank of A, written without importing a separate linear-independence API.
This says that the only linear combination of the rows of A equal to zero is the
trivial one. This is the standard full-row-rank assumption used in primal-dual IPM
analyses.
Equations
- HSDInteriorPointLP.FullRowRank P = ∀ (y : HSDInteriorPointLP.Vec m), (∀ (j : Fin n), ∑ i : Fin m, y i * P.A i j = 0) → ∀ (i : Fin m), y i = 0
Instances For
Standard assumptions for the LP-level HLP skeleton. For the current LP proof skeleton we only record full row rank explicitly. Interior/nonemptiness assumptions belong to the neighborhood and local-theory statements below.
- full_row_rank : FullRowRank P
Instances For
Homogeneous complementarity dimension n + 1.
Equations
- HSDInteriorPointLP.hdim n = ↑n + 1
Instances For
Euclidean dot product on finite real vectors.
Equations
- HSDInteriorPointLP.dot u v = ∑ i : Fin n, u i * v i
Instances For
Pairing of (x,τ) and (s,κ): xᵀs + τκ.
Equations
- HSDInteriorPointLP.hdot x tau s kappa = HSDInteriorPointLP.dot x s + tau * kappa
Instances For
Complementarity gap of an HSD state.
Equations
- HSDInteriorPointLP.gap w = HSDInteriorPointLP.hdot w.x w.tau w.s w.kappa
Instances For
Average complementarity measure.
Equations
Instances For
Apply a scalar step along an HSD search direction.
Equations
Instances For
Direction lies in the HLP nullspace, recorded through the skew-symmetry consequence used in the complementarity-gap calculation.
In the full HLP formulation this identity is obtained by multiplying the four
linearized HLP equality equations by the corresponding direction components and
adding them. See HLPNullDirection_from_full_nullspace below for the concrete
calculation from the separated full equations.
Instances For
Complementarity equation used in the predictor/corrector system.
For γ = 0 this is the predictor equation. For γ = 1 this is the corrector equation.
Instances For
A single YTM-type linearized step direction for the HLP.
- null_dir : HLPNullDirection d
- skew : HSDSkewOrthogonal d
- compl : HSDComplementarityDirection w d γ
Instances For
The linear system that defines a YTM-type search direction.
The first field represents membership in the HLP nullspace, i.e., the linearized
HLP equalities. The last two fields are the linearized complementarity equations
for (x,s) and (τ,κ). The parameter γ distinguishes the predictor (γ = 0)
from the corrector (γ = 1).
- null_dir : HLPNullDirection d
Instances For
Concrete YTM/HLP full-direction layer #
The earlier HSDirectionEquation works only with the reduced variables
(dx,dτ,ds,dκ). The actual Ye--Todd--Mizuno HLP Newton system also contains
dy and dθ. The following definitions expose that full search-direction layer.
Full HLP direction, including the equality-multiplier direction dy and the
free homogenizing direction dθ.
- dy : Vec m
Equality-multiplier direction.
- dx : Vec n
Primal-vector direction.
- dtau : ℝ
Primal homogenizing scalar direction.
- dtheta : ℝ
Free homogenizing direction.
- ds : Vec n
Dual-slack direction.
- dkappa : ℝ
Dual homogenizing scalar direction.
Instances For
Forget the free/equality components and retain the reduced complementarity variables.
Instances For
Linearized HLP equalities in the simplified YTM HLP form.
These equations are the full analogue of membership in the HLP nullspace. They
correspond to the four displayed equations in Theorem 5(ii) of Ye--Todd--Mizuno,
after adding the slack directions ds and dκ and keeping the free direction dθ.
Instances For
Full YTM search-direction equations: HLP nullspace plus the linearized complementarity equations.
- null_eqs : HLPNullspaceEquations P D
Instances For
Right-hand side of the complementarity part of the YTM Newton system.
Equations
- HSDInteriorPointLP.complRhs w γ i = γ * HSDInteriorPointLP.mu w - w.x i * w.s i
Instances For
Right-hand side of the scalar complementarity equation.
Equations
- HSDInteriorPointLP.scalarComplRhs w γ = γ * HSDInteriorPointLP.mu w - w.tau * w.kappa
Instances For
The full HLP Newton block operator, written as equations rather than as a single
matrix. The output consists of the four HLP nullspace residuals and the
n+1 complementarity residuals. Thus solving the Newton system means finding
D such that this operator equals the right-hand side encoded below.
For the homogeneous self-dual LP of Ye--Todd--Mizuno, the first four blocks are the linearized HLP equalities, while the last two blocks are the linearized complementarity equations.
Instances For
The block-system formulation is equivalent to the previous bundled full direction equation. This direction is useful because the block system exposes the Newton matrix whose nonsingularity must be proved from full row rank and interiority.
Homogeneous version of the full Newton block system.
This is the kernel system obtained by replacing the complementarity right-hand side by zero. Proving that its only solution is zero is the standard injectivity step in the finite-dimensional solvability proof of the HLP Newton equations.
Instances For
Finite-dimensional solvability of the full Newton block #
The solvability step is a purely finite-dimensional linear-algebra argument. We
encode the unknowns (dy,dx,dτ,dθ,ds,dκ) and the six residual blocks in the same
product vector space. The concrete Newton block is then a linear self-map on this
space. Since the homogeneous block has only the zero solution, the self-map is
injective; in finite dimension, injectivity of a self-map implies surjectivity.
Product vector space used for the full HLP Newton unknowns and residuals.
Equations
Instances For
Encode a full HLP direction as a vector in the product block space.
Instances For
Decode a product block vector as a full HLP direction.
Equations
- HSDInteriorPointLP.HLPFullDirection.ofBlockVector u = { dy := u.1, dx := u.2.1, dtau := u.2.2.1, dtheta := u.2.2.2.1, ds := u.2.2.2.2.1, dkappa := u.2.2.2.2.2 }
Instances For
Right-hand side of the full Newton block system in the same block space.
Equations
Instances For
This file contains the stable foundation: data structures, elementary HSDE/HLP
definitions, and basic algebraic identities used by the work file.
It intentionally stops before HLPNewtonBlockOperator, where the current active
proof engineering is happening.