Recent logic programming languages employ dynamic scheduling of calls to im
prove efficiency of programs. Dynamic scheduling is realized by allowing so
me calls to be dynamically "delayed" until their arguments are sufficiently
instantiated, To this end, logic languages are extended with constructs su
ch as delay declarations. However, many declarative properties that hold fo
r logic and pure Prolog programs do not apply any longer in this extended s
etting, In particular, the equivalence between the model-theoretic and oper
ational semantics does not hold, In this paper, we study the class of input
-consuming programs. Firstly, we argue that input-consuming logic programs
are suitable for modeling programs employing delay declarations. Secondly,
we show that-under some syntactic restrictions-the J-semantics of a program
is correct and fully abstract also for input-consuming programs. This allo
ws us to conclude that for a large class of programs employing delay declar
ations there exists a model-theoretic semantics which is equivalent to the
operational one. Thus, input-consuming programs are shown to be the right a
nswer for conjugate efficiency and declarativeness. (C) 2001 Elsevier Scien
ce Ltd. All rights reserved.