Scala To The Power Of Z3: Integrating Smt And Programming

CADE'11: Proceedings of the 23rd international conference on Automated deduction(2011)

引用 24|浏览58
暂无评分
摘要
We describe a system that integrates the SMT solver Z3 with the Scala programming language. The system supports the use of the SMT solver for checking satisfiability, unsatisfiability, as well as solution enumeration. The embedding of formula trees into Scala uses the host type system of Scala to prevent the construction of certain ill-typed constraints. The solution enumeration feature integrates into the iteration constructions of Scala and supports writing non-deterministic programs. Using Z3's mechanism of theory extensions, our system also helps users construct custom constraint solvers where the interpretation of predicates and functions is given as Scala code. The resulting system preserves the productivity advantages of Scala while simplifying tasks such as combinatorial search.
更多
查看译文
关键词
Cardinality Constraint, Syntax Tree, Combinatorial Search, Presburger Arithmetic, Formula Tree
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要