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
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' := ⋯ }
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.