File: .lake/packages/lean4/src/lean/Lean/Data/AssocList.lean

full_name: Lean.instInhabitedAssocList
code: /-- List-like type to avoid extra level of indirection -/
inductive AssocList (α : Type u) (β : Type v) where
  | nil : AssocList α β
  | cons (key : α) (value : β) (tail : AssocList α β) : AssocList α β
  deriving Inhabited
goal: {a : Type u_1} → {a_1 : Type u_2} → Inhabited (Lean.AssocList a a_1)

full_name: Lean.AssocList.cons
code: /-- List-like type to avoid extra level of indirection -/
inductive AssocList (α : Type u) (β : Type v) where
  | nil : AssocList α β
  | cons (key : α) (value : β) (tail : AssocList α β) : AssocList α β
  deriving Inhabited
goal: Lean.AssocList α β

full_name: Lean.AssocList.nil
code: /-- List-like type to avoid extra level of indirection -/
inductive AssocList (α : Type u) (β : Type v) where
  | nil : AssocList α β
  | cons (key : α) (value : β) (tail : AssocList α β) : AssocList α β
  deriving Inhabited
goal: Lean.AssocList α β

full_name: Lean.AssocList
code: /-- List-like type to avoid extra level of indirection -/
inductive AssocList (α : Type u) (β : Type v) where
  | nil : AssocList α β
  | cons (key : α) (value : β) (tail : AssocList α β) : AssocList α β
  deriving Inhabited
goal: Type (max u v)

full_name: Lean.AssocList.empty
code: abbrev empty : AssocList α β 
goal: Lean.AssocList α β

full_name: Lean.AssocList.instEmptyCollection
code: instance : EmptyCollection (AssocList α β) 
goal: EmptyCollection (Lean.AssocList α β)

full_name: Lean.AssocList.insert
code: abbrev insert (m : AssocList α β) (k : α) (v : β) : AssocList α β 
goal: Lean.AssocList α β

full_name: Lean.AssocList.isEmpty
code: def isEmpty : AssocList α β → Bool
  
goal: Lean.AssocList α β → Bool

full_name: Lean.AssocList.foldlM
code: @[specialize] def foldlM (f : δ → α → β → m δ) : (init : δ) → AssocList α β → m δ
  
goal: Lean.AssocList α β → m δ

full_name: Lean.AssocList.foldl
code: @[inline] def foldl (f : δ → α → β → δ) (init : δ) (as : AssocList α β) : δ 
goal: δ

full_name: Lean.AssocList.toList
code: def toList (as : AssocList α β) : List (α × β) 
goal: List (α × β)

full_name: Lean.AssocList.forM
code: @[specialize] def forM (f : α → β → m PUnit) : AssocList α β → m PUnit
  
goal: Lean.AssocList α β → m PUnit

full_name: Lean.AssocList.mapKey
code: def mapKey (f : α → δ) : AssocList α β → AssocList δ β
  
goal: Lean.AssocList α β → Lean.AssocList δ β

full_name: Lean.AssocList.mapVal
code: def mapVal (f : β → δ) : AssocList α β → AssocList α δ
  
goal: Lean.AssocList α β → Lean.AssocList α δ

full_name: Lean.AssocList.findEntry?
code: def findEntry? [BEq α] (a : α) : AssocList α β → Option (α × β)
  
goal: Lean.AssocList α β → Option (α × β)

full_name: Lean.AssocList.find?
code: def find? [BEq α] (a : α) : AssocList α β → Option β
  
goal: Lean.AssocList α β → Option β

full_name: Lean.AssocList.contains
code: def contains [BEq α] (a : α) : AssocList α β → Bool
  
goal: Lean.AssocList α β → Bool

full_name: Lean.AssocList.replace
code: def replace [BEq α] (a : α) (b : β) : AssocList α β → AssocList α β
  
goal: Lean.AssocList α β → Lean.AssocList α β

full_name: Lean.AssocList.erase
code: def erase [BEq α] (a : α) : AssocList α β → AssocList α β
  
goal: Lean.AssocList α β → Lean.AssocList α β

full_name: Lean.AssocList.any
code: def any (p : α → β → Bool) : AssocList α β → Bool
  
goal: Lean.AssocList α β → Bool

full_name: Lean.AssocList.all
code: def all (p : α → β → Bool) : AssocList α β → Bool
  
goal: Lean.AssocList α β → Bool

full_name: Lean.AssocList.forIn
code: @[inline] protected def forIn {α : Type u} {β : Type v} {δ : Type w} {m : Type w → Type w'} [Monad m]
    (as : AssocList α β) (init : δ) (f : (α × β) → δ → m (ForInStep δ)) : m δ 
goal: m δ

full_name: Lean.AssocList.forIn.loop
code: @[inline] protected def forIn {α : Type u} {β : Type v} {δ : Type w} {m : Type w → Type w'} [Monad m]
    (as : AssocList α β) (init : δ) (f : (α × β) → δ → m (ForInStep δ)) : m δ 
goal: δ → Lean.AssocList α β → m δ

full_name: Lean.AssocList.instForInProd
code: instance : ForIn m (AssocList α β) (α × β) 
goal: ForIn m (Lean.AssocList α β) (α × β)

full_name: List.toAssocList'
code: def List.toAssocList' {α : Type u} {β : Type v} : List (α × β) → Lean.AssocList α β
  
goal: List (α × β) → Lean.AssocList α β