Abstract
Using 2-categorical laws of algorithmic refinement, we show soundness of data refinement for stored programs and hence for higher order procedures with value/result parameters. The refinement laws hold in a model that slightly generalizes the standard predicate transformer semantics for the usual imperative programming constructs including prescriptions.
Similar content being viewed by others
References
Abramsky, S.: Domain theory in logical form.Annals of Pure and Applied Logic, 51:1–77, 1991.
Back, R.J.R.: Correctness preserving program refinements: Proof theory and applications. Technical Report Tract 131, CWI, 1980.
Back, R.J.R. and Butler, M.J.: Exploring summation and product operators in the refinement calculus. Technical Report on Computer Science & Mathematics, Ser. A, No. 152, Abo Akademi, September 1994. Available from ftp://ftp.abo.fi/pub/cs/techreports/reports/A94-152.ps.Z.
Bonsangue, M. and Kok, J. N.: Isomorphisms between predicate and state transformers. InMFCS, pages 301–310. Springer LNCS 711, 1993.
Betti, R. and Power, A.J.: On local adjointness of distributive bicategories.Bolletino U.M.I., 7:931–947, 1988.
Chen, W. and Udding, J.T.: Towards a calculus of data refinement. InProceedings, Mathematics of Program Construction, pages 197–218, 1989. LNCS 375.
De Moor, O.: Inductive data types for predicate transformers.Information Processing Letters, 43(3):113–118, 1992.
Gardiner, P. and Morgan, C.: Data refinement of predicate transformers.Theoretical Computer Science, 87:143–162, 1991.
Gardiner, P.H.B., Martin, C.E. and de Moor, O.: An algebraic construction of predicate transformers.Science of Computer Programming, 22:21–44, 1994.
Hoare, C.A.R. and He, J.: Data refinement in a categorical setting. Technical Monograph PRG-PRG-90, November 1990.
Hoare, C.A.R.: Proofs of correctness of data representations.Acta Informatica, 1:271–281, 1972.
Kelly, G.M.:Basic Concepts of Enriched Category Theory, volume 64 ofLondon Mathematical Society Lecture Notes. Cambridge, 1982.
Kinoshita, Y. and Power, J.: Enriched categories and data refinement. Technical Report 94-23, University of Edinburgh Department of Computer Science, 1994.
Martin, C.E.: Preordered categories and predicate transformers. Dissertation, Oxford University, 1991.
Mitchell, J.C.: Type systems for programming languages. In J. van Leeuwen, editor,Handbook of Theoretical Computer Science, pages 365–458. MIT Press/Elsevier, 1990.
Morris, J.M.: Laws of data refinement.Acta Informatica, 26:287–308, 1989.
Morgan, C.:Programming from Specifications, second edition. Prentice Hall, 1994.
Naumann, D.A.: Predicate transformers and higher order programs.Theoretical Computer Science, 1992. To appear.
Naumann, D.A.: Two-categories and program structure: Data types, refinement calculi, and predicate transformers. Dissertation, University of Texas at Austin, 1992.
Naumann, D.A.: Categorical models of higher order imperative programming. Typescript, 1994.
Naumann, D.A.: Predicate transformer semantics of an Oberon-like language. In ErnstRüdiger Olderog, editor,Programming Concepts, Methods and Calculi, IFIP Transactions A-56. Elsevier, 1994.
Naumann, D.A.: A recursion theorem for predicate transformers on inductive data types.Information Processing Letters, 50:329–336, 1994.
O'Hearn, P.W. and Tennant, R.D.: Relational parametricity and local variables (preliminary report). InProceedings, Twentieth POPL, pages 171–184, 1993.
Pierce, B.C.:Basic Category Theory for Computer Scientists. MIT, 1991.
Plotkin, G.: Post-graduate lecture notes in advanced domain theory. Typescript, 1981.
Power, A.J.: An algebraic formulation for data refinement. InProceedings, 5th International Conf. on Mathematical Foundations of Programming Semantics, pages 390–401, 1989. LNCS 442.
Smyth, M.B.: Power domains and predicate transformers: A topological view. InICALP, 1983. LNCS 154.
Tennant, R.D.: Correctness of data representations in Algol-like languages. In A.W. Roscoe, editor,A Classical Mind: Essays Dedicated to C.A.R. Hoare. Prentice-Hall, 1994.
Vickers, S.:Topology Via Logic. Cambridge, 1989.
Author information
Authors and Affiliations
Additional information
Partially supported by a Southwestern University Cullen Foundation grant.
Rights and permissions
About this article
Cite this article
Naumann, D.A. Data refinement, call by value and higher order programs. Formal Aspects of Computing 7, 652–662 (1995). https://doi.org/10.1007/BF01210999
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01210999