Collect variable information
We order variables in decreasing order of "cost".
We use the lexicographical order of two different costs.
The first one is the max (min lowerCoeff upperCoeff) dvdCoeff
.
Recall that we use cooper-left if the coefficient of the lower bound is smaller, and cooper-right otherwise.
This is way we use the min lowerCoeff upperCoeff
. The coefficient of the divisibility constraint also
impacts the size of the search space.
Then, we break ties using the max of all of them, and then the variable original order.
Equations
- Lean.Meta.Grind.Arith.Cutsat.cost₁ info = max info.maxDvdCoeff (min info.maxLowerCoeff info.maxUpperCoeff)
Instances For
Equations
- Lean.Meta.Grind.Arith.Cutsat.cost₂ info = max info.maxDvdCoeff (max info.maxLowerCoeff info.maxUpperCoeff)
Instances For
Equations
- (Int.Linear.Poly.num k).reorder old2new = Int.Linear.Poly.num k
- (Int.Linear.Poly.add a x_1 p_1).reorder old2new = Int.Linear.Poly.add a old2new[x_1]! (p_1.reorder old2new)
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.