3 research outputs found
Deciding Second-order Logics using Database Evaluation Techniques
We outline a novel technique that maps the satisfiability problems of
second-order logics, in particular WSnS (weak monadic second-order
logic with n successors), S1S (monadic second-order logic with one
successor), and of μ-calculus, to the problem of query evaluation
of Complex-value Datalog queries. In this dissertation, we propose
techniques that use database evaluation and optimization techniques
for automata-based decision procedures for the above logics. We show
how the use of advanced implementation techniques for Deductive
databases and for Logic Programs, in particular the use of tabling,
yields a considerable improvement in performance over more traditional
approaches. We also explore various optimizations of the proposed
technique, in particular we consider variants of tabling and goal
reordering. We then show that the decision problem for S1S can be
mapped to the problem of query evaluation of
Complex-value Datalog queries.
We explore optimizations that
can be applied to various types of formulas. Last, we propose
analogous techniques that allow us to approach μ-calculus
satisfiability problem in an incremental fashion and without the need
for re-computation. In addition, we outline a top-down evaluation
technique to drive our incremental procedure and propose heuristics
that guide the problem partitioning to reduce the size of the problems
that need to be solved
Principles and Practice of Unification Factoring
Devices]: Models of Computation---automata; F.2.2 [Analysis of Algorithms and Problem Complexity]: Nonnumerical Algorithms and Problems---pattern matching General Terms: Algorithms, Languages, Theory Additional Key Words and Phrases: Indexing, logic programming, trie minimization, unification 1. INTRODUCTION In logic programming languages, such as Prolog, a predicate is defined by a sequence of Horn clauses. A clause becomes applicable for resolution if its head unifies with a selected goal; and each applicable clause is invoked in textual order. Unification of a clause head with a goal involves two basic types of operations: elementary match operations and substitution operations for variables in the two A preliminary version of this article was presented at POPL '95. This work was supported in part by NSF grants CCR-9102159, CCR-9102989, CCR-9404921, CDA-9303181, CDA-9504275, INT-9314412, and ONR grant 400X116YIP01. Authors' addresses: S. Dawson, Computer Science Laboratory, SRI In..