KIV Specifications for the VeriCode Code Generation

This page documents the KIV formalization of

Gerhard Schellhorn, Stefan Bodenmüller, Wolfgang Reif:
VeriCode: Correct Translation of Abstract Specifications to C Code.
Submitted to iFM 2024.

Project Overview gives an overview of the entire specification hierarchy.

KIV-Projects always link to an overview which gives the dependency graph of specifications. Clicking on one specification gives its text, and links to a theorem base summary (which lists names of theorems) and a theorem base listing (which shows the full sequent for each theorem). From there individual theorems and the full details of each proof are accessible.


The KIV project is a first specification that attempts to mechanize the results from our paper submitted to iFM 2024. It is still far from complete and may contain bugs. Nevertheless, it sets up the main specifications and datatypes needed for verifying the main theorems. Compared to the paper, where well-typedness is taken for granted, the formal specifications make well-typedness constraints explicit by defining predicates. Here is an overview over the main specifications, bottom-up:

Specifications of Syntax

Specifications of the Semantics of Abstract Programs

Specifications of the Semantics of Concrete Programs

Specifications of Procedure Declarations

Compile Function, Abstraction Relation, Lemmas and Theorems


Used basic libraries:

Back to the overview of all KIV projects.
For general informations on KIV and a download site for the whole system refer to this page.


[Imprint] [Data Privacy Statement] [E-Mail]