Configures the behaviour of the omega
tactic.
- splitDisjunctions : Bool
Split disjunctions in the context.
Note that with
splitDisjunctions := false
omega will not be able to solvex = y
goals as these are usually handled by introducing¬ x = y
as a hypothesis, then replacing this withx < y ∨ x > y
.On the other hand,
omega
does not currently detect disjunctions which, when split, introduce no new useful information, so the presence of irrelevant disjunctions in the context can significantly increase run time. - splitNatSub : Bool
Whenever
((a - b : Nat) : Int)
is found, register the disjunctionb ≤ a ∧ ((a - b : Nat) : Int) = a - b ∨ a < b ∧ ((a - b : Nat) : Int) = 0
for later splitting. - splitNatAbs : Bool
Whenever
Int.natAbs a
is found, register the disjunction0 ≤ a ∧ Int.natAbs a = a ∨ a < 0 ∧ Int.natAbs a = - a
for later splitting. - splitMinMax : Bool
Whenever
min a b
ormax a b
is found, rewrite in terms of the definitionif a ≤ b ...
, for later case splitting.
Instances For
Allow elaboration of OmegaConfig
arguments to tactics.
Equations
- One or more equations did not get rendered due to their size.