Commit Graph

93 Commits

Author SHA1 Message Date
Martin Blicha
ec10f46acb Parse BMC counterexample properly 2023-09-05 12:39:19 +02:00
Martin Blicha
af1acaba64 Refactor SMTLib parser to separate file 2023-09-05 12:39:19 +02:00
Martin Blicha
8c99c125c4 Add support for parsing invariants 2023-09-05 12:39:19 +02:00
Martin Blicha
3f22118bbe More checks 2023-09-05 12:39:19 +02:00
Martin Blicha
01ed412714 Stronger checks 2023-09-05 12:39:19 +02:00
Martin Blicha
0c13b7ee8f Turn asserts into solAsserts 2023-09-05 12:39:19 +02:00
Martin Blicha
5569aaee78 Fix coding style 2023-09-05 12:39:19 +02:00
Martin Blicha
4ecaa476fd Handle custom tuple sorts in a general way 2023-09-05 12:39:19 +02:00
Martin Blicha
742642ebae Use answer from second Z3 call only when solved 2023-09-05 12:39:19 +02:00
Martin Blicha
0fbeb3a69d Throw exception on unhandled cases in SMT-LIB Expression conversion 2023-09-05 12:39:19 +02:00
Martin Blicha
779db2d84f Use shared pointers, not raw pointers, for caching sorts 2023-09-05 12:39:19 +02:00
Martin Blicha
b65c37029d Fix parsing array expressions from SMT-LIB proof 2023-09-05 12:39:19 +02:00
Martin Blicha
d773e76704 Remove outdated FIXME 2023-09-05 12:39:19 +02:00
Martin Blicha
451b6f8ced Fix handling of structs in SMT-LIB CEX 2023-09-05 12:39:19 +02:00
Martin Blicha
9339b7074a Fix parsing of let expression to allow shadowing values 2023-09-05 12:39:19 +02:00
Martin Blicha
92689e4256 Fix code style problems 2023-09-05 12:39:19 +02:00
Martin Blicha
8ea8a1eb99 Cache sorts already in SMTLib2Interface
This allows us to ask for a sort of a sort from its string
representation parsed from an SMT-LIB solver response
2023-09-05 12:39:19 +02:00
Martin Blicha
6acbe2ec35 Towards translating proof from SMT-LIB response 2023-09-05 12:39:19 +02:00
Martin Blicha
479bb9c3de Fix missing std 2023-09-05 12:39:19 +02:00
Martin Blicha
2195b5e57a Solve UNSAT queries again with proof production enabled 2023-09-05 12:39:19 +02:00
Martin Blicha
1d60559551 Use same spacer parameters as before 2023-09-05 12:39:19 +02:00
Martin Blicha
d9dc8f475e Enable resource limit for Z3 2023-09-05 12:39:19 +02:00
Martin Blicha
c6f274892e Fix SMTLib2Interface 2023-09-05 12:39:19 +02:00
Martin Blicha
f4b849972c Remove smtlib2 solver option 2023-09-05 12:39:17 +02:00
Martin Blicha
da2f4cb100 Try to parse values only for satisfiable answer 2023-09-05 12:37:56 +02:00
Martin Blicha
efb0d4253c Use callback properly in SMTLib2 interface 2023-09-05 12:37:56 +02:00
Martin Blicha
cabec89872 Removing SMT portfolio 2023-09-05 12:37:56 +02:00
Martin Blicha
1e190abf6e Initial work on unified way to interact with solvers 2023-09-05 12:37:56 +02:00
Nikola Matic
62723b7534 Purge using namespace std in libsmtutil and libsolc 2023-07-12 14:09:19 +02:00
Pawel Gebal
d4be1d9c2f Add --print-smt flag to output SMTChecker SMTLIB code 2023-06-16 14:04:07 +02:00
Matheus Aguiar
c1720e62aa Implement missing overrides and relax smtAsserts 2023-05-09 13:20:56 -03:00
Pawel Gebal
a38549dc19 Fixes handling bitwise operators for z3 model checker 2023-02-08 18:37:17 +01:00
Leo Alt
24df40de9a Allow running Eldarica from the command line 2022-11-22 21:16:45 +01:00
George Plotnikov
44a2dd864f Update CVC4::BitVector ctor call 2022-09-26 23:03:42 +02:00
Marenz
f7cc29bec1 Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
Christian Parpart
4ae43884d0 Apply a better way to annotate unreachability to the C++ compiler. 2022-06-07 16:41:04 +02:00
Kamil Śliwak
e19e6ad806 Remove empty assertion messages in a fews places 2022-06-01 20:37:48 +02:00
Kamil Śliwak
539e139555 Add explicit throws after some assertions to work around a spurious warning in GCC 12.1 2022-06-01 20:37:48 +02:00
Leo Alt
60b405aaa9 Support new z3 AST node 2022-05-12 10:50:30 +02:00
Kamil Śliwak
3c5930dd8e Put arguments in parantheses in assert macro definitions 2022-04-06 22:26:21 +02:00
Leo Alt
1d65977769 Adjust Z3Interface::fromZ3 for the extra cases 2021-10-26 11:30:30 +02:00
Leo Alt
9a87680d21 Add invariant to the solver results 2021-10-26 11:30:30 +02:00
Kamil Śliwak
7f7107405f Try out the new assertion macro variants with less arguments 2021-10-04 12:05:00 +02:00
Kamil Śliwak
0745842d46 Use BOOST_PP_OVERLOAD() to allow invoking the assertion macros without a message 2021-10-04 12:05:00 +02:00
Kamil Śliwak
4fe6aa1328 Add default messages to assertion macros 2021-10-04 12:05:00 +02:00
chriseth
1531863835 Split Common.h into Numeric.h. 2021-09-23 15:27:29 +02:00
Kamil Śliwak
b3a513d3b6 SMTSolverChoice: Rewrite operator & not to modify its argument 2021-09-17 21:39:29 +02:00
Kamil Śliwak
588ec39eef SMTSolverChoice: Make more members const/noexcept 2021-09-17 21:39:29 +02:00
Leo Alt
61160aa0e7 Add constraints correlating address(this).balance and msg.value 2021-08-25 21:10:08 +02:00
Leo Alt
6c8ecfa82c Add option to choose solver 2021-07-27 17:14:21 +02:00