Documentation

Mathlib.Order.PartialSups

The monotone sequence of partial supremums of a sequence #

We define partialSups : (ℕ → α) → ℕ →o α inductively. For f : ℕ → α, partialSups f is the sequence f 0, f 0 ⊔ f 1, f 0 ⊔ f 1 ⊔ f 2, ... The point of this definition is that

Equivalence with those definitions is shown by partialSups_eq_biSup, partialSups_eq_sup_range, and partialSups_eq_sup'_range respectively.

Notes #

One might dispute whether this sequence should start at f 0 or ⊥. We choose the former because :

TODO #

One could generalize partialSups to any locally finite bot preorder domain, in place of ℕ. Necessary for the TODO in the module docstring of Order.disjointed.

def partialSups {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) :

The monotone sequence whose value at n is the supremum of the f m where m ≤ n.

Equations
Instances For
    @[simp]
    theorem partialSups_zero {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) :
    (partialSups f) 0 = f 0
    @[simp]
    theorem partialSups_succ {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) (n : ℕ) :
    (partialSups f) (n + 1) = (partialSups f) n ⊔ f (n + 1)
    theorem partialSups_iff_forall {α : Type u_1} [SemilatticeSup α] {f : ℕ → α} (p : α → Prop) (hp : ∀ {a b : α}, p (a ⊔ b) ↔ p a ∧ p b) {n : ℕ} :
    p ((partialSups f) n) ↔ ∀ k ≤ n, p (f k)
    @[simp]
    theorem partialSups_le_iff {α : Type u_1} [SemilatticeSup α] {f : ℕ → α} {n : ℕ} {a : α} :
    (partialSups f) n ≤ a ↔ ∀ k ≤ n, f k ≤ a
    theorem le_partialSups_of_le {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) {m : ℕ} {n : ℕ} (h : m ≤ n) :
    f m ≤ (partialSups f) n
    theorem le_partialSups {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) :
    f ≤ ⇑(partialSups f)
    theorem partialSups_le {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) (n : ℕ) (a : α) (w : ∀ m ≤ n, f m ≤ a) :
    @[simp]
    theorem Monotone.partialSups_eq {α : Type u_1} [SemilatticeSup α] {f : ℕ → α} (hf : Monotone f) :
    ⇑(partialSups f) = f
    theorem partialSups_mono {α : Type u_1} [SemilatticeSup α] :
    Monotone partialSups
    def partialSups.gi {α : Type u_1} [SemilatticeSup α] :
    GaloisInsertion partialSups DFunLike.coe

    partialSups forms a Galois insertion with the coercion from monotone functions to functions.

    Equations
    • partialSups.gi = { choice := fun (f : ℕ → α) (h : ⇑(partialSups f) ≤ f) => { toFun := f, monotone' := ⋯ }, gc := ⋯, le_l_u := ⋯, choice_eq := ⋯ }
    Instances For
      theorem partialSups_eq_sup'_range {α : Type u_1} [SemilatticeSup α] (f : ℕ → α) (n : ℕ) :
      (partialSups f) n = Finset.sup' (Finset.range (n + 1)) ⋯ f
      theorem partialSups_apply {ι : Type u_2} {π : ι → Type u_3} [(i : ι) → SemilatticeSup (π i)] (f : ℕ → (i : ι) → π i) (n : ℕ) (i : ι) :
      (partialSups f) n i = (partialSups fun (x : ℕ) => f x i) n
      theorem partialSups_eq_sup_range {α : Type u_1} [SemilatticeSup α] [OrderBot α] (f : ℕ → α) (n : ℕ) :
      @[simp]
      theorem disjoint_partialSups_left {α : Type u_1} [DistribLattice α] [OrderBot α] {f : ℕ → α} {n : ℕ} {x : α} :
      Disjoint ((partialSups f) n) x ↔ ∀ k ≤ n, Disjoint (f k) x
      @[simp]
      theorem disjoint_partialSups_right {α : Type u_1} [DistribLattice α] [OrderBot α] {f : ℕ → α} {n : ℕ} {x : α} :
      Disjoint x ((partialSups f) n) ↔ ∀ k ≤ n, Disjoint x (f k)
      theorem partialSups_disjoint_of_disjoint {α : Type u_1} [DistribLattice α] [OrderBot α] (f : ℕ → α) (h : Pairwise (Disjoint on f)) {m : ℕ} {n : ℕ} (hmn : m < n) :
      Disjoint ((partialSups f) m) (f n)
      theorem partialSups_eq_ciSup_Iic {α : Type u_1} [ConditionallyCompleteLattice α] (f : ℕ → α) (n : ℕ) :
      (partialSups f) n = ⨆ (i : ↑(Set.Iic n)), f ↑i
      @[simp]
      theorem ciSup_partialSups_eq {α : Type u_1} [ConditionallyCompleteLattice α] {f : ℕ → α} (h : BddAbove (Set.range f)) :
      ⨆ (n : ℕ), (partialSups f) n = ⨆ (n : ℕ), f n
      theorem partialSups_eq_biSup {α : Type u_1} [CompleteLattice α] (f : ℕ → α) (n : ℕ) :
      (partialSups f) n = ⨆ (i : ℕ), ⨆ (_ : i ≤ n), f i
      theorem iSup_partialSups_eq {α : Type u_1} [CompleteLattice α] (f : ℕ → α) :
      ⨆ (n : ℕ), (partialSups f) n = ⨆ (n : ℕ), f n
      theorem iSup_le_iSup_of_partialSups_le_partialSups {α : Type u_1} [CompleteLattice α] {f : ℕ → α} {g : ℕ → α} (h : partialSups f ≤ partialSups g) :
      ⨆ (n : ℕ), f n ≤ ⨆ (n : ℕ), g n
      theorem iSup_eq_iSup_of_partialSups_eq_partialSups {α : Type u_1} [CompleteLattice α] {f : ℕ → α} {g : ℕ → α} (h : partialSups f = partialSups g) :
      ⨆ (n : ℕ), f n = ⨆ (n : ℕ), g n