Algebra of Monotonic Boolean Transformers
Conference paper
- 4 Citations
- 296 Downloads
Abstract
Algebras of imperative programming languages have been successful in reasoning about programs. In general an algebra of programs is an algebraic structure with programs as elements and with program compositions (sequential composition, choice, skip) as algebra operations. Various versions of these algebras were introduced to model partial correctness, total correctness, refinement, demonic choice, and other aspects. We introduce here an algebra which can be used to model total correctness, refinement, demonic and angelic choice. The basic model of our algebra are monotonic Boolean transformers (monotonic functions from a Boolean algebra to itself).
Keywords
Boolean Algebra Sequential Composition Dual Operator Total Correctness Monotonic Transformer
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Preview
Unable to display preview. Download preview PDF.
References
- 1.Back, R.-J.: On the correctness of refinement in program development. PhD thesis, Department of Computer Science, University of Helsinki (1978)Google Scholar
- 2.Back, R.-J.: Correctness preserving program refinements: proof theory and applications. Mathematical Centre Tracts, vol. 131. Mathematisch Centrum, Amsterdam (1980)zbMATHGoogle Scholar
- 3.Back, R.-J., Preoteasa, V.: An algebraic treatment of procedure refinement to support mechanical verification. Formal Aspects of Computing 17, 69–90 (2005)CrossRefzbMATHGoogle Scholar
- 4.Back, R.-J., von Wright, J.: A lattice-theoretical basis for a specification language. In: van de Snepscheut, J.L.A. (ed.) MPC 1989. LNCS, vol. 375, pp. 139–156. Springer, Heidelberg (1989)CrossRefGoogle Scholar
- 5.Back, R.-J., von Wright, J.: Duality in specification languages: a lattice-theoretical approach. Acta Inf. 27, 583–625 (1990)CrossRefzbMATHGoogle Scholar
- 6.Back, R.-J., von Wright, J.: Refinement Calculus. A systematic Introduction. Springer, Heidelberg (1998)CrossRefzbMATHGoogle Scholar
- 7.Dang, H.-H., Höfner, P., Möller, B.: Algebraic separation logic. Journal of Logic and Algebraic Programming 80(6), 221–247 (2011); Relations and Kleene Algebras in Computer ScienceCrossRefzbMATHGoogle Scholar
- 8.Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. ACM Trans. Comput. Logic 7, 798–833 (2006)CrossRefGoogle Scholar
- 9.Guerreiro, P.: Another characterization of weakest preconditions. In: Dezani-Ciancaglini, M., Montanari, U. (eds.) Programming 1982. LNCS, vol. 137, pp. 164–177. Springer, Heidelberg (1982), doi:10.1007/3-540-11494-7_12CrossRefGoogle Scholar
- 10.Hoare, C.A., Möller, B., Struth, G., Wehrman, I.: Concurrent kleene algebra. In: Bravetti, M., Zavattaro, G. (eds.) CONCUR 2009. LNCS, vol. 5710, pp. 399–414. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 11.Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580 (1969)CrossRefzbMATHGoogle Scholar
- 12.Kozen, D.: Kleene algebra with tests. ACM Trans. Program. Lang. Syst. 19, 427–443 (1997)CrossRefzbMATHGoogle Scholar
- 13.Martin, C.E., Curtis, S.A., Rewitzky, I.: Modelling angelic and demonic nondeterminism with multirelations. Science of Computer Programming 65(2), 140–158 (2007); Special Issue dedicated to selected papers from the conference of program construction 2004 (MPC 2004)CrossRefzbMATHGoogle Scholar
- 14.Meinicke, L., Solin, K.: Refinement algebra for probabilistic programs. Formal Aspects of Computing 22, 3–31 (2010), doi:10.1007/s00165-009-0111-1CrossRefzbMATHGoogle Scholar
- 15.Morgan, C.: Programming from specifications. Prentice-Hall, Inc., Englewood Cliffs (1990)zbMATHGoogle Scholar
- 16.Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL — A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
- 17.Preoteasa, V.: Program Variables – The Core of Mechanical Reasoning about Imperative Programs. PhD thesis, Turku Centre for Computer Science (November 2006)Google Scholar
- 18.Preoteasa, V.: Frame rule for mutually recursive procedures manipulating pointers. Theoretical Computer Science 410(42), 4216–4233 (2009)CrossRefzbMATHGoogle Scholar
- 19.Preoteasa, V., Back, R.-J.: Data refinement of invariant based programs. Electronic Notes in Theoretical Computer Science 259, 143–163 (2009); Proceedings of the 14th BCS-FACS Refinement Workshop (REFINE 2009)CrossRefzbMATHGoogle Scholar
- 20.Solin, K., von Wright, J.: Enabledness and termination in refinement algebra. Sci. Comput. Program. 74, 654–668 (2009)CrossRefzbMATHGoogle Scholar
- 21.von Wright, J.: From kleene algebra to refinement algebra. In: Boiten, E.A., Möller, B. (eds.) MPC 2002. LNCS, vol. 2386, pp. 233–262. Springer, Heidelberg (2002)CrossRefGoogle Scholar
- 22.von Wright, J.: Towards a refinement algebra. Sci. Comput. Program. 51, 23–45 (2004)CrossRefzbMATHGoogle Scholar
Copyright information
© Springer-Verlag Berlin Heidelberg 2011