Simple play icon Course
Skills Expanded

Provable Code

by Michael Perry

Tools and patterns for using mathematics to write more reliable and readable software

What you'll learn

Bertrand Meyer defined Design by Contract as a system of documenting and proving the responsibilities of a software system. Today, we have tools built into our compilers and type systems that help us to prove those assertions. This course will introduce you to some of those tools, define systems of logic for reasoning about code, and recommend patterns for building provable software.

About the author

Software is math. Michael L Perry has built upon the works of mathematicians like Bertrand Meyer, James Rumbaugh, and Donald Knuth to develop a mathematical system for software development. He has captured this system in a set of open source projects, Update Controls and Correspondence. As a Principal Consultant at Improving Enterprises, he applies mathematical concepts to building scalable and robust enterprise systems. You can find out more at

Ready to upskill? Get started