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).
- lower' : IsLowerSet self.carrier
- nonempty' : self.carrier.Nonempty
The ideal is nonempty.
- directed' : DirectedOn (fun (x1 x2 : P) => x1 β€ x2) self.carrier
The ideal is upward directed.
Instances For
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 : _root_.IsLowerSet I
The ideal is downward closed.
- Nonempty : I.Nonempty
The ideal is nonempty.
- Directed : DirectedOn (fun (x1 x2 : P) => x1 β€ x2) I
The ideal is upward directed.
Instances For
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
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.
This ideal is maximal in the collection of proper ideals.
Instances
In a directed and nonempty order, the top ideal of a is univ
.
Equations
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
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.instMin = { min := 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.instMax = { max := fun (I J : Order.Ideal P) => { carrier := {x : P | β i β I, β j β J, x β€ i β j}, lower' := β―, nonempty' := β―, directed' := β― } }
Equations
- Order.Ideal.instLattice = Lattice.mk (fun (x1 x2 : Order.Ideal P) => x1 β x2) β― β― β―
Equations
- Order.Ideal.instInfSet = { sInf := fun (S : Set (Order.Ideal P)) => { toLowerSet := β¨ s β S, s.toLowerSet, nonempty' := β―, directed' := β― } }
Equations
- Order.Ideal.instCompleteLattice = 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. - isCofinal : IsCofinal self.carrier
The
Cofinal
contains arbitrarily large elements.
Instances For
Alias of Order.Cofinal.isCofinal
.
The Cofinal
contains arbitrarily large elements.
Equations
- Order.Cofinal.instInhabited = { default := { carrier := Set.univ, isCofinal := β― } }
Equations
- Order.Cofinal.instMembership = { mem := fun (D : Order.Cofinal P) (x : 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.