Demonic Algebra with Domain

  • Jean-Lou De Carufel
  • Jules Desharnais
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4136)


We first recall the concept of Kleene algebra with domain (KAD). Then we explain how to use the operators of KAD to define a demonic refinement ordering and demonic operators (many of these definitions come from the literature). Then, taking the properties of the KAD-based demonic operators as a guideline, we axiomatise an algebra that we call Demonic algebra with domain (DAD). The laws of DAD not concerning the domain operator agree with those given in the 1987 CACM paper Laws of programming by Hoare et al. Finally, we investigate the relationship between demonic algebras with domain and KAD-based demonic algebras. The question is whether every DAD is isomorphic to a KAD-based demonic algebra. We show that it is not the case in general. However, if a DAD \(\mathcal{D}\) is isomorphic to a demonic algebra based on a KAD \(\mathcal{K}\), then it is possible to construct a KAD isomorphic to \(\mathcal{K}\) using the operators of \(\mathcal{D}\). We also describe a few open problems.


Partial Order Boolean Algebra Iteration Operator Domain Operator Relation Algebra 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Backhouse, R.C., van der Woude, J.: Demonic operators and monotype factors. Mathematical Structures in Computer Science 3, 417–433 (1993)CrossRefMATHGoogle Scholar
  2. 2.
    Berghammer, R., Zierer, H.: Relational algebraic semantics of deterministic and nondeterministic programs. Theoretical Computer Science 43, 123–147 (1986)CrossRefMathSciNetMATHGoogle Scholar
  3. 3.
    Cohen, E.: Separation and reduction. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 45–59. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  4. 4.
    Conway, J.: Regular Algebra and Finite Machines. Chapman and Hall, London (1971)MATHGoogle Scholar
  5. 5.
    De Carufel, J.L., Desharnais, J.: Demonic algebra with domain. Research report DIUL-RR-0601, Département d’informatique et de génie logiciel, Université Laval, Canada (2006),
  6. 6.
    Desharnais, J., Belkhiter, N., Sghaier, S., Tchier, F., Jaoua, A., Mili, A., Zaguia, N.: Embedding a demonic semilattice in a relation algebra. Theoretical Computer Science 149, 333–360 (1995)CrossRefMathSciNetMATHGoogle Scholar
  7. 7.
    Desharnais, J., Mili, A., Nguyen, T.: Refinement and demonic semantics. In: Brink, C., Kahl, W., Schmidt, G. (eds.) Relational Methods in Computer Science, pp. 166–183. Springer, Heidelberg (1997)Google Scholar
  8. 8.
    Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. Technical Report 2003-7, Institut für Informatik, Augsburg, Germany (2003)Google Scholar
  9. 9.
    Desharnais, J., Möller, B., Struth, G.: Modal Kleene algebra and applications — a survey. JoRMiCS — Journal on Relational Methods in Computer Science 1, 93–131 (2004)Google Scholar
  10. 10.
    Desharnais, J., Möller, B., Struth, G.: Kleene algebra with domain. ACM Transactions on Computational Logic (2006) (to appear)Google Scholar
  11. 11.
    Desharnais, J., Möller, B., Tchier, F.: Kleene under a demonic star. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 355–370. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Desharnais, J., Möller, B., Tchier, F.: Kleene under a modal demonic star. Journal of Logic and Algebraic Programming, Special issue on Relation Algebra and Kleene Algebra 66, 127–160 (2006)MATHGoogle Scholar
  13. 13.
    Hoare, C.A.R., Hayes, I.J., Jifeng, H., Morgan, C.C., Roscoe, A.W., Sanders, J.W., Sorensen, I.H., Spivey, J.M., Sufrin, B.A.: Laws of programming. Communications of the ACM 30, 672–686 (1987)CrossRefMATHGoogle Scholar
  14. 14.
    Hoare, C.A.R., Jifeng, H.: Unifying Theories of Programming. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1998)Google Scholar
  15. 15.
    Höfner, P., Möller, B., Solin, K.: Omega algebra, demonic refinement algebra and commands. These proceedingsGoogle Scholar
  16. 16.
    Kahl, W.: Parallel composition and decomposition of specifications. Information Sciences 139, 197–220 (2001)CrossRefMathSciNetMATHGoogle Scholar
  17. 17.
    Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation 110, 366–390 (1994)CrossRefMathSciNetMATHGoogle Scholar
  18. 18.
    Kozen, D.: Kleene algebra with tests. ACM Transactions on Programming Languages and Systems 19, 427–443 (1997)CrossRefGoogle Scholar
  19. 19.
    Maddux, R.: Relation-algebraic semantics. Theoretical Computer Science 160, 1–85 (1996)CrossRefMathSciNetMATHGoogle Scholar
  20. 20.
    McCarthy, J.: A basis for a mathematical theory of computation. In: Braffort, P., Hirschberg, D. (eds.) Computer Programming and Formal Systems, North-Holland, Amsterdam, pp. 33–70. North-Holland, Amsterdam (1963), CrossRefGoogle Scholar
  21. 21.
    Möller, B.: Lazy Kleene algebra. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 252–273. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  22. 22.
    Solin, K., von Wright, J.: Refinement algebra with operators for enabledness and termination. In: Uustalu, T. (ed.) MPC 2006. LNCS, vol. 4014, Springer, Heidelberg (2006)CrossRefGoogle Scholar
  23. 23.
    Tchier, F., Desharnais, J.: Applying a generalisation of a theorem of Mills to generalised looping structures. In: Colloquium on Science and Engineering for Software Development, organised in the memory of Dr. Harlan D. Mills, and affiliated to the 21st International Conference on Software Engineering, Los Angeles, pp. 31–38 (1999)Google Scholar
  24. 24.
    von Wright, J.: Towards a refinement algebra. Science of Computer Programming 51, 23–45 (2004)CrossRefMathSciNetMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jean-Lou De Carufel
    • 1
  • Jules Desharnais
    • 1
  1. 1.Département d’informatique et de génie logicielUniversité LavalQuébecCanada

Personalised recommendations