Canonically ordered semifields #
A canonically linear ordered field is a linear ordered field in which a ≤ b iff there exists
c with b = a + c.
- add : α → α → α
- zero : α
- nsmul : ℕ → α → α
- nsmul_zero : ∀ (x : α), AddMonoid.nsmul 0 x = 0
- nsmul_succ : ∀ (n : ℕ) (x : α), AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x
- le : α → α → Prop
- lt : α → α → Prop
- le_refl : ∀ (a : α), a ≤ a
- bot : α
- mul : α → α → α
- one : α
- natCast : ℕ → α
- natCast_zero : NatCast.natCast 0 = 0
- natCast_succ : ∀ (n : ℕ), NatCast.natCast (n + 1) = NatCast.natCast n + 1
- npow : ℕ → α → α
- npow_zero : ∀ (x : α), CanonicallyOrderedCommSemiring.npow 0 x = 1
- npow_succ : ∀ (n : ℕ) (x : α), CanonicallyOrderedCommSemiring.npow (n + 1) x = CanonicallyOrderedCommSemiring.npow n x * x
- exists_pair_ne : ∃ (x : α), ∃ (y : α), x ≠ y
- zero_le_one : 0 ≤ 1In a strict ordered semiring, 0 ≤ 1.
- Left multiplication by a positive element is strictly monotone. 
- Right multiplication by a positive element is strictly monotone. 
- min : α → α → α
- max : α → α → α
- compare : α → α → Ordering
- A linear order is total. 
- decidableLE : DecidableRel fun (x1 x2 : α) => x1 ≤ x2In a linearly ordered type, we assume the order relations are all decidable. 
- decidableEq : DecidableEq αIn a linearly ordered type, we assume the order relations are all decidable. 
- decidableLT : DecidableRel fun (x1 x2 : α) => x1 < x2In a linearly ordered type, we assume the order relations are all decidable. 
- The minimum function is equivalent to the one you get from - minOfLe.
- The minimum function is equivalent to the one you get from - maxOfLe.
- compare_eq_compareOfLessAndEq : ∀ (a b : α), compare a b = compareOfLessAndEq a bComparison via compareis equal to the canonical comparison given decidable<and=.
- inv : α → α
- div : α → α → α
- a / b := a * b⁻¹
- zpow : ℤ → α → αThe power operation: a ^ n = a * ··· * a;a ^ (-n) = a⁻¹ * ··· a⁻¹(ntimes)
- zpow_zero' : ∀ (a : α), CanonicallyLinearOrderedSemifield.zpow 0 a = 1a ^ 0 = 1
- zpow_succ' : ∀ (n : ℕ) (a : α), CanonicallyLinearOrderedSemifield.zpow (↑n.succ) a = CanonicallyLinearOrderedSemifield.zpow (↑n) a * aa ^ (n + 1) = a ^ n * a
- zpow_neg' : ∀ (n : ℕ) (a : α), CanonicallyLinearOrderedSemifield.zpow (Int.negSucc n) a = (CanonicallyLinearOrderedSemifield.zpow (↑n.succ) a)⁻¹a ^ -(n + 1) = (a ^ (n + 1))⁻¹
- The inverse of - 0in a group with zero is- 0.
- Every nonzero element of a group with zero is invertible. 
- nnratCast : ℚ≥0 → α
- However - NNRat.castis defined, it must be propositionally equal to- a / b.- Do not use this lemma directly. Use - NNRat.cast_definstead.
- nnqsmul : ℚ≥0 → α → αScalar multiplication by a nonnegative rational number. Unless there is a risk of a Module ℚ≥0 _instance diamond, writennqsmul := _. This will setnnqsmulto(NNRat.cast · * ·)thanks to unification in the default proof ofnnqsmul_def.Do not use directly. Instead use the •notation.
- nnqsmul_def : ∀ (q : ℚ≥0) (a : α), CanonicallyLinearOrderedSemifield.nnqsmul q a = ↑q * aHowever qsmulis defined, it must be propositionally equal to multiplication byRat.cast.Do not use this lemma directly. Use NNRat.smul_definstead.
Instances
Equations
- CanonicallyLinearOrderedSemifield.toLinearOrderedCommGroupWithZero = LinearOrderedCommGroupWithZero.mk ⋯ CanonicallyLinearOrderedSemifield.zpow ⋯ ⋯ ⋯ ⋯ ⋯
Equations
- One or more equations did not get rendered due to their size.