@[simp]
theorem
Subarray.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 γ)}
:
@[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]
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]
@[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]
@[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]
@[simp]
@[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]
@[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]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]