## About Summit

# Enfragmo: A System for Grounding Extended First-Order Logic to SAT

Computationally hard search and optimization problems occur widely in engineering, business, science and logistics, in domains ranging from hardware and software design and verification, to drug design, planning and scheduling. Most of these problems are NP-complete, so no known polynomial-time algorithms exist. Usually, the available solution for a user facing such problems involves mathematical programming for example, integer-linear programming tools, constraint logic programming tools and development of custom-designed implementations of algorithms for solving NP-hard problems. Successful use of these approaches normally requires a deep knowledge of programming, and is often time consuming. Another approach to attack NP search problems is to utilize the knowledge of users to produce precise descriptions of the (search) problem in a declarative specification or modelling language. A solver then takes a specification, together with an instance of the problem, and produces a solution to the problem, if there is any. Model expansion (MX), the logical task of expanding a given (mathematical) structure by new relations, is one of the well-studied directions of this approach. Formally, in MX, the user axiomatizes their problem in a language. This axiomatization describes the relationship between an instance of the problem (a given finite structure, i.e., a universe together with some relations and functions), and its solutions (certain expansions of that structure). This thesis presents the Enfragmo system for specifying and solving combinatorial search problems. Enfragmo takes a problem specification, in which the axioms are expressed in an extension of first-order logic, and a problem instance as its input and produces a propositional conjunctive normal form formula that is sent to a propositional satisfiability (SAT) solver. In this thesis, we describe several techniques that we have developed in order to build our well performing solver, Enfragmo.