Up-sets and down-sets #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines upper and lower sets in an order.
Main declarations #
is_upper_set: Predicate for a set to be an upper set. This means every element greater than a member of the set is in the set itself.is_lower_set: Predicate for a set to be a lower set. This means every element less than a member of the set is in the set itself.upper_set: The type of upper sets.lower_set: The type of lower sets.upper_closure: The greatest upper set containing a set.lower_closure: The least lower set containing a set.upper_set.Ici: Principal upper set.set.Icias an upper set.upper_set.Ioi: Strict principal upper set.set.Ioias an upper set.lower_set.Iic: Principal lower set.set.Iicas an lower set.lower_set.Iio: Strict principal lower set.set.Iioas an lower set.
Notation #
×ˢ is notation for upper_set.prod/lower_set.prod.
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.
TODO #
Lattice structure on antichains. Order equivalence between upper/lower sets and antichains.
Unbundled upper/lower sets #
An upper set in an order α is a set such that any element greater than one of its members is
also a member. Also called up-set, upward-closed set.
Equations
- is_upper_set s = ∀ ⦃a b : α⦄, a ≤ b → a ∈ s → b ∈ s
 
A lower set in an order α is a set such that any element less than one of its members is also
a member. Also called down-set, downward-closed set.
Equations
- is_lower_set s = ∀ ⦃a b : α⦄, b ≤ a → a ∈ s → b ∈ s
 
Alias of the reverse direction of is_lower_set_preimage_of_dual_iff.
Alias of the reverse direction of is_upper_set_preimage_of_dual_iff.
Alias of the reverse direction of is_lower_set_preimage_to_dual_iff.
Alias of the reverse direction of is_upper_set_preimage_to_dual_iff.
Alias of the forward direction of is_upper_set_iff_Ici_subset.
Alias of the forward direction of is_lower_set_iff_Iic_subset.
Alias of the forward direction of is_upper_set_iff_Ioi_subset.
Alias of the forward direction of is_lower_set_iff_Iio_subset.
Bundled upper/lower sets #
- carrier : set α
 - upper' : is_upper_set self.carrier
 
The type of upper sets of an order.
Instances for upper_set
        
        
    - carrier : set α
 - lower' : is_lower_set self.carrier
 
The type of lower sets of an order.
Instances for lower_set
        
        
    Equations
- upper_set.set_like = {coe := upper_set.carrier _inst_1, coe_injective' := _}
 
Equations
- lower_set.set_like = {coe := lower_set.carrier _inst_1, coe_injective' := _}
 
Order #
Equations
- upper_set.complete_distrib_lattice = function.injective.complete_distrib_lattice (⇑order_dual.to_dual ∘ coe) upper_set.complete_distrib_lattice._proof_1 upper_set.complete_distrib_lattice._proof_2 upper_set.complete_distrib_lattice._proof_3 upper_set.complete_distrib_lattice._proof_4 upper_set.complete_distrib_lattice._proof_5 upper_set.complete_distrib_lattice._proof_6 upper_set.complete_distrib_lattice._proof_7
 
Equations
Equations
- lower_set.complete_distrib_lattice = function.injective.complete_distrib_lattice coe lower_set.complete_distrib_lattice._proof_1 lower_set.complete_distrib_lattice._proof_2 lower_set.complete_distrib_lattice._proof_3 lower_set.complete_distrib_lattice._proof_4 lower_set.complete_distrib_lattice._proof_5 lower_set.complete_distrib_lattice._proof_6 lower_set.complete_distrib_lattice._proof_7
 
Equations
Complement #
Upper sets are order-isomorphic to lower sets under complementation.
Equations
- upper_set_iso_lower_set = {to_equiv := {to_fun := upper_set.compl _inst_1, inv_fun := lower_set.compl _inst_1, left_inv := _, right_inv := _}, map_rel_iff' := _}
 
Map #
An order isomorphism of preorders induces an order isomorphism of their upper sets.
An order isomorphism of preorders induces an order isomorphism of their lower sets.
Principal sets #
The smallest upper set containing a given element.
The smallest upper set containing a given element.
upper_closure forms a reversed Galois insertion with the coercion from upper sets to sets.
Equations
- gi_upper_closure_coe = {choice := λ (s : set α) (hs : (coe ∘ ⇑order_dual.of_dual) ((⇑order_dual.to_dual ∘ upper_closure) s) ≤ s), ⇑order_dual.to_dual {carrier := s, upper' := _}, gc := _, le_l_u := _, choice_eq := _}
 
lower_closure forms a Galois insertion with the coercion from lower sets to sets.
Alias of the reverse direction of bdd_above_lower_closure.
Alias of the forward direction of bdd_above_lower_closure.
Alias of the forward direction of bdd_below_upper_closure.
Alias of the reverse direction of bdd_below_upper_closure.