package rocq-semantics

  1. Overview
  2. Homepage
A survey of semantics styles, from natural semantics through structural operational, axiomatic, and denotational semantics, to abstract interpretation

Install

Dune Dependency

Authors

Maintainers

Sources

v9.0.0.tgz
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

Dependencies (5)

  1. ocamlbuild build
  2. ocaml
  3. zarith
  4. rocq-stdlib >= "9.0"
  5. rocq-core >= "9.0"

Dev Dependencies

None

Used by

None

Conflicts

None

Rocq

Interactive Theorem Prover