Abstract
In this paper, a small but expressive language is presented that allows to write algebraic specifications in a structured and modular way. Proof rules are developed for each construct of the language; in particular, proof systems are given for flat specifications, for structured specifications and the verification of implementations. The language consists of four constructs: one for constructing a flat specification (from a signature and a set of axioms) and three operators for exporting a subsignature, for renaming and for combining specifications.
The proof system for flat specifications extends the proof rules of first-order logic by an infinitary rule for relativized quantification w.r.t. standard interpretations of term generated models. Two different techniques for proving the validity of a formula in modular specifications are studied: The first one consists in constructing an equivalent normal form of a structured specification and using a proof system for normal forms, whereas in the second one proofs follow the syntactic structure of the specifications. Finally, a system for proving that a specification is a refinement of another specification is established
All proof systems are shown to be sound and relatively complete.
This work has been partially sponsored by the ESPRIT working group COMPASS and the DFG project SPECTRUM.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
F.L. Bauen Algorithmische Sprachen. Vorlesungsskriptum, 1977, 197–198.
F.L. Bauer, H. Wössnen Algorithmic language and program development. Springer, Berlin, 1982.
J.A. Bergstra, J. Heering, P. Klint: Module algebra. J. ACM 37, 1990, 335–372.
R. Breu: A normal form for structured algebraic specifications. Technical Report, Universität Passau, MIP-8917, 1989.
M. Broy, P. Pepper, M. Wirsing: On relations between programs. In: B. Robinet (ed.): Proc. of the 4th International Symposium on Programming, Paris, Lecture Notes in Computer Science 83. Berlin, Springer, 1980, 59–78.
C.C. Chang, H.J. Keislen Model Theory. Amsterdam, North-Holland, 3rd edition, 1990.
N. Dershowitz, J.-P. Jouannaud: Rewriting systems. In: J. van Leeuwen (ed.): Handbook of Theoretical Computer Science, Vol. B, Amsterdam, North-Holland, 1990.
H. Ehrig, H.-J. Kreowski, B. Mahr, P. Padawitz: Algebraic implementations of abstract data types. Theor. Comput. Sci. 20, 1982, 209–263.
J. Fanes-Casals: Proving correctness of constructor implementations. University of Edinburgh, Dept. of Computer Science, LFCS-Report Series, ECS-LFCS-89-72, 1989.
A. Geser, H. Hußmann: Experiences with the RAP-system — a specification interpreter combining term rewriting and resolution. In: B. Robinet, R, Wilhelm (eds.): ESOP 86. Lecture Notes in Computer Science 213, Berlin, Springer, 1986, 339–350.
R. Harper, D.T. Sannella, A. Tarlecki: Structure and representation in LF. Proc. 4th IEEE Symp. on Logic in Computer Science, Asilomar, 1989, 226–237.
R. Hennicken Observational implementations. In: B. Monien, R. Cori (eds.): Proc. STACS ′89. Lecture Notes in Computer Science 349, Springer, Berlin, 1989, 59–71.
GAU. Hoare: An axiomtic basis for computer programming, Comm. ACM 12, 1969, 576–583.
J. Leszczylowski, M. Wirsing: A system for reasoning within and about algebraic specifications. In: M. Dezani-Ciancaglini, U. Montanari (eds.): 5th International Symposium on Programming, Lecture Notes on Computer Science 137, Berlin, Springer, 1982, 257–282.
P. Padawitz: Computing in Horn Clause Theories: EATCS Monographs on Theoretical Computer Science 16, Berlin, Springer, 1988.
D.T. Sannella, R.M. Burstall: Structured theories in LCF. In: G. Ausiello, M. Protasi (eds.): 8th CAAP, L’Aquila. Lecture Notes in Computer Science 159, Berlin, Springer, 1983, 377–391.
D.T. Sannella, A. Tarlecki: Towards a formal development of programs for algebraic specifications: Implementations revisited. Acta Informatica 25, 1988, 233–281.
D. Sannella, M. Wirsing: A kernel language for algebraic specification and implementation. In: M. Karpinski (ed.): Colloquium on Foundations of Computation Theory. Lecture Notes in Computer Science 158, Berlin, Springer, 1983, 413–427.
M. Wirsing, M. Broy: A modular framework for algebraic specification and implementation. Invited Paper. In: J. Diaz, F. Orejas (eds.): TAPSOFT 89, Lecture Notes in Computer Science, Nr. 351, Berlin: Springer, 1989, 42–73.
M. Wirsing: Algebraic Specification. In: J. van Leeuwen (ed.): Handbook of Theoretical Computer Science, Vol. B, Amsterdam, Elsevier, 1990, 677–788.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wirsing, M. (1993). Structured Specifications: Syntax, Semantics and Proof Calculus. In: Bauer, F.L., Brauer, W., Schwichtenberg, H. (eds) Logic and Algebra of Specification. NATO ASI Series, vol 94. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-58041-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-58041-3_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-63448-2
Online ISBN: 978-3-642-58041-3
eBook Packages: Springer Book Archive