15 research outputs found

    SAT Solving for Argument Filterings

    Full text link
    This paper introduces a propositional encoding for lexicographic path orders in connection with dependency pairs. This facilitates the application of SAT solvers for termination analysis of term rewrite systems based on the dependency pair method. We address two main inter-related issues and encode them as satisfiability problems of propositional formulas that can be efficiently handled by SAT solving: (1) the combined search for a lexicographic path order together with an \emph{argument filtering} to orient a set of inequalities; and (2) how the choice of the argument filtering influences the set of inequalities that have to be oriented. We have implemented our contributions in the termination prover AProVE. Extensive experiments show that by our encoding and the application of SAT solvers one obtains speedups in orders of magnitude as well as increased termination proving power

    Precise Pair-Sharing Analysis of Logic Programs

    No full text
    The paper presents a novel approach to pair-sharing analysis of logic programs. The pair-sharing domain ASub of Sndergaard is known to be more ecient than the set-sharing domain Sharing of Jacobs and Langen and gains accuracy because of linearity tracking. However, it is less accurate because of weaker groundness information, and the fact that it loses track of where new groundness eliminates sharing. In this paper we present a new domain which inherits the advantages of both ASub and Sharing and is uniformly more accurate in terms of pair-sharing than each of the two domains

    Type Dependencies for Logic Programs using ACI-unification

    No full text
    This paper presents a new notion of typing for logic programs which generalizes the notion of directional types. The generation of type dependencies for a logic program is fully automatic with respect to a given domain of types. The analysis method is based on a novel combination of program abstraction and ACI-unification which is shown to be correct and optimal. Type dependencies are obtained by abstracting programs, replacing concrete terms by their types, and evaluating the meaning of the abstract programs using a standard semantics for logic programs enhanced by ACI-unification. This approach is generic and can be used with any standard semantics. The method is both theoretically clean and easy to implement using general purpose tools. The proposed domain of types is condensing which means that analyses can be carried out in both top-down or bottom-up frameworks with no loss of precision for goal-independent analyses. The proposed method has been fully implemented within a bottom-up approach and the experimental results are promising

    Type dependencies for logic programs using ACI-unification

    Full text link

    Solving Partial Order Constraints for LPO Termination

    No full text
    This paper introduces a propositional encoding for lexicographic path orders (LPOs) and the corresponding LPO termination property of term rewrite systems. Given this encoding, termination analysis can be performed using a state-of-the-art Boolean satisfiability solver. Experimental results are unequivocal, indicating orders of magnitude speedups in comparison with previous implementations for LPO termination. The results of this paper have already had a direct impact on the design of several major termination analyzers for term rewrite systems. The contribution builds on a symbol-based approach towards reasoning about partial orders. The symbols in an unspecified partial order are viewed as variables that take integer values and are interpreted as indices in the order. For a partial order statement on n symbols, each index is represented in ⌈log 2 n ⌉ propositional variables and partial order constraints between symbols are modeled on the bit representations. The proposed encoding is general and relevant to other applications which involve propositional reasoning about partial orders

    Set bounds and (split) set domain propagation using ROBDDs

    No full text
    Abstract. Most propagation-based set constraint solvers approximate the set of possible sets that a variable can take by upper and lower bounds, and perform so-called set bounds propagation. However Lagoon and Stuckey have shown that using reduced ordered binary decision diagrams (ROBDDs) one can create a practical set domain propagator that keeps all information (possibly exponential in size) about the set of possible set values for a set variable. In this paper we first show that we can use the same ROBDD approach to build an efficient bounds propagator. The main advantage of this approach to set bounds propagation is that we need not laboriously determine set bounds propagations rules for each new constraint, they can be computed automatically. In addition we can eliminate intermediate variables, and build stronger set bounds propagators than with the usual approach. We then show how we can combine this with the set domain propagation approach of Lagoon and Stuckey to create a more efficient set domain propagation solver.
    corecore