Michael Norrish is an Associate Professor at The Australian National University with 27 years of experience in formal methods, operational semantics and automated reasoning. He holds a PhD in Computer Science from Cambridge and combines deep academic research with hands-on theorem-proving and tool development. Michael has made substantive open-source contributions to heavyweight projects such as CakeML and the HOL4 theorem prover, refactoring parsers, streamlining translations, and improving machine-code libraries and code generation. His work shows a practical focus on making verified systems and provers more maintainable and translatable to new type implementations. Based in Canberra, he brings a rare mix of historical scholarship (with a BA in History) and long-term technical craftsmanship in verification infrastructure.
27 years of coding experience
PhD, Computer Science, PhD, Computer Science at University of Cambridge
BSc(Hons), Computer Science, BSc(Hons), Computer Science at Victoria University of Wellington
Canonical sources for HOL4 theorem-proving system. Branch develop is where “mainline development” occurs; when develop passes our regression tests, master is merged forward to catch up.
Role in this project:
Back-end Developer and Theorem Proving Specialist
Contributions:5 releases, 107 reviews, 8526 commits in 24 years 1 month
Contributions summary:Michael primarily focused on developing and refining the HOL4 theorem-proving system. Their contributions include implementing fixes and improvements to machine-code libraries, ensuring tight equality within various example files, and addressing issues related to the parsing and printing of mathematical expressions. Furthermore, the user added new syntax to the theorem prover, improved code-generation for bytecode stepping, and worked on the core aspects of the system.
Contributions:3 reviews, 972 commits, 40 PRs in 10 years 1 month
Contributions summary:Michael primarily focused on refactoring and removing unused code related to parsing in the CakeML repository. Their work involved removing obsolete theorems and re-expressing existing code to avoid using functions which are harder to translate. They also refactored definitions to ensure compatibility with new type implementations, updating definitions to avoid unnecessary repetition of work.
smlverifiedtheorem-provingsatformal-verification
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.