--- Título: Si a es una cota superior de s y a ≤ b, entonces b es una cota superior de s Autor: José A. Alonso --- Demostrar con Lean4 que si \\(a\\) es una cota superior de \\(s\\) y \\(a ≤ b\\), entonces \\(b\\) es una cota superior de \\(s\\). Para ello, completar la siguiente teoría de Lean4:
import Mathlib.Tactic
variable {α : Type _} [PartialOrder α]
variable (s : Set α)
variable (a b : α)
-- (CotaSupConj s a) afirma que a es una cota superior del conjunto s.
def CotaSupConj (s : Set α) (a : α) :=
∀ {x}, x ∈ s → x ≤ a
example
(h1 : CotaSupConj s a)
(h2 : a ≤ b)
: CotaSupConj s b :=
by sorry
Demostración en lenguaje natural
[mathjax]
Tenemos que demostrar que
\\[ (∀ x) [x ∈ s → x ≤ b] \\]
Sea \\(x\\) tal que \\(x ∈ s\\). Entonces,
\\begin{align}
x &≤ a &&\\text{[porque \\(a\\) es una cota superior de \\(s\\)]} \\\\
&≤ b
\\end{align}
Por tanto, \\(x ≤ b\\).
Demostraciones con Lean4
import Mathlib.Tactic
variable {α : Type _} [PartialOrder α]
variable (s : Set α)
variable (a b : α)
-- (CotaSupConj s a) afirma que a es una cota superior del conjunto s.
def CotaSupConj (s : Set α) (a : α) :=
∀ {x}, x ∈ s → x ≤ a
-- 1ª demostración
example
(h1 : CotaSupConj s a)
(h2 : a ≤ b)
: CotaSupConj s b :=
by
intro x (xs : x ∈ s)
have h3 : x ≤ a := h1 xs
show x ≤ b
exact le_trans h3 h2
-- 2ª demostración
example
(h1 : CotaSupConj s a)
(h2 : a ≤ b)
: CotaSupConj s b :=
by
intro x (xs : x ∈ s)
calc x ≤ a := h1 xs
_ ≤ b := h2
-
-- Lemas usados
-- ============
-- variable (c : α)
-- #check (le_trans : a ≤ b → b ≤ c → a ≤ c)
Demostraciones interactivas
Se puede interactuar con las demostraciones anteriores en Lean 4 Web.
Referencias