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 P
is 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
- h.toPFilter = { dual := Order.IsIdeal.toIdeal h }
Instances For
Equations
- Order.PFilter.instInhabited = { default := { dual := default } }
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' := ⋯ }
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.instOrderBot = OrderBot.mk ⋯
There is a top filter when P
has a bottom element.
Equations
- Order.PFilter.instOrderTopOfOrderBot = OrderTop.mk ⋯
A specific witness of pfilter.directed
when P
has meets.
If a poset P
admits arbitrary Inf
s, then principal
and Inf
form a Galois coinsertion.
Equations
- Order.PFilter.infGi = ⋯.toGaloisCoinsertion ⋯