Documentation

Std.Lean.Meta.DiscrTree

Compare two Keys. The ordering is total but otherwise arbitrary. (It uses Name.quickCmp internally.)

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[implemented_by _private.Std.Lean.Meta.DiscrTree.0.Lean.Meta.DiscrTree.Trie.foldMUnsafe]
    opaque Lean.Meta.DiscrTree.Trie.foldM {m : Type u_1 → Type u_2} {σ : Type u_1} {α : Type} [Monad m] (initalKeys : Array Lean.Meta.DiscrTree.Key) (f : σArray Lean.Meta.DiscrTree.Keyαm σ) (init : σ) (t : Lean.Meta.DiscrTree.Trie α) :
    m σ

    Monadically fold the keys and values stored in a Trie.

    @[inline]
    def Lean.Meta.DiscrTree.Trie.fold {σ : Type u_1} {α : Type} (initialKeys : Array Lean.Meta.DiscrTree.Key) (f : σArray Lean.Meta.DiscrTree.Keyασ) (init : σ) (t : Lean.Meta.DiscrTree.Trie α) :
    σ

    Fold the keys and values stored in a Trie.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[implemented_by _private.Std.Lean.Meta.DiscrTree.0.Lean.Meta.DiscrTree.Trie.foldValuesMUnsafe]
      opaque Lean.Meta.DiscrTree.Trie.foldValuesM {m : Type u_1 → Type u_2} {σ : Type u_1} {α : Type} [Monad m] (f : σαm σ) (init : σ) (t : Lean.Meta.DiscrTree.Trie α) :
      m σ

      Monadically fold the values stored in a Trie.

      @[inline]
      def Lean.Meta.DiscrTree.Trie.foldValues {σ : Type u_1} {α : Type} (f : σασ) (init : σ) (t : Lean.Meta.DiscrTree.Trie α) :
      σ

      Fold the values stored in a Trie.

      Equations
      Instances For

        The number of values stored in a Trie.

        Merge two Tries. Duplicate values are preserved.

        @[inline]
        def Lean.Meta.DiscrTree.foldM {m : Type u_1 → Type u_2} {σ : Type u_1} {α : Type} [Monad m] (f : σArray Lean.Meta.DiscrTree.Keyαm σ) (init : σ) (t : Lean.Meta.DiscrTree α) :
        m σ

        Monadically fold over the keys and values stored in a DiscrTree.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[inline]
          def Lean.Meta.DiscrTree.fold {σ : Type u_1} {α : Type} (f : σArray Lean.Meta.DiscrTree.Keyασ) (init : σ) (t : Lean.Meta.DiscrTree α) :
          σ

          Fold over the keys and values stored in a DiscrTree

          Equations
          Instances For
            @[inline]
            def Lean.Meta.DiscrTree.foldValuesM {m : Type u_1 → Type u_2} {σ : Type u_1} {α : Type} [Monad m] (f : σαm σ) (init : σ) (t : Lean.Meta.DiscrTree α) :
            m σ

            Monadically fold over the values stored in a DiscrTree.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[inline]
              def Lean.Meta.DiscrTree.foldValues {σ : Type u_1} {α : Type} (f : σασ) (init : σ) (t : Lean.Meta.DiscrTree α) :
              σ

              Fold over the values stored in a DiscrTree.

              Equations
              Instances For
                @[inline]

                Extract the values stored in a DiscrTree.

                Equations
                Instances For
                  @[inline]

                  Extract the keys and values stored in a DiscrTree.

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

                    Get the number of values stored in a DiscrTree. O(n) in the size of the tree.

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

                      Merge two DiscrTrees. Duplicate values are preserved.

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

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

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          partial def Lean.Meta.DiscrTree.Trie.mapArraysM {m : TypeType} [Monad m] {α : Type} {β : Type} (t : Lean.Meta.DiscrTree.Trie α) (f : Array αm (Array β)) :

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

                          def Lean.Meta.DiscrTree.mapArraysM {m : TypeType} [Monad m] {α : Type} {β : Type} (d : Lean.Meta.DiscrTree α) (f : Array αm (Array β)) :

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

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

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

                            Equations
                            Instances For