Documentation

Init.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 List.step_iterM {m : Type w → Type w'} [Monad m] {β : Type w} {l : List β} :
@[simp]
theorem List.toArray_iterM {m : Type w → Type w'} [Monad m] [LawfulMonad m] {β : Type w} {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 β} :