28 research outputs found

    The Strategy Challenge in SMT Solving

    Get PDF
    Abstract. High-performance SMT solvers contain many tightly integrated, hand-crafted heuristic combinations of algorithmic proof methods. While these heuristic combinations tend to be highly tuned for known classes of problems, they may easily perform badly on classes of problems not anticipated by solver developers. This issue is becoming increasingly pressing as SMT solvers begin to gain the attention of practitioners in diverse areas of science and engineering. We present a challenge to the SMT community: to develop methods through which users can exert strategic control over core heuristic aspects of SMT solvers. We present evidence that the adaptation of ideas of strategy prevalent both within the Argonne and LCF theorem proving paradigms can go a long way towards realizing this goal. Prologue. Bill McCune, Kindness and Strategy, by Grant Passmore I would like to tell a short story about Bill, of how I met him, and one way his work and kindness impacted my life

    On Interpolation in Automated Theorem Proving

    No full text
    Given two inconsistent formul\u27, a (reverse) interpolant is a formula implied by one, inconsistent with the other, and only containing symbols they share. Interpolation finds application in program analysis, verification, and synthesis, for example, towards invariant generation. An interpolation system takes a refutation of the inconsistent formul\u27 and extracts an interpolant by building it inductively from partial interpolants. Known interpolation systems for ground proofs use colors to track symbols. We show by examples that the color-based approach cannot handle non-ground refutations by resolution and paramodulation/superposition. We present a two-stage approach that works by tracking literals, computes a provisional interpolant, which may contain non-shared symbols, and applies lifting to replace non-shared constants by quantified variables. We obtain an interpolation system for non-ground refutations, and we prove that it is complete, if the only non-shared symbols in provisional interpolants are constants

    Interpolation Systems for Ground Proofs in Automated Deduction: a Survey

    No full text
    Interpolation is a deductive technique applied in program analysis and verification: for example, it is used to compute over-approximations of images or refine abstractions. An interpolation system takes a refutation and extracts an interpolant by building it inductively from partial interpolants. We survey color-based interpolation systems for ground proofs produced by key inference engines of state-of-the-art solvers: DPLL for propositional logic, equality sharing for combination of convex theories, and DPLL((Formula presented.)) for SMT-solving. Since color-based interpolation systems use colors to track symbols in proofs, equality is problematic, because replacement of equals by equals mixes symbols and therefore colors. We analyze interpolation in the presence of equality, and we demonstrate the color-based approach by giving a complete interpolation system for ground proofs by superposition

    Canonicity!

    No full text

    On deciding satisfiability by DPLL(Gamma+T) and unsound theorem proving

    No full text
    Applications in software verification often require determining the satisfiability of first-order formulae with respect to some background theories. During development, conjectures are usually false. Therefore, it is desirable to have a theorem prover that terminates on satisfiable instances. Satisfiability Modulo Theories (SMT) solvers have proven highly scalable, efficient and suitable for integrated theory reasoning. Superposition-based inference systems are strong at reasoning with equalities, universally quantified variables, and Horn clauses. We describe a calculus that tightly integrates Superposition and SMT solvers. The combination is refutationally complete if background theory symbols only occur in ground formulae, and non-ground clauses are variable inactive. Termination is enforced by introducing additional axioms as hypotheses. The calculus detects any unsoundness introduced by these axioms and recovers from it

    A rewrite approach for constraint logic programming

    No full text

    Requirement-Based Cooperative Theorem Proving

    No full text
    We examine an approach for demand-driven cooperative theorem proving. We briefly point out the problems arising from the use of common successdriven cooperation methods, and we propose the application of our approach of requirement-based cooperative theorem proving. This approach allows for a better orientation on current needs of provers in comparison with conventional cooperation concepts. We introduce an abstract framework for requirement-based cooperation and describe two instantiations of it: Requirement-based exchange of facts and sub-problem division and transfer via requests. Finally, we report on experimental studies conducted in the areas superposition and unfailing completion. The author was supported by the Deutsche Forschungsgemeinschaft (DFG). 2 1 INTRODUCTION 1 Introduction Automated deduction is---at its lowest level---a search problem that spans huge search spaces. In the past, many different calculi have hence been developed in order to cope with problems stemm..

    Combination of Disjoint Theories: Beyond Decidability

    No full text
    The original publication is available at www.springerlink.comInternational audienceCombination of theories underlies the design of satisfiability modulo theories (SMT) solvers. The Nelson-Oppen framework can be used to build a decision procedure for the combination of two disjoint decidable stably infinite theories. We here study combinations involving an arbitrary first-order theory. Decidability is lost, but refutational completeness is preserved. We consider two cases and provide complete (semi-)algorithms for them. First, we show that it is possible under minor technical conditions to combine a decidable (not necessarily stably infinite) theory and a disjoint finitely axiomatized theory, obtaining a refutationally complete procedure. Second, we provide a refutationally complete procedure for the union of two disjoint finitely axiomatized theories, that uses the assumed procedures for the underlying theories without modifying them
    corecore