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]