Abstract
The standard operation refinement ordering is a kind of “meet of opposites”: non-determinism reduction suggests “smaller” behaviour while increase of definition suggests “larger” behaviour. Groves’ factorization of this ordering into two simpler relations, one per refinement concern, makes it more mathematically tractable but is far from fully exploited in the literature. We present a pointfree theory for this factorization which is more agile and calculational than the standard set-theoretic approach. In particular, we show that factorization leads to a simple proof of structural refinement for arbitrary parametric types and exploit factor instantiation across different subclasses of (relational) operation. The prospect of generalizing the factorization to coalgebraic refinement is discussed.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aarts, C., Backhouse, R., Hoogendijk, P., Voermans, E., van der Woude, J.: A relational theory of datatypes (December 1992), available from: www.cs.nott.ac.uk/~rcb/papers
Backhouse, K., Backhouse, R.C.: Safety of abstract interpretations for free, via logical relations and Galois connections. Sci. of Comp. Programming 15(1–2), 153–196 (2004)
Backhouse, R.C.: Mathematics of Program Construction. Univ. of Nottingham, Draft of book in preparation, 608 pages (2004)
Barbosa, L.S., Oliveira, J.N.: Transposing partial components — an exercise on coalgebraic refinement. Technical report, DI/UM (September 2005) (submited)
Bird, R., de Moor, O.: Algebra of Programming. In: Hoare, C.A.R. (ed.) Series in Computer Science. Prentice-Hall Int., Englewood Cliffs (1997)
Boudriga, N., Elloumi, F., Mili, A.: On the lattice of specifications: Applications to a specification methodology. Formal Asp. Comput. 4(6), 544–571 (1992)
de Roever, W.-P., Engelhardt, K., Coenen, J., Buth, K.-H., Gardiner, P., Lakhnech, Y., Stomp, F.: Data Refinement Model-Oriented Proof methods and their Comparison. Cambridge University Press, Cambridge (1999)
Deutsch, M., Henson, M., Reeves, S.: Modular reasoning in Z: scrutinising monotonicity and refinement. Formal Asp. Comput. (under consideration for publication, 2006)
Frappier, M.: A Relational Basis for Program Construction by Parts. PhD thesis, University of Ottawa (1995)
Groves, L.: Refinement and the Z schema calculus. ENTCS 70(3) (2002); Extended version available as Vict. Univ. of Wellington, CS Tech. Report CS-TR-02-31
He, J., Hoare, C.A.R., Sanders, J.W.: Data refinement refined. In: Robinet, B., Wilhelm, R. (eds.) ESOP 1986. LNCS, vol. 213, pp. 187–196. Springer, Heidelberg (1986)
Hoogendijk, P.: A Generic Theory of Data Types. PhD thesis, Univ. Eindhoven, NL (1997)
Jones, C.B.: Software Development — A Rigorous Approach. In: Hoare, C.A.R. (ed.) Series in Computer Science. Prentice-Hall Int., Englewood Cliffs (1980)
Kahl, W.: Refinement and development of programs from relational specifications. ENTCS 44(3), 4.1–4.43 (2003)
Kreyszig, E.: Advanced Engineering Mathematics, 6th edn. John Wiley & Sons Inc., Chichester (1988)
Meng, S., Barbosa, L.S.: On refinement of generic state-based software components. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 506–520. Springer, Heidelberg (2004)
Morgan, C.: Programming from Specification. In: Hoare, C.A.R. (ed.) Series in Computer Science, 3rd edn. Prentice-Hall Int., Englewood Cliffs (1998)
Mu, S.-C., Bird, R.S.: Inverting functions as folds. In: Boiten, E.A., Möller, B. (eds.) MPC 2002. LNCS, vol. 2386, pp. 209–232. Springer, Heidelberg (2002)
Oliveira, J.N., Rodrigues, C.J.: Transposing relations: From maybe functions to hash tables. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 334–356. Springer, Heidelberg (2004)
Rodrigues, C.J.: Reificação e cálculos de reificação. Technical report, Universidade do Minho (April 1995) (in Portuguese)
Rodrigues, C.J.: Software Refinement by Calculation. PhD thesis, Departamento de Informática, Universidade do Minho (forthcoming, 2006)
Spivey, J.M.: The Z Notation — A Reference Manual. In: Hoare, C.A.R. (ed.) Series in Computer Science. Prentice-Hall Int., Englewood Cliffs (1989)
Woodcock, J., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice-Hall, Inc., Upper Saddle River (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Oliveira, J.N., Rodrigues, C.J. (2006). Pointfree Factorization of Operation Refinement. In: Misra, J., Nipkow, T., Sekerinski, E. (eds) FM 2006: Formal Methods. FM 2006. Lecture Notes in Computer Science, vol 4085. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11813040_17
Download citation
DOI: https://doi.org/10.1007/11813040_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37215-8
Online ISBN: 978-3-540-37216-5
eBook Packages: Computer ScienceComputer Science (R0)