Relational Constraint Solving in SMT
Relational logic is useful for reasoning about computational problems with relational structures, including high-level system design, architectural configurations of network systems, ontologies, and verification of programs with linked data structures. We present a modular extension of an earlier calculus for the theory of finite sets to a theory of finite relations with such operations as transpose, product, join, and transitive closure. We implement this extension as a theory solver of the SMT solver CVC4. Combining this new solver with the finite model finding features of CVC4 enables several compelling use cases. For instance, native support for relations enables a natural mapping from Alloy, a declarative modeling language based on first-order relational logic, to SMT constraints. It also enables a natural encoding of several description logics with concrete domains, allowing the use of an SMT solver to analyze, for instance, Web Ontology Language (OWL) models. We provide an initial evaluation of our solver on a number of Alloy and OWL models which shows promising results.
KeywordsRelational logic SMT Alloy OWL
This work was partially supported by NSF grant no. 1228765 and by a gift from GE Global Research. We are grateful to Jasmin Blanchette and the anonymous reviewers for their very detailed comments and questions which helped improve the presentation of the paper.
- 2.Baader, F., Horrocks, I., Sattler, U.: Description logics. In: Frank van Harmelen, V.L., Porter, B. (eds.) Handbook of Knowledge Representation, vol. 3. Foundations of Artificial Intelligence, pp. 135–179. Elsevier (2008)Google Scholar
- 5.Barrett, C., Fontaine, P., Tinelli, C.: The SMT-LIB standard–version 2.6. In: Gupta, A., Kroening, D. (eds.) SMT 2010 (2010)Google Scholar
- 6.Barrett, C., Sebastiani, R., Seshia, S., Tinelli, C.: Satisfiability modulo theories. In: Biere, A., Heule, M.J.H., van Maaren, H., Walsh, T. (eds.) Handbook of Satisfiability, vol. 185, chap. 26, pp. 825–885. IOS Press, February 2009Google Scholar
- 7.Dutertre, B., Moura, L.D.: The YICES SMT solver. Technical report, SRI International (2006)Google Scholar
- 8.Ghazi, A.A.E., Taghdiri, M.: Analyzing alloy constraints using an SMT solver: a case study. In: 5th International Workshop on Automated Formal Methods (AFM) (2010)Google Scholar
- 13.Jackson, D.: Software Abstractions - Logic, Language, and Analysis. MIT Press (2006)Google Scholar
- 16.Steigmiller, A., Liebig, T., Glimm, B.: Konclude: System description. Web Semant. Sci. Serv. Agents World Wide Web 27(1), 1–86 (2014)Google Scholar
- 19.Tsarkov, D., Palmisano, I.: Chainsaw: a metareasoner for large ontologies. In: Horrocks, I., Yatskevich, M., Jiménez-Ruiz, E. (eds.) ORE (2012)Google Scholar
- 20.W3C. OWL 2 web ontology language. https://www.w3.org/2007/OWL/wiki/Syntax