HepLean Documentation

Mathlib.Data.Nat.Lattice

Conditionally complete linear order structure on #

In this file we

noncomputable instance Nat.instInfSet :
Equations
noncomputable instance Nat.instSupSet :
Equations
theorem Nat.sInf_def {s : Set } (h : s.Nonempty) :
theorem Nat.sSup_def {s : Set } (h : ∃ (n : ), as, a n) :
theorem Set.Infinite.Nat.sSup_eq_zero {s : Set } (h : s.Infinite) :
sSup s = 0
@[simp]
theorem Nat.sInf_eq_zero {s : Set } :
sInf s = 0 0 s s =
@[simp]
@[simp]
theorem Nat.iInf_of_empty {ι : Sort u_1} [IsEmpty ι] (f : ι) :
iInf f = 0
@[simp]
theorem Nat.iInf_const_zero {ι : Sort u_1} :
⨅ (x : ι), 0 = 0

This combines Nat.iInf_of_empty with ciInf_const.

theorem Nat.sInf_mem {s : Set } (h : s.Nonempty) :
sInf s s
theorem Nat.not_mem_of_lt_sInf {s : Set } {m : } (hm : m < sInf s) :
ms
theorem Nat.sInf_le {s : Set } {m : } (hm : m s) :
sInf s m
theorem Nat.nonempty_of_pos_sInf {s : Set } (h : 0 < sInf s) :
s.Nonempty
theorem Nat.nonempty_of_sInf_eq_succ {s : Set } {k : } (h : sInf s = k + 1) :
s.Nonempty
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 (sInf s)
theorem Nat.sInf_upward_closed_eq_succ_iff {s : Set } (hs : ∀ (k₁ k₂ : ), k₁ k₂k₁ sk₂ s) (k : ) :
sInf s = k + 1 k + 1 s ks

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

Equations
theorem Nat.sSup_mem {s : Set } (h₁ : s.Nonempty) (h₂ : BddAbove s) :
sSup s s
theorem Nat.sInf_add {n : } {p : Prop} (hn : n sInf {m : | p m}) :
sInf {m : | p (m + n)} + n = sInf {m : | p m}
theorem Nat.sInf_add' {n : } {p : Prop} (h : 0 < sInf {m : | p m}) :
sInf {m : | p m} + n = sInf {m : | p (m - n)}
theorem Nat.iSup_lt_succ {α : Type u_1} [CompleteLattice α] (u : α) (n : ) :
⨆ (k : ), ⨆ (_ : k < n + 1), u k = (⨆ (k : ), ⨆ (_ : k < n), u k) u n
theorem Nat.iSup_lt_succ' {α : Type u_1} [CompleteLattice α] (u : α) (n : ) :
⨆ (k : ), ⨆ (_ : k < n + 1), u k = u 0 ⨆ (k : ), ⨆ (_ : k < n), u (k + 1)
theorem Nat.iInf_lt_succ {α : Type u_1} [CompleteLattice α] (u : α) (n : ) :
⨅ (k : ), ⨅ (_ : k < n + 1), u k = (⨅ (k : ), ⨅ (_ : k < n), u k) u n
theorem Nat.iInf_lt_succ' {α : Type u_1} [CompleteLattice α] (u : α) (n : ) :
⨅ (k : ), ⨅ (_ : k < n + 1), u k = u 0 ⨅ (k : ), ⨅ (_ : k < n), u (k + 1)
theorem Nat.iSup_le_succ {α : Type u_1} [CompleteLattice α] (u : α) (n : ) :
⨆ (k : ), ⨆ (_ : k n + 1), u k = (⨆ (k : ), ⨆ (_ : k n), u k) u (n + 1)
theorem Nat.iSup_le_succ' {α : Type u_1} [CompleteLattice α] (u : α) (n : ) :
⨆ (k : ), ⨆ (_ : k n + 1), u k = u 0 ⨆ (k : ), ⨆ (_ : k n), u (k + 1)
theorem Nat.iInf_le_succ {α : Type u_1} [CompleteLattice α] (u : α) (n : ) :
⨅ (k : ), ⨅ (_ : k n + 1), u k = (⨅ (k : ), ⨅ (_ : k n), u k) u (n + 1)
theorem Nat.iInf_le_succ' {α : Type u_1} [CompleteLattice α] (u : α) (n : ) :
⨅ (k : ), ⨅ (_ : k n + 1), u k = u 0 ⨅ (k : ), ⨅ (_ : k n), u (k + 1)
theorem Set.biUnion_lt_succ {α : Type u_1} (u : Set α) (n : ) :
⋃ (k : ), ⋃ (_ : k < n + 1), u k = (⋃ (k : ), ⋃ (_ : k < n), u k) u n
theorem Set.biUnion_lt_succ' {α : Type u_1} (u : Set α) (n : ) :
⋃ (k : ), ⋃ (_ : k < n + 1), u k = u 0 ⋃ (k : ), ⋃ (_ : k < n), u (k + 1)
theorem Set.biInter_lt_succ {α : Type u_1} (u : Set α) (n : ) :
⋂ (k : ), ⋂ (_ : k < n + 1), u k = (⋂ (k : ), ⋂ (_ : k < n), u k) u n
theorem Set.biInter_lt_succ' {α : Type u_1} (u : Set α) (n : ) :
⋂ (k : ), ⋂ (_ : k < n + 1), u k = u 0 ⋂ (k : ), ⋂ (_ : k < n), u (k + 1)
theorem Set.biUnion_le_succ {α : Type u_1} (u : Set α) (n : ) :
⋃ (k : ), ⋃ (_ : k n + 1), u k = (⋃ (k : ), ⋃ (_ : k n), u k) u (n + 1)
theorem Set.biUnion_le_succ' {α : Type u_1} (u : Set α) (n : ) :
⋃ (k : ), ⋃ (_ : k n + 1), u k = u 0 ⋃ (k : ), ⋃ (_ : k n), u (k + 1)
theorem Set.biInter_le_succ {α : Type u_1} (u : Set α) (n : ) :
⋂ (k : ), ⋂ (_ : k n + 1), u k = (⋂ (k : ), ⋂ (_ : k n), u k) u (n + 1)
theorem Set.biInter_le_succ' {α : Type u_1} (u : Set α) (n : ) :
⋂ (k : ), ⋂ (_ : k n + 1), u k = u 0 ⋂ (k : ), ⋂ (_ : k n), u (k + 1)