Array #
Prove basic results about Array.scanl, Array.scanr, Array.scanlM and Array.scanrM.
theorem Array.scanlM_eq_scanlM_toList {m : Type u_1 → Type u_2} {β : Type u_1} {α : Type u_3} {init : β} [Monad m] [LawfulMonad m] {f : β → α → m β} {as : Array α} :
@[simp]
theorem Array.toList_scanlM {m : Type u_1 → Type u_2} {β : Type u_1} {α : Type u_3} {init : β} [Monad m] [LawfulMonad m] {f : β → α → m β} {as : Array α} :
theorem Array.scanrM_eq_scanrM_toList {m : Type u_1 → Type u_2} {α : Type u_3} {β : Type u_1} {init : β} [Monad m] [LawfulMonad m] {f : α → β → m β} {as : Array α} :
@[simp]
theorem Array.toList_scanrM {m : Type u_1 → Type u_2} {α : Type u_3} {β : Type u_1} {init : β} [Monad m] [LawfulMonad m] {f : α → β → m β} {as : Array α} :
theorem Array.scanl_eq_scanl_toList {β : Type u_1} {α : Type u_2} {init : β} {f : β → α → β} {as : Array α} :
@[simp]
theorem Array.toList_scanl {β : Type u_1} {α : Type u_2} {init : β} {f : β → α → β} {as : Array α} :
Array.scanr #
theorem Array.scanr_eq_scanr_toList {α : Type u_1} {β : Type u_2} {init : β} {f : α → β → β} {as : Array α} :
@[simp]
theorem Array.toList_scanr {α : Type u_1} {β : Type u_2} {init : β} {f : α → β → β} {as : Array α} :
theorem List.toArray_scanlM {m : Type u_1 → Type u_2} {β : Type u_1} {α : Type u_3} {init : β} [Monad m] [LawfulMonad m] {f : β → α → m β} {as : List α} :
theorem List.toArray_scanrM {m : Type u_1 → Type u_2} {α : Type u_3} {β : Type u_1} {init : β} [Monad m] [LawfulMonad m] {f : α → β → m β} {as : List α} :