2,101 research outputs found

    Extending ACL2 with SMT Solvers

    Full text link
    We present our extension of ACL2 with Satisfiability Modulo Theories (SMT) solvers using ACL2's trusted clause processor mechanism. We are particularly interested in the verification of physical systems including Analog and Mixed-Signal (AMS) designs. ACL2 offers strong induction abilities for reasoning about sequences and SMT complements deduction methods like ACL2 with fast nonlinear arithmetic solving procedures. While SAT solvers have been integrated into ACL2 in previous work, SMT methods raise new issues because of their support for a broader range of domains including real numbers and uninterpreted functions. This paper presents Smtlink, our clause processor for integrating SMT solvers into ACL2. We describe key design and implementation issues and describe our experience with its use.Comment: In Proceedings ACL2 2015, arXiv:1509.0552

    Towards lightweight integration of SMT solvers

    Full text link
    A large variety of SMT techniques and associated solvers have been developed by the formal modelling and verification communities. For a particular application domain, each technique has its own unique set of advantages and limitations. Within the context of a particular application domain (characterized by a particular set of possible logical formulas), the fitness of a technique can be characterized along multiple dimensions: expressiveness, soundness, completeness, response time, computational cost, and others. Furthermore, certain application domains may require that multiple techniques be used in concert in order to address the particular set of formulas that must be supported. We present a prototype lightweight integrated environment that incorporates four different cloud-hosted SMT solvers behind a single web-based interface: CVC3, Alt-Ergo, Yices, and Z3. Formulas submitted using a common logical syntax are translated into representations suitable for each of the underlying SMT solvers. We discuss the characteristics of each of the SMT solvers, in part by presenting the target syntaxes of the translations (including what outputs the solvers can produce and how this relates to their completeness with respect to the common syntax). We then discuss future directions, including the automated characterization of SMT solvers integrated into the infrastructure in terms of expressiveness, completeness, and response time

    Language and Proofs for Higher-Order SMT (Work in Progress)

    Full text link
    Satisfiability modulo theories (SMT) solvers have throughout the years been able to cope with increasingly expressive formulas, from ground logics to full first-order logic modulo theories. Nevertheless, higher-order logic within SMT is still little explored. One main goal of the Matryoshka project, which started in March 2017, is to extend the reasoning capabilities of SMT solvers and other automatic provers beyond first-order logic. In this preliminary report, we report on an extension of the SMT-LIB language, the standard input format of SMT solvers, to handle higher-order constructs. We also discuss how to augment the proof format of the SMT solver veriT to accommodate these new constructs and the solving techniques they require.Comment: In Proceedings PxTP 2017, arXiv:1712.0089
    • …
    corecore