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 sa n) :
@[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₁ sk₂ s) :
s = set.Ici (Inf s)
theorem nat.Inf_upward_closed_eq_succ_iff {s : set } (hs : ∀ (k₁ k₂ : ), k₁ k₂k₁ sk₂ 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