Facts collection for the order Tactic #
This file implements the collection of facts for the order tactic.
A structure for storing facts about variables.
- eq (lhs rhs : ℕ) (proof : Lean.Expr) : AtomicFact
- ne (lhs rhs : ℕ) (proof : Lean.Expr) : AtomicFact
- le (lhs rhs : ℕ) (proof : Lean.Expr) : AtomicFact
- nle (lhs rhs : ℕ) (proof : Lean.Expr) : AtomicFact
- lt (lhs rhs : ℕ) (proof : Lean.Expr) : AtomicFact
- nlt (lhs rhs : ℕ) (proof : Lean.Expr) : AtomicFact
- isTop (idx : ℕ) : AtomicFact
- isBot (idx : ℕ) : AtomicFact
- isInf (lhs rhs res : ℕ) : AtomicFact
- isSup (lhs rhs res : ℕ) : AtomicFact
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
State for CollectFactsM. It contains a map that maps a type to atomic facts collected for
this type.
Equations
Instances For
Monad for the fact collection procedure.
Equations
Instances For
Adds type to the state. It checks if the type has already been added up to
reducible_and_instances transparency. Returns the type that is added to the state and
defenitionally equal (but may be not syntactically equal) to type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Adds fact to the state. Assumes that type is already added by addType.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Updates the state with the atom x. If x is ⊤ or ⊥, adds the corresponding fact. If x
is y ⊔ z, adds a fact about it, then recursively calls addAtom on y and z.
Similarly for ⊓. Assumes that type is already added by addType.
Implementation for collectFacts in CollectFactsM monad.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Collects facts from the local context. negGoal is the negated goal, hyps is the expressions
passed to the tactic using square brackets. If only? is true, we collect facts only from hyps
and negGoal, otherwise we also use the local context.
For each occurring type α, the returned map contains an array containing all collected
AtomicFacts about atoms of type α.
Equations
- Mathlib.Tactic.Order.collectFacts only? hyps negGoal = do let __do_lift ← StateT.run (Mathlib.Tactic.Order.collectFactsImp only? hyps negGoal) ∅ pure __do_lift.snd