Documentation

Std.Data.Iterators.Lemmas.Producers.Monadic.Empty

@[simp]
theorem Std.Iterators.IterM.step_empty {m : Type u_1 → Type u_2} {β : Type u_1} [Monad m] :
@[simp]
theorem Std.Iterators.IterM.toList_empty {m : Type u_1 → Type u_2} {β : Type u_1} [Monad m] [LawfulMonad m] :
@[simp]
theorem Std.Iterators.IterM.toListRev_empty {m : Type u_1 → Type u_2} {β : Type u_1} [Monad m] [LawfulMonad m] :
@[simp]
theorem Std.Iterators.IterM.toArray_empty {m : Type u_1 → Type u_2} {β : Type u_1} [Monad m] [LawfulMonad m] :
@[simp]
theorem Std.Iterators.IterM.forIn_empty {m : Type u_1 → Type u_2} {n : Type u_1 → Type u_3} {β γ : Type u_1} [Monad m] [LawfulMonad m] [Monad n] [LawfulMonad n] [MonadLiftT m n] [LawfulMonadLiftT m n] {init : γ} {f : βγn (ForInStep γ)} :
forIn (empty m β) init f = pure init
@[simp]
theorem Std.Iterators.IterM.foldM_empty {m : Type u_1 → Type u_2} {n : Type u_1 → Type u_3} {β γ : Type u_1} [Monad m] [LawfulMonad m] [Monad n] [LawfulMonad n] [MonadLiftT m n] [LawfulMonadLiftT m n] {init : γ} {f : γβn γ} :
foldM f init (empty m β) = pure init
@[simp]
theorem Std.Iterators.IterM.fold_empty {m : Type u_1 → Type u_2} {β γ : Type u_1} [Monad m] [LawfulMonad m] {init : γ} {f : γβγ} :
fold f init (empty m β) = pure init
@[simp]
theorem Std.Iterators.IterM.drain_empty {m : Type u_1 → Type u_2} {β : Type u_1} [Monad m] [LawfulMonad m] :