package rocq-semantics
Install
Dune Dependency
Authors
Maintainers
Sources
sha512=6041c38453ac6464e38809b1e9c4df4f1884ca5e391a187828f4acc3f25e95e4f1d76d7e94511fd77ada5f9ec7cb1b01eea9a3908b1865986e62b772b1901e3b
Description
This is a survey of programming language semantics styles for a miniature example of a programming language, with their encoding in Rocq (Coq), the proofs of equivalence of different styles, and the proof of soundess of tools obtained from axiomatic semantics or abstract interpretation. The tools can be run inside Rocq, thus making them available for proof by reflection, and the code can also be extracted and connected to a yacc-based parser, thanks to the use of a functor parameterized by a module type of strings. A hand-written parser is also provided in Rocq, but there are no proofs associated.
The current version is only compatible with a recent version of Rocq (tested with versions 9.0 to 9.1) but previous versions of this repository worked with older version of Rocq and Coq
Tags
category:Computer Science/Semantics and Compilation/Semantics keyword:natural semantics keyword:denotational semantics keyword:axiomatic semantics keyword:Hoare logic keyword:Dijkstra weakest pre-condition calculus keyword:abstract interpretation keyword:intervals logpath:SemanticsPublished: 17 Feb 2026
Dependencies (5)
-
ocamlbuild
build - ocaml
- zarith
-
rocq-stdlib
>= "9.0" -
rocq-core
>= "9.0"
Dev Dependencies
None
Used by
None
Conflicts
None