The complete lattice structure on UpperSet/LowerSet #
This file defines a completely distributive lattice structure on UpperSet and LowerSet,
pulled back across the canonical injection (UpperSet.carrier, LowerSet.carrier) into Set α.
Notes #
Upper sets are ordered by reverse inclusion. This convention is motivated by the fact that this
makes them order-isomorphic to lower sets and antichains, and matches the convention on Filter.
@[simp]
@[simp]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[instance_reducible]
@[simp]
theorem UpperSet.mk_le_mk {α : Type u_1} [LE α] {s t : Set α} (hs : IsUpperSet s) (ht : IsUpperSet t) :
@[simp]
theorem LowerSet.mk_le_mk {α : Type u_1} [LE α] {s t : Set α} (hs : IsLowerSet s) (ht : IsLowerSet t) :
@[simp]
theorem UpperSet.mk_lt_mk {α : Type u_1} [LE α] {s t : Set α} (hs : IsUpperSet s) (ht : IsUpperSet t) :
@[simp]
theorem LowerSet.mk_lt_mk {α : Type u_1} [LE α] {s t : Set α} (hs : IsLowerSet s) (ht : IsLowerSet t) :
@[simp]
@[simp]
Complement #
@[simp]
@[simp]
@[instance_reducible]
noncomputable instance UpperSet.instLinearOrder {α : Type u_1} [LinearOrder α] :
LinearOrder (UpperSet α)
@[instance_reducible]
@[instance_reducible]
noncomputable instance LowerSet.instLinearOrder {α : Type u_1} [LinearOrder α] :
LinearOrder (LowerSet α)
@[instance_reducible]
@[simp]
@[simp]