Definitions of conditionally complete lattices #
A conditionally complete lattice is a lattice in which every non-empty bounded subset s
has a least upper bound and a greatest lower bound, denoted below by sSup s and sInf s.
Typical examples are ℝ, ℕ, and ℤ with their usual orders.
The theory is very comparable to the theory of complete lattices, except that suitable
boundedness and nonemptiness assumptions have to be added to most statements.
We express these using the BddAbove and BddBelow predicates, which we use to prove
most useful properties of sSup and sInf in conditionally complete lattices.
To differentiate the statements between complete lattices and conditionally complete
lattices, we prefix sInf and sSup in the statements by c, giving csInf and csSup.
For instance, sInf_le is a statement in complete lattices ensuring sInf s ≤ x,
while csInf_le is the same statement in conditionally complete lattices
with an additional assumption that s is bounded below.
A conditionally complete lattice is a lattice in which every nonempty subset which is bounded above has a supremum, and every nonempty subset which is bounded below has an infimum. Typical examples are real numbers or natural numbers.
To differentiate the statements from the corresponding statements in (unconditional)
complete lattices, we prefix sInf and sSup by a c everywhere. The same statements should
hold in both worlds, sometimes with additional assumptions of nonemptiness or
boundedness.
- sup : α → α → α
- inf : α → α → α
a ≤ sSup sfor alla ∈ s.sSup s ≤ afor alla ∈ upperBounds s.sInf s ≤ afor alla ∈ s.a ≤ sInf sfor alla ∈ lowerBounds s.
Instances
A conditionally complete linear order is a linear order in which every nonempty subset which is bounded above has a supremum, and every nonempty subset which is bounded below has an infimum. Typical examples are real numbers or natural numbers.
To differentiate the statements from the corresponding statements in (unconditional)
complete linear orders, we prefix sInf and sSup by a c everywhere. The same statements should
hold in both worlds, sometimes with additional assumptions of nonemptiness or
boundedness.
- sup : α → α → α
- inf : α → α → α
A
ConditionallyCompleteLinearOrderis total.- toDecidableLE : DecidableLE α
In a
ConditionallyCompleteLinearOrder, we assume the order relations are all decidable. - toDecidableEq : DecidableEq α
In a
ConditionallyCompleteLinearOrder, we assume the order relations are all decidable. - toDecidableLT : DecidableLT α
In a
ConditionallyCompleteLinearOrder, we assume the order relations are all decidable. If a set is not bounded above, its supremum is by convention
sSup ∅.If a set is not bounded below, its infimum is by convention
sInf ∅.Comparison via
compareis equal to the canonical comparison given decidable<and=.
Instances
A conditionally complete linear order with Bot is a linear order with least element, in which
every nonempty subset which is bounded above has a supremum, and every nonempty subset (necessarily
bounded below) has an infimum. A typical example is the natural numbers.
To differentiate the statements from the corresponding statements in (unconditional)
complete linear orders, we prefix sInf and sSup by a c everywhere. The same statements should
hold in both worlds, sometimes with additional assumptions of nonemptiness or
boundedness.
Instances
A well-founded linear order is conditionally complete, with a bottom element.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Create a ConditionallyCompleteLattice from a PartialOrder and sup function
that returns the least upper bound of a nonempty set which is bounded above. Usually this
constructor provides poor definitional equalities. If other fields are known explicitly, they
should be provided; for example, if inf is known explicitly, construct the
ConditionallyCompleteLattice instance as
instance : ConditionallyCompleteLattice my_T :=
{ inf := better_inf,
le_inf := ...,
inf_le_right := ...,
inf_le_left := ...
-- don't care to fix sup, sInf
..conditionallyCompleteLatticeOfsSup my_T _ }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Create a ConditionallyCompleteLattice from a PartialOrder and inf function
that returns the greatest lower bound of a nonempty set which is bounded below. Usually this
constructor provides poor definitional equalities. If other fields are known explicitly, they
should be provided; for example, if inf is known explicitly, construct the
ConditionallyCompleteLattice instance as
instance : ConditionallyCompleteLattice my_T :=
{ inf := better_inf,
le_inf := ...,
inf_le_right := ...,
inf_le_left := ...
-- don't care to fix sup, sSup
..conditionallyCompleteLatticeOfsInf my_T _ }
Equations
- One or more equations did not get rendered due to their size.
Instances For
A version of conditionallyCompleteLatticeOfsSup when we already know that α is a lattice.
This should only be used when it is both hard and unnecessary to provide inf explicitly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A version of conditionallyCompleteLatticeOfsInf when we already know that α is a lattice.
This should only be used when it is both hard and unnecessary to provide sup explicitly.
Equations
- One or more equations did not get rendered due to their size.