Relational Constraint Solving in SMT

  • Baoluo Meng
  • Andrew Reynolds
  • Cesare Tinelli
  • Clark Barrett
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10395)


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.


Relational 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.


  1. 1.
    Baader, F.: The Description Logic Handbook: Theory, Implementation and Applications. Cambridge University Press, Cambridge (2003)zbMATHGoogle Scholar
  2. 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
  3. 3.
    Bansal, K., Reynolds, A., Barrett, C., Tinelli, C.: A new decision procedure for finite sets and cardinality constraints in SMT. In: Olivetti, N., Tiwari, A. (eds.) IJCAR 2016. LNCS (LNAI), vol. 9706, pp. 82–98. Springer, Cham (2016). doi: 10.1007/978-3-319-40229-1_7 Google Scholar
  4. 4.
    Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanović, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 171–177. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-22110-1_14 CrossRefGoogle Scholar
  5. 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. 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. 7.
    Dutertre, B., Moura, L.D.: The YICES SMT solver. Technical report, SRI International (2006)Google Scholar
  8. 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
  9. 9.
    Ghazi, A.A., Taghdiri, M.: Relational reasoning via SMT solving. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 133–148. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-21437-0_12 CrossRefGoogle Scholar
  10. 10.
    El Ghazi, A.A., Taghdiri, M., Herda, M.: First-order transitive closure axiomatization via iterative invariant injections. In: Havelund, K., Holzmann, G., Joshi, R. (eds.) NFM 2015. LNCS, vol. 9058, pp. 143–157. Springer, Cham (2015). doi: 10.1007/978-3-319-17524-9_11 Google Scholar
  11. 11.
    Horrocks, I., Sattler, U.: Decidability of SHIQ with complex role inclusion axioms. Artif. Intell. 160(1–2), 79–104 (2004)CrossRefzbMATHGoogle Scholar
  12. 12.
    Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)CrossRefGoogle Scholar
  13. 13.
    Jackson, D.: Software Abstractions - Logic, Language, and Analysis. MIT Press (2006)Google Scholar
  14. 14.
    Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT modulo theories: from an abstract Davis-Putnam-Logemann-Loveland Procedure to DPLL(T). J. ACM 53(6), 937–977 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Reynolds, A., Tinelli, C., Goel, A., Krstić, S.: Finite model finding in SMT. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 640–655. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39799-8_42 CrossRefGoogle Scholar
  16. 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
  17. 17.
    Torlak, E., Jackson, D.: Kodkod: a relational model finder. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 632–647. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-71209-1_49 CrossRefGoogle Scholar
  18. 18.
    Tsarkov, D., Horrocks, I.: FaCT++ description logic reasoner: system description. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 292–297. Springer, Heidelberg (2006). doi: 10.1007/11814771_26 CrossRefGoogle Scholar
  19. 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. 20.
    W3C. OWL 2 web ontology language.

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Baoluo Meng
    • 1
  • Andrew Reynolds
    • 1
  • Cesare Tinelli
    • 1
  • Clark Barrett
    • 2
  1. 1.Department of Computer ScienceThe University of IowaIowa CityUSA
  2. 2.Department of Computer ScienceStanford UniversityStanfordUSA

Personalised recommendations