Module docstring
{"# Lemmas about invOf in ordered (semi)rings.
"}
{"# Lemmas about invOf in ordered (semi)rings.
"}
invOf_pos
theorem
[Invertible a] : 0 < ⅟ a ↔ 0 < a
@[simp]
theorem invOf_pos [Invertible a] : 0 < ⅟ a ↔ 0 < a :=
haveI : 0 < a * ⅟ a := by simp only [mul_invOf_self, zero_lt_one]
⟨fun h => pos_of_mul_pos_left this h.le, fun h => pos_of_mul_pos_right this h.le⟩
invOf_nonpos
theorem
[Invertible a] : ⅟ a ≤ 0 ↔ a ≤ 0
@[simp]
theorem invOf_nonpos [Invertible a] : ⅟ a⅟ a ≤ 0 ↔ a ≤ 0 := by simp only [← not_lt, invOf_pos]
invOf_nonneg
theorem
[Invertible a] : 0 ≤ ⅟ a ↔ 0 ≤ a
@[simp]
theorem invOf_nonneg [Invertible a] : 0 ≤ ⅟ a ↔ 0 ≤ a :=
haveI : 0 < a * ⅟ a := by simp only [mul_invOf_self, zero_lt_one]
⟨fun h => (pos_of_mul_pos_left this h).le, fun h => (pos_of_mul_pos_right this h).le⟩
invOf_lt_zero
theorem
[Invertible a] : ⅟ a < 0 ↔ a < 0
@[simp]
theorem invOf_lt_zero [Invertible a] : ⅟ a⅟ a < 0 ↔ a < 0 := by simp only [← not_le, invOf_nonneg]
invOf_le_one
theorem
[Invertible a] (h : 1 ≤ a) : ⅟ a ≤ 1
@[simp]
theorem invOf_le_one [Invertible a] (h : 1 ≤ a) : ⅟ a ≤ 1 :=
mul_invOf_self a ▸ le_mul_of_one_le_left (invOf_nonneg.2 <| zero_le_one.trans h) h
pos_invOf_of_invertible_cast
theorem
[Nontrivial R] (n : ℕ) [Invertible (n : R)] : 0 < ⅟ (n : R)
theorem pos_invOf_of_invertible_cast [Nontrivial R] (n : ℕ)
[Invertible (n : R)] : 0 < ⅟(n : R) :=
invOf_pos.2 <| Nat.cast_pos.2 <| pos_of_invertible_cast (R := R) n