Si a y b son números reales, entonces (a + b) * (a – b) = a^2 – b^2
Demostrar que si a y b son números reales, entonces
1 |
(a + b) * (a - b) = a^2 - b^2 |
Para ello, completar la siguiente teoría de Lean:
1 2 3 4 5 6 |
import data.real.basic variables a b c d : ℝ example : (a + b) * (a - b) = a^2 - b^2 := sorry |
Soluciones con Lean
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
import data.real.basic variables a b c d : ℝ -- 1ª demostración example : (a + b) * (a - b) = a^2 - b^2 := calc (a + b) * (a - b) = a * (a - b) + b * (a - b) : by rw add_mul ... = (a * a - a * b) + b * (a - b) : by rw mul_sub ... = (a^2 - a * b) + b * (a - b) : by rw ← pow_two ... = (a^2 - a * b) + (b * a - b * b) : by rw mul_sub ... = (a^2 - a * b) + (b * a - b^2) : by rw ← pow_two ... = (a^2 + -(a * b)) + (b * a - b^2) : by ring ... = a^2 + (-(a * b) + (b * a - b^2)) : by rw add_assoc ... = a^2 + (-(a * b) + (b * a + -b^2)) : by ring ... = a^2 + ((-(a * b) + b * a) + -b^2) : by rw ← add_assoc (-(a * b)) (b * a) (-b^2) ... = a^2 + ((-(a * b) + a * b) + -b^2) : by rw mul_comm ... = a^2 + (0 + -b^2) : by rw neg_add_self (a * b) ... = (a^2 + 0) + -b^2 : by rw ← add_assoc ... = a^2 + -b^2 : by rw add_zero ... = a^2 - b^2 : by linarith -- 2ª demostración example : (a + b) * (a - b) = a^2 - b^2 := calc (a + b) * (a - b) = a * (a - b) + b * (a - b) : by ring ... = (a * a - a * b) + b * (a - b) : by ring ... = (a^2 - a * b) + b * (a - b) : by ring ... = (a^2 - a * b) + (b * a - b * b) : by ring ... = (a^2 - a * b) + (b * a - b^2) : by ring ... = (a^2 + -(a * b)) + (b * a - b^2) : by ring ... = a^2 + (-(a * b) + (b * a - b^2)) : by ring ... = a^2 + (-(a * b) + (b * a + -b^2)) : by ring ... = a^2 + ((-(a * b) + b * a) + -b^2) : by ring ... = a^2 + ((-(a * b) + a * b) + -b^2) : by ring ... = a^2 + (0 + -b^2) : by ring ... = (a^2 + 0) + -b^2 : by ring ... = a^2 + -b^2 : by ring ... = a^2 - b^2 : by ring -- 3ª demostración example : (a + b) * (a - b) = a^2 - b^2 := by ring |
Se puede interactuar con la prueba anterior en esta sesión con Lean.
Referencias
- J. Avigad, K. Buzzard, R.Y. Lewis y P. Massot. Mathematics in Lean, p. 8.