mathlib documentation

core.init.algebra.functions

def min {α : Type u} [decidable_linear_order α] (a b : α) :
α

Equations
def max {α : Type u} [decidable_linear_order α] (a b : α) :
α

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 : α} (h₁ : c a) (h₂ : 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 : α} (h₁ : a c) (h₂ : b c) :
max a b c

theorem eq_min {α : Type u} [decidable_linear_order α] {a b c : α} (h₁ : c a) (h₂ : c b) (h₃ : ∀ {d : α}, d ad bd 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 : α} (h : a b) :
min a b = a

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

theorem eq_max {α : Type u} [decidable_linear_order α] {a b c : α} (h₁ : a c) (h₂ : b c) (h₃ : ∀ {d : α}, a db dc 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 : α} (h : b a) :
max a b = a

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

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

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

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

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

theorem lt_min {α : Type u} [decidable_linear_order α] {a b c : α} (h₁ : a < b) (h₂ : a < c) :
a < min b c

theorem max_lt {α : Type u} [decidable_linear_order α] {a b c : α} (h₁ : a < c) (h₂ : b < c) :
max a b < c