Documentation

Init.Data.Slice.InternalLemmas

theorem Std.Slice.Internal.iter_eq_toIteratorIter {α β : Type v} {γ : Type u} [ToIterator (Slice γ) Id α β] {s : Slice γ} :
theorem Std.Slice.Internal.forIn_iter {α : Type v} {γ : Type u} {β : Type v} {m : Type w → Type x} [Monad m] {δ : Type w} [ToIterator (Slice γ) Id α β] [Iterator α Id β] [IteratorLoop α Id m] {s : Slice γ} {init : δ} {f : βδm (ForInStep δ)} :
forIn (iter s) init f = forIn s init f
theorem Std.Slice.Internal.toArray_eq_toArray_iter {γ : Type u} {α β : Type v} {s : Slice γ} [ToIterator (Slice γ) Id α β] [Iterator α Id β] [Iterators.Finite α Id] :
theorem Std.Slice.Internal.toList_eq_toList_iter {γ : Type u} {α β : Type v} {s : Slice γ} [ToIterator (Slice γ) Id α β] [Iterator α Id β] [Iterators.Finite α Id] :
theorem Std.Slice.Internal.fold_iter {γ : Type u} {α β : Type v} {α✝ : Type u_1} {f : α✝βα✝} {init : α✝} [ToIterator (Slice γ) Id α β] [Iterator α Id β] [IteratorLoop α Id Id] [Iterators.Finite α Id] {s : Slice γ} :
Iter.fold f init (iter s) = foldl f init s
theorem Std.Slice.Internal.foldM_iter {γ : Type u} {α β : Type v} {δ : Type w} {init : δ} {m : Type w → Type w'} [Monad m] [ToIterator (Slice γ) Id α β] [Iterator α Id β] [IteratorLoop α Id m] [Iterators.Finite α Id] {s : Slice γ} {f : δβm δ} :
Iter.foldM f init (iter s) = foldlM f init s