@@ -174,11 +174,8 @@ instance linear_ordered_semiring.to_ordered_smul {R : Type*} [linear_ordered_sem
174
174
ordered_smul.mk'' $ λ c, strict_mono_mul_left_of_pos
175
175
176
176
section linear_ordered_semifield
177
- variables [linear_ordered_semifield 𝕜]
178
-
179
- section ordered_add_comm_monoid
180
- variables [ordered_add_comm_monoid M] [ordered_add_comm_monoid N] [mul_action_with_zero 𝕜 M]
181
- [mul_action_with_zero 𝕜 N]
177
+ variables [linear_ordered_semifield 𝕜] [ordered_add_comm_monoid M] [ordered_add_comm_monoid N]
178
+ [mul_action_with_zero 𝕜 M] [mul_action_with_zero 𝕜 N]
182
179
183
180
/-- To prove that a vector space over a linear ordered field is ordered, it suffices to verify only
184
181
the first axiom of `ordered_smul`. -/
@@ -213,32 +210,24 @@ instance pi.ordered_smul' [ordered_smul 𝕜 M] : ordered_smul 𝕜 (ι → M) :
213
210
/- Sometimes Lean fails to unify the module with the scalars, so we define another instance. -/
214
211
instance pi.ordered_smul'' : ordered_smul 𝕜 (ι → 𝕜) := @pi.ordered_smul' ι 𝕜 𝕜 _ _ _ _
215
212
216
- end ordered_add_comm_monoid
217
-
218
- section ordered_add_comm_group
219
- variables [ordered_add_comm_group M] [mul_action_with_zero 𝕜 M] [ordered_smul 𝕜 M] {s : set M}
220
- {a b : M} {c : 𝕜}
213
+ variables [ordered_smul 𝕜 M] {s : set M} {a b : M} {c : 𝕜}
221
214
222
215
lemma smul_le_smul_iff_of_pos (hc : 0 < c) : c • a ≤ c • b ↔ a ≤ b :=
223
216
⟨λ h, inv_smul_smul₀ hc.ne' a ▸ inv_smul_smul₀ hc.ne' b ▸
224
217
smul_le_smul_of_nonneg h (inv_nonneg.2 hc.le),
225
218
λ h, smul_le_smul_of_nonneg h hc.le⟩
226
219
227
- lemma smul_lt_iff_of_pos (hc : 0 < c) : c • a < b ↔ a < c⁻¹ • b :=
228
- calc c • a < b ↔ c • a < c • c⁻¹ • b : by rw [smul_inv_smul₀ hc.ne']
229
- ... ↔ a < c⁻¹ • b : smul_lt_smul_iff_of_pos hc
220
+ lemma inv_smul_le_iff (h : 0 < c) : c⁻¹ • a ≤ b ↔ a ≤ c • b :=
221
+ by { rw [←smul_le_smul_iff_of_pos h, smul_inv_smul₀ h.ne'], apply_instance }
230
222
231
- lemma lt_smul_iff_of_pos (hc : 0 < c) : a < c • b ↔ c⁻¹ • a < b :=
232
- calc a < c • b ↔ c • c⁻¹ • a < c • b : by rw [smul_inv_smul₀ hc.ne']
233
- ... ↔ c⁻¹ • a < b : smul_lt_smul_iff_of_pos hc
223
+ lemma inv_smul_lt_iff (h : 0 < c) : c⁻¹ • a < b ↔ a < c • b :=
224
+ by { rw [←smul_lt_smul_iff_of_pos h, smul_inv_smul₀ h.ne'], apply_instance }
234
225
235
- lemma smul_le_iff_of_pos (hc : 0 < c) : c • a ≤ b ↔ a ≤ c⁻¹ • b :=
236
- calc c • a ≤ b ↔ c • a ≤ c • c⁻¹ • b : by rw [smul_inv_smul₀ hc.ne']
237
- ... ↔ a ≤ c⁻¹ • b : smul_le_smul_iff_of_pos hc
226
+ lemma le_inv_smul_iff (h : 0 < c) : a ≤ c⁻¹ • b ↔ c • a ≤ b :=
227
+ by { rw [←smul_le_smul_iff_of_pos h, smul_inv_smul₀ h.ne'], apply_instance }
238
228
239
- lemma le_smul_iff_of_pos (hc : 0 < c) : a ≤ c • b ↔ c⁻¹ • a ≤ b :=
240
- calc a ≤ c • b ↔ c • c⁻¹ • a ≤ c • b : by rw [smul_inv_smul₀ hc.ne']
241
- ... ↔ c⁻¹ • a ≤ b : smul_le_smul_iff_of_pos hc
229
+ lemma lt_inv_smul_iff (h : 0 < c) : a < c⁻¹ • b ↔ c • a < b :=
230
+ by { rw [←smul_lt_smul_iff_of_pos h, smul_inv_smul₀ h.ne'], apply_instance }
242
231
243
232
variables (M)
244
233
@@ -264,7 +253,6 @@ variables {M}
264
253
@[simp] lemma bdd_above_smul_iff_of_pos (hc : 0 < c) : bdd_above (c • s) ↔ bdd_above s :=
265
254
(order_iso.smul_left _ hc).bdd_above_image
266
255
267
- end ordered_add_comm_group
268
256
end linear_ordered_semifield
269
257
270
258
namespace tactic
0 commit comments