980 research outputs found
On Elementary Loops of Logic Programs
Using the notion of an elementary loop, Gebser and Schaub (2005. Proceedings of the Eighth International Conference on Logic Programming and Nonmonotonic Reasoning (LPNMR\u2705), 53–65) refined the theorem on loop formulas attributable to Lin and Zhao (2004) by considering loop formulas of elementary loops only. In this paper, we reformulate the definition of an elementary loop, extend it to disjunctive programs, and study several properties of elementary loops, including how maximal elementary loops are related to minimal unfounded sets. The results provide useful insights into the stable model semantics in terms of elementary loops. For a nondisjunctive program, using a graph-theoretic characterization of an elementary loop, we show that the problem of recognizing an elementary loop is tractable. On the other hand, we also show that the corresponding problem is coNP-complete for a disjunctive program. Based on the notion of an elementary loop, we present the class of Head-Elementary-loop-Free (HEF) programs, which strictly generalizes the class of Head-Cycle-Free (HCF) programs attributable to Ben-Eliyahu and Dechter (1994. Annals of Mathematics and Artificial Intelligence 12, 53–87). Like an HCF program, an HEF program can be turned into an equivalent nondisjunctive program in polynomial time by shifting head atoms into the body
Elementary Sets for Logic Programs
By introducing the concepts of a loop and a loop formula, Lin and Zhao showed
that the answer sets of a nondisjunctive logic program are exactly the models
of its Clark's completion that satisfy the loop formulas of all loops.
Recently, Gebser and Schaub showed that the Lin-Zhao theorem remains correct
even if we restrict loop formulas to a special class of loops called
``elementary loops.'' In this paper, we simplify and generalize the notion of
an elementary loop, and clarify its role. We propose the notion of an
elementary set, which is almost equivalent to the notion of an elementary loop
for nondisjunctive programs, but is simpler, and, unlike elementary loops, can
be extended to disjunctive programs without producing unintuitive results. We
show that the maximal unfounded elementary sets for the ``relevant'' part of a
program are exactly the minimal sets among the nonempty unfounded sets. We also
present a graph-theoretic characterization of elementary sets for
nondisjunctive programs, which is simpler than the one proposed in (Gebser &
Schaub 2005). Unlike the case of nondisjunctive programs, we show that the
problem of deciding an elementary set is coNP-complete for disjunctive
programs.Comment: 6 pages. AAAI 2006, 244-249. arXiv admin note: substantial text
overlap with arXiv:1012.584
On Loop Formulas with Variables
Recently Ferraris, Lee and Lifschitz proposed a new definition of stable
models that does not refer to grounding, which applies to the syntax of
arbitrary first-order sentences. We show its relation to the idea of loop
formulas with variables by Chen, Lin, Wang and Zhang, and generalize their loop
formulas to disjunctive programs and to arbitrary first-order sentences. We
also extend the syntax of logic programs to allow explicit quantifiers, and
define its semantics as a subclass of the new language of stable models by
Ferraris et al. Such programs inherit from the general language the ability to
handle nonmonotonic reasoning under the stable model semantics even in the
absence of the unique name and the domain closure assumptions, while yielding
more succinct loop formulas than the general language due to the restricted
syntax. We also show certain syntactic conditions under which query answering
for an extended program can be reduced to entailment checking in first-order
logic, providing a way to apply first-order theorem provers to reasoning about
non-Herbrand stable models.Comment: 10 pages. In Proc. Eleventh International Conference on Principles of
Knowledge Representation and Reasoning (KR 2008), pages 444-453. arXiv admin
note: text overlap with arXiv:1401.389
Automatic modular abstractions for template numerical constraints
We propose a method for automatically generating abstract transformers for
static analysis by abstract interpretation. The method focuses on linear
constraints on programs operating on rational, real or floating-point variables
and containing linear assignments and tests. In addition to loop-free code, the
same method also applies for obtaining least fixed points as functions of the
precondition, which permits the analysis of loops and recursive functions. Our
algorithms are based on new quantifier elimination and symbolic manipulation
techniques. Given the specification of an abstract domain, and a program block,
our method automatically outputs an implementation of the corresponding
abstract transformer. It is thus a form of program transformation. The
motivation of our work is data-flow synchronous programming languages, used for
building control-command embedded systems, but it also applies to imperative
and functional programming
- …