Abstract
The task of proving the correctness of an implementation w.r.t. a formal specification is sometimes complicated by the use of auxiliary (hidden) functions and sorts within the specification which are needed for the specification but are not meant to be implemented.
Auxiliary sorts and functions are the normal way to express requirements in abstract model specifications. Algebraic specifications became popular as a way to define the elements of a system without representing them in terms of more primitive concepts, avoiding the definition of any extra structure. However, it has been shown that hidden functions are in general necessary for specifying computable functions [Maj 77, TWW 79].
In this paper we analyze general proving techniques for specifications with hidden parts and, in particular, an strategy which is complete when some side conditions are met.
Supported by a grant from the Ministerio de Educación y Ciencia.
Preview
Unable to display preview. Download preview PDF.
References
R.Breu. A normal form for structured algebraic specifications. Internal report MIP-8917, Universität Pasau, 1989.
J.A. Bergstra, et al. On the power of algebraic specifications. Proc. 10th Symp. on Mathematical Foundations of Computer Science. LNCS 118, Springer 1981, p. 193–204.
J.A.Bergstra, J.Heering, P.Klint. Module algebra. Centrum voor Wiskunde en Informatica, Report CS-R8617, 1986.
H.Ehrig, B.Mahr. Fundamentals of algebraic specification 1: Equations and initial semantics. Springer, 1985.
J. Farrés-Casals. Proving correctness of constructor implementations. Proc. 14th Symp. on Mathematical Foundations of Computer Science, Porabka-Kozubnik. LNCS 379, p. 225–235, 1989. Extended version in LFCS Report Series 89–72, University of Edinburgh, 1989.
J.Farrés-Casals. Verification in ASL and related specification languages. Draft of forth-coming Ph.D. thesis, University of Edinburgh.
J. Goguen, R. Burstall. Introducing Institutions. Proc. Workshop on Logic of Programs. LNCS 140. Springer 1984. p. 221–256.
M.E. Majster. Limits of the algebraic specifications of abstract data types. ACM-Sigplan Notices 12 (1977), p.37–42.
D. Sannella, A. Tarlecki. Specifications in an arbitrary institution. Information and Computation 76 (1988), p. 165–210.
D. Sannella, A. Tarlecki. Towards formal development of programs from algebraic specifications: Implementations revisited. Acta Informatica 25 (1988), p. 233–281.
D. Sannella, M. Wirsing. A kernel language for algebraic specification and implementation. Proc. Intl. Conf. on Foundations of Computation Theory, Borgholm, Sweden. Springer LNCS 158, p. 413–427, 1983.
A. Tarlecki. Bits and pieces of the theory of institutions. Proc. Intl. Workshop on Category Theory and Computer Programming, Guildford 1985, eds. D. Pitt, S. Abramsky, A. Poigné and D. Rydeheard, Springer LNCS 240, p.334–363, 1986.
J.W. Thatcher, E.G. Wagner, J.B. Wright. Data type specification: Parameterization and the power of specification techniques. In SIGACT 10th Annual Symp. on the Theory of Computation, 1979. Also in, ACM TOPLAS 4, p. 711–732, 1982.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Farrés-Casals, J. (1990). Proving correctness w.r.t. specifications with hidden parts. In: Kirchner, H., Wechler, W. (eds) Algebraic and Logic Programming. ALP 1990. Lecture Notes in Computer Science, vol 463. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53162-9_28
Download citation
DOI: https://doi.org/10.1007/3-540-53162-9_28
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53162-3
Online ISBN: 978-3-540-46738-0
eBook Packages: Springer Book Archive