meta
def
omega.elim_var_aux
(m : ℕ) :
(list ℕ × omega.term) × list ℕ × omega.term → tactic (list ℕ × omega.term)
Use two linear combinations to obtain a third linear combination
whose resultant term does not include the m
th variable.
Use two lists of linear combinations (one in which the resultant terms
include occurrences of the m
th variable with positive coefficients,
and one with negative coefficients) and linearly combine them in every
possible way that eliminates the m
th variable.
First, eliminate all variables by Fourier–Motzkin elimination.
When all variables have been eliminated, find and return the
linear combination which produces a constraint of the form
0 < k + t
such that k
is the constant term of the RHS and k < 0
.
Perform Fourier–Motzkin elimination to find a contradictory linear combination of input constraints.