Skip to main content

En ℝ, min(a,b) = min(b,a)

Demostrar con Lean4 que si \(a\) y \(b\) números reales, entonces \(\min(a, b) = \min(b, a)\).

Para ello, completar la siguiente teoría de Lean4:

import Mathlib.Data.Real.Basic

variable (a b : )

example : min a b = min b a :=
by sorry

Demostración en lenguaje natural

Es consecuencia de la siguiente propiedad \[\min(a, b) \leq \min(b, a) \tag{1}\] En efecto, intercambiando las variables en (1) se obtiene \[\min(b, a) \leq \min(a, b) \tag{2}\] Finalmente de (1) y (2) se obtiene \[\min(b, a) = \min(a, b)\]

Para demostrar (1), se observa que \begin{align} \min(a, b) &\leq b \\ \min(a, b) &\leq a \end{align} y, por tanto, \[\min(a, b) = \min(b, a)\]

Demostraciones con Lean4

import Mathlib.Data.Real.Basic

variable (a b : )

-- Lema auxiliar
-- =============

-- 1ª demostración del lema auxiliar
-- =================================

example : min a b  min b a :=
by
  have h1 : min a b  b := min_le_right a b
  have h2 : min a b  a := min_le_left a b
  show min a b  min b a
  exact le_min h1 h2

-- 2ª demostración del lema auxiliar
-- =================================

example : min a b  min b a :=
by
  apply le_min
  { apply min_le_right }
  { apply min_le_left }

-- 3ª demostración del lema auxiliar
-- =================================

lemma aux : min a b  min b a :=
by exact le_min (min_le_right a b) (min_le_left a b)

-- 1ª demostración
-- ===============

example : min a b = min b a :=
by
  apply le_antisymm
  { exact aux a b}
  { exact aux b a}

-- 2ª demostración
-- ===============

example : min a b = min b a :=
le_antisymm (aux a b) (aux b a)

-- 3ª demostración
-- ===============

example : min a b = min b a :=
min_comm a b

Demostraciones interactivas

Se puede interactuar con las demostraciones anteriores en Lean 4 Web.

Referencias