mathlib documentation

data.​nat.​parity

data.​nat.​parity

@[simp]
theorem nat.​mod_two_ne_one {n : ℕ} :
¬n % 2 = 1 ↔ n % 2 = 0

@[simp]
theorem nat.​mod_two_ne_zero {n : ℕ} :
¬n % 2 = 0 ↔ n % 2 = 1

def nat.​even  :
ℕ → Prop

A natural number n is even if 2 | n.

Equations
theorem nat.​even_iff {n : ℕ} :
n.even ↔ n % 2 = 0

theorem nat.​not_even_iff {n : ℕ} :
¬n.even ↔ n % 2 = 1

@[simp]
theorem nat.​even_zero  :

@[simp]
theorem nat.​not_even_one  :

@[simp]
theorem nat.​even_bit0 (n : ℕ) :

theorem nat.​even_add {m n : ℕ} :
(m + n).even ↔ (m.even ↔ n.even)

theorem nat.​even.​add {m n : ℕ} :
m.even → n.even → (m + n).even

@[simp]
theorem nat.​not_even_bit1 (n : ℕ) :

theorem nat.​two_not_dvd_two_mul_sub_one {a : ℕ} :
0 < a → ¬2 ∣ 2 * a - 1

theorem nat.​even_sub {m n : ℕ} :
n ≤ m → ((m - n).even ↔ (m.even ↔ n.even))

theorem nat.​even.​sub {m n : ℕ} :
m.even → n.even → (m - n).even

theorem nat.​even_succ {n : ℕ} :

theorem nat.​even_mul {m n : ℕ} :
(m * n).even ↔ m.even ∨ n.even

theorem nat.​even_pow {m n : ℕ} :
(m ^ n).even ↔ m.even ∧ n ≠ 0

theorem nat.​even_div {a b : ℕ} :
(a / b).even ↔ a % (2 * b) / b = 0

theorem nat.​neg_one_pow_eq_one_iff_even {α : Type u_1} [ring α] {n : ℕ} :
-1 ≠ 1 → ((-1) ^ n = 1 ↔ n.even)