Upper / lower bounds #
In this file we prove various lemmas about upper/lower bounds of a set:
monotonicity, behaviour under ∪, ∩, insert,
and provide formulas for ∅, univ, and intervals.
A set s is not bounded above if and only if for each x there exists y ∈ s such that x
is not greater than or equal to y. This version only assumes Preorder structure and uses
¬(y ≤ x). A version for linear orders is called not_bddAbove_iff.
A set s is not bounded below if and only if for each x there exists y ∈ s such that x
is not less than or equal to y. This version only assumes Preorder structure and uses
¬(x ≤ y). A version for linear orders is called not_bddBelow_iff.
A set s is not bounded above if and only if for each x there exists y ∈ s that is greater
than x. A version for preorders is called not_bddAbove_iff'.
A set s is not bounded below if and only if for each x there exists y ∈ s that is less
than x. A version for preorders is called not_bddBelow_iff'.
Alias of IsCofinalFor.of_subset.
Alias of IsCoinitialFor.of_subset.
Monotonicity #
The least upper bound of a set is also the least upper bound of any cofinal subset.
The greatest lower bound of a set is also the greatest lower bound of any coinitial subset.
Conversions #
If s has a greatest element, then it is bounded above.
Union and intersection #
In a directed order, the union of bounded above sets is bounded above.
In a codirected order, the union of bounded below sets is bounded below.
If a is the least upper bound of s and b is the least upper bound of t,
then a ⊔ b is the least upper bound of s ∪ t.
If a is the greatest lower bound of s and b is the greatest lower bound of t,
then a ⊓ b is the greatest lower bound of s ∪ t.
If a is the least element of s and b is the least element of t,
then min a b is the least element of s ∪ t.
If a is the greatest element of s and b is the greatest element of t,
then max a b is the greatest element of s ∪ t.
Singleton #
Bounded intervals #
Univ #
Empty set #
insert #
Adding a point to a set preserves its boundedness above.
Adding a point to a set preserves its boundedness below.
Sets are automatically bounded or cobounded in complete lattices. To use the same statements
in complete and conditionally complete lattices but let automation fill automatically the
boundedness proofs in complete lattices, we use the tactic bddDefault in the statements,
in the form (hA : BddAbove A := by bddDefault).
Equations
- tacticBddDefault = Lean.ParserDescr.node `tacticBddDefault 1024 (Lean.ParserDescr.nonReservedSymbol "bddDefault" false)
Instances For
Pair #
Lower/upper bounds #
Constructs an OrderInfSet from an OrderSupSet by defining the infimum of a set as the
supremum of its lower bounds.
Equations
- OrderInfSet.ofOrderSupSet = { sInf := fun (s : Set α) => sSup (lowerBounds s), isGLB_sInf_of_isGLB := ⋯ }
Instances For
Constructs an OrderSupSet from an OrderInfSet by defining the supremum of a set as the
infimum of its upper bounds.
Equations
- OrderSupSet.ofOrderInfSet = { sSup := fun (s : Set α) => sInf (upperBounds s), isLUB_sSup_of_isLUB := ⋯ }
Instances For
Noncomputably constructs a "supremum" for an arbitrary set using the axiom of choice
such that it is the actual supremum of the set if one exists, and the default value d
otherwise.
Equations
Instances For
Noncomputably constructs an "infimum" for an arbitrary set using the axiom of choice
such that it is the actual infimum of the set if one exists, and the default value d
otherwise.
Equations
Instances For
Noncomputably constructs a "supremum" for an arbitrary set using the axiom of choice
such that it is the actual supremum of the set if one exists, the bottom element if the supremum
doesn't exist but a bottom element does, and the default value d if neither exists.
The junk value satisfies sSup s = sSup ∅ for any set s without a supremum, which is the same
as the convention of ConditionallyCompleteLinearOrder.
Equations
Instances For
Noncomputably constructs an "infimum" for an arbitrary set using the axiom of choice
such that it is the actual infimum of the set if one exists, the top element if the infimum
doesn't exist but a top element does, and the default value d if neither exists.
The junk value satisfies sInf s = sInf ∅ for any set s without an infimum, which is the same
as the convention of ConditionallyCompleteLinearOrder.
Equations
Instances For
(In)equalities with the least upper bound and the greatest lower bound #
Equations
- Nat.instDecidableIsLeast p n = decidable_of_iff (p n ∧ ∀ k < n, ¬p k) ⋯
An alternative constructor for SemilatticeSup using IsLUB.
Equations
- SemilatticeSup.ofIsLUB sup isLUB_pair = { toPartialOrder := inst✝, sup := sup, le_sup_left := ⋯, le_sup_right := ⋯, sup_le := ⋯ }
Instances For
An alternative constructor for SemilatticeInf using IsGLB.
Equations
- SemilatticeInf.ofIsGLB sup isLUB_pair = { toPartialOrder := inst✝, inf := sup, inf_le_left := ⋯, inf_le_right := ⋯, le_inf := ⋯ }
Instances For
An alternative constructor for Lattice using IsLUB and IsGLB.
Equations
- Lattice.ofIsLUBofIsGLB sup inf isLUB_pair isGLB_pair = { toSemilatticeSup := SemilatticeSup.ofIsLUB sup isLUB_pair, inf := SemilatticeInf.inf, inf_le_left := ⋯, inf_le_right := ⋯, le_inf := ⋯ }