Complementary slackness
Lax109476.ComplementarySlackness · concepts/Lax109476/ComplementarySlackness.lean · lax-109476
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
For a primal feasible point and a dual feasible point , the objective values agree if and only if
Thus matching feasible certificates can equivalently be checked by these complementarity conditions.
Concept map
Lean source view on GitHub
| 1 | import Lax109476.LinearProgram |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Complementary slackness |
| 6 | type: theorem |
| 7 | --- |
| 8 | For a primal feasible point and a dual feasible point , the objective |
| 9 | values agree if and only if |
| 10 | |
| 11 | |
| 12 | Thus matching feasible certificates can equivalently be checked by these |
| 13 | complementarity conditions. |
| 14 | |
| 15 | # Formalization notes |
| 16 | |
| 17 | Feasibility makes every displayed product nonnegative. The difference of |
| 18 | the objectives is the sum of all these products, so it vanishes exactly |
| 19 | when each product vanishes. This identity requires no existence theorem. |
| 20 | -/ |
| 21 | |
| 22 | namespace Lax109476.ComplementarySlackness |
| 23 | |
| 24 | open Lax109476.LinearProgram |
| 25 | |
| 26 | /-- Matching feasible objectives are equivalent to coordinatewise complementarity. -/ |
| 27 | axiom matching_iff_slackness : |
| 28 | ∀ (m n : ℕ) (P : Program ℝ m n) (x : Fin n → ℝ) (y : Fin m → ℝ), |
| 29 | PrimalFeasible P x → DualFeasible P y → |
| 30 | (primalValue P x = dualValue P y ↔ |
| 31 | (∀ i, y i * (P.b i - rowValue P x i) = 0) ∧ |
| 32 | (∀ j, x j * (columnValue P y j - P.c j) = 0)) |
| 33 | |
| 34 | end Lax109476.ComplementarySlackness |
| 35 |
Formalization notes
Feasibility makes every displayed product nonnegative. The difference of the objectives is the sum of all these products, so it vanishes exactly when each product vanishes. This identity requires no existence theorem.
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments