Semantics for Prolog via term rewrite systems
We present semantics for logic programs using term rewrite systems. Reading program lines from left to right (so reversing the arrows), considering the result as a rewrite system, immediately gives the usual declarative semantics (the least Herbrand model). Then, we add a priority ordering on the rewrite rules, and obtain a procedural semantics for Prolog with depth-first search rule. This gives us different semantics in the same setting.
Unable to display preview. Download preview PDF.
- J.C.M. Baeten, J.A. Bergstra & J.W. Klop, Priority rewrite systems, report CS-R8407, Centre for Math. & Comp. Sci., Amsterdam 1984.Google Scholar
- J.C.M. Baeten, J.A. Bergstra & J.W. Klop, Term rewrite systems with priorities, in: Proc. 2nd Conf. on Rewriting Techniques and Applications, Bordeaux 1987, Springer LNCS 256, pp. 83–94, 1987.Google Scholar
- M. Fitting, A Kripke semantics for logic programs, Journal of Logic Programming 4, pp. 295–312, 1985.Google Scholar
- J.W.Lloyd, Foundations of logic programming, Springer 1984.Google Scholar
- T.C. Przymusinski, On the declarative and procedural semantics of stratified deductive databases, Dept. of Math. Sci., Univ. of Texas, E1 Paso.Google Scholar