Lean-ing into Software Engineering

The Lean programming language is revolutionising mathematics. More and more mathematical results have been formalised in Lean and it's increasingly becoming a standard part of the mathematician's toolbox. Lean didn't start out as a maths tool though; it was originally created to help with software verification: proving that software was correct. This is not a new idea: software verification was…