Documentation

Mathlib.Lean.Elab.InfoTree

Additions to Lean.Elab.InfoTree.Main #

Collects all suggestions from all TryThisInfos in trees. trees is visited in order and suggestions in each tree are collected in post-order.

Equations
Instances For

    Visits all trees.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Visits a node in a tree.

      Equations
      Instances For
        def Lean.Elab.InfoTree.findSomeM? {m : TypeType} [Monad m] {α : Type} (f : ContextInfoInfoPersistentArray InfoTreem (Option α)) (t : InfoTree) (ctx? : Option ContextInfo := none) :
        m (Option α)

        Finds the first result of ← f ctx info children which is some a, descending the tree from the top. Merges and updates contexts as it descends the tree.

        f is only evaluated on nodes when some context is present. An initial context should be provided via the ctx? argument if invoking findSomeM? during a larger traversal of the infotree. A failure to provide ctx? := some ctx when t is not the outermost InfoTree is thus likely to cause findSomeM? to always return none.

        Equations
        Instances For
          partial def Lean.Elab.InfoTree.findSomeM?.go {m : TypeType} [Monad m] {α : Type} (f : ContextInfoInfoPersistentArray InfoTreem (Option α)) (ctx? : Option ContextInfo) :
          InfoTreem (Option α)

          Accumulates contexts and visits nodes if ctx? is not none.

          Finds the first result of f ctx info children which is some a, descending the tree from the top. Merges and updates contexts as it descends the tree.

          f is only evaluated on nodes when some context is present. An initial context should be provided via the ctx? argument if invoking findSome? during a larger traversal of the infotree. A failure to provide ctx? := some ctx when t is not the outermost InfoTree is thus likely to cause findSome? to always return none.

          Equations
          Instances For

            Returns the value of f ctx info children on the outermost .node info children which has context, having merged and updated contexts appropriately.

            If ctx? is some ctx, ctx is used as an initial context. A ctx? of none should only be used when operating on the first node of the entire infotree. Otherwise, it is likely that no context will be found.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For