PySMT: a Solver-Agnostic Library for Fast Prototyping of SMT-Based Algorithms
Marco Gario and Andrea Micheli gario@fbk.eu
Fondazione Bruno Kessler (FBK) University of Trento
2015-05-04
1/14
PySMT : a Solver-Agnostic Library for Fast Prototyping of SMT-Based - - PowerPoint PPT Presentation
PySMT : a Solver-Agnostic Library for Fast Prototyping of SMT-Based Algorithms Marco Gario and Andrea Micheli gario@fbk.eu Fondazione Bruno Kessler (FBK) University of Trento 2015-05-04 1/14 SMT-LIB Universal Simple I n t e r a c t
1/14
2/14
3/14
Z3 Python API Converter MathSAT Python API Converter CVC4 Python API Converter Yices Python API Converter Cudd Python API Converter PicoSAT Python API Converter SMT-Lib solver POSIX Pipe SMT-Lib IO PySMT: Solver API PySMT: Formula API Formula Manager Oracles Simplifier Substituter Serializer Type Checker
Python Native PySMT
4/14
5/14
1
2
3 4
5
6
7
8
9 10
11
12
13
14
15 16
17
18 19
20 21
22
6/14
◮ Z3, MathSAT 5, CVC4, Yices, PicoSAT, Cudd ◮ Any SMT-LIB2 Solver
◮ Z3 ◮ MathSAT 7/14
1
2
3
4 5
6 7
8/14
9/14
◮ Quantifier Elimination for Temporal Uncertainty ◮ Max-SAT algorithm for Strategy Construction
◮ Quantifier Elimination for Refinement Check ◮ Benchmarking: Exploit python library for random graph
10/14
11/14
12/14
13/14
PySMT: a Solver-Agnostic Library for Fast Prototyping of SMT-Based Algorithms 14/14
1
2
3
4
5
6
7
8
15/14
16/14
16/14
1
2
3 4
5
6
7 8
9
10
11 12
13
14
15 16
17 18
19
20
21
17/14
18/14
1
2
3 4
5
6
7
8 9
10
11 12
13
14
15 16
17
18
19
20
21 22
23
19/14
20/14
20/14
1
2
3 4
5
6
7
8
9 10
11
12
13
14
15 16
17
18 19
20 21
22
21/14