Semantics and Termination of Simply-Moded Logic Programs with Dynamic Scheduling
Annalisa Bossi, Sandro Etalle, Sabina Rossi, Jan-Georg Smaus
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.
Create a lesson
Related papers
String Diagrams for Process Mining
Antony R. Lee, Peter Tiňo, Iain B. Styles
Rich Sequences and Decidability of Arithmetic Theories
Toghrul Karimov, Joris Nieuwveld, Joël Ouaknine
An Explicit Ordinal Bound for System T Dialogue Trees
MingKun Xiao, YiXuan Sun
Concurrency, Causality and Conflict via Independence in Reversible Calculi
Clément Aubert, Gabriele Cecilia, Iain C. C. Phillips et al.
A Theory of a Two-Dimensional Typed Lambda Calculus
Daniel O. Martínez-Rivillas, Arthur F. Ramos, Ruy J. G. B. de Queiroz
FloatLib: Verified Floating-Point Arithmetic in Lean
Robert Joseph George, Will Adkisson, Anima Anandkumar