Satisfiability modulo relations: theory and applications
Many computational problems require reasoning about relational structures. Examples include high-level system design, architectural configuration of network systems, reasoning about ontologies, and verification of programs with linked data structures. Traditionally, relational models are translated...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | English |
Published: |
University of Iowa
2018
|
Subjects: | |
Online Access: | https://ir.uiowa.edu/etd/6614 https://ir.uiowa.edu/cgi/viewcontent.cgi?article=8113&context=etd |
id |
ndltd-uiowa.edu-oai-ir.uiowa.edu-etd-8113 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-uiowa.edu-oai-ir.uiowa.edu-etd-81132019-10-13T04:37:27Z Satisfiability modulo relations: theory and applications Meng, Baoluo Many computational problems require reasoning about relational structures. Examples include high-level system design, architectural configuration of network systems, reasoning about ontologies, and verification of programs with linked data structures. Traditionally, relational models are translated to propositional formulas and then solved by leveraging SAT solvers. However, SAT solvers can only reason about problems within a finite scope, i.e, concrete cardinality bounds on the relations involved. SMT solvers, on the other hand, are efficient tools that can check automatically the satisfiability of complex constraints over several domains without scope restrictions. They are used as the back-end solvers in many verification tools. To break the limitation of bounded analysis, this thesis presents a many-sorted relational logic in SMT where relations of arity n are defined as sets of n-tuples with parametrized sorts for tuple elements. We define a version of this logic as a first-order theory of finite relations where relation terms are built from relation constants and variables, set operators, and relational operators such as join, transpose, product, and transitive closure. We also present a deductive calculus for that theory and provide proofs of refutation soundness and model soundness of our calculus. In addition, we implement the calculus as a relational solver in the SMT solver CVC4, expanding its already large set of built-in theories, and evaluate the relational solver in two applications: Alloy and Ontology, showing promising results. Moreover, with the goal of improving the performance of SMT solvers in general, we present a symmetry detection algorithm to detect symmetries in SMT formulas and present a symmetry breaking algorithm to generate blocking constraints that eliminate those symmetries. We then discuss an experimental evaluation of our implementation of these algorithms in CVC4 against SMT-LIB benchmarks. 2018-12-01T08:00:00Z dissertation application/pdf https://ir.uiowa.edu/etd/6614 https://ir.uiowa.edu/cgi/viewcontent.cgi?article=8113&context=etd Copyright © 2018 Baoluo Meng Theses and Dissertations eng University of IowaTinelli, C. (Cesare) Alloy Sets and Relations SMT Computer Sciences |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
topic |
Alloy Sets and Relations SMT Computer Sciences |
spellingShingle |
Alloy Sets and Relations SMT Computer Sciences Meng, Baoluo Satisfiability modulo relations: theory and applications |
description |
Many computational problems require reasoning about relational structures. Examples include high-level system design, architectural configuration of network systems, reasoning about ontologies, and verification of programs with linked data structures. Traditionally, relational models are translated to propositional formulas and then solved by leveraging SAT solvers. However, SAT solvers can only reason about problems within a finite scope, i.e, concrete cardinality bounds on the relations involved. SMT solvers, on the other hand, are efficient tools that can check automatically the satisfiability of complex constraints over several domains without scope restrictions. They are used as the back-end solvers in many verification tools.
To break the limitation of bounded analysis, this thesis presents a many-sorted relational logic in SMT where relations of arity n are defined as sets of n-tuples with parametrized sorts for tuple elements. We define a version of this logic as a first-order theory of finite relations where relation terms are built from relation constants and variables, set operators, and relational operators such as join, transpose, product, and transitive closure. We also present a deductive calculus for that theory and provide proofs of refutation soundness and model soundness of our calculus. In addition, we implement the calculus as a relational solver in the SMT solver CVC4, expanding its already large set of built-in theories, and evaluate the relational solver in two applications: Alloy and Ontology, showing promising results.
Moreover, with the goal of improving the performance of SMT solvers in general, we present a symmetry detection algorithm to detect symmetries in SMT formulas and present a symmetry breaking algorithm to generate blocking constraints that eliminate those symmetries. We then discuss an experimental evaluation of our implementation of these algorithms in CVC4 against SMT-LIB benchmarks. |
author2 |
Tinelli, C. (Cesare) |
author_facet |
Tinelli, C. (Cesare) Meng, Baoluo |
author |
Meng, Baoluo |
author_sort |
Meng, Baoluo |
title |
Satisfiability modulo relations: theory and applications |
title_short |
Satisfiability modulo relations: theory and applications |
title_full |
Satisfiability modulo relations: theory and applications |
title_fullStr |
Satisfiability modulo relations: theory and applications |
title_full_unstemmed |
Satisfiability modulo relations: theory and applications |
title_sort |
satisfiability modulo relations: theory and applications |
publisher |
University of Iowa |
publishDate |
2018 |
url |
https://ir.uiowa.edu/etd/6614 https://ir.uiowa.edu/cgi/viewcontent.cgi?article=8113&context=etd |
work_keys_str_mv |
AT mengbaoluo satisfiabilitymodulorelationstheoryandapplications |
_version_ |
1719264630010806272 |