mathlib documentation

algebra.​ordered_field

algebra.​ordered_field

Linear ordered fields

A linear ordered field is a field equipped with a linear order such that

Main Definitions

@[instance]
def linear_ordered_field.​to_field (α : Type u_2) [s : linear_ordered_field α] :

@[class]
structure linear_ordered_field  :
Type u_2 → Type u_2
  • add : α → α → α
  • add_assoc : ∀ (a b c_1 : α), a + b + c_1 = a + (b + c_1)
  • zero : α
  • zero_add : ∀ (a : α), 0 + a = a
  • add_zero : ∀ (a : α), a + 0 = a
  • neg : α → α
  • add_left_neg : ∀ (a : α), -a + a = 0
  • add_comm : ∀ (a b : α), a + b = b + a
  • mul : α → α → α
  • mul_assoc : ∀ (a b c_1 : α), a * b * c_1 = a * (b * c_1)
  • one : α
  • one_mul : ∀ (a : α), 1 * a = a
  • mul_one : ∀ (a : α), a * 1 = a
  • left_distrib : ∀ (a b c_1 : α), a * (b + c_1) = a * b + a * c_1
  • right_distrib : ∀ (a b c_1 : α), (a + b) * c_1 = a * c_1 + b * c_1
  • le : α → α → Prop
  • lt : α → α → Prop
  • le_refl : ∀ (a : α), a ≤ a
  • le_trans : ∀ (a b c_1 : α), a ≤ b → b ≤ c_1 → a ≤ c_1
  • lt_iff_le_not_le : (∀ (a b : α), a < b ↔ a ≤ b ∧ ¬b ≤ a) . "order_laws_tac"
  • le_antisymm : ∀ (a b : α), a ≤ b → b ≤ a → a = b
  • add_le_add_left : ∀ (a b : α), a ≤ b → ∀ (c_1 : α), c_1 + a ≤ c_1 + b
  • exists_pair_ne : ∃ (x y : α), x ≠ y
  • mul_pos : ∀ (a b : α), 0 < a → 0 < b → 0 < a * b
  • le_total : ∀ (a b : α), a ≤ b ∨ b ≤ a
  • zero_lt_one : linear_ordered_field.zero < linear_ordered_field.one
  • mul_comm : ∀ (a b : α), a * b = b * a
  • inv : α → α
  • mul_inv_cancel : ∀ {a : α}, a ≠ 0 → a * a⁻¹ = 1
  • inv_zero : 0⁻¹ = 0

A linear ordered field is a field with a linear order respecting the operations.

Instances

Lemmas about pos, nonneg, nonpos, neg

@[simp]
theorem inv_pos {α : Type u_1} [linear_ordered_field α] {a : α} :
0 < a⁻¹ ↔ 0 < a

@[simp]
theorem inv_nonneg {α : Type u_1} [linear_ordered_field α] {a : α} :
0 ≤ a⁻¹ ↔ 0 ≤ a

@[simp]
theorem inv_lt_zero {α : Type u_1} [linear_ordered_field α] {a : α} :
a⁻¹ < 0 ↔ a < 0

@[simp]
theorem inv_nonpos {α : Type u_1} [linear_ordered_field α] {a : α} :
a⁻¹ ≤ 0 ↔ a ≤ 0

theorem one_div_pos {α : Type u_1} [linear_ordered_field α] {a : α} :
0 < 1 / a ↔ 0 < a

theorem one_div_neg {α : Type u_1} [linear_ordered_field α] {a : α} :
1 / a < 0 ↔ a < 0

theorem one_div_nonneg {α : Type u_1} [linear_ordered_field α] {a : α} :
0 ≤ 1 / a ↔ 0 ≤ a

theorem one_div_nonpos {α : Type u_1} [linear_ordered_field α] {a : α} :
1 / a ≤ 0 ↔ a ≤ 0

