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.