Título | Autor |
---|---|
En ℝ, x ≤ y ∧ x ≠ y → x ≤ y ∧ y ≰ x. |
José A. Alonso |
[mathjax]
Demostrar con Lean4 que. en \(ℝ\), \(x ≤ y ∧ x ≠ y → x ≤ y ∧ y ≰ x\).
Para ello, completar la siguiente teoría de Lean4:
import Mathlib.Data.Real.Basic
variable (x y : ℝ)
example : x ≤ y ∧ x ≠ y → x ≤ y ∧ ¬ y ≤ x :=
by sorry
Demostración en lenguaje natural
Supongamos que \begin{align} x ≤ y \tag{1} \\ x ≠ y \tag{2} \end{align} Entonces, se tiene \(x ≤ y\) (por (1)) y, para probar \(y ≰ x\), supongamos que \[ y ≤ x \tag{3}\] Aplicando la propiedad antimétrica a (1) y (3), se obtiene que \(x = y\), en contradicción con (2).
Demostraciones con Lean4
import Mathlib.Data.Real.Basic
variable (x y : ℝ)
-- 1ª demostración
-- ===============
example : x ≤ y ∧ x ≠ y → x ≤ y ∧ ¬ y ≤ x :=
by
rintro ⟨h1 : x ≤ y, h2 : x ≠ y⟩
constructor
. show x ≤ y
exact h1
. show ¬ y ≤ x
rintro h3 : y ≤ x
-- ⊢ False
have h4 : x = y := le_antisymm h1 h3
show False
exact h2 h4
-- 2ª demostración
-- ===============
example : x ≤ y ∧ x ≠ y → x ≤ y ∧ ¬ y ≤ x :=
by
rintro ⟨h1 : x ≤ y, h2 : x ≠ y⟩
-- ⊢ x ≤ y ∧ ¬y ≤ x
constructor
. show x ≤ y
exact h1
. show ¬ y ≤ x
rintro h3 : y ≤ x
-- ⊢ False
show False
exact h2 (le_antisymm h1 h3)
-- 3ª demostración
-- ===============
example : x ≤ y ∧ x ≠ y → x ≤ y ∧ ¬ y ≤ x :=
by
rintro ⟨h1 : x ≤ y, h2 : x ≠ y⟩
constructor
. show x ≤ y
exact h1
. show ¬ y ≤ x
exact fun h3 ↦ h2 (le_antisymm h1 h3)
-- 4ª demostración
-- ===============
example : x ≤ y ∧ x ≠ y → x ≤ y ∧ ¬ y ≤ x :=
by
rintro ⟨h1, h2⟩
exact ⟨h1, fun h3 ↦ h2 (le_antisymm h1 h3)⟩
-- 5ª demostración
-- ===============
example : x ≤ y ∧ x ≠ y → x ≤ y ∧ ¬ y ≤ x :=
fun ⟨h1, h2⟩ ↦ ⟨h1, fun h3 ↦ h2 (le_antisymm h1 h3)⟩
-- 6ª demostración
-- ===============
example : x ≤ y ∧ x ≠ y → x ≤ y ∧ ¬ y ≤ x :=
by
rintro ⟨h1 : x ≤ y, h2 : x ≠ y⟩
use h1
exact fun h3 ↦ h2 (le_antisymm h1 h3)
-- 7ª demostración
-- ===============
example : x ≤ y ∧ x ≠ y → x ≤ y ∧ ¬ y ≤ x :=
by
rintro ⟨h1, h2⟩
-- h1 : x ≤ y
-- h2 : x ≠ y
-- ⊢ x ≤ y ∧ ¬y ≤ x
use h1
-- ¬y ≤ x
contrapose! h2
-- h2 : y ≤ x
-- ⊢ x = y
apply le_antisymm h1 h2
-- Lemas usados
-- ============
-- #check (le_antisymm : x ≤ y → y ≤ x → x = y)
Demostraciones interactivas
Se puede interactuar con las demostraciones anteriores en Lean 4 Web.
Referencias
- J. Avigad y P. Massot. Mathematics in Lean, p. 36.