@[simp]
theorem
Subarray.forIn_toList
{α : Type u}
{s : Subarray α}
{m : Type v → Type w}
[Monad m]
[LawfulMonad m]
{γ : Type v}
{init : γ}
{f : α → γ → m (ForInStep γ)}
:
theorem
Subarray.forIn_eq_forIn_toList
{α : Type u}
{s : Subarray α}
{m : Type v → Type w}
[Monad m]
[LawfulMonad m]
{γ : Type v}
{init : γ}
{f : α → γ → m (ForInStep γ)}
:
@[simp]
theorem
Subarray.forIn_toArray
{α : Type u}
{s : Subarray α}
{m : Type v → Type w}
[Monad m]
[LawfulMonad m]
{γ : Type v}
{init : γ}
{f : α → γ → m (ForInStep γ)}
:
theorem
Subarray.sliceFoldl_eq_foldl
{β : Type u_1}
{init : β}
{α : Type u}
{s : Subarray α}
{f : β → α → β}
:
theorem
Subarray.foldlM_toList
{a✝ : Type u_1}
{init : a✝}
{m : Type u_1 → Type u_2}
[Monad m]
{α : Type u}
{s : Subarray α}
{f : a✝ → α → m a✝}
[LawfulMonad m]
:
theorem
Subarray.foldl_toList
{α✝ : Type u_1}
{init : α✝}
{α : Type u}
{s : Subarray α}
{f : α✝ → α → α✝}
:
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Subarray.getElem_toList
{α : Type u_1}
{i : Nat}
{xs : Subarray α}
{h : i < (Std.Slice.toList xs).length}
:
theorem
Subarray.getElem_eq_getElem_toList
{α : Type u_1}
{i : Nat}
{xs : Subarray α}
{h : i < Std.Slice.size xs}
:
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Array.mkSlice_rco_eq_mkSlice_rco_min
{α : Type u_1}
{xs : Array α}
{lo hi : Nat}
:
(Std.Rco.Sliceable.mkSlice xs lo...hi) = Std.Rco.Sliceable.mkSlice xs (min lo (min hi xs.size))...min hi xs.size
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Array.mkSlice_rcc_eq_mkSlice_rco_min
{α : Type u_1}
{xs : Array α}
{lo hi : Nat}
:
(Std.Rcc.Sliceable.mkSlice xs lo...=hi) = Std.Rco.Sliceable.mkSlice xs (min lo (min (hi + 1) xs.size))...min (hi + 1) xs.size
@[simp]
@[simp]
theorem
Array.toList_mkSlice_rcc
{α : Type u_1}
{xs : Array α}
{lo hi : Nat}
:
Std.Slice.toList (Std.Rcc.Sliceable.mkSlice xs lo...=hi) = List.drop lo (List.take (hi + 1) xs.toList)
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Array.mkSlice_roo_eq_mkSlice_roo_min
{α : Type u_1}
{xs : Array α}
{lo hi : Nat}
:
(Std.Roo.Sliceable.mkSlice xs lo<...hi) = Std.Rco.Sliceable.mkSlice xs (min (lo + 1) (min hi xs.size))...min hi xs.size
@[simp]
theorem
Array.toList_mkSlice_roo
{α : Type u_1}
{xs : Array α}
{lo hi : Nat}
:
Std.Slice.toList (Std.Roo.Sliceable.mkSlice xs lo<...hi) = List.drop (lo + 1) (List.take hi xs.toList)
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Array.toList_mkSlice_roc
{α : Type u_1}
{xs : Array α}
{lo hi : Nat}
:
Std.Slice.toList (Std.Roc.Sliceable.mkSlice xs lo<...=hi) = List.drop (lo + 1) (List.take (hi + 1) xs.toList)
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Array.mkSlice_roi_eq_mkSlice_roo_min
{α : Type u_1}
{xs : Array α}
{lo : Nat}
:
Std.Roi.Sliceable.mkSlice xs lo<...* = Std.Rco.Sliceable.mkSlice xs (min (lo + 1) xs.size)...xs.size
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Subarray.toList_mkSlice_rco
{α : Type u_1}
{xs : Subarray α}
{lo hi : Nat}
:
Std.Slice.toList (Std.Rco.Sliceable.mkSlice xs lo...hi) = List.drop lo (List.take hi (Std.Slice.toList xs))
@[simp]
@[simp]
@[simp]
theorem
Subarray.toList_mkSlice_rcc
{α : Type u_1}
{xs : Subarray α}
{lo hi : Nat}
:
Std.Slice.toList (Std.Rcc.Sliceable.mkSlice xs lo...=hi) = List.drop lo (List.take (hi + 1) (Std.Slice.toList xs))
@[simp]
theorem
Subarray.toArray_mkSlice_rcc
{α : Type u_1}
{xs : Subarray α}
{lo hi : Nat}
:
Std.Slice.toArray (Std.Rcc.Sliceable.mkSlice xs lo...=hi) = (Std.Slice.toArray xs).extract lo (hi + 1)
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Subarray.toList_mkSlice_roo
{α : Type u_1}
{xs : Subarray α}
{lo hi : Nat}
:
Std.Slice.toList (Std.Roo.Sliceable.mkSlice xs lo<...hi) = List.drop (lo + 1) (List.take hi (Std.Slice.toList xs))
@[simp]
theorem
Subarray.toArray_mkSlice_roo
{α : Type u_1}
{xs : Subarray α}
{lo hi : Nat}
:
Std.Slice.toArray (Std.Roo.Sliceable.mkSlice xs lo<...hi) = (Std.Slice.toArray xs).extract (lo + 1) hi
@[simp]
@[simp]
theorem
Subarray.toList_mkSlice_roc
{α : Type u_1}
{xs : Subarray α}
{lo hi : Nat}
:
Std.Slice.toList (Std.Roc.Sliceable.mkSlice xs lo<...=hi) = List.drop (lo + 1) (List.take (hi + 1) (Std.Slice.toList xs))
@[simp]
theorem
Subarray.toArray_mkSlice_roc
{α : Type u_1}
{xs : Subarray α}
{lo hi : Nat}
:
Std.Slice.toArray (Std.Roc.Sliceable.mkSlice xs lo<...=hi) = (Std.Slice.toArray xs).extract (lo + 1) (hi + 1)
@[simp]
theorem
Subarray.size_mkSlice_roc
{α : Type u_1}
{xs : Subarray α}
{lo hi : Nat}
:
Std.Slice.size (Std.Roc.Sliceable.mkSlice xs lo<...=hi) = min (hi + 1) (Std.Slice.size xs) - (lo + 1)
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Subarray.toArray_mkSlice_ric
{α : Type u_1}
{xs : Subarray α}
{hi : Nat}
:
Std.Slice.toArray (Std.Ric.Sliceable.mkSlice xs *...=hi) = (Std.Slice.toArray xs).extract 0 (hi + 1)
@[simp]
@[simp]