Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit fd6f681

Browse files
committed
feat(order/bounded_lattice): add is_compl.le_sup_right_iff_inf_left_le (#10014)
This lemma is a generalization of `is_compl.inf_left_eq_bot_iff`. Also drop `inf_eq_bot_iff_le_compl` in favor of `is_compl.inf_left_eq_bot_iff` and add `set.subset_union_compl_iff_inter_subset`.
1 parent 22d32dc commit fd6f681

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

src/data/set/basic.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -891,6 +891,9 @@ theorem compl_subset_comm {s t : set α} : sᶜ ⊆ t ↔ tᶜ ⊆ s := @compl_l
891891

892892
@[simp] lemma compl_subset_compl {s t : set α} : sᶜ ⊆ tᶜ ↔ t ⊆ s := @compl_le_compl_iff_le _ t s _
893893

894+
theorem subset_union_compl_iff_inter_subset {s t u : set α} : s ⊆ t ∪ uᶜ ↔ s ∩ u ⊆ t :=
895+
(@is_compl_compl _ u _).le_sup_right_iff_inf_left_le
896+
894897
theorem compl_subset_iff_union {s t : set α} : sᶜ ⊆ t ↔ s ∪ t = univ :=
895898
iff.symm $ eq_univ_iff_forall.trans $ forall_congr $ λ a, or_iff_not_imp_left
896899

src/order/bounded_lattice.lean

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -312,17 +312,6 @@ class distrib_lattice_bot α extends distrib_lattice α, semilattice_inf_bot α,
312312
/-- A bounded distributive lattice is exactly what it sounds like. -/
313313
class bounded_distrib_lattice α extends distrib_lattice_bot α, bounded_lattice α
314314

315-
lemma inf_eq_bot_iff_le_compl {α : Type u} [bounded_distrib_lattice α] {a b c : α}
316-
(h₁ : b ⊔ c = ⊤) (h₂ : b ⊓ c = ⊥) : a ⊓ b = ⊥ ↔ a ≤ c :=
317-
⟨λ h,
318-
calc a ≤ a ⊓ (b ⊔ c) : by simp [h₁]
319-
... = (a ⊓ b) ⊔ (a ⊓ c) : by simp [inf_sup_left]
320-
... ≤ c : by simp [h, inf_le_right],
321-
λ h,
322-
bot_unique $
323-
calc a ⊓ b ≤ b ⊓ c : by { rw inf_comm, exact inf_le_inf_left _ h }
324-
... = ⊥ : h₂⟩
325-
326315
/-- Propositions form a bounded distributive lattice. -/
327316
instance Prop.bounded_distrib_lattice : bounded_distrib_lattice Prop :=
328317
{ le := λ a b, a → b,
@@ -1169,10 +1158,19 @@ lemma to_order_dual (h : is_compl x y) : is_compl (to_dual x) (to_dual y) := ⟨
11691158

11701159
end bounded_lattice
11711160

1172-
variables [bounded_distrib_lattice α] {x y z : α}
1161+
variables [bounded_distrib_lattice α] {a b x y z : α}
1162+
1163+
lemma inf_left_le_of_le_sup_right (h : is_compl x y) (hle : a ≤ b ⊔ y) : a ⊓ x ≤ b :=
1164+
calc a ⊓ x ≤ (b ⊔ y) ⊓ x : inf_le_inf hle le_rfl
1165+
... = (b ⊓ x) ⊔ (y ⊓ x) : inf_sup_right
1166+
... = b ⊓ x : by rw [h.symm.inf_eq_bot, sup_bot_eq]
1167+
... ≤ b : inf_le_left
1168+
1169+
lemma le_sup_right_iff_inf_left_le {a b} (h : is_compl x y) : a ≤ b ⊔ y ↔ a ⊓ x ≤ b :=
1170+
⟨h.inf_left_le_of_le_sup_right, h.symm.to_order_dual.inf_left_le_of_le_sup_right⟩
11731171

11741172
lemma inf_left_eq_bot_iff (h : is_compl y z) : x ⊓ y = ⊥ ↔ x ≤ z :=
1175-
inf_eq_bot_iff_le_compl h.sup_eq_top h.inf_eq_bot
1173+
by rw [← le_bot_iff, ← h.le_sup_right_iff_inf_left_le, bot_sup_eq]
11761174

11771175
lemma inf_right_eq_bot_iff (h : is_compl y z) : x ⊓ z = ⊥ ↔ x ≤ y :=
11781176
h.symm.inf_left_eq_bot_iff

src/topology/uniform_space/separation.lean

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,7 @@ instance separated_regular [separated_space α] : regular_space α :=
203203
h this rfl,
204204
have closure e ∈ 𝓝 a, from (𝓝 a).sets_of_superset (mem_nhds_left a hd) subset_closure,
205205
have 𝓝 a ⊓ 𝓟 (closure e)ᶜ = ⊥,
206-
from (@inf_eq_bot_iff_le_compl _ _ _ (𝓟 (closure e)ᶜ) (𝓟 (closure e))
207-
(by simp [principal_univ, union_comm]) (by simp)).mpr (by simp [this]),
206+
from (is_compl_principal (closure e)).inf_right_eq_bot_iff.2 (le_principal_iff.2 this),
208207
⟨(closure e)ᶜ, is_closed_closure.is_open_compl, assume x h₁ h₂, @e_subset x h₂ h₁, this⟩,
209208
..@t2_space.t1_space _ _ (separated_iff_t2.mp ‹_›) }
210209

0 commit comments

Comments
 (0)