mathlib documentation

core.​init.​data.​fin.​ops

core.​init.​data.​fin.​ops

def fin.​succ {n : ℕ} :
fin n → fin n.succ

Equations
def fin.​of_nat {n : ℕ} :
ℕ → fin n.succ

Equations
def fin.​add {n : ℕ} :
fin n → fin n → fin n

Equations
def fin.​mul {n : ℕ} :
fin n → fin n → fin n

Equations
def fin.​sub {n : ℕ} :
fin n → fin n → fin n

Equations
def fin.​mod {n : ℕ} :
fin n → fin n → fin n

Equations
def fin.​div {n : ℕ} :
fin n → fin n → fin n

Equations
@[instance]
def fin.​has_zero {n : ℕ} :

Equations
@[instance]
def fin.​has_one {n : ℕ} :

Equations
@[instance]
def fin.​has_add {n : ℕ} :

Equations
@[instance]
def fin.​has_sub {n : ℕ} :

Equations
@[instance]
def fin.​has_mul {n : ℕ} :

Equations
@[instance]
def fin.​has_mod {n : ℕ} :

Equations
@[instance]
def fin.​has_div {n : ℕ} :

Equations
theorem fin.​of_nat_zero {n : ℕ} :

theorem fin.​add_def {n : ℕ} (a b : fin n) :
(a + b).val = (a.val + b.val) % n

theorem fin.​mul_def {n : ℕ} (a b : fin n) :
(a * b).val = a.val * b.val % n

theorem fin.​sub_def {n : ℕ} (a b : fin n) :
(a - b).val = a.val - b.val

theorem fin.​mod_def {n : ℕ} (a b : fin n) :
(a % b).val = a.val % b.val

theorem fin.​div_def {n : ℕ} (a b : fin n) :
(a / b).val = a.val / b.val

theorem fin.​lt_def {n : ℕ} (a b : fin n) :
a < b = (a.val < b.val)

theorem fin.​le_def {n : ℕ} (a b : fin n) :
a ≤ b = (a.val ≤ b.val)

@[simp]
theorem fin.​val_zero {n : ℕ} :
0.val = 0

def fin.​pred {n : ℕ} (i : fin n.succ) :
i ≠ 0 → fin n

Equations