NEW BOOK: Logic Programming: Formal Methods and Practical Applications

[I am forwarding this book announcement, since one topic covered is
logic programming languages with type systems, including polymorphism.
-- Philip Wadler, moderator, Types Forum]

(apologies if you receive this more than once)

Christoph Beierle, Lutz Pluemer (eds):

     Logic Programming: Formal Methods and Practical Applications

(Studies in Computer Science and Artifical Intelligence, Volume 11)
North Holland, 1995, 418 pages, Hardbound, Price: Dfl. 250.00 (US$142.75)
ISBN O-444-82092-2.

There is growing evidence of a convergence between the technical
challenges of developing advanced software systems on the one hand,
and the formal techniques, tools and features evolving from the
logic programming paradigm on the other. This book aims at promoting
such convergence. It provides contributions towards different aspects
of logic programming, which are relevant to the development of complex
and reliable software systems, and describes a number of advanced

The papers are organised around four main themes. The first part
covers special aspects of the formal foundations of logic programming,
namely operational semantics and correctness issues (including verification
of Prolog compilation). Language extensions and methodology are the
topics of the second section, dealing with modules, types and objects.
Part Three focuses on the paradigm of constraint logic programming
and demonstrates its relevance to combinatorial problems. The fourth
chapter presents a number of applications of logic programming, ranging
from scheduling and robot control to image processing. The publication
closes with an outlook on the challenges and opportunities lying
ahead in the field of logic programming.


  List of Contributors


1 Goal-Directed Forward Chaining: A Tuple-oriented Bottom-up Approach 
        (W. Burgard)
  1. Introduction
  2. From Magic Sets to a Tuple-oriented Approach
  3. Comparing Magic Sets and Goal-directed Forward Chaining
  4. Computing Relevant Atoms
  5. GDFC-Resolution
  6. Termination of GDFC-Resolution
  7. Efficiency of GDFC-Resolution
  8. Conclusions

2 The WAM -- Definition and Compiler Correctness
        (E. Boerger, D. Rosenzweig)
  Evolving Algebras
  1. Prolog -- Tree and Stack Models
  2. Predicate Structure
  3. Clause Structure
  4. Term Structure
  Appendix 1. Rules for Prolog Tree Model
  Appendix 2. Rules for Compiled Predicate Structure
  Appendix 3. Rules for Compiled Clause Structure
  Appendix 4. Rules for the WAM

3 Automatic Verification of Parallel Logic Programs: Termination
        (L. Pluemer)
  1. Introduction
  2. Basic Notions
  3. Directed Programs and Oriented Derivations
  4. Well-formed Programs
  5. Program Transformation
  6. Automatic Termination Proofs
  7. Derivation of Linear Predicate Inequalities for Well-formed Programs
  8. Final Remarks


4 Logic Program Modules for Interoperable Information Systems
        (A.B. Cremers, Th. Lemke, M. Rohen)
  1. Introduction
  2. Interoperability
  4. Building Interoperable Systems with Links
  5. Conclusions

5 Concepts, Implementation, and Applications of a Typed Logic 
  Programming Language
        (C. Beierle)
  1. Introduction
  2. Concepts of PROTOS-L
  3. The PROTOS-L System
  4. Planning Applications
  5. Conclusions and Further Work

6 Polymorphic Feature Types
        (G. Meyer)
  1. Introduction
  2. Types and subtyping
  3. Typed logic programming
  4. Parametric polymorphism and feature types
  5. Formal aspects
  6. Conclusions and further work

7 Efficient Object-Oriented Programming in Prolog
        (P. Schachte, G. Saab)
  1. Introduction
  2. The Objects Package -- A precursor to Classes
  3. The Second Version: The Classes Package
  4. Implementation of classes
  5. Results
  6. Examples
  7. Future Work
  8. Related Work
  9. Conclusions


8 Combinatorial Problem Solving in Constraint Logic Programming 
  with Cooperating Solvers
        (H. Beringer, B. De Backer)
  1. Introduction
  2. A Primer to Constraint Logic Programming
  3. Using CLP as a tool for combinatorial problem solving
  4. The domain reduction solver
  5. The real linear solver
  6. Making the different solvers communicate
  7. Conclusion

9 Constraint Logic Programming for Industrial Scheduling Problems
        (S. Breitinger, H.C.R. Lock)
  1. Introduction
  2. Constraints in Scheduling Problems
  3. Disjunctive Constraints
  4. Heuristics: A Guide To Search
  5. Related Work
  6. Conclusions


10 A Generic Scheduling Framework developed in Prolog
         (L. Sterling, V. Srinivasan) 
   1. Introduction
   2. The Scheduling Problem -- A Generic Solution 
   3. Specification of Scheduler Clusters
   4. Schedule Generation
   5. Evaluation of Experiments
   6. Conclusions

11 Scheduling and Meta-Scheduling
         (J. Sauer)
   1. The Scheduling Problem
   2. Scheduling in PROTOS
   3. Meta-Scheduling
   4. Dynamic and Meta-Scheduling Knowledge
   5. Representation of Scheduling Knowledge by Heuristics
   6. META_PLAN: Using Dynamic Scheduling Knowledge
   7. Conclusion

12 Robot Control Systems as Contextual Logic Programs
         (E. Denti, A. Natali, A. Omicini, F. Zanichelli)
   1. Introduction
   2. Contextual Logic Programming systems
   3. The CARA robot programming support
   4. An application
   5. Conclusions

13 Temporal Logic Programming Applied to Image Sequence Evaluation
         (C. Brzoska, K. Schaefer)
   1. Introduction
   2. Image sequence recognition
   3. Temporal logic programming
   4. Translation into temporal logic
   5. Discussion
   6. Conclusion


14 Logic Programming -- Past or Future ?
         (H. Gallaire)
   1. A Paradox
   2. What is LP Anyway ?
   3. Why isn`t Commercial Success Secured Yet ?
   4. A strategy for LP -- Gaining a New Momentum
   5. Conclusion