Documentation

Init.Data.Slice.Lemmas

theorem Std.Slice.forIn_internalIter {α : Type v} {γ : Type u} {β : Type v} {m : Type w → Type x} [Monad m] {δ : Type w} [Iterators.ToIterator (Slice γ) Id α β] [Iterators.Iterator α Id β] [Iterators.IteratorLoop α Id m] [Iterators.LawfulIteratorLoop α Id m] [Iterators.Finite α Id] {s : Slice γ} {init : δ} {f : βδm (ForInStep δ)} :
forIn (Internal.iter s) init f = forIn s init f
@[simp]
theorem Std.Slice.forIn_toList {α : Type v} {γ : Type u} {β : Type v} {m : Type w → Type x} [Monad m] [LawfulMonad m] {δ : Type w} [Iterators.ToIterator (Slice γ) Id α β] [Iterators.Iterator α Id β] [Iterators.IteratorLoop α Id m] [Iterators.LawfulIteratorLoop α Id m] [Iterators.IteratorCollect α Id Id] [Iterators.LawfulIteratorCollect α Id Id] [Iterators.Finite α Id] {s : Slice γ} {init : δ} {f : βδm (ForInStep δ)} :
forIn s.toList init f = forIn s init f
@[simp]
theorem Std.Slice.forIn_toArray {α : Type v} {γ : Type u} {β : Type v} {m : Type w → Type x} [Monad m] [LawfulMonad m] {δ : Type w} [Iterators.ToIterator (Slice γ) Id α β] [Iterators.Iterator α Id β] [Iterators.IteratorLoop α Id m] [Iterators.LawfulIteratorLoop α Id m] [Iterators.IteratorCollect α Id Id] [Iterators.LawfulIteratorCollect α Id Id] [Iterators.Finite α Id] {s : Slice γ} {init : δ} {f : βδm (ForInStep δ)} :
forIn s.toArray init f = forIn s init f