# Documentation

Mathlib.Lean.Meta.DiscrTree

# Additions to Lean.Meta.DiscrTree#

def Lean.Meta.DiscrTree.insertIfSpecific {α : Type} {s : Bool} [BEq α] (d : ) (keys : ) (v : α) :

Inserts a new key into a discrimination tree, but only if it is not of the form #[*] or #[=, *, *, *].

Instances For

Find keys which match the expression, or some subexpression.

Note that repeated subexpressions will be visited each time they appear, making this operation potentially very expensive. It would be good to solve this problem!

Implementation: we reverse the results from getMatch, so that we return lemmas matching larger subexpressions first, and amongst those we return more specific lemmas first.

partial def Lean.Meta.DiscrTree.Trie.mapArraysM {m : } [] {α : Type} {s : Bool} {β : Type} (t : ) (f : m ()) :
m ()

Apply a monadic function to the array of values at each node in a DiscrTree.

def Lean.Meta.DiscrTree.mapArraysM {m : } [] {α : Type} {s : Bool} {β : Type} (d : ) (f : m ()) :
m ()

Apply a monadic function to the array of values at each node in a DiscrTree.

Instances For
def Lean.Meta.DiscrTree.mapArrays {α : Type} {s : Bool} {β : Type} (d : ) (f : ) :

Apply a function to the array of values at each node in a DiscrTree.

Instances For