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
Equations
Equations
- One or more equations did not get rendered due to their size.
State for CollectFactsM
. It contains a map where the key t
maps to a
pair (atomToIdx, facts)
. atomToIdx
is a DiscrTree
containing atomic expressions with their
indices, and facts
stores AtomicFact
s about them.
Monad for the fact collection procedure.
Updates the state with the atom x
.
Equations
- One or more equations did not get rendered due to their size.
Adds fact
to the state.
Equations
- One or more equations did not get rendered due to their size.
Implementation for collectFacts
in CollectFactsM
monad.
Equations
- One or more equations did not get rendered due to their size.
Extracts facts and atoms from the expression.
Collects facts from the local context. For each occurring type α
, the returned map contains
a pair (idxToAtom, facts)
, where the map idxToAtom
converts indices to found
atomic expressions of type α
, and facts
contains all collected AtomicFact
s about them.
Equations
- One or more equations did not get rendered due to their size.