Si R es un anillo y a, b ∈ R, entonces -a + (a + b) = b
En Lean4, se declara que R es un anillo mediante la expresión
variable {R : Type _} [Ring R]
Como consecuencia, se tiene los siguientes axiomas
add_assoc : ∀ a b c : R, (a + b) + c = a + (b + c) add_comm : ∀ a b : R, a + b = b + a zero_add : ∀ a : R, 0 + a = a add_left_neg : ∀ a : R, -a + a = 0 mul_assoc : ∀ a b c : R, a * b * c = a * (b * c) mul_one : ∀ a : R, a * 1 = a one_mul : ∀ a : R, 1 * a = a mul_add : ∀ a b c : R, a * (b + c) = a * b + a * c add_mul : ∀ a b c : R, (a + b) * c = a * c + b * c
Demostrar que si R es un anillo, entonces \[ ∀ a, b : R, -a + (a + b) = b \]
Para ello, completar la siguiente teoría de Lean4:
import Mathlib.Algebra.Ring.Defs variable {R : Type _} [Ring R] variable (a b : R) example : -a + (a + b) = b := sorry
Demostración en lenguaje natural
Por la siguiente cadena de igualdades \begin{align} -a + (a + b) &= (-a + a) + b &&\text{[por la asociativa]} \\ &= 0 + b &&\text{[por inverso por la izquierda]} \\ &= b &&\text{[por cero por la izquierda]} \end{align}
Demostraciones con Lean4
import Mathlib.Algebra.Ring.Defs variable {R : Type _} [Ring R] variable (a b : R) -- 1ª demostración example : -a + (a + b) = b := calc -a + (a + b) = (-a + a) + b := by rw [← add_assoc] _ = 0 + b := by rw [neg_add_cancel] _ = b := by rw [zero_add] -- 2ª demostración example : -a + (a + b) = b := by rw [←add_assoc] rw [neg_add_cancel] rw [zero_add] -- 3ª demostración example : -a + (a + b) = b := by rw [←add_assoc, neg_add_cancel, zero_add] -- 4ª demostración example : -a + (a + b) = b := by exact neg_add_cancel_left a b -- 5ª demostración example : -a + (a + b) = b := neg_add_cancel_left a b -- 6ª demostración example : -a + (a + b) = b := by simp -- Lemas usados -- ============ -- variable (c : R) -- #check (add_assoc a b c : (a + b) + c = a + (b + c)) -- #check (neg_add_cancel a : -a + a = 0) -- #check (neg_add_cancel_left a b : -a + (a + b) = b) -- #check (zero_add a : 0 + a = a)
Demostraciones interactivas
Se puede interactuar con las demostraciones anteriores en Lean 4 Web.
Referencias
- J. Avigad y P. Massot. Mathematics in Lean, p. 10.