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_reducible]
instance instDecidablePredMemUpperClosure {α : Type u_1} [Preorder α] {s : Set α} [DecidablePred fun (x : α) => ∃ a ∈ s, a ≤ x] :
DecidablePred fun (x : α) => x ∈ upperClosure s
Equations
@[instance_reducible]
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) :
↑(upperClosure s) ⊆ t
theorem lowerClosure_min {α : Type u_1} [Preorder α] {s t : Set α} (h : s ⊆ t) (ht : IsLowerSet t) :
↑(lowerClosure s) ⊆ 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 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.
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.
@[simp]
theorem IsLowerSet.disjoint_upperClosure_left {α : Type u_1} [Preorder α] {s t : Set α} (ht : IsLowerSet t) :
@[simp]
theorem IsUpperSet.disjoint_lowerClosure_left {α : Type u_1} [Preorder α] {s t : Set α} (ht : IsUpperSet t) :
@[simp]
theorem IsLowerSet.disjoint_upperClosure_right {α : Type u_1} [Preorder α] {s t : Set α} (hs : IsLowerSet s) :
@[simp]
theorem IsUpperSet.disjoint_lowerClosure_right {α : Type u_1} [Preorder α] {s t : Set α} (hs : IsUpperSet s) :
@[simp]
@[simp]
theorem IsAntichain.minimal_mem_upperClosure_iff_mem {α : Type u_1} [PartialOrder α] {s : Set α} {x : α} (hs : IsAntichain (fun (x1 x2 : α) => x1 ≤ x2) s) :
theorem IsAntichain.maximal_mem_lowerClosure_iff_mem {α : Type u_1} [PartialOrder α] {s : Set α} {x : α} (hs : IsAntichain (fun (x1 x2 : α) => x1 ≤ x2) s) :
Set Difference #
@[simp]
@[simp]
@[simp]
@[simp]