Configures the behaviour of the omega tactic.
- splitDisjunctions : Bool
Split disjunctions in the context.
Note that with
splitDisjunctions := falseomega will not be able to solvex = ygoals as these are usually handled by introducing¬ x = yas a hypothesis, then replacing this withx < y ∨ x > y.On the other hand,
omegadoes 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) = 0for later splitting. - splitNatAbs : Bool
Whenever
Int.natAbs ais found, register the disjunction0 ≤ a ∧ Int.natAbs a = a ∨ a < 0 ∧ Int.natAbs a = - afor later splitting. - splitMinMax : Bool
Whenever
min a bormax a bis 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.