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 filter on a preorder P is a subset of P that is
- nonempty
- downward directed
- upward closed.
- dual : Order.Ideal Pᵒᵈ
Instances For
A predicate for when a subset of P is a filter.
Equations
- Order.IsPFilter F = Order.IsIdeal (⇑OrderDual.ofDual ⁻¹' F)
Instances For
Create an element of type Order.PFilter from a set satisfying the predicate
Order.IsPFilter.
Equations
- Order.IsPFilter.toPFilter h = { dual := Order.IsIdeal.toIdeal h }
Instances For
Equations
- Order.PFilter.instInhabitedPFilter = { default := { dual := default } }
A filter on P is a subset of P.
Equations
- Order.PFilter.instSetLikePFilter = { coe := fun (F : Order.PFilter P) => ⇑OrderDual.toDual ⁻¹' F.dual.carrier, coe_injective' := ⋯ }
Two filters are equal when their underlying sets are equal.
The smallest filter containing a given element.
Equations
- Order.PFilter.principal p = { dual := Order.Ideal.principal (OrderDual.toDual p) }
Instances For
A specific witness of pfilter.nonempty when P has a top element.
There is a bottom filter when P has a top element.
Equations
- Order.PFilter.instOrderBotPFilterToLEToPreorderInstPartialOrderInstSetLikePFilter = OrderBot.mk ⋯
There is a top filter when P has a bottom element.
Equations
- Order.PFilter.instOrderTopPFilterToLEToPreorderInstPartialOrderInstSetLikePFilter = OrderTop.mk ⋯
A specific witness of pfilter.directed when P has meets.
If a poset P admits arbitrary Infs, then principal and Inf form a Galois coinsertion.
Equations
- Order.PFilter.infGi = GaloisConnection.toGaloisCoinsertion ⋯ ⋯