Upper and lower closures #
Upper (lower) closures generalise principal upper (lower) sets to arbitrary included sets. Indeed,
they are equivalent to a union over principal upper (lower) sets, as shown in coe_upperClosure
(coe_lowerClosure
).
Main declarations #
upperClosure
: The greatest upper set containing a set.lowerClosure
: The least lower set containing a set.
@[simp]
@[simp]
instance
instDecidablePredMemUpperClosure
{α : Type u_1}
[Preorder α]
{s : Set α}
[DecidablePred fun (x : α) => ∃ a ∈ s, a ≤ x]
:
DecidablePred fun (x : α) => x ∈ upperClosure s
Equations
instance
instDecidablePredMemLowerClosure
{α : Type u_1}
[Preorder α]
{s : Set α}
[DecidablePred fun (x : α) => ∃ a ∈ s, x ≤ a]
:
DecidablePred fun (x : α) => x ∈ lowerClosure s
Equations
theorem
upperClosure_min
{α : Type u_1}
[Preorder α]
{s t : Set α}
(h : s ⊆ t)
(ht : IsUpperSet t)
:
theorem
lowerClosure_min
{α : Type u_1}
[Preorder α]
{s t : Set α}
(h : s ⊆ t)
(ht : IsLowerSet t)
:
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
upperClosure
forms a reversed Galois insertion with the coercion from upper sets to sets.
Equations
- One or more equations did not get rendered due to their size.
Instances For
lowerClosure
forms a Galois insertion with the coercion from lower sets to sets.
Equations
- giLowerClosureCoe = { choice := fun (s : Set α) (hs : ↑(lowerClosure s) ≤ s) => { carrier := s, lower' := ⋯ }, gc := ⋯, le_l_u := ⋯, choice_eq := ⋯ }
Instances For
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem
Set.OrdConnected.upperClosure_inter_lowerClosure
{α : Type u_1}
[Preorder α]
{s : Set α}
(h : s.OrdConnected)
:
@[simp]
@[simp]
@[simp]
@[simp]
theorem
BddAbove.lowerClosure
{α : Type u_1}
[Preorder α]
{s : Set α}
:
BddAbove s → BddAbove ↑(lowerClosure s)
Alias of the reverse direction of bddAbove_lowerClosure
.
theorem
BddAbove.of_lowerClosure
{α : Type u_1}
[Preorder α]
{s : Set α}
:
BddAbove ↑(lowerClosure s) → BddAbove s
Alias of the forward direction of bddAbove_lowerClosure
.
theorem
BddBelow.of_upperClosure
{α : Type u_1}
[Preorder α]
{s : Set α}
:
BddBelow ↑(upperClosure s) → BddBelow s
Alias of the forward direction of bddBelow_upperClosure
.
theorem
BddBelow.upperClosure
{α : Type u_1}
[Preorder α]
{s : Set α}
:
BddBelow s → BddBelow ↑(upperClosure s)
Alias of the reverse direction of bddBelow_upperClosure
.
@[simp]
theorem
IsLowerSet.disjoint_upperClosure_left
{α : Type u_1}
[Preorder α]
{s t : Set α}
(ht : IsLowerSet t)
:
@[simp]
theorem
IsLowerSet.disjoint_upperClosure_right
{α : Type u_1}
[Preorder α]
{s t : Set α}
(hs : IsLowerSet s)
:
@[simp]
theorem
IsUpperSet.disjoint_lowerClosure_left
{α : Type u_1}
[Preorder α]
{s t : Set α}
(ht : IsUpperSet t)
:
@[simp]
theorem
IsUpperSet.disjoint_lowerClosure_right
{α : Type u_1}
[Preorder α]
{s t : Set α}
(hs : IsUpperSet s)
:
@[simp]
@[simp]
Set Difference #
The biggest lower subset of a lower set s
not containing an element a
.
Equations
- s.erase a = { carrier := ↑s \ ↑(UpperSet.Ici a), lower' := ⋯ }
Instances For
@[simp]
@[simp]
The biggest upper subset of a upper set s
not containing an element a
.
Equations
- s.erase a = { carrier := ↑s \ ↑(LowerSet.Iic a), upper' := ⋯ }
Instances For
@[simp]
@[simp]