--- Título: Si R es un anillo y a ∈ R, entonces 0.a = 0 Autor: José A. Alonso --- Demostrar con Lean4 que si R es un anillo y a ∈ R, entonces
0 * a = 0
Para ello, completar la siguiente teoría de Lean4:
import Mathlib.Algebra.Ring.Defs
import Mathlib.Tactic
variable {R : Type _} [Ring R]
variable (a : R)
example : 0 * a = 0 :=
sorry
Demostración en lenguaje natural
[mathjax]
Basta aplicar la propiedad cancelativa a
\[0.a + 0.a = 0.a + 0\]
que se demuestra mediante la siguiente cadena de igualdades
\begin{align}
0.a + 0.a &= (0 + 0).a &&\text{[por la distributiva]} \\
&= 0.a &&\text{[por suma con cero]} \\
&= 0.a + 0 &&\text{[por suma con cero]}
\end{align}
Demostraciones con Lean4
import Mathlib.Algebra.Ring.Defs
import Mathlib.Tactic
variable {R : Type _} [Ring R]
variable (a : R)
-- 1ª demostración
example : 0 * a = 0 :=
by
have h : 0 * a + 0 * a = 0 * a + 0 :=
calc 0 * a + 0 * a = (0 + 0) * a := by rw [add_mul]
_ = 0 * a := by rw [add_zero]
_ = 0 * a + 0 := by rw [add_zero]
rw [add_left_cancel h]
-- 2ª demostración
example : 0 * a = 0 :=
by
have h : 0 * a + 0 * a = 0 * a + 0 :=
by rw [←add_mul, add_zero, add_zero]
rw [add_left_cancel h]
-- 3ª demostración
example : 0 * a = 0 :=
by
have : 0 * a + 0 * a = 0 * a + 0 :=
calc 0 * a + 0 * a = (0 + 0) * a := by simp
_ = 0 * a := by simp
_ = 0 * a + 0 := by simp
simp
-- 4ª demostración
example : 0 * a = 0 :=
by
have : 0 * a + 0 * a = 0 * a + 0 := by simp
simp
-- 5ª demostración
example : 0 * a = 0 :=
by simp
-- 6ª demostración
example : 0 * a = 0 :=
zero_mul a
Demostraciones interactivas
Se puede interactuar con las demostraciones anteriores en Lean 4 Web.
Referencias