Skip to content

Coq proofs for the paper "Proving Correctness of Compilers Using Structured Graphs"

Notifications You must be signed in to change notification settings

pa-ba/graph-comp

Repository files navigation

Proving Correctness of Compilers Using Structured Graphs Build Status DOI

Coq proofs for the paper "Proving Correctness of Compilers Using Structured Graphs".

File Structure

  • Tree.v, Graph.v: Definition of tree and graph types, respectively.
  • GraphUnravel.v: Proof of Theorem 2.
  • Compiler.v: Implementation of the tree-based and the graph-based compiler; proof of Lemma 1 from the paper.
  • CalculationTactics.v: Tactics for program calculation proofs.
  • Container.v: Formalisation of containers (used as a representation of strictly positive functors).

Technical Details

Dependencies

  • To check the proofs: Coq 8.4pl5
  • To step through the proofs: GNU Emacs 24.3.1, Proof General 4.2

Proof Checking

To check and compile the complete Coq development, you can use the Makefile:

> make

About

Coq proofs for the paper "Proving Correctness of Compilers Using Structured Graphs"

Resources

Stars

Watchers

Forks

Packages

No packages published