mapFinIdx #
theorem
Array.mapFinIdx_induction.go
{α : Type u_1}
{β : Type u_2}
(xs : Array α)
(f : (i : Nat) → α → i < xs.size → β)
(motive : Nat → Prop)
(p : (i : Nat) → β → i < xs.size → Prop)
(hs : ∀ (i : Nat) (h : i < xs.size), motive i → p i (f i xs[i] h) h ∧ motive (i + 1))
{bs : Array β}
{i j : Nat}
{h : i + j = xs.size}
(h₁ : j = bs.size)
(h₂ : ∀ (i : Nat) (h : i < xs.size) (h' : i < bs.size), p i bs[i] h)
(hm : motive j)
:
@[reducible, inline, deprecated Array.size_zipIdx (since := "2025-01-21")]
Equations
Instances For
mapIdx #
zipIdx #
@[reducible, inline, deprecated Array.zipIdx_toArray (since := "2025-01-21")]
Equations
Instances For
@[reducible, inline, deprecated Array.toList_zipIdx (since := "2025-01-21")]
Equations
Instances For
@[reducible, inline, deprecated Array.mk_mem_zipIdx_iff_getElem? (since := "2025-01-21")]
Instances For
@[reducible, inline, deprecated Array.mem_zipIdx_iff_getElem? (since := "2025-01-21")]
Instances For
mapFinIdx #
@[simp]
mapIdx #
@[reducible, inline, deprecated Array.mapIdx_eq_zipIdx_map (since := "2025-01-21")]
abbrev
Array.mapIdx_eq_zipWithIndex_map
{α : Type u_1}
{β : Type u_2}
{xs : Array α}
{f : Nat → α → β}
:
Instances For
theorem
List.mapFinIdxM_toArray.go
{m : Type u_1 → Type u_2}
{α : Type u_3}
{β : Type u_1}
[Monad m]
[LawfulMonad m]
(l : List α)
(f : (i : Nat) → α → i < l.length → m β)
(i : Nat)
(acc : Array β)
(inv : i + acc.size = l.length)
:
Array.mapFinIdxM.map l.toArray f i acc.size inv acc = toArray <$> mapFinIdxM.go l f (drop acc.size l) acc ⋯
theorem
List.mapIdxM_toArray.go
{m : Type u_1 → Type u_2}
{α : Type u_3}
{β : Type u_1}
[Monad m]
(l : List α)
(f : Nat → α → m β)
(bs : List α)
(acc : Array β)
(inv : bs.length + acc.size = l.length)
:
mapFinIdxM.go l (fun (i : Nat) (a : α) (h : i < l.length) => f i a) bs acc inv = mapIdxM.go f bs acc