A HOL4 formalization of a theory of specifications, components, contracts, and compositionality. The formalization largely follows a paper by Nyberg, Westman, and Gurov. Some parts build on an earlier formalization by Hedengran.
Requirements:
- Poly/ML 5.8.1 (or later)
- HOL4 kananaskis-14
The default Makefile task, which assumes Holmake
is available on the system, builds all core HOL4 theories:
make
folStringScript.sml
: first-order logic with string identifiersfolStringInterpScript.sml
: some simple first-order theories using string identifierscompSpecUtilityScript.sml
: some utility definitions and resultscompSpecScript.sml
: definition of abstract syntax for specifications, components, and predicates, and definition of proof systemcompSpecMetaScript.sml
: semantics and metatheory of specifications and components, including proof system soundnesscompSpecFolScript.sml
: interpretation as first-order theory