Basics for the Rational Numbers #
Summary #
We define the integral domain structure on ℚ
and prove basic lemmas about it.
The definition of the field structure on ℚ
will be done in Mathlib.Data.Rat.Basic
once the
Field
class has been defined.
Main Definitions #
Rat.divInt n d
constructs a rational numberq = n / d
fromn d : ℤ
.
Notations #
/.
is infix notation forRat.divInt
.
@[deprecated Rat.num_intCast (since := "2024-04-29")]
Alias of Rat.num_intCast
.
@[deprecated Rat.den_intCast (since := "2024-04-29")]
Alias of Rat.den_intCast
.
@[simp]
theorem
Rat.mk'_zero
(d : ℕ)
(h : d ≠ 0)
(w : (Int.natAbs 0).Coprime d)
:
{ num := 0, den := d, den_nz := h, reduced := w } = 0
Define a (dependent) function or prove ∀ r : ℚ, p r
by dealing with rational
numbers of the form n /. d
with 0 < d
and coprime n
, d
.
Equations
- { num := n, den := d, den_nz := h, reduced := c }.numDenCasesOn x✝ = ⋯.mpr (x✝ n d ⋯ c)
Instances For
def
Rat.numDenCasesOn''
{C : ℚ → Sort u}
(a : ℚ)
(H :
(n : ℤ) →
(d : ℕ) → (nz : d ≠ 0) → (red : n.natAbs.Coprime d) → C { num := n, den := d, den_nz := nz, reduced := red })
:
C a
Define a (dependent) function or prove ∀ r : ℚ, p r
by dealing with rational
numbers of the form mk' n d
with d ≠ 0
.
Equations
Instances For
theorem
Rat.lift_binop_eq
(f : ℚ → ℚ → ℚ)
(f₁ f₂ : ℤ → ℤ → ℤ → ℤ → ℤ)
(fv :
∀ {n₁ : ℤ} {d₁ : ℕ} {h₁ : d₁ ≠ 0} {c₁ : n₁.natAbs.Coprime d₁} {n₂ : ℤ} {d₂ : ℕ} {h₂ : d₂ ≠ 0}
{c₂ : n₂.natAbs.Coprime d₂},
f { num := n₁, den := d₁, den_nz := h₁, reduced := c₁ } { num := n₂, den := d₂, den_nz := h₂, reduced := c₂ } = divInt (f₁ n₁ (↑d₁) n₂ ↑d₂) (f₂ n₁ (↑d₁) n₂ ↑d₂))
(f0 : ∀ {n₁ d₁ n₂ d₂ : ℤ}, d₁ ≠ 0 → d₂ ≠ 0 → f₂ n₁ d₁ n₂ d₂ ≠ 0)
(a b c d : ℤ)
(b0 : b ≠ 0)
(d0 : d ≠ 0)
(H : ∀ {n₁ d₁ n₂ d₂ : ℤ}, a * d₁ = n₁ * b → c * d₂ = n₂ * d → f₁ n₁ d₁ n₂ d₂ * f₂ a b c d = f₁ a b c d * f₂ n₁ d₁ n₂ d₂)
:
theorem
Rat.mk'_mul_mk'
(n₁ n₂ : ℤ)
(d₁ d₂ : ℕ)
(hd₁ : d₁ ≠ 0)
(hd₂ : d₂ ≠ 0)
(hnd₁ : n₁.natAbs.Coprime d₁)
(hnd₂ : n₂.natAbs.Coprime d₂)
(h₁₂ : n₁.natAbs.Coprime d₂)
(h₂₁ : n₂.natAbs.Coprime d₁)
:
@[deprecated Rat.mul_eq_mkRat (since := "2024-04-29")]
Alias of Rat.mul_eq_mkRat
.
@[deprecated Rat.div_def' (since := "2024-04-15")]
Alias of Rat.div_def'
.
The rational numbers are a group #
Equations
Equations
@[deprecated Rat.intCast_eq_divInt (since := "2024-04-05")]
Alias of Rat.intCast_eq_divInt
.
@[deprecated Rat.intCast_div_eq_divInt (since := "2024-04-05")]
Alias of Rat.intCast_div_eq_divInt
.