Semantics and Termination of Simply-Moded Logic Programs with Dynamic Scheduling
Abstract
In logic programming, dynamic scheduling refers to a situation where the selection of the atom in each resolution (computation) step is determined at runtime, as opposed to a fixed selection rule such as the left-to-right one of Prolog. This has applications e.g. in parallel programming. A mechanism to control dynamic scheduling is provided in existing languages in the form of delay declarations. Input-consuming derivations were introduced to describe dynamic scheduling while abstracting from the technical details. In this paper, we first formalise the relationship between delay declarations and input-consuming derivations, showing in many cases a one-to-one correspondence. Then, we define a model-theoretic semantics for input-consuming derivations of simply-moded programs. Finally, for this class of programs, we provide a necessary and sufficient criterion for termination.
- Publication:
-
arXiv e-prints
- Pub Date:
- January 2001
- DOI:
- 10.48550/arXiv.cs/0101022
- arXiv:
- arXiv:cs/0101022
- Bibcode:
- 2001cs........1022B
- Keywords:
-
- Computer Science - Logic in Computer Science;
- Computer Science - Programming Languages;
- D.1.3;
- D.1.6;
- F.3.2
- E-Print:
- 25 pages, long version of paper with same title at ESOP 2001