Documentation

Init.Data.Slice.Lemmas

theorem Std.Slice.Internal.iter_eq_toIteratorIter {α β : Type v} {γ : Type u} [ToIterator (Slice γ) Id α β] {s : Slice γ} :
theorem Std.Slice.forIn_internalIter {α : Type v} {γ : Type u} {β : Type v} {m : Type w → Type x} [Monad m] {δ : Type w} [ToIterator (Slice γ) Id α β] [Iterator α Id β] [IteratorLoop α Id m] [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} [ToIterator (Slice γ) Id α β] [Iterator α Id β] [IteratorLoop α Id m] [LawfulIteratorLoop α Id m] [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} [ToIterator (Slice γ) Id α β] [Iterator α Id β] [IteratorLoop α Id m] [LawfulIteratorLoop α Id m] [Iterators.Finite α Id] {s : Slice γ} {init : δ} {f : βδm (ForInStep δ)} :
forIn s.toArray 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] :
@[simp]
theorem Std.Slice.size_toArray_eq_size {γ : Type u} {α β : Type v} [ToIterator (Slice γ) Id α β] [Iterator α Id β] [SliceSize γ] [LawfulSliceSize γ] [Iterators.Finite α Id] {s : Slice γ} :
@[simp]
theorem Std.Slice.length_toList_eq_size {γ : Type u} {α β : Type v} [ToIterator (Slice γ) Id α β] [Iterator α Id β] {s : Slice γ} [SliceSize γ] [LawfulSliceSize γ] [Iterators.Finite α Id] :