@@ -165,6 +165,9 @@ sup_eq_left.2 h
165
165
@[simp] theorem left_eq_sup : a = a ⊔ b ↔ b ≤ a :=
166
166
eq_comm.trans sup_eq_left
167
167
168
+ @[simp] theorem left_lt_sup : a < a ⊔ b ↔ ¬b ≤ a :=
169
+ le_sup_left.lt_iff_ne.trans $ not_congr left_eq_sup
170
+
168
171
@[simp] theorem sup_eq_right : a ⊔ b = b ↔ a ≤ b :=
169
172
le_antisymm_iff.trans $ by simp [le_refl]
170
173
@@ -174,6 +177,12 @@ sup_eq_right.2 h
174
177
@[simp] theorem right_eq_sup : b = a ⊔ b ↔ a ≤ b :=
175
178
eq_comm.trans sup_eq_right
176
179
180
+ @[simp] theorem right_lt_sup : b < a ⊔ b ↔ ¬a ≤ b :=
181
+ le_sup_right.lt_iff_ne.trans $ not_congr right_eq_sup
182
+
183
+ lemma left_or_right_lt_sup (h : a ≠ b) : (a < a ⊔ b ∨ b < a ⊔ b) :=
184
+ h.not_le_or_not_le.symm.imp left_lt_sup.2 right_lt_sup.2
185
+
177
186
theorem sup_le_sup (h₁ : a ≤ b) (h₂ : c ≤ d) : a ⊔ c ≤ b ⊔ d :=
178
187
sup_le (le_sup_of_le_left h₁) (le_sup_of_le_right h₂)
179
188
@@ -225,12 +234,6 @@ by rw [sup_sup_sup_comm, sup_idem]
225
234
lemma sup_sup_distrib_right (a b c : α) : (a ⊔ b) ⊔ c = (a ⊔ c) ⊔ (b ⊔ c) :=
226
235
by rw [sup_sup_sup_comm, sup_idem]
227
236
228
- lemma forall_le_or_exists_lt_sup (a : α) : (∀b, b ≤ a) ∨ (∃b, a < b) :=
229
- suffices (∃b, ¬b ≤ a) → (∃b, a < b),
230
- by rwa [or_iff_not_imp_left, not_forall],
231
- assume ⟨b, hb⟩,
232
- ⟨a ⊔ b, lt_of_le_of_ne le_sup_left $ mt left_eq_sup.1 hb⟩
233
-
234
237
/-- If `f` is monotone, `g` is antitone, and `f ≤ g`, then for all `a`, `b` we have `f a ≤ g b`. -/
235
238
theorem monotone.forall_le_of_antitone {β : Type *} [preorder β] {f g : α → β}
236
239
(hf : monotone f) (hg : antitone g) (h : f ≤ g) (m n : α) :
@@ -254,13 +257,6 @@ begin
254
257
injection this ; congr'
255
258
end
256
259
257
- theorem exists_lt_of_sup (α : Type *) [semilattice_sup α] [nontrivial α] : ∃ a b : α, a < b :=
258
- begin
259
- rcases exists_pair_ne α with ⟨a, b, hne⟩,
260
- rcases forall_le_or_exists_lt_sup b with (hb|H),
261
- exacts [⟨a, b, (hb a).lt_of_ne hne⟩, ⟨b, H⟩]
262
- end
263
-
264
260
lemma ite_le_sup (s s' : α) (P : Prop ) [decidable P] : ite P s s' ≤ s ⊔ s' :=
265
261
if h : P then (if_pos h).trans_le le_sup_left else (if_neg h).trans_le le_sup_right
266
262
@@ -329,6 +325,8 @@ lt_of_le_of_lt inf_le_right h
329
325
@[simp] theorem inf_eq_left : a ⊓ b = a ↔ a ≤ b :=
330
326
le_antisymm_iff.trans $ by simp [le_refl]
331
327
328
+ @[simp] theorem inf_lt_left : a ⊓ b < a ↔ ¬a ≤ b := @left_lt_sup αᵒᵈ _ _ _
329
+
332
330
theorem inf_of_le_left (h : a ≤ b) : a ⊓ b = a :=
333
331
inf_eq_left.2 h
334
332
@@ -338,6 +336,11 @@ eq_comm.trans inf_eq_left
338
336
@[simp] theorem inf_eq_right : a ⊓ b = b ↔ b ≤ a :=
339
337
le_antisymm_iff.trans $ by simp [le_refl]
340
338
339
+ @[simp] theorem inf_lt_right : a ⊓ b < b ↔ ¬b ≤ a := @right_lt_sup αᵒᵈ _ _ _
340
+
341
+ theorem inf_lt_left_or_right (h : a ≠ b) : a ⊓ b < a ∨ a ⊓ b < b :=
342
+ @left_or_right_lt_sup αᵒᵈ _ _ _ h
343
+
341
344
theorem inf_of_le_right (h : b ≤ a) : a ⊓ b = b :=
342
345
inf_eq_right.2 h
343
346
@@ -384,9 +387,6 @@ lemma inf_inf_distrib_left (a b c : α) : a ⊓ (b ⊓ c) = (a ⊓ b) ⊓ (a ⊓
384
387
lemma inf_inf_distrib_right (a b c : α) : (a ⊓ b) ⊓ c = (a ⊓ c) ⊓ (b ⊓ c) :=
385
388
@sup_sup_distrib_right αᵒᵈ _ _ _ _
386
389
387
- lemma forall_le_or_exists_lt_inf (a : α) : (∀b, a ≤ b) ∨ (∃b, b < a) :=
388
- @forall_le_or_exists_lt_sup αᵒᵈ _ a
389
-
390
390
theorem semilattice_inf.ext_inf {α} {A B : semilattice_inf α}
391
391
(H : ∀ x y : α, (by haveI := A; exact x ≤ y) ↔ x ≤ y)
392
392
(x y : α) : (by haveI := A; exact (x ⊓ y)) = x ⊓ y :=
@@ -406,10 +406,6 @@ theorem semilattice_inf.dual_dual (α : Type*) [H : semilattice_inf α] :
406
406
order_dual.semilattice_inf αᵒᵈ = H :=
407
407
semilattice_inf.ext $ λ _ _, iff.rfl
408
408
409
- theorem exists_lt_of_inf (α : Type *) [semilattice_inf α] [nontrivial α] :
410
- ∃ a b : α, a < b :=
411
- let ⟨a, b, h⟩ := exists_lt_of_sup αᵒᵈ in ⟨b, a, h⟩
412
-
413
409
lemma inf_le_ite (s s' : α) (P : Prop ) [decidable P] : s ⊓ s' ≤ ite P s s' :=
414
410
@ite_le_sup αᵒᵈ _ _ _ _ _
415
411
0 commit comments