Programming with Dynamic Predicate Logic
Jan van Eijck

Abstract:
We propose to bring together two research traditions, computation with first 
order logic from computer science, and dynamic interpretation of first order 
logic from natural language semantics. We define a new executable process 
interpretation for first order logic, and show that it is a faithful 
approximation of the dynamic interpretation procedure for first order 
formulas.  We then demonstrate the dynamic logic programming alternative to
destructive assignment and show how to obtain a versatile logic programming 
language by adding constructs for bounded choice and for bounded and 
unbounded iteration. Finally, we show that the operational semantics for 
first order logic given in Apt and Bezem [1] is an approximation of our 
executable semantics. It follows that the operational semantics is faithful 
to the dynamic interpretation of first order logic.  Our results relate a 
recent turn in executable computational interpretation of FOL formulas to a
research tradition from natural language semantics, and suggest a new 
paradigm of dynamic logic programming that combines imperative power with 
dynamic declarative semantics.

1991 CR Subject Classification: F.3.1, F.3.2, F.4.1, I.2.4, I.2.7.
Keywords and Phrases:} dynamic semantics, declarative programming, 
  first order logic, logic programming.