Complex Theories (Modules CTH and DG)
In Section 15.6 we have presented a notion of theory and inheritance that is sufficient for simple applications like content dictionaries that informally (though presumably rigorously) define the static meaning of symbols. Experience in e.g. program verification has shown that this infrastructure is insufficient for large-scale developments of formal specifications, where reusability of formal components is the key to managing complexity. For instance, for a theory of rings we cannot simply inherit the same theory of monoids as both the additive and multiplicative structure.
In this chapter, we will generalize the inheritance relation from Section 15.6 to that of “theory inclusions”, also called “theory morphisms” or “theory interpretations” elsewhere [Far93]. This infrastructure allows to structure a collection of theories into a complex theory graph that particularly supports modularization and reuse of parts of specifications and theories. This gives rise to the name “complex theories” of the OMDoc module.
KeywordsComplex Theory Proof Obligation Target Theory Local Chain Constitutive Statement
Unable to display preview. Download preview PDF.