mathlib3 documentation

data.nat.lattice

Conditionally complete linear order structure on ℕ #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

In this file we

@[protected, instance]
noncomputable def nat.has_Inf  :
Equations
@[protected, instance]
noncomputable def nat.has_Sup  :
Equations
theorem nat.Inf_def {s : set ℕ} (h : s.nonempty) :
theorem nat.Sup_def {s : set ℕ} (h : ∃ (n : ℕ), ∀ (a : ℕ), a ∈ s → a ≤ n) :
@[simp]
theorem nat.Inf_eq_zero {s : set ℕ} :
@[simp]
theorem nat.Inf_empty  :
@[simp]
theorem nat.infi_of_empty {ι : Sort u_1} [is_empty ι] (f : ι → ℕ) :
infi f = 0
theorem nat.Inf_mem {s : set ℕ} (h : s.nonempty) :
theorem nat.not_mem_of_lt_Inf {s : set ℕ} {m : ℕ} (hm : m < has_Inf.Inf s) :
m ∉ s
@[protected]
theorem nat.Inf_le {s : set ℕ} {m : ℕ} (hm : m ∈ s) :
theorem nat.nonempty_of_pos_Inf {s : set ℕ} (h : 0 < has_Inf.Inf s) :
theorem nat.nonempty_of_Inf_eq_succ {s : set ℕ} {k : ℕ} (h : has_Inf.Inf s = k + 1) :
theorem nat.eq_Ici_of_nonempty_of_upward_closed {s : set ℕ} (hs : s.nonempty) (hs' : ∀ (k₁ k₂ : ℕ), k₁ ≤ k₂ → k₁ ∈ s → k₂ ∈ s) :
theorem nat.Inf_upward_closed_eq_succ_iff {s : set ℕ} (hs : ∀ (k₁ k₂ : ℕ), k₁ ≤ k₂ → k₁ ∈ s → k₂ ∈ s) (k : ℕ) :
has_Inf.Inf s = k + 1 ↔ k + 1 ∈ s ∧ k ∉ s
@[protected, instance]

This instance is necessary, otherwise the lattice operations would be derived via conditionally_complete_linear_order_bot and marked as noncomputable.

Equations
@[protected, instance]
Equations
theorem nat.Sup_mem {s : set ℕ} (h₁ : s.nonempty) (h₂ : bdd_above s) :
theorem nat.Inf_add {n : ℕ} {p : ℕ → Prop} (hn : n ≤ has_Inf.Inf {m : ℕ | p m}) :
has_Inf.Inf {m : ℕ | p (m + n)} + n = has_Inf.Inf {m : ℕ | p m}
theorem nat.Inf_add' {n : ℕ} {p : ℕ → Prop} (h : 0 < has_Inf.Inf {m : ℕ | p m}) :
has_Inf.Inf {m : ℕ | p m} + n = has_Inf.Inf {m : ℕ | p (m - n)}
theorem nat.supr_lt_succ {α : Type u_1} [complete_lattice α] (u : ℕ → α) (n : ℕ) :
(⨆ (k : ℕ) (H : k < n + 1), u k) = (⨆ (k : ℕ) (H : k < n), u k) ⊔ u n
theorem nat.supr_lt_succ' {α : Type u_1} [complete_lattice α] (u : ℕ → α) (n : ℕ) :
(⨆ (k : ℕ) (H : k < n + 1), u k) = u 0 ⊔ ⨆ (k : ℕ) (H : k < n), u (k + 1)
theorem nat.infi_lt_succ {α : Type u_1} [complete_lattice α] (u : ℕ → α) (n : ℕ) :
(⨅ (k : ℕ) (H : k < n + 1), u k) = (⨅ (k : ℕ) (H : k < n), u k) ⊓ u n
theorem nat.infi_lt_succ' {α : Type u_1} [complete_lattice α] (u : ℕ → α) (n : ℕ) :
(⨅ (k : ℕ) (H : k < n + 1), u k) = u 0 ⊓ ⨅ (k : ℕ) (H : k < n), u (k + 1)
theorem set.bUnion_lt_succ {α : Type u_1} (u : ℕ → set α) (n : ℕ) :
(⋃ (k : ℕ) (H : k < n + 1), u k) = (⋃ (k : ℕ) (H : k < n), u k) ∪ u n
theorem set.bUnion_lt_succ' {α : Type u_1} (u : ℕ → set α) (n : ℕ) :
(⋃ (k : ℕ) (H : k < n + 1), u k) = u 0 ∪ ⋃ (k : ℕ) (H : k < n), u (k + 1)
theorem set.bInter_lt_succ {α : Type u_1} (u : ℕ → set α) (n : ℕ) :
(⋂ (k : ℕ) (H : k < n + 1), u k) = (⋂ (k : ℕ) (H : k < n), u k) ∩ u n
theorem set.bInter_lt_succ' {α : Type u_1} (u : ℕ → set α) (n : ℕ) :
(⋂ (k : ℕ) (H : k < n + 1), u k) = u 0 ∩ ⋂ (k : ℕ) (H : k < n), u (k + 1)