Blog

  • Proof by Reflection (and why not to use it)

    Timothy Mou - Wed 27 March 2024 - lean, proof-assistants

    Let's say you frequently need to solve equalities on monoids, and you find yourself proving lots of goals like the following:

    example [Monoid α]:  (a b c d : α), 
      a * b * c * d * 1 = a * (b * c) * (1 * 1 * d) := by
      intros a b c d
      rw [mul_one]
      rw [mul_one …