Certificates of infeasibility
Lax109476.FarkasCertificate · concepts/Lax109476/FarkasCertificate.lean · lax-109476
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
For the system , , an infeasibility certificate is a vector satisfying
Such a vector is incompatible with primal feasibility: multiplying the constraints by would give .
Concept map
Lean source view on GitHub
| 1 | import Lax109476.LinearProgram |
| 2 | |
| 3 | /-! |
| 4 | --- |
| 5 | title: Certificates of infeasibility |
| 6 | type: definition |
| 7 | --- |
| 8 | For the system , , an infeasibility certificate is a vector |
| 9 | satisfying |
| 10 | |
| 11 | Such a vector is incompatible with primal feasibility: multiplying the |
| 12 | constraints by would give . |
| 13 | |
| 14 | # Formalization notes |
| 15 | |
| 16 | The certificate is defined over the same coefficient field as the program, |
| 17 | so rational certificates can be checked exactly. The objective coefficients |
| 18 | are irrelevant to this certificate. Existence of a certificate for every |
| 19 | infeasible real system is the separate Farkas theorem. |
| 20 | -/ |
| 21 | |
| 22 | namespace Lax109476.FarkasCertificate |
| 23 | |
| 24 | open Lax109476.LinearProgram |
| 25 | |
| 26 | /-- Nonnegative row multipliers certify an impossible negative upper bound. -/ |
| 27 | def IsInfeasibilityCertificate {K : Type} [Ring K] [PartialOrder K] {m n : ℕ} |
| 28 | (P : Program K m n) (y : Fin m → K) : Prop := |
| 29 | (∀ i, 0 ≤ y i) ∧ (∀ j, 0 ≤ columnValue P y j) ∧ dualValue P y < 0 |
| 30 | |
| 31 | end Lax109476.FarkasCertificate |
| 32 |
Formalization notes
The certificate is defined over the same coefficient field as the program, so rational certificates can be checked exactly. The objective coefficients are irrelevant to this certificate. Existence of a certificate for every infeasible real system is the separate Farkas theorem.
Builds on
Used by
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments