--- Título: Si bc = ef, entonces ((ab)c)d = ((ae)f)d Autor: José A. Alonso --- Demostrar con Lean4 que si bc = ef, entonces ((ab)c)d = ((ae)f)d. Para ello, completar la siguiente teoría de Lean4:
import Mathlib.Data.Real.Basic
import Mathlib.Tactic

example
  (a b c d e f : ℝ)
  (h : b * c = e * f)
  : ((a * b) * c) * d = ((a * e) * f) * d :=
by sorry
Demostración en lenguaje natural [mathjax] Por la siguiente cadena de igualdades \begin{align} ((ab)c)d &= (a(bc))d &&\text{[por la asociativa]} \\ &= (a(ef))d &&\text{[por la hipótesis]} \\ &= ((ae)f)d &&\text{[por la asociativa]} \end{align} Demostraciones con Lean
import Mathlib.Data.Real.Basic
import Mathlib.Tactic

-- 1ª demostración
example
  (a b c d e f : ℝ)
  (h : b * c = e * f)
  : ((a * b) * c) * d = ((a * e) * f) * d :=
calc
  ((a * b) * c) * d
    = (a * (b * c)) * d := by rw [mul_assoc a]
  _ = (a * (e * f)) * d := by rw [h]
  _ = ((a * e) * f) * d := by rw [←mul_assoc a]

-- 2ª demostración
example
  (a b c d e f : ℝ)
  (h : b * c = e * f)
  : ((a * b) * c) * d = ((a * e) * f) * d :=
by
  rw [mul_assoc a]
  rw [h]
  rw [←mul_assoc a]

-- 3ª demostración
example
  (a b c d e f : ℝ)
  (h : b * c = e * f)
  : ((a * b) * c) * d = ((a * e) * f) * d :=
by
  rw [mul_assoc a, h, ←mul_assoc a]
Demostraciones interactivas Se puede interactuar con las demostraciones anteriores en Lean 4 Web. Referencias