mathlib documentation

core.init.data.nat.basic

inductive nat.less_than_or_equal (a a_1 : ℕ) :
Prop

@[instance]

Equations
def nat.le (n m : ℕ) :
Prop

Equations
def nat.lt (n m : ℕ) :
Prop

Equations
@[instance]

Equations
def nat.pred (a : ℕ) :

Equations
def nat.sub (a a_1 : ℕ) :

Equations
def nat.mul (a a_1 : ℕ) :

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
@[instance]

Equations
def nat.repeat {α : Type u} (f : ℕ → α → α) (a : ℕ) (a_1 : α) :
α

Equations
@[instance]

Equations
@[simp]
theorem nat.nat_zero_eq_zero  :
0 = 0

def nat.le_refl (a : ℕ) :
a ≤ a

theorem nat.le_succ (n : ℕ) :
n ≤ n.succ

theorem nat.succ_le_succ {n m : ℕ} (a : n ≤ m) :

theorem nat.zero_le (n : ℕ) :
0 ≤ n

theorem nat.zero_lt_succ (n : ℕ) :
0 < n.succ

def nat.succ_pos (n : ℕ) :
0 < n.succ

theorem nat.not_succ_le_zero (n : ℕ) (a : n.succ ≤ 0) :

theorem nat.not_lt_zero (a : ℕ) :
¬a < 0

theorem nat.pred_le_pred {n m : ℕ} (a : n ≤ m) :

theorem nat.le_of_succ_le_succ {n m : ℕ} (a : n.succ ≤ m.succ) :
n ≤ m

@[instance]
def nat.decidable_le (a b : ℕ) :

Equations
@[instance]
def nat.decidable_lt (a b : ℕ) :
decidable (a < b)

Equations
theorem nat.eq_or_lt_of_le {a b : ℕ} (h : a ≤ b) :
a = b ∨ a < b

theorem nat.lt_succ_of_le {a b : ℕ} (a_1 : a ≤ b) :
a < b.succ

@[simp]
theorem nat.succ_sub_succ_eq_sub (a b : ℕ) :
a.succ - b.succ = a - b

theorem nat.not_succ_le_self (n : ℕ) :

theorem nat.lt_irrefl (n : ℕ) :
¬n < n

theorem nat.le_trans {n m k : ℕ} (h1 : n ≤ m) (a : m ≤ k) :
n ≤ k

theorem nat.pred_le (n : ℕ) :
n.pred ≤ n

theorem nat.pred_lt {n : ℕ} (a : n ≠ 0) :
n.pred < n

theorem nat.sub_le (a b : ℕ) :
a - b ≤ a

theorem nat.sub_lt {a b : ℕ} (a_1 : 0 < a) (a_2 : 0 < b) :
a - b < a

theorem nat.lt_of_lt_of_le {n m k : ℕ} (a : n < m) (a_1 : m ≤ k) :
n < k

theorem nat.zero_add (n : ℕ) :
0 + n = n

theorem nat.succ_add (n m : ℕ) :
n.succ + m = (n + m).succ

theorem nat.add_succ (n m : ℕ) :
n + m.succ = (n + m).succ

theorem nat.add_zero (n : ℕ) :
n + 0 = n

theorem nat.add_one (n : ℕ) :
n + 1 = n.succ

theorem nat.succ_eq_add_one (n : ℕ) :
n.succ = n + 1

theorem nat.bit0_succ_eq (n : ℕ) :

theorem nat.zero_lt_bit0 {n : ℕ} (a : n ≠ 0) :
0 < bit0 n

theorem nat.zero_lt_bit1 (n : ℕ) :
0 < bit1 n

theorem nat.bit0_ne_zero {n : ℕ} (a : n ≠ 0) :
bit0 n ≠ 0

theorem nat.bit1_ne_zero (n : ℕ) :
bit1 n ≠ 0