Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.DiscrTree.instLTKey = { lt := fun a b => Lean.Meta.DiscrTree.Key.lt a b = true }
instance
Lean.Meta.DiscrTree.instDecidableLtKeyInstLTKey
(a : Lean.Meta.DiscrTree.Key)
(b : Lean.Meta.DiscrTree.Key)
:
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.DiscrTree.instInhabitedTrie = { default := Lean.Meta.DiscrTree.Trie.node #[] #[] }
Equations
- Lean.Meta.DiscrTree.empty = { root := { root := Std.PersistentHashMap.Node.entries Std.PersistentHashMap.mkEmptyEntriesArray, size := 0 } }
Equations
- Lean.Meta.DiscrTree.instToFormatTrie = { format := Lean.Meta.DiscrTree.Trie.format }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Meta.DiscrTree.instToFormatDiscrTree = { format := Lean.Meta.DiscrTree.format }
Equations
- Lean.Meta.DiscrTree.instInhabitedDiscrTree = { default := { root := { root := Std.PersistentHashMap.Node.entries Std.PersistentHashMap.mkEmptyEntriesArray, size := 0 } } }
Equations
- Lean.Meta.DiscrTree.mkNoindexAnnotation e = Lean.mkAnnotation `noindex e
Equations
- Lean.Meta.DiscrTree.hasNoindexAnnotation e = Option.isSome (Lean.annotation? `noindex e)
whnf for the discrimination tree module
Equations
- Lean.Meta.DiscrTree.whnfDT e root = if root = true then Lean.Meta.DiscrTree.whnfUntilBadKey e else Lean.Meta.DiscrTree.whnfEta e
partial def
Lean.Meta.DiscrTree.mkPathAux
(root : Bool)
(todo : Array Lean.Expr)
(keys : Array Lean.Meta.DiscrTree.Key)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Meta.DiscrTree.insertCore
{α : Type}
[inst : BEq α]
(d : Lean.Meta.DiscrTree α)
(keys : Array Lean.Meta.DiscrTree.Key)
(v : α)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Meta.DiscrTree.insert
{α : Type}
[inst : BEq α]
(d : Lean.Meta.DiscrTree α)
(e : Lean.Expr)
(v : α)
:
Equations
- Lean.Meta.DiscrTree.insert d e v = do let keys ← Lean.Meta.DiscrTree.mkPath e pure (Lean.Meta.DiscrTree.insertCore d keys v)
def
Lean.Meta.DiscrTree.getMatch
{α : Type}
(d : Lean.Meta.DiscrTree α)
(e : Lean.Expr)
:
Lean.MetaM (Array α)
Find values that match e
in d
.
Equations
- Lean.Meta.DiscrTree.getMatch d e = do let a ← Lean.Meta.DiscrTree.getMatchCore d e pure a.snd
def
Lean.Meta.DiscrTree.getMatchWithExtra
{α : Type}
(d : Lean.Meta.DiscrTree α)
(e : Lean.Expr)
:
Lean.MetaM (Array (α × Nat))
Similar to getMatch
, but returns solutions that are prefixes of e
.
We store the number of ignored arguments in the result.
Equations
- One or more equations did not get rendered due to their size.
partial def
Lean.Meta.DiscrTree.getMatchWithExtra.mayMatchPrefix
{α : Type}
(d : Lean.Meta.DiscrTree α)
(k : Lean.Meta.DiscrTree.Key)
:
partial def
Lean.Meta.DiscrTree.getMatchWithExtra.go
{α : Type}
(d : Lean.Meta.DiscrTree α)
(e : Lean.Expr)
(numExtra : Nat)
(result : Array (α × Nat))
:
Lean.MetaM (Array (α × Nat))
def
Lean.Meta.DiscrTree.getUnify
{α : Type}
(d : Lean.Meta.DiscrTree α)
(e : Lean.Expr)
:
Lean.MetaM (Array α)
Equations
- One or more equations did not get rendered due to their size.
partial def
Lean.Meta.DiscrTree.getUnify.process
{α : Type}
(skip : Nat)
(todo : Array Lean.Expr)
(c : Lean.Meta.DiscrTree.Trie α)
(result : Array α)
:
Lean.MetaM (Array α)