A map whose keys are expressions. Keys are identified up to defeq. We use
reducible transparency and treat metavariables as rigid (i.e.,
unassignable).
- rep : Lean.PArray (Option (Lean.Expr × α))
The mappings stored in the map. Defeq expressions are identified, so for each equivalence class of defeq expressions we only store one representative. Missing values indicate expressions that were removed from the map.
- idx : Lean.Meta.DiscrTree Nat
Instances For
@[specialize #[]]
def
Aesop.EMap.alterM
{m : Type → Type u_1}
[Monad m]
[MonadLiftT Lean.MetaM m]
{α β : Type}
(e : Lean.Expr)
(f : α → m (Option α × β))
(map : EMap α)
:
Equations
Instances For
@[specialize #[]]
def
Aesop.EMap.insertNew
{m : Type → Type u_1}
[Monad m]
[MonadLiftT Lean.MetaM m]
{α : Type}
(e : Lean.Expr)
(a : α)
(map : EMap α)
:
m (EMap α)
Equations
Instances For
@[specialize #[]]
def
Aesop.EMap.insertWithM
{m : Type → Type u_1}
[Monad m]
[MonadLiftT Lean.MetaM m]
{α : Type}
(e : Lean.Expr)
(f : Option α → m α)
(map : EMap α)
:
Equations
Instances For
Equations
Instances For
def
Aesop.EMap.singleton
{m : Type → Type u_1}
[Monad m]
[MonadLiftT Lean.MetaM m]
{α : Type}
(e : Lean.Expr)
(a : α)
:
m (EMap α)
Equations
Instances For
def
Aesop.EMap.findWithKey?
{α : Type}
(e : Lean.Expr)
(map : EMap α)
:
Lean.MetaM (Option (Lean.Expr × α))