The oracle based on Simplex Algorithm #
This file contains hooks to enable the use of the Simplex Algorithm in linarith
.
The algorithm's entry point is the function Linarith.SimplexAlgorithm.findPositiveVector
.
See the file PositiveVector.lean
for details of how the procedure works.
def
Linarith.SimplexAlgorithm.preprocess
(matType : ℕ → ℕ → Type)
[Linarith.SimplexAlgorithm.UsableInSimplexAlgorithm matType]
(hyps : List Linarith.Comp)
(maxVar : ℕ)
:
Preprocess the goal to pass it to Linarith.SimplexAlgorithm.findPositiveVector
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extract the certificate from the vec
found by Linarith.SimplexAlgorithm.findPositiveVector
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An oracle that uses the Simplex Algorithm.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The same oracle as CertificateOracle.simplexAlgorithmSparse
, but uses dense matrices. Works faster
on dense states.
Equations
- One or more equations did not get rendered due to their size.