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 δ)}
:
@[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 δ)}
:
@[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 δ)}
:
theorem
Std.Slice.Internal.size_eq_count_iter
{γ : Type u}
{α β : Type v}
[ToIterator (Slice γ) Id α β]
[Iterator α Id β]
[Iterators.Finite α Id]
[IteratorLoop α Id Id]
[LawfulIteratorLoop α Id Id]
{s : Slice γ}
[SliceSize γ]
[LawfulSliceSize γ]
:
@[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]
:
@[simp]
theorem
Std.Slice.length_toListRev_eq_size
{γ : Type u}
{α β : Type v}
[ToIterator (Slice γ) Id α β]
[Iterator α Id β]
{s : Slice γ}
[IteratorLoop α Id Id]
[SliceSize γ]
[LawfulSliceSize γ]
[Iterators.Finite α Id]
[LawfulIteratorLoop α Id Id]
: