Skip to main content
Log in

Toupie: The µ-calculus over Finite Domains as a Constraint Language

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

In this paper, we report experiments we did with the constraint languageToupie. Toupie is a finite-domain µ-calculus interpreter. In additionto classical functionalities of a finite-domain constraint solver, itprovides a full universal quantification, and relations(predicates/constraints) can be defined as least or greatest fixpoints ofequations. This expressiveness is coupled with a practical efficiency thatcomes from the management of relations via decision diagrams. We advocatethe use of this paradigm to model and solve efficiently difficult constraintproblems such as the computation of properties of finite-state machines andthe implementation of abstract interpretation algorithms for logic languages.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Arnold, A.: MEC: A system for constructing and analysing transition systems, in J. Sifakis (ed.), Proceedings of the International Workshop on Automatic Verification Methods for Finite State Systems, LNCS, 407, Springer-Verlag, June 1989.

  2. Arnold, A.: Finite Transition Systems, Prentice-Hall, C.A.R Hoare, 1994, ISBN 0-13-092990-5.

    Google Scholar 

  3. Arnold, A. and Nivat, M.: Comportements de processus, in Colloque AFCET ‘Les Mathématiques de l’informatique’, 1982.

  4. Billon, J. P.: Perfect Normal Forms for Discrete Functions, Technical Report DSG/CRG/87014, Centre de Recherche, BULL, 1987.

  5. Bouali, A.: Études et mises en oeuvre d’outils de vérification basée sur la bisimulation, Ph.D. Thesis, Université Paris VII, 03 1993 (in French).

  6. Brace, K., Rudell, R. and Bryant, R.: Efficient implementation of a BDD package, in Proceedings of the 27th ACM/IEEE Design Automation Conference, IEEE 0738, 1990.

  7. Brlek, S. and Rauzy, A.: Synchronization of constrained transition systems, in H. Hong (ed.), Proceedings of the First International Symposium on Parallel Symbolic Computation (PASCO’ 94), World Scientific Publishing, Linz, Ostreich, 1994, pp. 54–62.

    Google Scholar 

  8. Bryant, R.: Graph based algorithms for Boolean function manipulation, IEEE Transactions on Computers 35(1986), 677–691.

    Google Scholar 

  9. Bryant, R.: Symbolic Boolean manipulation with ordered binary decision diagrams, ACM Computing Surveys(1992).

  10. Buettner, W.: Unification in finite algebras is unitary (?), in Proceedings of 9th International Conference on Automated Deduction, CADE’9, LNCS 310, 1998, pp. 368–377.

  11. Buettner, W.: Implementing complex domains of application in an extended Prolog system, Journal of General System 15(1989), 129–139.

    Google Scholar 

  12. Buettner, W. and Simonis, H.: Embedding Boolean expressions into logic programming, Journal of Symbolic Computation 4(1987), 191–205.

    Google Scholar 

  13. Burch, J. R., Clarke, E. M., McMillan, K. L., Dill, D. L. and Hwang, J. L.: Symbolic model checking: 1020 states and beyond, Information and Computation 98(2) (1992), 142–170.

    Google Scholar 

  14. Chandru, V. and Hooker, J. N.: Detecting embedded Horn structure in propositional logic, Information Processing Letters 42(1992), 109–111.

    Google Scholar 

  15. Le Charlier, B. and van Hentenryck, P.: Groundness analysis for Prolog: Implementation and evaluation of the domain prop, in Proceedings of the 1993 ACM Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM’93), 1993.

  16. Clarke, E. M., Emmerson, E. A. and Sistla, A. P.: Automatic verification of finite state concurrent systems using temporal logic specifications, ACM Trans. on Prog. Lang. Syst. 8(1986), 244–263.

    Google Scholar 

  17. Cleaveland, R., Klein, M. and Steffen, B.: Faster model checking for the modal mu-calculus, in G. C. Bochmann and D. K. Probst (eds), Proceedings of the Fourth International Workshop on Computer Aided Verification, CAV’92, LNCS 663, Springer-Verlag, 1992, pp. 410–422.

  18. Cleaveland, R., Parrow, J. and Steffen, B.: The concurrency workbench: A semantics-based tool for the verification of concurrent systems, ACM Trans. on Prog. Lang. Syst. 15(1) (1993), 36–72.

    Google Scholar 

  19. Codish, M. and Demoen, B.: Analysing logic programs using prop-ositional logic programs and a magic wand, in Proceedings of ILPS’93, 1993.

  20. Codognet, P. and Filè, G.: Computations, abstractions and constraints in logic programs, in Proceedings of the IEEE International Conference on Computer Languages, ICCL’92, IEEE Press, 1992.

  21. Colmerauer, A.: An introduction to PrologIII, Communications of the ACM 28(4), July 1990.

  22. Corsini, M.-M., Le Charlier, B., Musumbu, K. and Rauzy, A.: Efficient abstract interpretation of Prolog programs by means of constraint solving over finite domains (extended abstract), in Proceedings of the 5th Int. Symposium on Programming Language Implementation and Logic Programming, PLILP’93, LNCS 714, Tallin, Estonia, 1993.

  23. Corsini, M.-M., Griffault, A. and Rauzy, A.: Yet another application for Toupie: Verification of mutual exclusion algorithms, in A. Voronkov (ed.), Proceedings of Logic Programming and Automated Reasonning, LPAR’93, LNAI 698, 1993, pp. 86–97.

  24. Corsini, M.-M. and Rauzy, A.: Symbolic model checking and constraint logic programming: A cross-fertilization, in Don Sannella (ed.), Proceedings of the European Symposium on Programming ESOP’94, LNCS 788, 1994.

  25. Cortesi, A., Filè, G. and Winsborough, W.: Prop revisited: Propositional formula as abstract domain for groundness analysis, in Proceedings of the Sixth Annual IEEE Symposium on Logic in Computer Science (LICS’91), 1991.

  26. Cousot, P. and Cousot, R.: Abstract interpretation and application to logic programs, Journal of Logic Programming 13(2–3) (1992).

  27. Cubadda, C. and Mousseigne, M.-D.: Variantes de l’algorithme de SL-Resolution avec retenue d’informations, Ph.D. Thesis, Université d’Aix-Marseille II, Faculté de Luminy, Laboratoire A.P.I., 1989.

  28. Davis, M., Logemann, G. and Loveland, D.: A machine program for theorem proving, JACM 5(1962), 394–397.

    Google Scholar 

  29. de Simone, R. and Vergamini, D.: Aboard Auto, Technical Report RT 111, INRIA Sophia Antipolis, 1989.

  30. Emerson, E. A.: Temporal and modal logic, in J. Van Leeuwen (ed.), Handbook of Theoretical Computer Science, Vol. B, Elsevier, 1990, pp. 995–1071.

  31. Enders, R., Filkorn, T. and Taubner, D.: Generating BDDs for symbolic model checking in CCS, Journal of Distributed Computing 6(1993), 155–164.

    Google Scholar 

  32. Fernandez, J. C.: An implementation of an efficient algorithm for bisimulation equivalence, Science of Computer Programming 13(1989), 219–236.

    Google Scholar 

  33. Gallagher, J. P. and de Waal, D. A.: Regular Approximations of Logic Programs and Their Uses. Technical Report CSTR-92-06, Computer Science Department of Bristol University, March 1992.

  34. Giacobazzi, R., Debray, S. and Levi, G.: A generalized semantics for constraint logic programs, in Proceedings of FGCS’92, 1992, pp. 581–591.

  35. Halbwachs, N.: Delay analysis in synchronous programs, in Proceedings of the 5th International Conference on Computer Aided Verification CAV’93, LNCS 697, Springer-Verlag, June 1993.

  36. Hennessy, M. and Milner, R.: Algebraic laws for non-determinism and concurrency, J. Assoc. Comput. Mach. 32(1985), 137–161.

    Google Scholar 

  37. Hermenegildo, M., Warren, R. and Debray, S.: Global flow analysis as a practical compilation tool, Journal of Logic Programming 13(4) (1992), 349–367.

    Google Scholar 

  38. Immerman, N.: Relational queries computable in polynomial time, Information and Control 68(1986), 86–104.

    Google Scholar 

  39. Ip, C.-W. N. and Dill, D. L.: Better verification through symmetry, in Proceedings of the13th International Conference on Computer Hardware Description Language, 1993, pp. 87–100.

  40. Jaffar, J. and Lassez, J. L.: Constraint logic programming, in Proceedings of the14th ACM Symposium on Principles of Programming Languages, POPL’87, 1987, pp. 111–119.

  41. Laurière, J. L.: A language and a program for stating and solving combinatorial problems, Artificial Intelligence 10(1) (1978), 29–127.

    Google Scholar 

  42. Lhomme, O.: Consistency techniques for numeric CSPs, in Proceedings of the13th International Conference on Artificial Intelligence, IJCAI’93, 1993, pp. 232–238.

  43. Loyd, J. W.: Foundations of Logic Programming, Symbolic Computation, Springer-Verlag, 1984.

  44. Marriott, K. and Søndergaard, H.: Abstract interpretation of logic programs: The denotational approach, in Proceedings of the Quarto Convegno sulla Programmazione Logica, 1990.

  45. MacMillan, K.: Symbolic Model Checking, Kluwer Academic Publishers, Boston, Dordrecht, London, 1993.

    Google Scholar 

  46. Milner, R.: A Calculus of Communicating Systems, LNCS, Springer-Verlag, Berlin, 1980.

    Google Scholar 

  47. Milner, R.: Communication and Concurrency, Prentice-Hall, New York, 1989.

    Google Scholar 

  48. Montanari, U. and Rossi, F.: Proceedings of the First International Conference on Principles and Practice of Constraint Programming, CP’95, LCNS 976, Springer-Verlag, 1995.

  49. Papadimitriou, C. H.: Computational Complexity, Addison Wesley, 1994.

  50. Park, D.: Fixpoint induction and proofs of program properties, Machine Intelligence 5(1970).

  51. Rauzy, A.: Aulne Version 0.2: User’s Guide, Technical Report 834-94, LaBRI–URA CNRS 1304–Université Bordeaux I, 1994.

  52. Srinivasan, A., Kam, T., Malik, S. and Brayton, R. K.: Algorithms for discrete function manipulation, in Proceedings of International Conference on Computer Aided Design, ICCAD’90, IEEE, 1990, pp. 92–95.

  53. Tarski, A.: A lattice-theoretical fixpoint theorema and its applications, Pacific. J. Math. 5 (1955), 285–309.

    Google Scholar 

  54. van Hentenryck, P.: Constraint Satisfaction in Logic Programming, Logic Programming Series, MIT Press, 1989.

  55. Waltz, D. L.: Generating semantic descriptions for drawings of scenes with shadows, in P. H. Winston (ed.), The Psychology of Computer Vision, McGraw Hill, 1975, pp. 19–91.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Corsini, MM., Rauzy, A. Toupie: The µ-calculus over Finite Domains as a Constraint Language. Journal of Automated Reasoning 19, 143–171 (1997). https://doi.org/10.1023/A:1005732517165

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1005732517165

Navigation