Module docstring
{"# Canonically ordered semifields "}
{"# Canonically ordered semifields "}
CanonicallyLinearOrderedSemifield
structure
(α : Type*) extends CanonicallyOrderedCommSemiring α,
LinearOrderedSemifield α
/-- A canonically linear ordered field is a linear ordered field in which `a ≤ b` iff there exists
`c` with `b = a + c`. -/
@[deprecated "Use `[LinearOrderedSemifield α] [CanonicallyOrderedAdd α]` instead."
(since := "2025-01-13")]
structure CanonicallyLinearOrderedSemifield (α : Type*) extends CanonicallyOrderedCommSemiring α,
LinearOrderedSemifield α
CanonicallyOrderedAdd.toLinearOrderedCommGroupWithZero
abbrev
: LinearOrderedCommGroupWithZero α
/-- Construct a `LinearOrderedCommGroupWithZero` from a canonically linear ordered semifield. -/
abbrev CanonicallyOrderedAdd.toLinearOrderedCommGroupWithZero :
LinearOrderedCommGroupWithZero α where
__ := ‹Semifield α›
__ := ‹LinearOrder α›
bot := 0
bot_le := zero_le
zero_le_one := zero_le_one
mul_le_mul_left := fun _ _ h _ ↦ mul_le_mul_of_nonneg_left h <| zero_le _
tsub_div
theorem
(a b c : α) : (a - b) / c = a / c - b / c
theorem tsub_div (a b c : α) : (a - b) / c = a / c - b / c := by simp_rw [div_eq_mul_inv, tsub_mul]