Skip to content

Latest commit

 

History

History
126 lines (100 loc) · 2.57 KB

CN_de_monotona.md

File metadata and controls

126 lines (100 loc) · 2.57 KB
Título Autor
Si f es monótona y f(a) < f(b), entonces a < b.
José A. Alonso

[mathjax]

Demostrar con Lean4 que si \(f\) es monótona y \(f(a) < f(b)\), entonces \(a < b\).

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

import Mathlib.Data.Real.Basic
variable (f : ℝ → ℝ)
variable (a b : ℝ)

example
  (h1 : Monotone f)
  (h2 : f a < f b)
  : a < b :=
by sorry

Demostración en lenguaje natural

Usaremos los lemas \begin{align} &a ≱ b → a < b \tag{L1} \\ &a ≥ b → a ≮ b \tag{L2} \end{align}

Por el lema L1, basta demostrar que \(a ≱ b\). Lo haremos reducción al absurdo. Para ello, supongamos que \(a ≥ b\). Como \(f\) es monótona, se tiene \(f(a) ≥ f(b)\) y, aplicando el lema L2, \(f(a) ≮ f(b)\), que contradice a la hipótesis.

Demostraciones con Lean4

import Mathlib.Data.Real.Basic
variable (f : ℝ → ℝ)
variable (a b : ℝ)

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

example
  (h1 : Monotone f)
  (h2 : f a < f b)
  : a < b :=
by
  apply lt_of_not_ge
  -- ⊢ ¬a ≥ b
  intro h3
  -- h3 : a ≥ b
  -- ⊢ False
  have h4 : f a ≥ f b := h1 h3
  have h5 : ¬ f a < f b := not_lt_of_ge h4
  exact h5 h2

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

example
  (h1 : Monotone f)
  (h2 : f a < f b)
  : a < b :=
by
  apply lt_of_not_ge
  -- ⊢ ¬a ≥ b
  intro h3
  -- h3 : a ≥ b
  -- ⊢ False
  have h5 : ¬ f a < f b := not_lt_of_ge (h1 h3)
  exact h5 h2

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

example
  (h1 : Monotone f)
  (h2 : f a < f b)
  : a < b :=
by
  apply lt_of_not_ge
  -- ⊢ ¬a ≥ b
  intro h3
  -- h3 : a ≥ b
  -- ⊢ False
  exact (not_lt_of_ge (h1 h3)) h2

-- 4ª demostración
-- ===============

example
  (h1 : Monotone f)
  (h2 : f a < f b)
  : a < b :=
by
  apply lt_of_not_ge
  -- ⊢ ¬a ≥ b
  exact fun h3 ↦ (not_lt_of_ge (h1 h3)) h2

-- 5ª demostración
-- ===============

example
  (h1 : Monotone f)
  (h2 : f a < f b)
  : a < b :=
lt_of_not_ge (fun h3 ↦ (not_lt_of_ge (h1 h3)) h2)

-- Lemas usados
-- ============

-- #check (lt_of_not_ge : ¬ a ≥ b → a < b)
-- #check (not_lt_of_ge : a ≥ b → ¬ a < b)

Demostraciones interactivas

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

Referencias