@@ -1758,10 +1758,34 @@ def gi : @galois_insertion (order_dual (set α)) (order_dual (opens α)) _ _ int
1758
1758
le_l_u := λ _, interior_subset,
1759
1759
choice_eq := λ s hs, le_antisymm interior_subset hs }
1760
1760
1761
+ @[simp] lemma gi_choice_val {s : order_dual (set α)} {hs} : (gi.choice s hs).val = s := rfl
1762
+
1761
1763
instance : complete_lattice (opens α) :=
1762
- @order_dual.lattice.complete_lattice _
1764
+ complete_lattice.copy
1765
+ (@order_dual.lattice.complete_lattice _
1763
1766
(@galois_insertion.lift_complete_lattice
1764
- (order_dual (set α)) (order_dual (opens α)) _ interior (subtype.val : opens α → set α) _ gi)
1767
+ (order_dual (set α)) (order_dual (opens α)) _ interior (subtype.val : opens α → set α) _ gi))
1768
+ /- le -/ (λ U V, U.1 ⊆ V.1 ) rfl
1769
+ /- top -/ ⟨set.univ, _root_.is_open_univ⟩ (subtype.ext.mpr interior_univ.symm)
1770
+ /- bot -/ ⟨∅, is_open_empty⟩ rfl
1771
+ /- sup -/ (λ U V, ⟨U.1 ∪ V.1 , _root_.is_open_union U.2 V.2 ⟩) rfl
1772
+ /- inf -/ (λ U V, ⟨U.1 ∩ V.1 , _root_.is_open_inter U.2 V.2 ⟩)
1773
+ begin
1774
+ funext,
1775
+ apply subtype.ext.mpr,
1776
+ symmetry,
1777
+ apply interior_eq_of_open,
1778
+ exact (_root_.is_open_inter U.2 V.2 ),
1779
+ end
1780
+ /- Sup -/ (λ Us, ⟨⋃₀ (subtype.val '' Us), _root_.is_open_sUnion $ λ U hU,
1781
+ by { rcases hU with ⟨⟨V, hV⟩, h, h'⟩, dsimp at h', subst h', exact hV}⟩)
1782
+ begin
1783
+ funext,
1784
+ apply subtype.ext.mpr,
1785
+ simp [Sup_range],
1786
+ refl,
1787
+ end
1788
+ /- Inf -/ _ rfl
1765
1789
1766
1790
@[simp] lemma Sup_s {Us : set (opens α)} : (Sup Us).val = ⋃₀ (subtype.val '' Us) :=
1767
1791
begin
0 commit comments