Linear ordered (semi)fields #
A linear ordered (semi)field is a (semi)field equipped with a linear order such that
- addition respects the order:
a ≤ b → c + a ≤ c + b
; - multiplication of positives is positive:
0 < a → 0 < b → 0 < a * b
; 0 < 1
.
Main Definitions #
LinearOrderedSemifield
: Typeclass for linear order semifields.LinearOrderedField
: Typeclass for linear ordered fields.
A linear ordered semifield is a field with a linear order respecting the operations.
- add : α → α → α
- zero : α
- mul : α → α → α
- one : α
- natCast_zero : NatCast.natCast 0 = 0
- exists_pair_ne : ∃ (x : α), ∃ (y : α), x ≠ y
- zero_le_one : 0 ≤ 1
- min : α → α → α
- max : α → α → α
- decidableLE : DecidableRel fun (x1 x2 : α) => x1 ≤ x2
- decidableLT : DecidableRel fun (x1 x2 : α) => x1 < x2
- inv : α → α
- div : α → α → α
- zpow_succ' (n : ℕ) (a : α) : LinearOrderedSemifield.zpow (↑n.succ) a = LinearOrderedSemifield.zpow (↑n) a * a
- zpow_neg' (n : ℕ) (a : α) : LinearOrderedSemifield.zpow (Int.negSucc n) a = (LinearOrderedSemifield.zpow (↑n.succ) a)⁻¹
Instances
A linear ordered field is a field with a linear order respecting the operations.
- add : α → α → α
- zero : α
- mul : α → α → α
- one : α
- natCast_zero : NatCast.natCast 0 = 0
- neg : α → α
- sub : α → α → α
- exists_pair_ne : ∃ (x : α), ∃ (y : α), x ≠ y
- zero_le_one : 0 ≤ 1
- min : α → α → α
- max : α → α → α
- decidableLE : DecidableRel fun (x1 x2 : α) => x1 ≤ x2
- decidableLT : DecidableRel fun (x1 x2 : α) => x1 < x2
- inv : α → α
- div : α → α → α
- zpow_succ' (n : ℕ) (a : α) : LinearOrderedField.zpow (↑n.succ) a = LinearOrderedField.zpow (↑n) a * a
- zpow_neg' (n : ℕ) (a : α) : LinearOrderedField.zpow (Int.negSucc n) a = (LinearOrderedField.zpow (↑n.succ) a)⁻¹
Instances
Equations
- LinearOrderedField.toLinearOrderedSemifield = LinearOrderedSemifield.mk ⋯ LinearOrderedField.zpow ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ LinearOrderedField.nnqsmul ⋯
Equality holds when a ≠ 0
. See mul_inv_cancel
.
Equality holds when a ≠ 0
. See inv_mul_cancel
.
Equality holds when a ≠ 0
. See mul_inv_cancel_left
.
Equality holds when a ≠ 0
. See mul_inv_cancel_left
.
Equality holds when a ≠ 0
. See inv_mul_cancel_left
.
Equality holds when a ≠ 0
. See inv_mul_cancel_left
.
Equality holds when b ≠ 0
. See mul_inv_cancel_right
.
Equality holds when b ≠ 0
. See mul_inv_cancel_right
.
Equality holds when b ≠ 0
. See inv_mul_cancel_right
.
Equality holds when b ≠ 0
. See inv_mul_cancel_right
.
Equality holds when c ≠ 0
. See mul_div_mul_left
.
Equality holds when c ≠ 0
. See mul_div_mul_left
.
Equality holds when c ≠ 0
. See mul_div_mul_right
.
Equality holds when c ≠ 0
. See mul_div_mul_right
.