Order filters #
Main definitions #
Throughout this file, P is at least a preorder, but some sections require more structure,
such as a bottom element, a top element, or a join-semilattice structure.
Order.PFilter P: The type of nonempty, downward directed, upward closed subsets ofP. This is dual toOrder.Ideal, so it simply wrapsOrder.Ideal Pᵒᵈ.Order.IsPFilter P: a predicate for when aSet Pis a filter.
Note the relation between Order/Filter and Order/PFilter: for any type α,
Filter α represents the same mathematical object as PFilter (Set α).
References #
Tags #
pfilter, filter, ideal, dual
A predicate for when a subset of P is a filter.
Equations
Instances For
Create an element of type Order.PFilter from a set satisfying the predicate
Order.IsPFilter.
Equations
- h.toPFilter = { dual := Order.IsIdeal.toIdeal h }
Instances For
@[instance_reducible]
A filter on P is a subset of P.
Equations
- Order.PFilter.instSetLike = { coe := fun (F : Order.PFilter P) => ⇑OrderDual.toDual ⁻¹' F.dual.carrier, coe_injective := ⋯ }
@[instance_reducible]
theorem Order.PFilter.directed {P : Type u_1} [Preorder P] (F : PFilter P) :
DirectedOn (fun (x1 x2 : P) => x1 ≥ x2) ↑F
The smallest filter containing a given element.
Equations
- Order.PFilter.principal p = { dual := Order.Ideal.principal (OrderDual.toDual p) }
Instances For
theorem Order.PFilter.inf_mem {P : Type u_1} [SemilatticeInf P] {x y : P} {F : PFilter P} (hx : x ∈ F) (hy : y ∈ F) :
A specific witness of pfilter.directed when P has meets.
@[simp]
theorem Order.PFilter.sInf_gc {P : Type u_1} [CompleteSemilatticeInf P] :
GaloisConnection (fun (x : P) => OrderDual.toDual (principal x)) fun (F : (PFilter P)ᵒᵈ) => sInf ↑(OrderDual.ofDual F)
def Order.PFilter.infGi {P : Type u_1} [CompleteSemilatticeInf P] :
GaloisCoinsertion (fun (x : P) => OrderDual.toDual (principal x)) fun (F : (PFilter P)ᵒᵈ) => sInf ↑(OrderDual.ofDual F)
If a poset P admits arbitrary Infs, then principal and Inf form a Galois coinsertion.