Normalizable Horn Clauses, Strongly Recognizable Relations, and Spi

  • Flemming Nielson
  • Hanne Riis Nielson
  • Helmut Seidl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2477)


We exhibit a rich class of Horn clauses, which we call \( \mathcal{H}_{\text{1}} \), whose least models, though possibly infinite, can be computed effectively. We show that the least model of an \( \mathcal{H}_{\text{1}} \) clause consists of so-called strongly recognizable relations and present an exponential normalization procedure to compute it. In order to obtain a practical tool for program analysis, we identify a restriction of \( \mathcal{H}_{\text{1}} \) clauses, which we call \( \mathcal{H}_{\text{2}} \), where the least models can be computed in polynomial time. This fragment still allows to express, e.g., Cartesian product and transitive closure of relations. Inside \( \mathcal{H}_{\text{2}} \), we exhibit a fragment \( \mathcal{H}_{\text{3}} \) where normalization is even cubic. We demonstrate the usefulness of our approach by deriving a cubic control-flow analysis for the Spi calculus [1] as presented in [14].


Program analysis uniform Horn clauses strongly recognizable relations Spi calculus 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    M. Abadi and A.D. Gordon. A Calculus for Cryptographic Protocols-The Spi Calculus. Information and Computation, 148:1–70, January 1999.Google Scholar
  2. 2.
    A. Aiken. Introduction to Set Constraint-Based Program Analysis. Science of Computer Programming (SCP), 35(2):79–111, 1999.zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    D.A. Basin and H. Ganzinger. Complexity Analysis Based on Ordered Resolution. Journal of the ACM, 48(1):70–109, 2001.CrossRefMathSciNetGoogle Scholar
  4. 4.
    W. Charatonik and A. Podelski. Set Constraints with Intersection. In 12th Ann. IEEE Symp. on Logic in Computer Science (LICS), 362–372, 1997.Google Scholar
  5. 5.
    H. Comon, M. Dauchet, R. Gilleron, F. Jacquemard, D. Lugiez, S. Tison, and M. Tommasi. Tree Automata Techniques and Applications. Available on:, 1999.
  6. 6.
    T. Frühwirth, E. Shapiro, M. Vardi, and E. Yardeni. Logic Programs as Types of Logic Programs. In 6th Symp. on Logic in Computer Science (LICS), 300–309, 1991.Google Scholar
  7. 7.
    H. Ganzinger and D.A. McAllester. A New Meta-complexity Theorem for Bottom-Up Logic Programs. In First Int. Joint Conference on Automated Reasoning (IJ-CAR), 514–528. LNCS 2083, 2001.Google Scholar
  8. 8.
    N. Heintze and J. Jaffar. A Decision Procedure for a Class of Set Constraints. In 5th Ann. IEEE Symp. on Logic in Computer Science (LICS), 42–51, 1990.Google Scholar
  9. 9.
    N.D. Jones and S.S. Muchnick. Complexity of Flow Analysis, Inductive Assertion Synthesis, and a Language due to Dijkstra. In Steven S. Muchnick and Neil D. Jones, editors, Program Flow Analysis: Theory and Applications, chapter 12, 380–393. Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1981.Google Scholar
  10. 10.
    D. Lugiez and P. Schnoebelen. Decidable First-Order Transition Logics for PA-Processes. In 27th Int. Coll. on Automata, Languages and Programming (ICALP), 342–353. LNCS 1853, 2000.CrossRefGoogle Scholar
  11. 11.
    D. McAllester. On the Complexity Analysis of Static Analyses. In 6th Static Analysis Symposium (SAS), 312–329. LNCS 1694, 1999.Google Scholar
  12. 12.
    F. Nielson, H. Riis Nielson, and C. L. Hankin. Principles of Program Analysis. Springer, 1999.Google Scholar
  13. 13.
    F. Nielson, H. Riis Nielson, and H. Seidl. Automatic Complexity Analysis. In European Symposium on Programming (ESOP), 243–261. LNCS 2305, 2002.Google Scholar
  14. 14.
    F. Nielson, H. Riis Nielson, and H. Seidl. Cryptographic Analysis in Cubic Time. In Electronic Notes in Theoretical Computer Science (ENTCS), volume 62. Elsevier Science Publishers, 2002.Google Scholar
  15. 15.
    F. Nielson and H. Seidl. Control-Flow Analysis in Cubic Time. In European Symposium on Programming (ESOP), 252–268. LNCS 2028, 2001.Google Scholar
  16. 16.
    F. Nielson and H. Seidl. Succinct Solvers. Tech. Report 01-12, Trier, 2001.Google Scholar
  17. 17.
    L. Pacholski and A. Podelski. Set Constraints-a Pearl in Research on Constraints. In Gert Smolka, editor, 3rd Int. Conf. on Principles and Practice of Constraint Programming (CP), volume 1330 of Springer LNCS, 549–561. Springer-Verlag, 1997.CrossRefGoogle Scholar
  18. 18.
    H. Seidl. Haskell Overloading is DEXPTIME Complete. Information Processing Letters (IPL), 54:57–60, 1994.CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Flemming Nielson
    • 1
  • Hanne Riis Nielson
    • 1
  • Helmut Seidl
    • 2
  1. 1.Informatics and Mathematical ModellingTechnical University of DenmarkKongens LyngbyDenmark
  2. 2.Universität Trier, FB IV - InformatikTrierGermany

Personalised recommendations