The monotone sequence of partial supremums of a sequence #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define partial_sups : (ℕ → α) → ℕ →o α
inductively. For f : ℕ → α
, partial_sups f
is
the sequence f 0
, f 0 ⊔ f 1
, f 0 ⊔ f 1 ⊔ f 2
, ... The point of this definition is that
- it doesn't need a
⨆
, as opposed to⨆ (i ≤ n), f i
(which also means the wrong thing onconditionally_complete_lattice
s). - it doesn't need a
⊥
, as opposed to(finset.range (n + 1)).sup f
. - it avoids needing to prove that
finset.range (n + 1)
is nonempty to usefinset.sup'
.
Equivalence with those definitions is shown by partial_sups_eq_bsupr
, partial_sups_eq_sup_range
,
partial_sups_eq_sup'_range
and respectively.
Notes #
One might dispute whether this sequence should start at f 0
or ⊥
. We choose the former because :
- Starting at
⊥
requires... having a bottom element. λ f n, (finset.range n).sup f
is already effectively the sequence starting at⊥
.- If we started at
⊥
we wouldn't have the Galois insertion. Seepartial_sups.gi
.
TODO #
One could generalize partial_sups
to any locally finite bot preorder domain, in place of ℕ
.
Necessary for the TODO in the module docstring of order.disjointed
.
partial_sups
forms a Galois insertion with the coercion from monotone functions to functions.