Design and implementation of a parallel inference machine for first order logic: an overview

  • Philippe Jorrand
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 258)


Several approaches to parallel architectures and languages for advanced information processing are being investigated within ESPRIT Project 415. This overview presents one of these approaches, carried out in one subproject of ESPRIT 415 ("Subproject F"), which aims at the design and implementation of a parallel inference machine.
  • -This machine, called LCM, for Logical Connection Machine, will be a highly parallel system for problem solving, mostly directed toward symbolic processing and artificial intelligence applications. It is based on the "connection method", which is a deductive inference technique for first order logic with significant possibilities for introducing parallelism.

  • -The design of such a complex system requires the use of formal means. The abstract specification of the LCM architecture reflects the parallel algorithmic description of the connection method and is expressed with FP2, a "Functional and Parallel Programming" language based on term rewriting techniques. Formal treatment and systematic transformations can be applied to FP2 programs.

  • -The actual implementation of the LCM requires a highly parallel multi-processor machine. Once such a machine is chosen, systematic transformations of FP2 programs can be applied for mapping the abstract process structure of the LCM specification onto the concrete processor structure of the machine.

This paper is an informal introduction to the bases of this work. It presents the main ideas and design decisions of the project through a series of simple examples.


parallel inference logic programming connection method parallel programming communicating processes FP2 parallel machines program transformation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Asp85]
    Aspetsberger K. Substitution expressions: extracting solutions of non-Horn clause proofs. In Proc. of EUROCAL 85, Linz, Austria, LNCS 204, p. 78–86, Springer-Verlag, 1985.Google Scholar
  2. [AspBay85]
    Aspetsberger K., Bayerl S. Two parallel versions of the connection method for propositional logic on the L-Machine. In Proc. of the German Workshop on Artificial Intelligence, Dassel/Solling, Informatik-Fachberichte, Springer-Verlag, 1985.Google Scholar
  3. [Bib82]
    Bibel W. Automated theorem proving. Vieweg Verlag, Braunschweig, 1982; second edition 1987.Google Scholar
  4. [Bib83]
    Bibel W.. Matings in matrices. CACM 26, p. 844–852, 1983.Google Scholar
  5. [BibAsp85]
    Bibel W., Aspetsberger K. A bibliography on parallel inference machines. Journal of Symbolic Computation, Vol. 1 No. 1, p. 115–118, 1985.Google Scholar
  6. [BibJor86]
    Bibel W., Jorrand Ph. (Ed.) Fundamentals of artificial intelligence. An advanced course. ACAI 85, LNCS 232, Springer-Verlag, 1986.Google Scholar
  7. [Buch85]
    Buchberger B. The L-Machine: an attempt at parallel hardware for symbolic computation. In Proc. of AAEECC 3, Grenoble, France, LNCS 229, Springer-Verlag, 1985.Google Scholar
  8. [Eder85]
    Eder E. An implementation of a theorem prover based on the connection method. In Proc. of AIMSA 84, Varna, Bulgaria, North-Holland, p. 121–128, 1985.Google Scholar
  9. [Huf86]
    Hufflen JM. Un exemple d'utilisation de FP2: description d'une architecture parallèle et pipe-line pour l'unification. RR LIFIA 43, Grenoble, 1986.Google Scholar
  10. [Jor84]
    Jorrand Ph. FP2: Functional Parallel Programming based on term substitution. In Proc. of AIMSA 84, Varna, Bulgaria, North-Holland, p. 95–112, 1984.Google Scholar
  11. [Jor86]
    Jorrand Ph. Term rewriting as a basis for the design of a functional and parallel programming language. A case study: the language FP2. In ACAI 85, LNCS 232, Springer-Verlag, p. 221–276, 1986.Google Scholar
  12. [MarA86]
    Marty A. Placement d'un réseau de processus communicants décrit en FP2 sur une structure de grille en vue d'une implantation de ce language. RR LIFIA 49, Grenoble, 1986.Google Scholar
  13. [MarJC86]
    Marty JC. Un environnement de programmation pour le language FP2. RI LIFIA, Grenoble, 1986.Google Scholar
  14. [May84]
    May D. Occam programming manual. Prentice-Hall International, 1984.Google Scholar
  15. [Mil80]
    Milner R. A calculus of communicating systems. LNCS 92, Springer-Verlag, 1980.Google Scholar
  16. [Per84]
    Pereira JM. Processus communicants: un language formel et ses modèles. Problèmes d'analyse. Doctoral Thesis, LIFIA, INPG, Grenoble, 1984.Google Scholar
  17. [Rogé86]
    Rogé S. Comparaison des comportements de processus communicqnts. Application au language FP2. Doctoral Thesis, LIFIA, INPG, Grenoble, 1986Google Scholar
  18. [Schn85]
    Schnoebelen Ph. The semantics of concurrency in FP2. In Working Group on Semantics, ESPRIT Project 415, 1985.Google Scholar
  19. [Schn86a]
    Schnoebelen Ph. μFP2: a prototype interpreter for FP2. RR LIFIA 41, Grenoble, 1986.Google Scholar
  20. [Schn86b]
    Schnoebelen Ph. About the implementation of FP2. RR LIFIA 42, Grenoble, 1986.Google Scholar
  21. [Schn86c]
    Schnoebelen Ph. Rewriting techniques for the temporal analysis of communicating processes. To appear, 1986.Google Scholar
  22. [SchnScha86]
    Schnoebelen Ph., Schaefer P. Specification of a pipe-lined event driven simulator. To appear, 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Philippe Jorrand
    • 1
    • 2
  1. 1.LIFIA Laboratoire d'Informatique Fondamentale et d'Intelligence ArtificielleGrenobleFrance
  2. 2.LIFIA-IMAGSaint Martin Dheres CedexFrance

Personalised recommendations