Documentation

Std.Data.Iterators.Lemmas.Producers.Monadic.List

Lemmas about list iterators #

This module provides lemmas about the interactions of List.iterM with IterM.step and various collectors.

@[simp]
@[simp]
theorem List.step_iterM_cons {m : Type w → Type w'} [Monad m] {β : Type w} {x : β} {xs : List β} :
theorem Std.Iterators.ListIterator.toArrayMapped_iterM {m : Type w → Type w'} {n : Type w → Type w''} [Monad m] [Monad n] [LawfulMonad n] {β γ : Type w} {lift : δ : Type w⦄ → m δn δ} [Internal.LawfulMonadLiftFunction lift] {f : βn γ} {l : List β} :
@[simp]
theorem List.toArray_iterM {m : Type w → Type w'} [Monad m] {β : Type w} [LawfulMonad m] {l : List β} :
@[simp]
theorem List.toList_iterM {m : Type w → Type w'} [Monad m] {β : Type w} [LawfulMonad m] {l : List β} :
(l.iterM m).toList = pure l
@[simp]
theorem List.toListRev_iterM {m : Type w → Type w'} [Monad m] {β : Type w} [LawfulMonad m] {l : List β} :