Using a theorem prover to implement a compiler Mike Gordon Computer Laboratory

advertisement
Using a theorem prover to implement a compiler
Mike Gordon
Computer Laboratory
The University of Cambridge
Mike.Gordon@cl.cam.ac.uk
The use of theorem proving to construct implementations has a long history
starting with Green, Waldinger and others in 1969. The use of raw logic as a
software/hardware description language is also an old idea (especially propositional logic for hardware circuits). I will discuss why it is still worth investigating
formal logic for specification, and theorem proving to synthesise implementations. To illustrate this general theme I will provide some concrete illustrations
and modern motivation from a new project (involving the universities of Oxford, Cambridge and Utah) that is attempting to use theorem proving to automatically compile correct-by-construction implementations of cryptographic
hardware and software directly from mathematical specifications of algorithms.
Download