Documentation

Std.Data.ExtTreeSet.Basic

Extensional tree sets #

This file develops the type Std.ExtTreeSet of tree sets.

Lemmas about the operations on Std.Data.ExtTreeSet will be available in the module Std.Data.ExtTreeSet.Lemmas.

See the module Std.Data.TreeSet.Raw.Basic for a variant of this type which is safe to use in nested inductive types.

structure Std.ExtTreeSet (α : Type u) (cmp : ααOrdering := by exact compare) :

Extensional tree sets.

A tree set stores elements of a certain type in a certain order. It depends on a comparator function that defines an ordering on the keys and provides efficient order-dependent queries, such as retrieval of the minimum or maximum.

To ensure that the operations behave as expected, the comparator function cmp should satisfy certain laws that ensure a consistent ordering:

  • If a is less than (or equal) to b, then b is greater than (or equal) to a and vice versa (see the OrientedCmp typeclass).
  • If a is less than or equal to b and b is, in turn, less than or equal to c, then a is less than or equal to c (see the TransCmp typeclass).

Keys for which cmp a b = Ordering.eq are considered the same, i.e., there can be only one of them be contained in a single tree set at the same time.

To avoid expensive copies, users should make sure that the tree set is used linearly.

Internally, the tree sets are represented as size-bounded trees, a type of self-balancing binary search tree with efficient order statistic lookups.

In contrast to regular dependent tree maps, Std.ExtTreeSet offers several extensionality lemmas and therefore has more lemmas about equality of tree sets. This doesn't affect the amount of supported functions though: Std.ExtTreeSet supports all operations from Std.TreeMap.

In order to use most functions, a TransCmp instance is required. This is necessary to make sure that the functions are congruent, i.e. equivalent tree sets as parameters produce equivalent return values.

These tree sets contain a bundled well-formedness invariant, which means that they cannot be used in nested inductive types. For these use cases, Std.TreeSet.Raw and Std.TreeSet.Raw.WF unbundle the invariant from the tree set. When in doubt, prefer ExtTreeSet over TreeSet.Raw.

  • inner : ExtTreeMap α Unit cmp

    Internal implementation detail of the tree map.

