Developing structured libraries using the Focal environment

  • Authors:
  • Nicolas Bertaux;David Delahaye

  • Affiliations:
  • CEDRIC/CNAM, Paris Cedex, France;CEDRIC/CNAM, Paris Cedex, France

  • Venue:
  • Proceedings of the 1st Workshop on Modules and Libraries for Proof Assistants
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce the Focal environment, which is an integrated development environment, offering functional and object-oriented features, and designed to build certified components using theorem proving. In Focal, inheritance provides a suitable notion of refinement, allowing us to go step by step (in an incremental approach) from abstract specifications to concrete implementations while proving that these implementations meet their specifications or design requirements. In addition, inheritance and parameterization offer a high level of reusability. To highlight these features, we present a survey of Focal, with a complete example of formalization in support. Finally, Focal is equipped with a compiler producing OCaml code for execution and Coq code for certification, and we also propose a compilation scheme based on modules, which is supposed to be an alternative to the current scheme using records and aims to provide a higher level view of compiled specifications supplying in particular traceability. This compilation scheme is not only described through an example, but also formally.