mathlib documentation

data.nat.lattice

Conditionally complete linear order structure on ℕ #

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) :
theorem set.infinite.nat.Sup_eq_zero {s : set ℕ} (h : s.infinite) :
Sup s = 0
@[simp]
theorem nat.Inf_eq_zero {s : set ℕ} :
Inf s = 0 ↔ 0 ∈ s ∨ s = ∅
@[simp]
theorem nat.Inf_empty  :
theorem nat.Inf_mem {s : set ℕ} (h : s.nonempty) :
Inf s ∈ s
theorem nat.not_mem_of_lt_Inf {s : set ℕ} {m : ℕ} (hm : m < Inf s) :
m ∉ s
@[protected]
theorem nat.Inf_le {s : set ℕ} {m : ℕ} (hm : m ∈ s) :
Inf s ≤ m
theorem nat.nonempty_of_pos_Inf {s : set ℕ} (h : 0 < Inf s) :
theorem nat.nonempty_of_Inf_eq_succ {s : set ℕ} {k : ℕ} (h : 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) :
s = set.Ici (Inf s)
theorem nat.Inf_upward_closed_eq_succ_iff {s : set ℕ} (hs : ∀ (k₁ k₂ : ℕ), k₁ ≤ k₂ → k₁ ∈ s → k₂ ∈ s) (k : ℕ) :
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.Inf_add {n : ℕ} {p : ℕ → Prop} (hn : n ≤ Inf {m : ℕ | p m}) :
Inf {m : ℕ | p (m + n)} + n = Inf {m : ℕ | p m}
theorem nat.Inf_add' {n : ℕ} {p : ℕ → Prop} (h : 0 < Inf {m : ℕ | p m}) :
Inf {m : ℕ | p m} + n = 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)
@[protected, instance]
Equations