Introducción de la doble negación
Demostrar con Lean4 que \(P → ¬¬P\).
Para ello, completar la siguiente teoría de Lean4:
import Mathlib.Tactic variable (P : Prop) example (h : P) : ¬¬P := by sorry
Demostración en lenguaje natural
Supongamos \(¬P\). Entonces, tenemos una contradicción con la hipótesis (\(P\)).
Demostraciones con Lean4
import Mathlib.Tactic variable (P : Prop) -- 1ª demostración -- =============== example (h : P) : ¬¬P := by intro h1 -- h1 : ¬P -- ⊢ False exact (h1 h) -- 2ª demostración -- =============== example (h : P) : ¬¬P := fun h1 ↦ h1 h -- 3ª demostración -- =============== example (h : P) : ¬¬P := not_not_intro h -- 4ª demostración -- =============== example (h : P) : ¬ ¬ P := by tauto -- Lemas usados -- ============ -- #check (not_not_intro : P → ¬¬P)
Demostraciones interactivas
Se puede interactuar con las demostraciones anteriores en Lean 4 Web.
Referencias
- J. Avigad y P. Massot. Mathematics in Lean, p. 33.