# Demonic Algebra with Domain

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

## Abstract

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.

## Keywords

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.

## References

1. 1.
Backhouse, R.C., van der Woude, J.: Demonic operators and monotype factors. Mathematical Structures in Computer Science 3, 417–433 (1993)
2. 2.
Berghammer, R., Zierer, H.: Relational algebraic semantics of deterministic and nondeterministic programs. Theoretical Computer Science 43, 123–147 (1986)
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)
4. 4.
Conway, J.: Regular Algebra and Finite Machines. Chapman and Hall, London (1971)
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), http://www.ift.ulaval.ca/~Desharnais/Recherche/RR/DIUL-RR-0601.pdf
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)
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)
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)
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)
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)
17. 17.
Kozen, D.: A completeness theorem for Kleene algebras and the algebra of regular events. Information and Computation 110, 366–390 (1994)
18. 18.
Kozen, D.: Kleene algebra with tests. ACM Transactions on Programming Languages and Systems 19, 427–443 (1997)
19. 19.
Maddux, R.: Relation-algebraic semantics. Theoretical Computer Science 160, 1–85 (1996)
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), http://www-formal.stanford.edu/jmc/basis/basis.html
21. 21.
Möller, B.: Lazy Kleene algebra. In: Kozen, D. (ed.) MPC 2004. LNCS, vol. 3125, pp. 252–273. Springer, Heidelberg (2004)
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)
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)