Instances For
    @[inline]
    def Std.ExtTreeSet.empty {α : Type u} {cmp : ααOrdering} :
    ExtTreeSet α cmp

    Creates a new empty tree set. It is also possible and recommended to use the empty collection notations and {} to create an empty tree set. simp replaces empty with .

    Equations
    Instances For
      instance Std.ExtTreeSet.instInhabited {α : Type u} {cmp : ααOrdering} :
      Equations
      @[simp]
      theorem Std.ExtTreeSet.empty_eq_emptyc {α : Type u} {cmp : ααOrdering} :
      @[inline]
      def Std.ExtTreeSet.insert {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (l : ExtTreeSet α cmp) (a : α) :
      ExtTreeSet α cmp

      Inserts the given element into the set. If the tree set already contains an element that is equal (with regard to cmp) to the given element, then the tree set is returned unchanged.

      Note: this non-replacement behavior is true for ExtTreeSet and ExtTreeSet.Raw. The insert function on ExtTreeMap, ExtDTreeMap, ExtTreeMap.Raw and ExtDTreeMap.Raw behaves differently: it will overwrite an existing mapping.

      Equations
      Instances For
        instance Std.ExtTreeSet.instSingletonOfTransCmp {α : Type u} {cmp : ααOrdering} [TransCmp cmp] :
        Singleton α (ExtTreeSet α cmp)
        Equations
        instance Std.ExtTreeSet.instInsertOfTransCmp {α : Type u} {cmp : ααOrdering} [TransCmp cmp] :
        Insert α (ExtTreeSet α cmp)
        Equations
        instance Std.ExtTreeSet.instLawfulSingleton {α : Type u} {cmp : ααOrdering} [TransCmp cmp] :
        @[inline]
        def Std.ExtTreeSet.containsThenInsert {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (a : α) :

        Checks whether an element is present in a set and inserts the element if it was not found. If the tree set already contains an element that is equal (with regard to cmp to the given element, then the tree set is returned unchanged.

        Equivalent to (but potentially faster than) calling contains followed by insert.

        Equations
        Instances For
          @[inline]
          def Std.ExtTreeSet.contains {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (l : ExtTreeSet α cmp) (a : α) :

          Returns true if a, or an element equal to a according to the comparator cmp, is contained in the set. There is also a Prop-valued version of this: a ∈ t is equivalent to t.contains a = true.

          Observe that this is different behavior than for lists: for lists, uses = and contains uses == for equality checks, while for tree sets, both use the given comparator cmp.

          Equations
          Instances For
            instance Std.ExtTreeSet.instMembershipOfTransCmp {α : Type u} {cmp : ααOrdering} [TransCmp cmp] :
            Equations
            instance Std.ExtTreeSet.instDecidableMem {α : Type u} {cmp : ααOrdering} [TransCmp cmp] {m : ExtTreeSet α cmp} {a : α} :
            Equations
            @[inline]
            def Std.ExtTreeSet.size {α : Type u} {cmp : ααOrdering} (t : ExtTreeSet α cmp) :

            Returns the number of mappings present in the map.

            Equations
            Instances For
              @[inline]
              def Std.ExtTreeSet.isEmpty {α : Type u} {cmp : ααOrdering} (t : ExtTreeSet α cmp) :

              Returns true if the tree set contains no mappings.

              Equations
              Instances For
                @[inline]
                def Std.ExtTreeSet.erase {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (a : α) :
                ExtTreeSet α cmp

                Removes the given key if it exists.

                Equations
                Instances For
                  @[inline]
                  def Std.ExtTreeSet.get? {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (a : α) :

                  Checks if given key is contained and returns the key if it is, otherwise none. The result in the some case is guaranteed to be pointer equal to the key in the map.

                  Equations
                  Instances For
                    @[inline]
                    def Std.ExtTreeSet.get {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (a : α) (h : a t) :
                    α

                    Retrieves the key from the set that matches a. Ensures that such a key exists by requiring a proof of a ∈ m. The result is guaranteed to be pointer equal to the key in the set.

                    Equations
                    Instances For
                      @[inline]
                      def Std.ExtTreeSet.get! {α : Type u} {cmp : ααOrdering} [TransCmp cmp] [Inhabited α] (t : ExtTreeSet α cmp) (a : α) :
                      α

                      Checks if given key is contained and returns the key if it is, otherwise panics. If no panic occurs the result is guaranteed to be pointer equal to the key in the set.

                      Equations
                      Instances For
                        @[inline]
                        def Std.ExtTreeSet.getD {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (a fallback : α) :
                        α

                        Checks if given key is contained and returns the key if it is, otherwise fallback. If they key is contained the result is guaranteed to be pointer equal to the key in the set.

                        Equations
                        Instances For
                          @[inline]
                          def Std.ExtTreeSet.min? {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) :

                          Tries to retrieve the smallest element of the tree set, returning none if the set is empty.

                          Equations
                          Instances For
                            @[inline]
                            def Std.ExtTreeSet.min {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (h : t ) :
                            α

                            Given a proof that the tree set is not empty, retrieves the smallest element.

                            Equations
                            Instances For
                              @[inline]
                              def Std.ExtTreeSet.min! {α : Type u} {cmp : ααOrdering} [TransCmp cmp] [Inhabited α] (t : ExtTreeSet α cmp) :
                              α

                              Tries to retrieve the smallest element of the tree set, panicking if the set is empty.

                              Equations
                              Instances For
                                @[inline]
                                def Std.ExtTreeSet.minD {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (fallback : α) :
                                α

                                Tries to retrieve the smallest element of the tree set, returning fallback if the tree set is empty.

                                Equations
                                Instances For
                                  @[inline]
                                  def Std.ExtTreeSet.max? {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) :

                                  Tries to retrieve the largest element of the tree set, returning none if the set is empty.

                                  Equations
                                  Instances For
                                    @[inline]
                                    def Std.ExtTreeSet.max {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (h : t ) :
                                    α

                                    Given a proof that the tree set is not empty, retrieves the largest element.

                                    Equations
                                    Instances For
                                      @[inline]
                                      def Std.ExtTreeSet.max! {α : Type u} {cmp : ααOrdering} [TransCmp cmp] [Inhabited α] (t : ExtTreeSet α cmp) :
                                      α

                                      Tries to retrieve the largest element of the tree set, panicking if the set is empty.

                                      Equations
                                      Instances For
                                        @[inline]
                                        def Std.ExtTreeSet.maxD {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (fallback : α) :
                                        α

                                        Tries to retrieve the largest element of the tree set, returning fallback if the tree set is empty.

                                        Equations
                                        Instances For
                                          @[inline]
                                          def Std.ExtTreeSet.atIdx? {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (n : Nat) :

                                          Returns the n-th smallest element, or none if n is at least t.size.

                                          Equations
                                          Instances For
                                            @[inline]
                                            def Std.ExtTreeSet.atIdx {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (n : Nat) (h : n < t.size) :
                                            α

                                            Returns the n-th smallest element.

                                            Equations
                                            Instances For
                                              @[inline]
                                              def Std.ExtTreeSet.atIdx! {α : Type u} {cmp : ααOrdering} [TransCmp cmp] [Inhabited α] (t : ExtTreeSet α cmp) (n : Nat) :
                                              α

                                              Returns the n-th smallest element, or panics if n is at least t.size.

                                              Equations
                                              Instances For
                                                @[inline]
                                                def Std.ExtTreeSet.atIdxD {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (n : Nat) (fallback : α) :
                                                α

                                                Returns the n-th smallest element, or fallback if n is at least t.size.

                                                Equations
                                                Instances For
                                                  @[inline]
                                                  def Std.ExtTreeSet.getGE? {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k : α) :

                                                  Tries to retrieve the smallest element that is greater than or equal to the given element, returning none if no such element exists.

                                                  Equations
                                                  Instances For
                                                    @[inline]
                                                    def Std.ExtTreeSet.getGT? {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k : α) :

                                                    Tries to retrieve the smallest element that is greater than the given element, returning none if no such element exists.

                                                    Equations
                                                    Instances For
                                                      @[inline]
                                                      def Std.ExtTreeSet.getLE? {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k : α) :

                                                      Tries to retrieve the largest element that is less than or equal to the given element, returning none if no such element exists.

                                                      Equations
                                                      Instances For
                                                        @[inline]
                                                        def Std.ExtTreeSet.getLT? {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k : α) :

                                                        Tries to retrieve the smallest element that is less than the given element, returning none if no such element exists.

                                                        Equations
                                                        Instances For
                                                          @[inline]
                                                          def Std.ExtTreeSet.getGE {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k : α) (h : (a : α), a t (cmp a k).isGE = true) :
                                                          α

                                                          Given a proof that such an element exists, retrieves the smallest element that is greater than or equal to the given element.

                                                          Equations
                                                          Instances For
                                                            @[inline]
                                                            def Std.ExtTreeSet.getGT {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k : α) (h : (a : α), a t cmp a k = Ordering.gt) :
                                                            α

                                                            Given a proof that such an element exists, retrieves the smallest element that is greater than the given element.

                                                            Equations
                                                            Instances For
                                                              @[inline]
                                                              def Std.ExtTreeSet.getLE {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k : α) (h : (a : α), a t (cmp a k).isLE = true) :
                                                              α

                                                              Given a proof that such an element exists, retrieves the largest element that is less than or equal to the given element.

                                                              Equations
                                                              Instances For
                                                                @[inline]
                                                                def Std.ExtTreeSet.getLT {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k : α) (h : (a : α), a t cmp a k = Ordering.lt) :
                                                                α

                                                                Given a proof that such an element exists, retrieves the smallest element that is less than the given element.

                                                                Equations
                                                                Instances For
                                                                  @[inline]
                                                                  def Std.ExtTreeSet.getGE! {α : Type u} {cmp : ααOrdering} [TransCmp cmp] [Inhabited α] (t : ExtTreeSet α cmp) (k : α) :
                                                                  α

                                                                  Tries to retrieve the smallest element that is greater than or equal to the given element, panicking if no such element exists.

                                                                  Equations
                                                                  Instances For
                                                                    @[inline]
                                                                    def Std.ExtTreeSet.getGT! {α : Type u} {cmp : ααOrdering} [TransCmp cmp] [Inhabited α] (t : ExtTreeSet α cmp) (k : α) :
                                                                    α

                                                                    Tries to retrieve the smallest element that is greater than the given element, panicking if no such element exists.

                                                                    Equations
                                                                    Instances For
                                                                      @[inline]
                                                                      def Std.ExtTreeSet.getLE! {α : Type u} {cmp : ααOrdering} [TransCmp cmp] [Inhabited α] (t : ExtTreeSet α cmp) (k : α) :
                                                                      α

                                                                      Tries to retrieve the largest element that is less than or equal to the given element, panicking if no such element exists.

                                                                      Equations
                                                                      Instances For
                                                                        @[inline]
                                                                        def Std.ExtTreeSet.getLT! {α : Type u} {cmp : ααOrdering} [TransCmp cmp] [Inhabited α] (t : ExtTreeSet α cmp) (k : α) :
                                                                        α

                                                                        Tries to retrieve the smallest element that is less than the given element, panicking if no such element exists.

                                                                        Equations
                                                                        Instances For
                                                                          @[inline]
                                                                          def Std.ExtTreeSet.getGED {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k fallback : α) :
                                                                          α

                                                                          Tries to retrieve the smallest element that is greater than or equal to the given element, returning fallback if no such element exists.

                                                                          Equations
                                                                          Instances For
                                                                            @[inline]
                                                                            def Std.ExtTreeSet.getGTD {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k fallback : α) :
                                                                            α

                                                                            Tries to retrieve the smallest element that is greater than the given element, returning fallback if no such element exists.

                                                                            Equations
                                                                            Instances For
                                                                              @[inline]
                                                                              def Std.ExtTreeSet.getLED {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k fallback : α) :
                                                                              α

                                                                              Tries to retrieve the largest element that is less than or equal to the given element, returning fallback if no such element exists.

                                                                              Equations
                                                                              Instances For
                                                                                @[inline]
                                                                                def Std.ExtTreeSet.getLTD {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (k fallback : α) :
                                                                                α

                                                                                Tries to retrieve the smallest element that is less than the given element, returning fallback if no such element exists.

                                                                                Equations
                                                                                Instances For
                                                                                  @[inline]
                                                                                  def Std.ExtTreeSet.filter {α : Type u} {cmp : ααOrdering} (f : αBool) (m : ExtTreeSet α cmp) :
                                                                                  ExtTreeSet α cmp

                                                                                  Removes all elements from the tree set for which the given function returns false.

                                                                                  Equations
                                                                                  Instances For
                                                                                    @[inline]
                                                                                    def Std.ExtTreeSet.foldlM {α : Type u} {cmp : ααOrdering} {δ : Type w} {m : Type w → Type w₂} [Monad m] [LawfulMonad m] [TransCmp cmp] (f : δαm δ) (init : δ) (t : ExtTreeSet α cmp) :
                                                                                    m δ

                                                                                    Monadically computes a value by folding the given function over the elements in the tree set in ascending order.

                                                                                    Equations
                                                                                    Instances For
                                                                                      @[inline]
                                                                                      def Std.ExtTreeSet.foldl {α : Type u} {cmp : ααOrdering} {δ : Type w} [TransCmp cmp] (f : δαδ) (init : δ) (t : ExtTreeSet α cmp) :
                                                                                      δ

                                                                                      Folds the given function over the elements of the tree set in ascending order.

                                                                                      Equations
                                                                                      Instances For
                                                                                        @[inline]
                                                                                        def Std.ExtTreeSet.foldrM {α : Type u} {cmp : ααOrdering} {δ : Type w} {m : Type w → Type w₂} [Monad m] [LawfulMonad m] [TransCmp cmp] (f : αδm δ) (init : δ) (t : ExtTreeSet α cmp) :
                                                                                        m δ

                                                                                        Monadically computes a value by folding the given function over the elements in the tree set in descending order.

                                                                                        Equations
                                                                                        Instances For
                                                                                          @[inline]
                                                                                          def Std.ExtTreeSet.foldr {α : Type u} {cmp : ααOrdering} {δ : Type w} [TransCmp cmp] (f : αδδ) (init : δ) (t : ExtTreeSet α cmp) :
                                                                                          δ

                                                                                          Folds the given function over the elements of the tree set in descending order.

                                                                                          Equations
                                                                                          Instances For
                                                                                            @[inline]
                                                                                            def Std.ExtTreeSet.partition {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (f : αBool) (t : ExtTreeSet α cmp) :
                                                                                            ExtTreeSet α cmp × ExtTreeSet α cmp

                                                                                            Partitions a tree set into two tree sets based on a predicate.

                                                                                            Equations
                                                                                            • One or more equations did not get rendered due to their size.
                                                                                            Instances For
                                                                                              @[inline]
                                                                                              def Std.ExtTreeSet.forM {α : Type u} {cmp : ααOrdering} {m : Type w → Type w₂} [Monad m] [LawfulMonad m] [TransCmp cmp] (f : αm PUnit) (t : ExtTreeSet α cmp) :

                                                                                              Carries out a monadic action on each element in the tree set in ascending order.

                                                                                              Equations
                                                                                              Instances For
                                                                                                @[inline]
                                                                                                def Std.ExtTreeSet.forIn {α : Type u} {cmp : ααOrdering} {δ : Type w} {m : Type w → Type w₂} [Monad m] [LawfulMonad m] [TransCmp cmp] (f : αδm (ForInStep δ)) (init : δ) (t : ExtTreeSet α cmp) :
                                                                                                m δ

                                                                                                Support for the for loop construct in do blocks. The iteration happens in ascending order.

                                                                                                Equations
                                                                                                Instances For
                                                                                                  instance Std.ExtTreeSet.instForMOfTransCmpOfLawfulMonad {α : Type u} {cmp : ααOrdering} {m : Type w → Type w₂} [TransCmp cmp] [inst : Monad m] [LawfulMonad m] :
                                                                                                  ForM m (ExtTreeSet α cmp) α
                                                                                                  Equations
                                                                                                  instance Std.ExtTreeSet.instForInOfTransCmpOfLawfulMonad {α : Type u} {cmp : ααOrdering} {m : Type w → Type w₂} [TransCmp cmp] [inst : Monad m] [LawfulMonad m] :
                                                                                                  ForIn m (ExtTreeSet α cmp) α
                                                                                                  Equations
                                                                                                  • One or more equations did not get rendered due to their size.
                                                                                                  @[inline]
                                                                                                  def Std.ExtTreeSet.any {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (p : αBool) :

                                                                                                  Check if all elements satisfy the predicate, short-circuiting if a predicate fails.

                                                                                                  Equations
                                                                                                  Instances For
                                                                                                    @[inline]
                                                                                                    def Std.ExtTreeSet.all {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) (p : αBool) :

                                                                                                    Check if any element satisfies the predicate, short-circuiting if a predicate succeeds.

                                                                                                    Equations
                                                                                                    Instances For
                                                                                                      @[inline]
                                                                                                      def Std.ExtTreeSet.toList {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) :
                                                                                                      List α

                                                                                                      Transforms the tree set into a list of elements in ascending order.

                                                                                                      Equations
                                                                                                      Instances For
                                                                                                        def Std.ExtTreeSet.ofList {α : Type u} (l : List α) (cmp : ααOrdering := by exact compare) :
                                                                                                        ExtTreeSet α cmp

                                                                                                        Transforms a list into a tree set.

                                                                                                        Equations
                                                                                                        Instances For
                                                                                                          @[inline]
                                                                                                          def Std.ExtTreeSet.toArray {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t : ExtTreeSet α cmp) :

                                                                                                          Transforms the tree set into an array of elements in ascending order.

                                                                                                          Equations
                                                                                                          Instances For
                                                                                                            def Std.ExtTreeSet.ofArray {α : Type u} (a : Array α) (cmp : ααOrdering := by exact compare) :
                                                                                                            ExtTreeSet α cmp

                                                                                                            Transforms an array into a tree set.

                                                                                                            Equations
                                                                                                            Instances For
                                                                                                              @[inline]
                                                                                                              def Std.ExtTreeSet.merge {α : Type u} {cmp : ααOrdering} [TransCmp cmp] (t₁ t₂ : ExtTreeSet α cmp) :
                                                                                                              ExtTreeSet α cmp

                                                                                                              Returns a set that contains all mappings of t₁ and `t₂.

                                                                                                              This function ensures that t₁ is used linearly. Hence, as long as t₁ is unshared, the performance characteristics follow the following imperative description: Iterate over all mappings in t₂, inserting them into t₁.

                                                                                                              Hence, the runtime of this method scales logarithmically in the size of t₁ and linearly in the size of t₂ as long as t₁ is unshared.

                                                                                                              Equations
                                                                                                              Instances For
                                                                                                                @[inline]
                                                                                                                def Std.ExtTreeSet.insertMany {α : Type u} {cmp : ααOrdering} [TransCmp cmp] {ρ : Type u_1} [ForIn Id ρ α] (t : ExtTreeSet α cmp) (l : ρ) :
                                                                                                                ExtTreeSet α cmp

                                                                                                                Inserts multiple elements into the tree set by iterating over the given collection and calling insert. If the same element (with respect to cmp) appears multiple times, the first occurrence takes precedence.

                                                                                                                Note: this precedence behavior is true for ExtTreeSet and ExtTreeSet.Raw. The insertMany function on ExtTreeMap, ExtDTreeMap, ExtTreeMap.Raw and ExtDTreeMap.Raw behaves differently: it will prefer the last appearance.

                                                                                                                Equations
                                                                                                                Instances For
                                                                                                                  @[inline]
                                                                                                                  def Std.ExtTreeSet.eraseMany {α : Type u} {cmp : ααOrdering} [TransCmp cmp] {ρ : Type u_1} [ForIn Id ρ α] (t : ExtTreeSet α cmp) (l : ρ) :
                                                                                                                  ExtTreeSet α cmp

                                                                                                                  Erases multiple items from the tree set by iterating over the given collection and calling erase.

                                                                                                                  Equations
                                                                                                                  Instances For
                                                                                                                    instance Std.ExtTreeSet.instReprOfTransCmp {α : Type u} {cmp : ααOrdering} [TransCmp cmp] [Repr α] :
                                                                                                                    Repr (ExtTreeSet α cmp)
                                                                                                                    Equations