theorem div_pos {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → 0 < a / b

theorem div_pos_of_neg_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → 0 < a / b

theorem div_neg_of_neg_of_pos {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → 0 < b → a / b < 0

theorem div_neg_of_pos_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → b < 0 → a / b < 0

theorem div_nonneg {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 ≤ a → 0 ≤ b → 0 ≤ a / b

theorem div_nonneg_of_nonpos {α : Type u_1} [linear_ordered_field α] {a b : α} :
a ≤ 0 → b ≤ 0 → 0 ≤ a / b

theorem div_nonpos_of_nonpos_of_nonneg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a ≤ 0 → 0 ≤ b → a / b ≤ 0

theorem div_nonpos_of_nonneg_of_nonpos {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 ≤ a → b ≤ 0 → a / b ≤ 0

Relating one division with another term.

theorem le_div_iff {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < c → (a ≤ b / c ↔ a * c ≤ b)

theorem le_div_iff' {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < c → (a ≤ b / c ↔ c * a ≤ b)

theorem div_le_iff {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < b → (a / b ≤ c ↔ a ≤ c * b)

theorem div_le_iff' {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < b → (a / b ≤ c ↔ a ≤ b * c)

theorem lt_div_iff {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < c → (a < b / c ↔ a * c < b)

theorem lt_div_iff' {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < c → (a < b / c ↔ c * a < b)

theorem div_lt_iff {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < c → (b / c < a ↔ b < a * c)

theorem div_lt_iff' {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < c → (b / c < a ↔ b < c * a)

theorem div_le_iff_of_neg {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (b / c ≤ a ↔ a * c ≤ b)

theorem div_le_iff_of_neg' {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (b / c ≤ a ↔ c * a ≤ b)

theorem le_div_iff_of_neg {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (a ≤ b / c ↔ b ≤ a * c)

theorem le_div_iff_of_neg' {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (a ≤ b / c ↔ b ≤ c * a)

theorem div_lt_iff_of_neg {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (b / c < a ↔ a * c < b)

theorem div_lt_iff_of_neg' {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (b / c < a ↔ c * a < b)

theorem lt_div_iff_of_neg {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (a < b / c ↔ b < a * c)

theorem lt_div_iff_of_neg' {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (a < b / c ↔ b < c * a)

theorem div_le_iff_of_nonneg_of_le {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 ≤ b → 0 ≤ c → a ≤ c * b → a / b ≤ c

One direction of div_le_iff where b is allowed to be 0 (but c must be nonnegative)

Bi-implications of inequalities using inversions

theorem inv_le_inv_of_le {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → a ≤ b → b⁻¹ ≤ a⁻¹

theorem inv_le_inv {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (a⁻¹ ≤ b⁻¹ ↔ b ≤ a)

See inv_le_inv_of_le for the implication from right-to-left with one fewer assumption.

theorem inv_le {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (a⁻¹ ≤ b ↔ b⁻¹ ≤ a)

theorem le_inv {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (a ≤ b⁻¹ ↔ b ≤ a⁻¹)

theorem inv_lt_inv {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (a⁻¹ < b⁻¹ ↔ b < a)

theorem inv_lt {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (a⁻¹ < b ↔ b⁻¹ < a)

theorem lt_inv {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (a < b⁻¹ ↔ b < a⁻¹)

theorem inv_le_inv_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (a⁻¹ ≤ b⁻¹ ↔ b ≤ a)

theorem inv_le_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (a⁻¹ ≤ b ↔ b⁻¹ ≤ a)

theorem le_inv_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (a ≤ b⁻¹ ↔ b ≤ a⁻¹)

theorem inv_lt_inv_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (a⁻¹ < b⁻¹ ↔ b < a)

theorem inv_lt_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (a⁻¹ < b ↔ b⁻¹ < a)

theorem lt_inv_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (a < b⁻¹ ↔ b < a⁻¹)

theorem inv_lt_one {α : Type u_1} [linear_ordered_field α] {a : α} :
1 < a → a⁻¹ < 1

theorem one_lt_inv {α : Type u_1} [linear_ordered_field α] {a : α} :
0 < a → a < 1 → 1 < a⁻¹

theorem inv_le_one {α : Type u_1} [linear_ordered_field α] {a : α} :
1 ≤ a → a⁻¹ ≤ 1

theorem one_le_inv {α : Type u_1} [linear_ordered_field α] {a : α} :
0 < a → a ≤ 1 → 1 ≤ a⁻¹

Relating two divisions.

theorem div_le_div_of_le {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 ≤ c → a ≤ b → a / c ≤ b / c

theorem div_le_div_of_le_left {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 ≤ a → 0 < c → c ≤ b → a / b ≤ a / c

theorem div_le_div_of_le_of_nonneg {α : Type u_1} [linear_ordered_field α] {a b c : α} :
a ≤ b → 0 ≤ c → a / c ≤ b / c

theorem div_le_div_of_nonpos_of_le {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c ≤ 0 → b ≤ a → a / c ≤ b / c

theorem div_lt_div_of_lt {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < c → a < b → a / c < b / c

theorem div_lt_div_of_neg_of_lt {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → b < a → a / c < b / c

theorem div_le_div_right {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < c → (a / c ≤ b / c ↔ a ≤ b)

theorem div_le_div_right_of_neg {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (a / c ≤ b / c ↔ b ≤ a)

theorem div_lt_div_right {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < c → (a / c < b / c ↔ a < b)

theorem div_lt_div_right_of_neg {α : Type u_1} [linear_ordered_field α] {a b c : α} :
c < 0 → (a / c < b / c ↔ b < a)

theorem div_lt_div_left {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < a → 0 < b → 0 < c → (a / b < a / c ↔ c < b)

theorem div_le_div_left {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < a → 0 < b → 0 < c → (a / b ≤ a / c ↔ c ≤ b)

theorem div_lt_div_iff {α : Type u_1} [linear_ordered_field α] {a b c d : α} :
0 < b → 0 < d → (a / b < c / d ↔ a * d < c * b)

theorem div_le_div_iff {α : Type u_1} [linear_ordered_field α] {a b c d : α} :
0 < b → 0 < d → (a / b ≤ c / d ↔ a * d ≤ c * b)

theorem div_le_div {α : Type u_1} [linear_ordered_field α] {a b c d : α} :
0 ≤ c → a ≤ c → 0 < d → d ≤ b → a / b ≤ c / d

theorem div_lt_div {α : Type u_1} [linear_ordered_field α] {a b c d : α} :
a < c → d ≤ b → 0 ≤ c → 0 < d → a / b < c / d

theorem div_lt_div' {α : Type u_1} [linear_ordered_field α] {a b c d : α} :
a ≤ c → d < b → 0 < c → 0 < d → a / b < c / d

theorem div_lt_div_of_lt_left {α : Type u_1} [linear_ordered_field α] {a b c : α} :
0 < b → b < a → 0 < c → c / a < c / b

Relating one division and involving 1

theorem one_le_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < b → (1 ≤ a / b ↔ b ≤ a)

theorem div_le_one {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < b → (a / b ≤ 1 ↔ a ≤ b)

theorem one_lt_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < b → (1 < a / b ↔ b < a)

theorem div_lt_one {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < b → (a / b < 1 ↔ a < b)

theorem one_le_div_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
b < 0 → (1 ≤ a / b ↔ a ≤ b)

theorem div_le_one_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
b < 0 → (a / b ≤ 1 ↔ b ≤ a)

theorem one_lt_div_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
b < 0 → (1 < a / b ↔ a < b)

theorem div_lt_one_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
b < 0 → (a / b < 1 ↔ b < a)

theorem one_div_le {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (1 / a ≤ b ↔ 1 / b ≤ a)

theorem one_div_lt {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (1 / a < b ↔ 1 / b < a)

theorem le_one_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (a ≤ 1 / b ↔ b ≤ 1 / a)

theorem lt_one_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (a < 1 / b ↔ b < 1 / a)

theorem one_div_le_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (1 / a ≤ b ↔ 1 / b ≤ a)

theorem one_div_lt_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (1 / a < b ↔ 1 / b < a)

theorem le_one_div_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (a ≤ 1 / b ↔ b ≤ 1 / a)

theorem lt_one_div_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (a < 1 / b ↔ b < 1 / a)

Relating two divisions, involving 1

theorem one_div_le_one_div_of_le {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → a ≤ b → 1 / b ≤ 1 / a

theorem one_div_lt_one_div_of_lt {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → a < b → 1 / b < 1 / a

theorem one_div_le_one_div_of_neg_of_le {α : Type u_1} [linear_ordered_field α] {a b : α} :
b < 0 → a ≤ b → 1 / b ≤ 1 / a

theorem one_div_lt_one_div_of_neg_of_lt {α : Type u_1} [linear_ordered_field α] {a b : α} :
b < 0 → a < b → 1 / b < 1 / a

theorem le_of_one_div_le_one_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 1 / a ≤ 1 / b → b ≤ a

theorem lt_of_one_div_lt_one_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 1 / a < 1 / b → b < a

theorem le_of_neg_of_one_div_le_one_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
b < 0 → 1 / a ≤ 1 / b → b ≤ a

theorem lt_of_neg_of_one_div_lt_one_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
b < 0 → 1 / a < 1 / b → b < a

theorem one_div_le_one_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (1 / a ≤ 1 / b ↔ b ≤ a)

For the single implications with fewer assumptions, see one_div_le_one_div_of_le and le_of_one_div_le_one_div

theorem one_div_lt_one_div {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 < a → 0 < b → (1 / a < 1 / b ↔ b < a)

For the single implications with fewer assumptions, see one_div_lt_one_div_of_lt and lt_of_one_div_lt_one_div

theorem one_div_le_one_div_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (1 / a ≤ 1 / b ↔ b ≤ a)

For the single implications with fewer assumptions, see one_div_lt_one_div_of_neg_of_lt and lt_of_one_div_lt_one_div

theorem one_div_lt_one_div_of_neg {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < 0 → b < 0 → (1 / a < 1 / b ↔ b < a)

For the single implications with fewer assumptions, see one_div_lt_one_div_of_lt and lt_of_one_div_lt_one_div

theorem one_lt_one_div {α : Type u_1} [linear_ordered_field α] {a : α} :
0 < a → a < 1 → 1 < 1 / a

theorem one_le_one_div {α : Type u_1} [linear_ordered_field α] {a : α} :
0 < a → a ≤ 1 → 1 ≤ 1 / a

theorem one_div_lt_neg_one {α : Type u_1} [linear_ordered_field α] {a : α} :
a < 0 → -1 < a → 1 / a < -1

theorem one_div_le_neg_one {α : Type u_1} [linear_ordered_field α] {a : α} :
a < 0 → -1 ≤ a → 1 / a ≤ -1

Results about halving.

The equalities also hold in fields of characteristic 0.

theorem add_halves {α : Type u_1} [linear_ordered_field α] (a : α) :
a / 2 + a / 2 = a

theorem sub_self_div_two {α : Type u_1} [linear_ordered_field α] (a : α) :
a - a / 2 = a / 2

theorem div_two_sub_self {α : Type u_1} [linear_ordered_field α] (a : α) :
a / 2 - a = -(a / 2)

theorem add_self_div_two {α : Type u_1} [linear_ordered_field α] (a : α) :
(a + a) / 2 = a

theorem half_pos {α : Type u_1} [linear_ordered_field α] {a : α} :
0 < a → 0 < a / 2

theorem one_half_pos {α : Type u_1} [linear_ordered_field α] :
0 < 1 / 2

theorem div_two_lt_of_pos {α : Type u_1} [linear_ordered_field α] {a : α} :
0 < a → a / 2 < a

theorem half_lt_self {α : Type u_1} [linear_ordered_field α] {a : α} :
0 < a → a / 2 < a

theorem one_half_lt_one {α : Type u_1} [linear_ordered_field α] :
1 / 2 < 1

theorem add_sub_div_two_lt {α : Type u_1} [linear_ordered_field α] {a b : α} :
a < b → a + (b - a) / 2 < b

Miscellaneous lemmas

theorem mul_sub_mul_div_mul_neg_iff {α : Type u_1} [linear_ordered_field α] {a b c d : α} :
c ≠ 0 → d ≠ 0 → ((a * d - b * c) / (c * d) < 0 ↔ a / c < b / d)

theorem mul_sub_mul_div_mul_nonpos_iff {α : Type u_1} [linear_ordered_field α] {a b c d : α} :
c ≠ 0 → d ≠ 0 → ((a * d - b * c) / (c * d) ≤ 0 ↔ a / c ≤ b / d)

theorem mul_le_mul_of_mul_div_le {α : Type u_1} [linear_ordered_field α] {a b c d : α} :
a * (b / c) ≤ d → 0 < c → b * a ≤ d * c

theorem div_mul_le_div_mul_of_div_le_div {α : Type u_1} [linear_ordered_field α] {a b c d e : α} :
a / b ≤ c / d → 0 ≤ e → a / (b * e) ≤ c / (d * e)

theorem exists_add_lt_and_pos_of_lt {α : Type u_1} [linear_ordered_field α] {a b : α} :
b < a → (∃ (c : α), b + c < a ∧ 0 < c)

theorem le_of_forall_sub_le {α : Type u_1} [linear_ordered_field α] {a b : α} :
(∀ (ε : α), ε > 0 → b - ε ≤ a) → b ≤ a

theorem monotone.​div_const {α : Type u_1} [linear_ordered_field α] {β : Type u_2} [preorder β] {f : β → α} (hf : monotone f) {c : α} :
0 ≤ c → monotone (λ (x : β), f x / c)

theorem strict_mono.​div_const {α : Type u_1} [linear_ordered_field α] {β : Type u_2} [preorder β] {f : β → α} (hf : strict_mono f) {c : α} :
0 < c → strict_mono (λ (x : β), f x / c)

theorem mul_self_inj_of_nonneg {α : Type u_1} [linear_ordered_field α] {a b : α} :
0 ≤ a → 0 ≤ b → (a * a = b * b ↔ a = b)

@[class]
structure discrete_linear_ordered_field  :
Type u_2 → Type u_2
  • add : α → α → α
  • add_assoc : ∀ (a b c_1 : α), a + b + c_1 = a + (b + c_1)
  • zero : α
  • zero_add : ∀ (a : α), 0 + a = a
  • add_zero : ∀ (a : α), a + 0 = a
  • neg : α → α
  • add_left_neg : ∀ (a : α), -a + a = 0
  • add_comm : ∀ (a b : α), a + b = b + a
  • mul : α → α → α
  • mul_assoc : ∀ (a b c_1 : α), a * b * c_1 = a * (b * c_1)
  • one : α
  • one_mul : ∀ (a : α), 1 * a = a
  • mul_one : ∀ (a : α), a * 1 = a
  • left_distrib : ∀ (a b c_1 : α), a * (b + c_1) = a * b + a * c_1
  • right_distrib : ∀ (a b c_1 : α), (a + b) * c_1 = a * c_1 + b * c_1
  • le : α → α → Prop
  • lt : α → α → Prop
  • le_refl : ∀ (a : α), a ≤ a
  • le_trans : ∀ (a b c_1 : α), a ≤ b → b ≤ c_1 → a ≤ c_1
  • lt_iff_le_not_le : (∀ (a b : α), a < b ↔ a ≤ b ∧ ¬b ≤ a) . "order_laws_tac"
  • le_antisymm : ∀ (a b : α), a ≤ b → b ≤ a → a = b
  • add_le_add_left : ∀ (a b : α), a ≤ b → ∀ (c_1 : α), c_1 + a ≤ c_1 + b
  • exists_pair_ne : ∃ (x y : α), x ≠ y
  • mul_pos : ∀ (a b : α), 0 < a → 0 < b → 0 < a * b
  • le_total : ∀ (a b : α), a ≤ b ∨ b ≤ a
  • zero_lt_one : discrete_linear_ordered_field.zero < discrete_linear_ordered_field.one
  • mul_comm : ∀ (a b : α), a * b = b * a
  • inv : α → α
  • mul_inv_cancel : ∀ {a : α}, a ≠ 0 → a * a⁻¹ = 1
  • inv_zero : 0⁻¹ = 0
  • decidable_le : decidable_rel has_le.le
  • decidable_eq : decidable_eq α
  • decidable_lt : decidable_rel has_lt.lt

A discrete linear ordered field is a field with a decidable linear order respecting the operations.

Instances
theorem abs_div {α : Type u_1} [discrete_linear_ordered_field α] (a b : α) :
abs (a / b) = abs a / abs b

theorem abs_one_div {α : Type u_1} [discrete_linear_ordered_field α] (a : α) :
abs (1 / a) = 1 / abs a

theorem abs_inv {α : Type u_1} [discrete_linear_ordered_field α] (a : α) :