mathlib documentation

data.​real.​irrational

data.​real.​irrational

Irrational real numbers

In this file we define a predicate irrational on ℝ, prove that the n-th root of an integer number is irrational if it is not integer, and that sqrt q is irrational if and only if rat.sqrt q * rat.sqrt q ≠ q ∧ 0 ≤ q.

We also provide dot-style constructors like irrational.add_rat, irrational.rat_sub etc.

def irrational  :
ℝ → Prop

A real number is irrational if it is not equal to any rational number.

Equations

Irrationality of roots of integer and rational numbers

theorem irrational_nrt_of_notint_nrt {x : ℝ} (n : ℕ) (m : ℤ) :
x ^ n = ↑m → (¬∃ (y : ℤ), x = ↑y) → 0 < n → irrational x

If x^n, n > 0, is integer and is not the n-th power of an integer, then x is irrational.

theorem irrational_nrt_of_n_not_dvd_multiplicity {x : ℝ} (n : ℕ) {m : ℤ} (hm : m ≠ 0) (p : ℕ) [hp : fact (nat.prime p)] :
x ^ n = ↑m → (multiplicity ↑p m).get _ % n ≠ 0 → irrational x

If x^n = m is an integer and n does not divide the multiplicity p m, then x is irrational.

theorem irrational_sqrt_of_multiplicity_odd (m : ℤ) (hm : 0 < m) (p : ℕ) [hp : fact (nat.prime p)] :

Adding/subtracting/multiplying by rational numbers

theorem irrational.​of_rat_add (q : ℚ) {x : ℝ} :

theorem irrational.​rat_add (q : ℚ) {x : ℝ} :

theorem irrational.​of_add_rat (q : ℚ) {x : ℝ} :

theorem irrational.​add_rat (q : ℚ) {x : ℝ} :

theorem irrational.​neg {x : ℝ} :

theorem irrational.​sub_rat (q : ℚ) {x : ℝ} :

theorem irrational.​rat_sub (q : ℚ) {x : ℝ} :

theorem irrational.​of_sub_rat (q : ℚ) {x : ℝ} :

theorem irrational.​of_rat_sub (q : ℚ) {x : ℝ} :

theorem irrational.​of_mul_rat (q : ℚ) {x : ℝ} :

theorem irrational.​mul_rat {x : ℝ} (h : irrational x) {q : ℚ} :
q ≠ 0 → irrational (x * ↑q)

theorem irrational.​of_rat_mul (q : ℚ) {x : ℝ} :

theorem irrational.​rat_mul {x : ℝ} (h : irrational x) {q : ℚ} :
q ≠ 0 → irrational (↑q * x)

theorem irrational.​of_rat_div (q : ℚ) {x : ℝ} :

theorem irrational.​of_one_div {x : ℝ} :
irrational (1 / x) → irrational x

theorem irrational.​of_pow {x : ℝ} (n : ℕ) :
irrational (x ^ n) → irrational x

theorem irrational.​of_fpow {x : ℝ} (m : ℤ) :
irrational (x ^ m) → irrational x

@[simp]
theorem irrational_rat_add_iff {q : ℚ} {x : ℝ} :

@[simp]
theorem irrational_add_rat_iff {q : ℚ} {x : ℝ} :

@[simp]
theorem irrational_rat_sub_iff {q : ℚ} {x : ℝ} :

@[simp]
theorem irrational_sub_rat_iff {q : ℚ} {x : ℝ} :

@[simp]