Order ideals, cofinal sets, and the RasiowaβSikorski lemma #
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.Ideal P
: the type of nonempty, upward directed, and downward closed subsets ofP
. Dual to the notion of a filter on a preorder.Order.IsIdeal I
: a predicate for when aSet P
is an ideal.Order.Ideal.principal p
: the principal ideal generated byp : P
.Order.Ideal.IsProper I
: a predicate for proper ideals. Dual to the notion of a proper filter.Order.Ideal.IsMaximal I
: a predicate for maximal ideals. Dual to the notion of an ultrafilter.Order.Cofinal P
: the type of subsets ofP
containing arbitrarily large elements. Dual to the notion of 'dense set' used in forcing.Order.idealOfCofinals p π
, wherep : P
, andπ
is a countable family of cofinal subsets ofP
: an ideal inP
which containsp
and intersects every set inπ
. (This a form of the RasiowaβSikorski lemma.)
References #
- https://en.wikipedia.org/wiki/Ideal_(order_theory)
- https://en.wikipedia.org/wiki/Cofinal_(mathematics)
- https://en.wikipedia.org/wiki/Rasiowa%E2%80%93Sikorski_lemma
Note that for the RasiowaβSikorski lemma, Wikipedia uses the opposite ordering on P
,
in line with most presentations of forcing.
Tags #
ideal, cofinal, dense, countable, generic
An ideal on an order P
is a subset of P
that is
- nonempty
- upward directed (any pair of elements in the ideal has an upper bound in the ideal)
- downward closed (any element less than an element of the ideal is in the ideal).
- carrier : Set P
- lower' : IsLowerSet self.carrier
- nonempty' : self.carrier.Nonempty
The ideal is nonempty.
- directed' : DirectedOn (fun (x x_1 : P) => x β€ x_1) self.carrier
The ideal is upward directed.
Instances For
The ideal is nonempty.
The ideal is upward directed.
A subset of a preorder P
is an ideal if it is
- nonempty
- upward directed (any pair of elements in the ideal has an upper bound in the ideal)
- downward closed (any element less than an element of the ideal is in the ideal).
- IsLowerSet : IsLowerSet I
The ideal is downward closed.
- Nonempty : I.Nonempty
The ideal is nonempty.
- Directed : DirectedOn (fun (x x_1 : P) => x β€ x_1) I
The ideal is upward directed.
Instances For
The ideal is downward closed.
The ideal is nonempty.
The ideal is upward directed.
Create an element of type Order.Ideal
from a set satisfying the predicate
Order.IsIdeal
.
Equations
- h.toIdeal = { carrier := I, lower' := β―, nonempty' := β―, directed' := β― }
Instances For
Equations
- Order.Ideal.instSetLike = { coe := fun (s : Order.Ideal P) => s.carrier, coe_injective' := β― }
The partial ordering by subset inclusion, inherited from Set P
.
Equations
- Order.Ideal.instPartialOrderIdeal = PartialOrder.lift SetLike.coe β―
A proper ideal is one that is not the whole set. Note that the whole set might not be an ideal.
- ne_univ : βI β Set.univ
This ideal is not the whole set.
Instances
This ideal is not the whole set.
An ideal is maximal if it is maximal in the collection of proper ideals.
Note that IsCoatom
is less general because ideals only have a top element when P
is directed
and nonempty.
- ne_univ : βI β Set.univ
- maximal_proper : β β¦J : Order.Ideal Pβ¦, I < J β βJ = Set.univ
This ideal is maximal in the collection of proper ideals.
Instances
This ideal is maximal in the collection of proper ideals.
In a directed and nonempty order, the top ideal of a is univ
.
Equations
- Order.Ideal.instOrderTop = OrderTop.mk β―
The smallest ideal containing a given element.
Equations
- Order.Ideal.principal p = { toLowerSet := LowerSet.Iic p, nonempty' := β―, directed' := β― }
Instances For
Equations
- Order.Ideal.instInhabited = { default := Order.Ideal.principal default }
There is a bottom ideal when P
has a bottom element.
Equations
- Order.Ideal.instOrderBot = OrderBot.mk β―
A specific witness of I.directed
when P
has joins.
The infimum of two ideals of a co-directed order is their intersection.
Equations
- Order.Ideal.instInf = { inf := fun (I J : Order.Ideal P) => { toLowerSet := I.toLowerSet β J.toLowerSet, nonempty' := β―, directed' := β― } }
The supremum of two ideals of a co-directed order is the union of the down sets of the pointwise
supremum of I
and J
.
Equations
- Order.Ideal.instSup = { sup := fun (I J : Order.Ideal P) => { carrier := {x : P | β i β I, β j β J, x β€ i β j}, lower' := β―, nonempty' := β―, directed' := β― } }
Equations
- Order.Ideal.instLattice = let __src := Order.Ideal.instPartialOrderIdeal; Lattice.mk β― β― β―
Equations
- Order.Ideal.instInfSet = { sInf := fun (S : Set (Order.Ideal P)) => { toLowerSet := β¨ s β S, s.toLowerSet, nonempty' := β―, directed' := β― } }
Equations
- Order.Ideal.instCompleteLattice = let __src := inferInstance; let __src_1 := completeLatticeOfInf (Order.Ideal P) β―; CompleteLattice.mk β― β― β― β― β― β―
For a preorder P
, Cofinal P
is the type of subsets of P
containing arbitrarily large elements. They are the dense sets in
the topology whose open sets are terminal segments.
- carrier : Set P
The carrier of a
Cofinal
is the underlying set. - mem_gt : β (x : P), β y β self.carrier, x β€ y
The
Cofinal
contains arbitrarily large elements.
Instances For
The Cofinal
contains arbitrarily large elements.
Equations
- Order.Cofinal.instInhabited = { default := { carrier := Set.univ, mem_gt := β― } }
Equations
- Order.Cofinal.instMembership = { mem := fun (x : P) (D : Order.Cofinal P) => x β D.carrier }
A (noncomputable) element of a cofinal set lying above a given element.
Equations
- D.above x = Classical.choose β―
Instances For
Given a starting point, and a countable family of cofinal sets, this is an increasing sequence that intersects each cofinal set.
Equations
- Order.sequenceOfCofinals p π 0 = p
- Order.sequenceOfCofinals p π n.succ = match Encodable.decode n with | none => Order.sequenceOfCofinals p π n | some i => (π i).above (Order.sequenceOfCofinals p π n)
Instances For
Given an element p : P
and a family π
of cofinal subsets of a preorder P
,
indexed by a countable type, idealOfCofinals p π
is an ideal in P
which
- contains
p
, according tomem_idealOfCofinals p π
, and - intersects every set in
π
, according tocofinal_meets_idealOfCofinals p π
.
This proves the RasiowaβSikorski lemma.
Equations
- Order.idealOfCofinals p π = { carrier := {x : P | β (n : β), x β€ Order.sequenceOfCofinals p π n}, lower' := β―, nonempty' := β―, directed' := β― }
Instances For
idealOfCofinals p π
is π
-generic.
A non-empty directed union of ideals of sets in a preorder is an ideal.
A union of a nonempty chain of ideals of sets is an ideal.