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 fact to the state.
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 ⊓.
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