mathlib documentation

core.​data.​vector

core.​data.​vector

def vector  :
Type u → ℕ → Type u

Equations
@[instance]
def vector.​decidable_eq {α : Type u} {n : ℕ} [decidable_eq α] :

Equations
def vector.​nil {α : Type u} :
vector α 0

Equations
def vector.​cons {α : Type u} {n : ℕ} :
α → vector α n → vector α n.succ

Equations
def vector.​length {α : Type u} {n : ℕ} :
vector α n → ℕ

Equations
def vector.​head {α : Type u} {n : ℕ} :
vector α n.succ → α

Equations
@[simp]
theorem vector.​head_cons {α : Type u} {n : ℕ} (a : α) (v : vector α n) :
(a :: v).head = a

def vector.​tail {α : Type u} {n : ℕ} :
vector α n → vector α (n - 1)

Equations
@[simp]
theorem vector.​tail_cons {α : Type u} {n : ℕ} (a : α) (v : vector α n) :
(a :: v).tail = v

@[simp]
theorem vector.​cons_head_tail {α : Type u} {n : ℕ} (v : vector α n.succ) :
v.head :: v.tail = v

def vector.​to_list {α : Type u} {n : ℕ} :
vector α n → list α

Equations
def vector.​nth {α : Type u} {n : ℕ} :
vector α n → fin n → α

Equations
def vector.​append {α : Type u} {n m : ℕ} :
vector α n → vector α m → vector α (n + m)

Equations
def vector.​elim {α : Type u_1} {C : Π {n : ℕ}, vector α n → Sort u} (H : Π (l : list α), C ⟨l, _⟩) {n : ℕ} (v : vector α n) :
C v

Equations
def vector.​map {α : Type u} {β : Type v} {n : ℕ} :
(α → β) → vector α n → vector β n

Equations
@[simp]
theorem vector.​map_nil {α : Type u} {β : Type v} (f : α → β) :

theorem vector.​map_cons {α : Type u} {β : Type v} {n : ℕ} (f : α → β) (a : α) (v : vector α n) :
vector.map f (a :: v) = f a :: vector.map f v

def vector.​map₂ {α : Type u} {β : Type v} {φ : Type w} {n : ℕ} :
(α → β → φ) → vector α n → vector β n → vector φ n

Equations
def vector.​repeat {α : Type u} (a : α) (n : ℕ) :
vector α n

Equations
def vector.​drop {α : Type u} {n : ℕ} (i : ℕ) :
vector α n → vector α (n - i)

Equations
def vector.​take {α : Type u} {n : ℕ} (i : ℕ) :
vector α n → vector α (min i n)

Equations
def vector.​remove_nth {α : Type u} {n : ℕ} :
fin n → vector α n → vector α (n - 1)

Equations
def vector.​of_fn {α : Type u} {n : ℕ} :
(fin n → α) → vector α n

Equations
def vector.​map_accumr {α : Type u} {β : Type v} {n : ℕ} {σ : Type} :
(α → σ → σ × β) → vector α n → σ → σ × vector β n

Equations
def vector.​map_accumr₂ {n : ℕ} {α β σ φ : Type} :
(α → β → σ → σ × φ) → vector α n → vector β n → σ → σ × vector φ n

Equations
theorem vector.​eq {α : Type u} {n : ℕ} (a1 a2 : vector α n) :
a1.to_list = a2.to_list → a1 = a2

theorem vector.​eq_nil {α : Type u} (v : vector α 0) :

@[simp]
theorem vector.​to_list_mk {α : Type u} {n : ℕ} (v : list α) (P : v.length = n) :

@[simp]

@[simp]
theorem vector.​to_list_length {α : Type u} {n : ℕ} (v : vector α n) :

@[simp]
theorem vector.​to_list_cons {α : Type u} {n : ℕ} (a : α) (v : vector α n) :
(a :: v).to_list = a :: v.to_list

@[simp]
theorem vector.​to_list_append {α : Type u} {n m : ℕ} (v : vector α n) (w : vector α m) :

@[simp]
theorem vector.​to_list_drop {α : Type u} {n m : ℕ} (v : vector α m) :

@[simp]
theorem vector.​to_list_take {α : Type u} {n m : ℕ} (v : vector α m) :