Reseña: MathCheck: A math assistant via a combination of computer algebra systems and SAT solvers

Se ha publicado un artículo de aplicación del razonamiento automático en la enseñanza titulado MathCheck: A math assistant via a combination of computer algebra systems and SAT solvers.

Sus autores son
+ Edward Zulkoski (del GSD Lab (Generative software development lab))
+ Vijay Ganesh (del Waterloo computer-aided reasoning group) y
+ Krzysztof Czarnecki (del GSD Lab (Generative software development lab))

de la Univ. de Waterloo, Ontario, Canadá.

Su resumen es

We present a method and an associated system, called Math-Check, that embeds the functionality of a computer algebra system (CAS) within the inner loop of a conflict-driven clause-learning SAT solver. SAT+CAS systems, a la MathCheck, can be used as an assistant by mathematicians to either counterexample or finitely verify open universal conjectures on any mathematical topic (e.g., graph and number theory, algebra, geometry, etc.) supported by the underlying CAS system. Such a SAT+CAS system combines the efficient search routines of modern SAT solvers, with the expressive power of CAS, thus complementing both. The key insight behind the power of the SAT+CAS combination is that the CAS system can help cut down the search-space of the SAT solver, by providing learned clauses that encode theory-specific lemmas, as it searches for a counterexample to the input conjecture (just like the T in DPLL(T)). In addition, the combination enables a more efficient encoding of problems than a pure Boolean representation.

In this paper, we leverage the graph-theoretic capabilities of an open-source CAS, called SAGE. As case studies, we look at two long-standing open mathematical conjectures from graph theory regarding properties of hypercubes: the first conjecture states that any matching of any d-dimensional hypercube can be extended to a Hamiltonian cycle; and the second states that given an edge-antipodal coloring of a hypercube, there always exists a monochromatic path between two antipodal vertices. Previous results have shown the conjectures true up to certain low-dimensional hypercubes, and attempts to extend them have failed until now. Using our SAT+CAS system, MathCheck, we extend these two conjectures to higher-dimensional hypercubes. We provide detailed performance analysis and show an exponential reduction in search space via the SAT+CAS combination relative to finite brute-force search.

El trabajo se ha presentado en el CADE-25 (The 25th International Conference on Automated Deduction).

El sistema MatCheck se encuentra aquí y su código aquí.

Reseña: Exploring theories with a model-finding assistant

Se ha publicado un artículo de automatización del razonamiento titulado Exploring theories with a model-finding assistant.

Sus autores son Salman Saghafi, Ryan Danas y Daniel J. Dougherty (del Applied Logic and Security Lab en el Worcester Polytechnic Institute, Worcester, Massachusetts, USA).

Su resumen es

We present an approach to understanding first-order theories by exploring their models. A typical use case is the analysis of artifacts such as policies, protocols, configurations, and software designs. For the analyses we offer, users are not required to frame formal properties or construct derivations. Rather, they can explore examples of their designs, confirming the expected instances and perhaps recognizing bugs inherent in surprising instances.

Key foundational ideas include: the information preorder on models given by homomorphism, an inductively-defined refinement of the Herbrand base of a theory, and a notion of provenance for elements and facts in models. The implementation makes use of SMT-solving and an algorithm for minimization with respect to the information preorder on models.

Our approach is embodied in a tool, Razor, that is complete for finite satisfiability and provides a read-eval-print loop used to navigate the set of finite models of a theory and to display provenance.

El trabajo se ha presentado en el CADE-25 (The 25th International Conference on Automated Deduction).

El código en Haskell del sistema Razor se encuentra aquí.

Este trabajo puede servir en los cursos de Lógica informática, Lógica matemática y fundamentos, Razonamiento automático y Lógica computacional y teoría de modelos.