Dipartimento di Informatica e Scienze dell'Informazione
Relationships between Logical Frameworks
M. Cerioli .
PhD thesis, Universities of Genova, Pisa and Udine, 1993.
Available as internal report of Pisa University, TD-4/93.
Formal specifications are widely considered an important tool in software
specification, design and implementation.
As a result both of theoretical investigations and of preliminary attempts at
applications, a variety of specification formalisms have been considered.
This fragmentation of frames is conflicting with some essential
requirements of any specification formalism, ie the ability of supporting
modularity and refinement, which are clearly related to the problem of reuse of
specifications.
The central theme of this thesis is the independence of specifications and
results from the logical formalisms in which they are formulated.
A concrete motivating example of the need for a formal tool allowing
translation and comparison of specifications defined in different frameworks is
the debate about the algebraic specification of partial (higher-order)
functions. Indeed the relevance of such a problem is made obvious by the
wide use of partial operations in programming languages and their data types
and not only the scientific community didn't agree on what formalism is better,
but also the criteria for such a judgment are still under investigation.
After presenting a parade of different
formalisms proposed to define partial functions and in particular some recent
results about the partial paradigm, the concept of simulation
of a framework by another is introduced,
adopting the notion of institution as a synonym for logical formalism.
The basic idea of simulation is encoding the syntax, ie signatures and
sentences, of a new frame by that of an already known formalism in a way
consistent with the semantics, in order to transfer back results and tools.
Then simulations are used to investigate the relationships between frames,
first using the relationships between specifications of partiality in different
formalisms as a guide, and then applying the same technique to the
analogous problem of defining non-strict functions (like the ubiquitous
if_then_else).
Three levels can be distinguished (and formalize using simulations):
the``set-theoretic'', where the
individual models are related disregarding their categorical and
logical interconnection, the ``categorical'', where the relation is between the
categories of models, and the ``logical'', where the relation is between
specifications (or theories).
Moreover a general categorical construction is introduced,
that allows ``borrowing'' the logical tools of a framework to enrich another
framework lacking them, provided that an appropriate mapping between the
frameworks exists. This technique applies, in particular, to the translation
of inference systems along simulations (in a way that soundness and completeness
are preserved) and of proofs along maps of the underlying institutions
(entailment systems).
An instance of this technique builds an equationally complete inference system
for the partial higher-order specifications starting from an equationally
complete inference system for the first-order case.
Finally the notion of institution independent metalanguage, by Sannella
and Tarlecki, is refined in simulation independent metalanguage, allowing
specification defined in different institutions to be assembled to build
new specifications, and the concept of implementation is generalized, involving
models in two institutions; in this way specifications may be related that
belongs to different frames.
The compressed postscript version of the thesis is available through anonymous ftp
at ftp.disi.unige.it, in
/person/CerioliM/thesis92.ps.z
(488578 Kb)