-- Opuesto_del_cero.lean -- Si R es un anillo, entonces -0 = 0 -- José A. Alonso Jiménez <https://jaalonso.github.io> -- Sevilla, 9-agosto-2023 -- --------------------------------------------------------------------- -- --------------------------------------------------------------------- -- Demostrar que si R es un anillo, entonces -- -0 = 0 -- ---------------------------------------------------------------------- -- Demostraciones en lenguaje natural (LN) -- ======================================= -- 1ª demostración en LN -- ===================== -- Por la suma con cero se tiene -- 0 + 0 = 0 -- Aplicándole la propiedad -- ∀ a b ∈ R, a + b = 0 → -a = b -- se obtiene -- -0 = 0 -- 2ª demostración en LN -- ===================== -- Puesto que -- ∀ a b ∈ R, a + b = 0 → -a = b -- basta demostrar que -- 0 + 0 = 0 -- que es cierta por la suma con cero. -- Demostraciones con Lean4 -- ======================== import Mathlib.Algebra.Ring.Defs import Mathlib.Tactic variable {R : Type _} [Ring R] -- 1ª demostración (basada en la 1ª en LN) example : (-0 : R) = 0 := by have h1 : (0 : R) + 0 = 0 := add_zero 0 show (-0 : R) = 0 exact neg_eq_of_add_eq_zero_left h1 -- 2ª demostración (basada en la 2ª en LN) example : (-0 : R) = 0 := by apply neg_eq_of_add_eq_zero_left rw [add_zero] -- 3ª demostración example : (-0 : R) = 0 := neg_zero -- 4ª demostración example : (-0 : R) = 0 := by simp -- Lemas usados -- ============ -- variable (a b : R) -- #check (add_zero a : a + 0 = a) -- #check (neg_eq_of_add_eq_zero_left : a + b = 0 → -b = a) -- #check (neg_zero : -0 = 0)