Iterative Specialisation of Horn Clauses

  • Christoffer Rosenkilde Nielsen
  • Flemming Nielson
  • Hanne Riis Nielson
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4960)


We present a generic algorithm for solving Horn clauses through iterative specialisation. The algorithm is generic in the sense that it can be instantiated with any decidable fragment of Horn clauses, resulting in a solution scheme for general Horn clauses that guarantees soundness and termination, and furthermore, it presents sufficient criteria for completeness. We then demonstrate the use of the framework, by creating an instance of it, based on the decidable class \({\mathcal{H}_1}\), capable of solving a non-trivial protocol analysis problem based on the Yahalom protocol.


Normal Form Iterative Scheme Horn Clause Cryptographic Protocol Ground Term 
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.


  1. 1.
    Tärnlund, S.Å.: Horn clause computability. BIT 17(2), 215–226 (1977)Google Scholar
  2. 2.
    van Emden, M.H., Kowalski, R.A.: The semantics of predicate logic as a programming language. J. ACM 23(4), 733–742 (1976)zbMATHCrossRefGoogle Scholar
  3. 3.
    Nielson, F., Nielson, H.R., Seidl, H.: Normalizable horn clauses, strongly recognizable relations, and spi. In: Hermenegildo, M.V., Puebla, G. (eds.) SAS 2002. LNCS, vol. 2477, pp. 20–35. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    Goubault-Larrecq, J., Parrennes, F.: Cryptographic protocol analysis on real c code. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 363–379. Springer, Heidelberg (2005)Google Scholar
  5. 5.
    Goubault-Larrecq, J.: Deciding h \(_{\mbox{1}}\) by resolution. Inf. Process. Lett. 95(3), 401–408 (2005)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Burrows, M., Abadi, M., Needham, R.M.: A logic of authentication. ACM Trans. Comput. Syst. 8(1), 18–36 (1990)CrossRefGoogle Scholar
  7. 7.
    Paulson, L.C.: Relations between secrets: Two formal analyses of the yahalom protocol. Journal of Computer Security 9(3), 197–216 (2001)MathSciNetGoogle Scholar
  8. 8.
    Bodei, C., Buchholtz, M., Degano, P., Nielson, F., Nielson, H.R.: Static validation of security protocols. Journal of Computer Security 13(3), 347–390 (2005)Google Scholar
  9. 9.
    Blanchet, B.: An efficient cryptographic protocol verifier based on prolog rules. In: CSFW, pp. 82–96. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  10. 10.
    Seidl, H., Verma, K.N.: Cryptographic protocol verification using tractable classes of horn clauses. In: Reps, T., Sagiv, M., Bauer, J. (eds.) Wilhelm Festschrift. LNCS, vol. 4444, pp. 97–119. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Dolev, D., Yao, A.C.C.: On the security of public key protocols. IEEE Transactions on Information Theory 29(2), 198–207 (1983)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Nielson, F., Nielson, H.R., Hansen, R.R.: Validating firewalls using flow logics. Theor. Comput. Sci. 283(2), 381–418 (2002)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Christoffer Rosenkilde Nielsen
    • 1
  • Flemming Nielson
    • 1
  • Hanne Riis Nielson
    • 1
  1. 1.Technical University of Denmark 

Personalised recommendations