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 #
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' : Set.Nonempty self.carrier
The ideal is nonempty.
- directed' : DirectedOn (fun (x x_1 : P) => x β€ x_1) 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 : IsLowerSet I
The ideal is downward closed.
- Nonempty : Set.Nonempty I
The ideal is nonempty.
- Directed : DirectedOn (fun (x x_1 : P) => x β€ x_1) I
The ideal is upward directed.
Instances For
Create an element of type Order.Ideal
from a set satisfying the predicate
Order.IsIdeal
.
Equations
- Order.IsIdeal.toIdeal h = { toLowerSet := { carrier := I, lower' := (_ : IsLowerSet I) }, nonempty' := (_ : Set.Nonempty I), directed' := (_ : DirectedOn (fun (x x_1 : P) => x β€ x_1) I) }
Instances For
Equations
- One or more equations did not get rendered due to their size.
The partial ordering by subset inclusion, inherited from Set P
.
Equations
- Order.Ideal.instPartialOrderIdeal = PartialOrder.lift SetLike.coe (_ : Function.Injective 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
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
In a directed and nonempty order, the top ideal of a is univ
.
Equations
- Order.Ideal.instOrderTopIdealToLEToPreorderInstPartialOrderIdeal = OrderTop.mk (_ : β (x : Order.Ideal P), β x_1 β βx, x_1 β β€)
The smallest ideal containing a given element.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Order.Ideal.instInhabitedIdealToLE = { default := Order.Ideal.principal default }
There is a bottom ideal when P
has a bottom element.
Equations
- Order.Ideal.instOrderBotIdealToLEToPreorderInstPartialOrderIdeal = OrderBot.mk (_ : β (a : Order.Ideal P), Order.Ideal.principal β₯ β€ a)
A specific witness of I.directed
when P
has joins.
The infimum of two ideals of a co-directed order is their intersection.
Equations
- One or more equations did not get rendered due to their size.
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
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
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
Equations
- Order.Cofinal.instMembershipCofinal = { mem := fun (x : P) (D : Order.Cofinal P) => x β D.carrier }
A (noncomputable) element of a cofinal set lying above a given element.
Equations
- Order.Cofinal.above D x = Classical.choose (_ : β y β D.carrier, x β€ y)
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 π (Nat.succ n) = match Encodable.decode n with | none => Order.sequenceOfCofinals p π n | some i => Order.Cofinal.above (π i) (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
- One or more equations did not get rendered due to their size.
Instances For
idealOfCofinals p π
is π
-generic.