SMT Solving with Equality Logic and Uninterpreted Functions
Software Projektpraktikum · Bachelor
- Winter Term 2018/2019
- Teachers: Erika Ábrahám, Rebecca Haehn, Gereon Kremer
Show all terms (3 more)Hide older terms
- Summer Term 2016
- Teachers: Erika Ábrahám, Florian Corzilius, Gereon Kremer
- Winter Term 2015/2016
- Teachers: Erika Ábrahám, Florian Corzilius, Gereon Kremer
- Summer Term 2015
- Teachers: Erika Ábrahám, Florian Corzilius, Gereon Kremer
Satisfiability Checking is the task of checking the existence of a satisfying solution for a logical formula. For propositional logic formulas, being Boolean combinations of propositions such as
For the satisfiability check of quantifier-free first-order logic formulas over different theories , SAT solvers can be extended with theory solver modules, resulting in SAT-modulo-theories (SMT) solvers. Thereby we move from checking satisfiability for propositional logic formulas, such as
This practical course aims at the design, implementation, and optimization of state-of-the-art decision procedures for SMT solving for the theories of equality logic and uninterpreted functions. Equality logic is an extension of propositional logic with a theory, allowing the usage of constants and variables having values from some domain, and equality as the only predicate. I.e., equality logic formulas are Boolean combinations of equalities between constants and variables. An example for a satisfiable equality logic formula is
The implementation will take place within the SMT-RAT project and can benefit from its manifold features. The resulting SMT solver will be tested on the official SMT-LIB benchmarks and be compared to state-of-the-art SMT solvers. Furthermore, we will form at least two teams and compare their solvers within a competition.