Facts preprocessing for the order tactic #
In this file we implement the preprocessing procedure for the order tactic.
See Mathlib/Tactic/Order.lean for details of preprocessing.
Preprocesses facts for preorders. Replaces x < y with two equivalent facts: x ≤ y and
¬ (y ≤ x). Replaces x = y with x ≤ y, y ≤ x and removes x ≠ y.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Mathlib.Tactic.Order.preprocessFactsPartial
(facts : Array AtomicFact)
(idxToAtom : Std.HashMap ℕ Lean.Expr)
:
Preprocesses facts for partial orders. Replaces x < y, ¬ (x ≤ y), and x = y with
equivalent facts involving only ≤, ≠, and ≮. For each fact x = y ⊔ z adds y ≤ x
and z ≤ x facts, and similarly for ⊓.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Mathlib.Tactic.Order.preprocessFactsLinear
(facts : Array AtomicFact)
(idxToAtom : Std.HashMap ℕ Lean.Expr)
:
Preprocesses facts for linear orders. Replaces x < y, ¬ (x ≤ y), ¬ (x < y), and x = y
with equivalent facts involving only ≤ and ≠. For each fact x = y ⊔ z adds y ≤ x
and z ≤ x facts, and similarly for ⊓.
Equations
- One or more equations did not get rendered due to their size.