File: Mathlib/Order/PartialSups.lean

full_name: partialSups
code: /-- The monotone sequence whose value at `n` is the supremum of the `f m` where `m ≤ n`. -/
def partialSups (f : ℕ → α) : ℕ →o α 
goal: ℕ →o α

full_name: partialSups_zero
code: @[simp]
theorem partialSups_zero (f : ℕ → α) : partialSups f 0 = f 0 
goal: (partialSups f) 0 = f 0

full_name: partialSups_succ
code: @[simp]
theorem partialSups_succ (f : ℕ → α) (n : ℕ) :
    partialSups f (n + 1) = partialSups f n ⊔ f (n + 1) 
goal: (partialSups f) (n + 1) = (partialSups f) n ⊔ f (n + 1)

full_name: partialSups_iff_forall
code: lemma partialSups_iff_forall {f : ℕ → α} (p : α → Prop)
    (hp : ∀ {a b}, p (a ⊔ b) ↔ p a ∧ p b) : ∀ {n : ℕ}, p (partialSups f n) ↔ ∀ k ≤ n, p (f k)
  
goal: p ((partialSups f) n) ↔ ∀ k ≤ n, p (f k)

full_name: partialSups_le_iff
code: @[simp]
lemma partialSups_le_iff {f : ℕ → α} {n : ℕ} {a : α} : partialSups f n ≤ a ↔ ∀ k ≤ n, f k ≤ a 
goal: (partialSups f) n ≤ a ↔ ∀ k ≤ n, f k ≤ a

full_name: le_partialSups_of_le
code: theorem le_partialSups_of_le (f : ℕ → α) {m n : ℕ} (h : m ≤ n) : f m ≤ partialSups f n 
goal: f m ≤ (partialSups f) n

full_name: le_partialSups
code: theorem le_partialSups (f : ℕ → α) : f ≤ partialSups f 
goal: f ≤ ⇑(partialSups f)

full_name: partialSups_le
code: theorem partialSups_le (f : ℕ → α) (n : ℕ) (a : α) (w : ∀ m, m ≤ n → f m ≤ a) :
    partialSups f n ≤ a 
goal: (partialSups f) n ≤ a

full_name: upperBounds_range_partialSups
code: @[simp]
lemma upperBounds_range_partialSups (f : ℕ → α) :
    upperBounds (Set.range (partialSups f)) = upperBounds (Set.range f) 
goal: upperBounds (Set.range ⇑(partialSups f)) = upperBounds (Set.range f)

full_name: bddAbove_range_partialSups
code: @[simp]
theorem bddAbove_range_partialSups {f : ℕ → α} :
    BddAbove (Set.range (partialSups f)) ↔ BddAbove (Set.range f) 
goal: BddAbove (Set.range ⇑(partialSups f)) ↔ BddAbove (Set.range f)

full_name: Monotone.partialSups_eq
code: theorem Monotone.partialSups_eq {f : ℕ → α} (hf : Monotone f) : (partialSups f : ℕ → α) = f 
goal: ⇑(partialSups f) = f

full_name: partialSups_mono
code: theorem partialSups_mono : Monotone (partialSups : (ℕ → α) → ℕ →o α) 
goal: Monotone partialSups

full_name: partialSups.gi
code: /-- `partialSups` forms a Galois insertion with the coercion from monotone functions to functions.
-/
def partialSups.gi : GaloisInsertion (partialSups : (ℕ → α) → ℕ →o α) (↑) 
goal: GaloisInsertion partialSups DFunLike.coe

full_name: partialSups_eq_sup'_range
code: theorem partialSups_eq_sup'_range (f : ℕ → α) (n : ℕ) :
    partialSups f n = (Finset.range (n + 1)).sup' ⟨n, Finset.self_mem_range_succ n⟩ f 
goal: (partialSups f) n = (Finset.range (n + 1)).sup' ⋯ f

full_name: partialSups_apply
code: lemma partialSups_apply {ι : Type*} {π : ι → Type*} [(i : ι) → SemilatticeSup (π i)]
    (f : ℕ → (i : ι) → π i) (n : ℕ) (i : ι) : partialSups f n i = partialSups (f · i) n 
goal: (partialSups f) n i = (partialSups fun x => f x i) n

full_name: partialSups_eq_sup_range
code: theorem partialSups_eq_sup_range [SemilatticeSup α] [OrderBot α] (f : ℕ → α) (n : ℕ) :
    partialSups f n = (Finset.range (n + 1)).sup f 
goal: (partialSups f) n = (Finset.range (n + 1)).sup f

full_name: disjoint_partialSups_left
code: @[simp]
lemma disjoint_partialSups_left [DistribLattice α] [OrderBot α] {f : ℕ → α} {n : ℕ} {x : α} :
    Disjoint (partialSups f n) x ↔ ∀ k ≤ n, Disjoint (f k) x 
goal: Disjoint ((partialSups f) n) x ↔ ∀ k ≤ n, Disjoint (f k) x

full_name: disjoint_partialSups_right
code: @[simp]
lemma disjoint_partialSups_right [DistribLattice α] [OrderBot α] {f : ℕ → α} {n : ℕ} {x : α} :
    Disjoint x (partialSups f n) ↔ ∀ k ≤ n, Disjoint x (f k) 
goal: Disjoint x ((partialSups f) n) ↔ ∀ k ≤ n, Disjoint x (f k)

full_name: partialSups_disjoint_of_disjoint
code: theorem partialSups_disjoint_of_disjoint [DistribLattice α] [OrderBot α] (f : ℕ → α)
    (h : Pairwise (Disjoint on f)) {m n : ℕ} (hmn : m < n) : Disjoint (partialSups f m) (f n) 
goal: Disjoint ((partialSups f) m) (f n)

full_name: partialSups_eq_ciSup_Iic
code: theorem partialSups_eq_ciSup_Iic (f : ℕ → α) (n : ℕ) : partialSups f n = ⨆ i : Set.Iic n, f i 
goal: (partialSups f) n = ⨆ i, f ↑i

full_name: ciSup_partialSups_eq
code: @[simp]
theorem ciSup_partialSups_eq {f : ℕ → α} (h : BddAbove (Set.range f)) :
    ⨆ n, partialSups f n = ⨆ n, f n 
goal: ⨆ n, (partialSups f) n = ⨆ n, f n

full_name: partialSups_eq_biSup
code: theorem partialSups_eq_biSup (f : ℕ → α) (n : ℕ) : partialSups f n = ⨆ i ≤ n, f i 
goal: (partialSups f) n = ⨆ i, ⨆ (_ : i ≤ n), f i

full_name: iSup_partialSups_eq
code: theorem iSup_partialSups_eq (f : ℕ → α) : ⨆ n, partialSups f n = ⨆ n, f n 
goal: ⨆ n, (partialSups f) n = ⨆ n, f n

full_name: iSup_le_iSup_of_partialSups_le_partialSups
code: theorem iSup_le_iSup_of_partialSups_le_partialSups {f g : ℕ → α}
    (h : partialSups f ≤ partialSups g) : ⨆ n, f n ≤ ⨆ n, g n 
goal: ⨆ n, f n ≤ ⨆ n, g n

full_name: iSup_eq_iSup_of_partialSups_eq_partialSups
code: theorem iSup_eq_iSup_of_partialSups_eq_partialSups {f g : ℕ → α}
    (h : partialSups f = partialSups g) : ⨆ n, f n = ⨆ n, g n 
goal: ⨆ n, f n = ⨆ n, g n