GaloisInc / cryptol

Cryptol: The Language of Cryptography
https://galoisinc.github.io/cryptol/master/RefMan.html
BSD 3-Clause "New" or "Revised" License
1.12k stars 119 forks source link

Formalize Cryptol semantics #652

Open brianhuffman opened 4 years ago

brianhuffman commented 4 years ago

This ticket combines the previously separate tickets #42, #43, #45, #46, #55, and #56.

We should write a formal semantics for Cryptol, preferably mechanized in an interactive theorem prover. Ideally this would include operational and denotational semantics. We should also formalize Cryptol's typing rules.

brianhuffman commented 4 years ago

From #45: We have some notes about cryptol semantics on the wiki: CryptolSemantics

brianhuffman commented 4 years ago

From #46, @atomb says:

To some degree, the following two repositories, together, achieve some of this, by providing a direct translation from Cryptol to Coq.

brianhuffman commented 2 years ago

A formalized semantics would be particularly useful if we wanted to implement any semantics-preserving program transformations.