Si R es un anillo y a ∈ R, entonces a + 0 = a
En Lean4, se declara que \(R\) es un anillo mediante la expresión
1 |
variable {R : Type _} [Ring R] |
Como consecuencia, se tiene los siguientes axiomas
1 2 3 4 5 6 7 8 9 |
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
1 |
∀ a : R, a + 0 = a |
Para ello, completar la siguiente teoría de Lean4:
1 2 3 4 5 6 7 |
import Mathlib.Algebra.Ring.Defs variable {R : Type _} [Ring R] variable (a : R) example : a + 0 = a := sorry |
Demostración en lenguaje natural
Por la siguiente cadena de igualdades
\begin{align}
a + 0 &= 0 + a &&\text{[por la conmutativa de la suma]} \\
&= a &&\text{[por el axioma del cero por la izquierda]}
\end{align}
Demostraciones con Lean4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
-- 1ª demostración example : a + 0 = a := calc a + 0 = 0 + a := by rw [add_comm] _ = a := by rw [zero_add] -- 2ª demostración example : a + 0 = a := by rw [add_comm] rw [zero_add] -- 3ª demostración example : a + 0 = a := by rw [add_comm, zero_add] -- 4ª demostración example : a + 0 = a := by exact add_zero a -- 5ª demostración example : a + 0 = a := add_zero a -- 5ª demostración example : a + 0 = a := by simp |
Demostraciones interactivas
Se puede interactuar con las demostraciones anteriores en Lean 4 Web.
Referencias
- J. Avigad y P. Massot. Mathematics in Lean, p. 10.