HepLean Documentation

Lean.Data.PersistentHashSet

structure Lean.PersistentHashSet (α : Type u) [BEq α] [Hashable α] :
Instances For
    @[reducible, inline]
    abbrev Lean.PHashSet (α : Type u) [BEq α] [Hashable α] :
    Equations
    Instances For
      @[inline]
      Equations
      • Lean.PersistentHashSet.empty = { set := Lean.PersistentHashMap.empty }
      Instances For
        Equations
        • Lean.PersistentHashSet.instInhabited = { default := Lean.PersistentHashSet.empty }
        Equations
        • Lean.PersistentHashSet.instEmptyCollection = { emptyCollection := Lean.PersistentHashSet.empty }
        @[inline]
        def Lean.PersistentHashSet.isEmpty {α : Type u_1} {x✝ : BEq α} {x✝¹ : Hashable α} (s : Lean.PersistentHashSet α) :
        Equations
        • s.isEmpty = s.set.isEmpty
        Instances For
          @[inline]
          def Lean.PersistentHashSet.insert {α : Type u_1} {x✝ : BEq α} {x✝¹ : Hashable α} (s : Lean.PersistentHashSet α) (a : α) :
          Equations
          • s.insert a = { set := s.set.insert a () }
          Instances For
            @[inline]
            def Lean.PersistentHashSet.erase {α : Type u_1} {x✝ : BEq α} {x✝¹ : Hashable α} (s : Lean.PersistentHashSet α) (a : α) :
            Equations
            • s.erase a = { set := s.set.erase a }
            Instances For
              @[inline]
              def Lean.PersistentHashSet.find? {α : Type u_1} {x✝ : BEq α} {x✝¹ : Hashable α} (s : Lean.PersistentHashSet α) (a : α) :
              Equations
              • s.find? a = match s.set.findEntry? a with | some (a, snd) => some a | none => none
              Instances For
                @[inline]
                def Lean.PersistentHashSet.contains {α : Type u_1} {x✝ : BEq α} {x✝¹ : Hashable α} (s : Lean.PersistentHashSet α) (a : α) :
                Equations
                • s.contains a = s.set.contains a
                Instances For
                  @[inline]
                  def Lean.PersistentHashSet.foldM {α : Type u_1} {x✝ : BEq α} {x✝¹ : Hashable α} {β : Type v} {m : Type v → Type v} [Monad m] (f : βαm β) (init : β) (s : Lean.PersistentHashSet α) :
                  m β
                  Equations
                  Instances For
                    @[inline]
                    def Lean.PersistentHashSet.fold {α : Type u_1} {x✝ : BEq α} {x✝¹ : Hashable α} {β : Type v} (f : βαβ) (init : β) (s : Lean.PersistentHashSet α) :
                    β
                    Equations
                    Instances For