mathlib documentation

core.​init.​algebra.​functions

core.​init.​algebra.​functions

def min {α : Type u} [decidable_linear_order α] :
α → α → α

Equations
def max {α : Type u} [decidable_linear_order α] :
α → α → α

Equations
theorem min_le_left {α : Type u} [decidable_linear_order α] (a b : α) :
min a b ≤ a

theorem min_le_right {α : Type u} [decidable_linear_order α] (a b : α) :
min a b ≤ b

theorem le_min {α : Type u} [decidable_linear_order α] {a b c : α} :
c ≤ a → c ≤ b → c ≤ min a b

theorem le_max_left {α : Type u} [decidable_linear_order α] (a b : α) :
a ≤ max a b

theorem le_max_right {α : Type u} [decidable_linear_order α] (a b : α) :
b ≤ max a b

theorem max_le {α : Type u} [decidable_linear_order α] {a b c : α} :
a ≤ c → b ≤ c → max a b ≤ c

theorem eq_min {α : Type u} [decidable_linear_order α] {a b c : α} :
c ≤ a → c ≤ b → (∀ {d : α}, d ≤ a → d ≤ b → d ≤ c) → c = min a b

theorem min_comm {α : Type u} [decidable_linear_order α] (a b : α) :
min a b = min b a

theorem min_assoc {α : Type u} [decidable_linear_order α] (a b c : α) :
min (min a b) c = min a (min b c)

theorem min_left_comm {α : Type u} [decidable_linear_order α] (a b c : α) :
min a (min b c) = min b (min a c)

@[simp]
theorem min_self {α : Type u} [decidable_linear_order α] (a : α) :
min a a = a

@[simp]
theorem min_eq_left {α : Type u} [decidable_linear_order α] {a b : α} :
a ≤ b → min a b = a

@[simp]
theorem min_eq_right {α : Type u} [decidable_linear_order α] {a b : α} :
b ≤ a → min a b = b

theorem eq_max {α : Type u} [decidable_linear_order α] {a b c : α} :
a ≤ c → b ≤ c → (∀ {d : α}, a ≤ d → b ≤ d → c ≤ d) → c = max a b

theorem max_comm {α : Type u} [decidable_linear_order α] (a b : α) :
max a b = max b a

theorem max_assoc {α : Type u} [decidable_linear_order α] (a b c : α) :
max (max a b) c = max a (max b c)

theorem max_left_comm {α : Type u} [decidable_linear_order α] (a b c : α) :
max a (max b c) = max b (max a c)

@[simp]
theorem max_self {α : Type u} [decidable_linear_order α] (a : α) :
max a a = a

@[simp]
theorem max_eq_left {α : Type u} [decidable_linear_order α] {a b : α} :
b ≤ a → max a b = a

@[simp]
theorem max_eq_right {α : Type u} [decidable_linear_order α] {a b : α} :
a ≤ b → max a b = b

theorem min_eq_left_of_lt {α : Type u} [decidable_linear_order α] {a b : α} :
a < b → min a b = a

theorem min_eq_right_of_lt {α : Type u} [decidable_linear_order α] {a b : α} :
b < a → min a b = b

theorem max_eq_left_of_lt {α : Type u} [decidable_linear_order α] {a b : α} :
b < a → max a b = a

theorem max_eq_right_of_lt {α : Type u} [decidable_linear_order α] {a b : α} :
a < b → max a b = b

theorem lt_min {α : Type u} [decidable_linear_order α] {a b c : α} :
a < b → a < c → a < min b c

theorem max_lt {α : Type u} [decidable_linear_order α] {a b c : α} :
a < c → b < c → max a b < c