3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 13:58:45 +00:00
Commit graph

924 commits

Author SHA1 Message Date
Nuno Lopes dc91a754dd improve clp solver
- run default rule transformations
 - sort a predicate's rules by number of queries in the body to bias search

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-21 10:48:55 -07:00
Nikolaj Bjorner 56dedec740 fix build break include uint_set.h
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-18 10:02:53 -07:00
Nuno Lopes aea667d09b fix a one-too-many in my previous commit
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-17 12:17:35 -07:00
Nuno Lopes d1999b3424 AIG exporter: create latches lazily
properly check for constants

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-17 09:46:30 -07:00
Christoph M. Wintersteiger 5d1339beec .NET/Java: API doc update for Context constructor.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-05-17 13:43:32 +01:00
Nikolaj Bjorner ef2a9994a9 fix UTVPI model generation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-16 19:58:14 -07:00
Nikolaj Bjorner 69b7c3ede7 fixing parity bug in model generation for UTVPI
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-16 15:36:27 -07:00
Nuno Lopes 6560fc0a2c add experimental Horn clause to AIG (AAG format) converter.
Clauses should be over booleans only (or bit-blasted with fixedpoint.bit_blast=true).
We will crash if that's not the case.
Only linear clauses supported for now

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-16 09:58:31 -07:00
Nuno Lopes 100e396618 fix typo in my previous commit
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-15 13:33:42 -07:00
Nuno Lopes 5efdc58194 horn clause bit blasting: propagate output predicates for predicates without rules (most likely an UNSAT prog)
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-15 13:17:00 -07:00
Nuno Lopes e6c8149873 horn rule bit blaster: fix propagation of output predicates when arity == 0
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-15 10:50:46 -07:00
Nuno Lopes 878d57d139 minor code simplification
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-15 09:23:57 -07:00
Nuno Lopes 7fc93b94f5 remove unimplemented method
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-14 08:54:04 -07:00
Nikolaj Bjorner ac6488a195 relax pre-processing to untangle non-horn formulas, based on Eldarica/linear benchmarks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-13 13:21:45 -07:00
Nikolaj Bjorner e35fd58968 add rewriting option to simplify store equalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-13 11:43:30 -07:00
Nikolaj Bjorner 5eed106ffe fix parameters in utvpi and make Karr invariants use backward propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-12 17:02:25 -07:00
Leonardo de Moura c8c5f30b49 Add new C++ APIs for creating forall/exists expressions.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-05-09 21:30:31 -07:00
Christoph M. Wintersteiger 787a65be29 FPA: bugfix for QFPA -> QBV conversion.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-05-07 18:27:47 +01:00
Christoph M. Wintersteiger b65adc10da FPA: bugfix for quantified FP -> quantified BV conversion.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-05-07 17:58:43 +01:00
Nikolaj Bjorner a7269f56f9 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-05-06 01:41:51 +02:00
Nikolaj Bjorner 622484929f postpone rule flushing dependent on engine
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-06 01:33:40 +02:00
Christoph M. Wintersteiger 121e83b6b7 FPA: bugfixes for UF in model converter for fpa2bv.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-05-03 17:54:30 +01:00
Christoph M. Wintersteiger 8f60a936d2 FPA: Added support for float-UF to BV-UF translation.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-05-03 15:57:42 +01:00
Christoph M. Wintersteiger be19c2a3a8 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-05-02 15:24:16 +01:00
Christoph M. Wintersteiger 00d5dea9a5 FPA: added support for rewriting quantified floats to quantified bit-vectors.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-05-02 15:24:07 +01:00
Nuno Lopes 78db1d0f86 fix build of unit tests
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-05-01 16:13:24 -07:00
Nikolaj Bjorner 0959be0acc Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-05-01 19:57:19 +01:00
Nikolaj Bjorner 717f131942 fix warnings and errors from the mint64 build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-01 19:54:40 +01:00
Christoph M. Wintersteiger 7053b7636b Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-05-01 14:11:21 +01:00
Christoph M. Wintersteiger e50a9e8dbf MPF: fused-mul-add fixes. Sometimes this is still off by a bit.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-05-01 14:10:50 +01:00
Christoph M. Wintersteiger 65af658fd7 FPA: min/max special cases fixed.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2013-05-01 14:08:53 +01:00
Nikolaj Bjorner 7cb9e7381d fix build errors on ubuntu and gcc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-05-01 02:35:57 -07:00
Nikolaj Bjorner 5098089ee1 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-30 13:07:38 -07:00
Nikolaj Bjorner b4d0216728 try to fix gcc build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-30 13:06:59 -07:00
Nikolaj Bjorner 351cea1439 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-30 11:53:56 -07:00
Nikolaj Bjorner 21b0a4fcbb testing utvpi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-30 11:53:10 -07:00
Nuno Lopes f40df22ccc enable COI transformation in datalog mode
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-30 10:29:41 -07:00
Nikolaj Bjorner fbe4af6336 add backward propagation transformation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-28 13:39:26 -07:00
Nikolaj Bjorner be64e4b238 add special procedures for UTVPI and horn arithmetic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-28 13:37:03 -07:00
Nikolaj Bjorner e6d6c55df0 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-28 13:20:49 -07:00
Nikolaj Bjorner 4471d929f7 fix linking error in debug mode
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-28 13:20:31 -07:00
Nikolaj Bjorner 160a448823 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-28 12:51:58 -07:00
Nikolaj Bjorner 3ac7cbe1c5 fix build breaker
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-28 12:51:33 -07:00
Nikolaj Bjorner 8abdefef6d Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-28 12:48:10 -07:00
Nikolaj Bjorner 9158fb17c1 add special procedures for UTVPI and horn arithmetic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-28 12:47:55 -07:00
Nikolaj Bjorner 3f45782814 tidy up clp_context a bit
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-26 17:22:06 -07:00
Nikolaj Bjorner 80f2b70e78 fix header information
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-26 16:12:52 -07:00
Nikolaj Bjorner d1938ce972 add simple bounded CLP backend
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-26 16:11:07 -07:00
Nikolaj Bjorner 65b52ba3e9 add simple bounded CLP backend
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-26 16:10:46 -07:00
Nikolaj Bjorner 8038c719fb optimize rule preprocessing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-26 14:40:20 -07:00
Nikolaj Bjorner b644fb9875 optimize rule processing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-26 12:02:19 -07:00
Nikolaj Bjorner c58b4f9a53 optimize rule processing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-26 11:43:06 -07:00
Nikolaj Bjorner 83add2bd9b fix bugs reported by Filip Konecny <filip.konecny@epfl.ch> in PDR
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-25 13:39:11 -07:00
Nikolaj Bjorner 780ad7cc17 fix seg-fault caused by neglecting to inherit output predicate in slice
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-25 09:30:51 -07:00
Nikolaj Bjorner 4f9247a28a Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-24 20:04:01 -07:00
Nuno Lopes f58e8e961d fix the build
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-23 14:59:19 -07:00
Nuno Lopes 9c230941cc [datalog] improve performance of smt2 frontend
- delay calls to make_annotations and process_costs untill needed
 - remove debug exception handler in join()

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-23 12:01:50 -07:00
Nuno Lopes 1917c909d8 delete garbage
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-23 11:28:09 -07:00
Nuno Lopes 12b092c45f [datalog] restore the old (linear) cycle breaker
force the compiler to use all preds as global deltas for correctness.  This is a temporary fix.

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-23 11:27:27 -07:00
Nuno Lopes 08eb85fe3d minor cleanup
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-23 10:02:44 -07:00
Nikolaj Bjorner 6250a29602 resolved conflicts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-23 10:02:37 -07:00
Nikolaj Bjorner a1277a57ae resolved conflicts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-23 10:01:50 -07:00
Nikolaj Bjorner d849dbf21f remove pointer comparisons/hash
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-23 09:58:30 -07:00
Nikolaj Bjorner eead1bbc48 missing else
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-23 09:24:39 -07:00
Nikolaj Bjorner e1d5f484f1 simplify result from tactics, remove unused features from difference logic solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-23 08:46:46 -07:00
Nuno Lopes db653a6e68 [datalog] merge changes from the hassel branch
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-22 09:05:27 -07:00
Nikolaj Bjorner 4ceb228583 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-21 18:17:56 -07:00
Nikolaj Bjorner 0fbdd37e89 working on horn difference logic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-21 18:17:49 -07:00
Nuno Lopes 7ce88d4da9 fix a few compilation warnings
- remove unused variables and class fields
 - add support for gcc 4.5 & clang's __builtin_unreachable
 - fix 2 bugs related to strict aliasing
 - remove a few unused function parameters

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-21 14:36:39 -07:00
Nikolaj Bjorner 17f0377c06 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-20 21:20:20 -07:00
Nuno Lopes 0673f645c9 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-18 11:23:33 -07:00
Nuno Lopes 63ece8278d [datalog] improve compilation to reuse total tables, and to reduce cloning/deallocs.
this gives up to 40% in memory reduction and 10% speedup in test cases with many rules

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-18 11:23:21 -07:00
Nikolaj Bjorner 2afcc493e0 remove reference count debugging, add substitution to C++ header
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-18 10:18:26 -07:00
Nikolaj Bjorner c78a2f5d20 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-17 16:50:51 -07:00
Nuno Lopes ec2726ac66 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-16 15:14:28 -07:00
Nuno Lopes 0b0e5b6912 add some constness
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-16 15:14:16 -07:00
Nikolaj Bjorner 7e4c9a7f75 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-16 13:55:00 -07:00
Nikolaj Bjorner de5f1ebe9f cleanup front end parameters to datalog engine
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-16 13:54:41 -07:00
Nuno Lopes 51d3db8105 [dl] remove 2 uneeded fields from sparse_table::rename_fn
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-16 10:48:57 -07:00
Nuno Lopes adc8224dba use svector instead of vector where appropriate
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-16 09:02:40 -07:00
Nuno Lopes 38823d6c79 [PDR] fix expansion of BV literals
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-16 08:16:02 -07:00
Nuno Lopes 1f5097cdaa [datalog] fix stratum cycle break for rules with multiple looping dependecies
e.g.
a -> b
b-> a
a -> a

this change makes the cycle breaker quadratic on the number of predicates. This should be revisited later

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-15 16:53:25 -07:00
Nikolaj Bjorner 58229f4c8e Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-11 17:47:16 -07:00
Nikolaj Bjorner a054b099c1 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-11 13:44:30 -07:00
Nikolaj Bjorner 18ea547cea compiler optimization and fixes to unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-11 13:44:23 -07:00
Nuno Lopes cb31a294c8 use unsigned_vector where appropriate
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-11 08:50:04 -07:00
Nikolaj Bjorner f988f8753a Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-10 20:06:28 -07:00
Nikolaj Bjorner cdb90968e3 minor fixes to rel_context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-10 20:06:21 -07:00
Leonardo de Moura dc77141dce Fix warning messages
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-04-10 19:14:10 -07:00
Leonardo de Moura 440f8b0df4 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-10 19:03:34 -07:00
Leonardo de Moura f6f59ad6bc Fix memory allocation problems in RCF module
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-04-10 19:03:25 -07:00
Nuno Lopes 2685c605e5 [datalog] fix a few bugs related with output predicates
(by me & Nikolaj)

Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-10 16:37:47 -07:00
Nuno Lopes 14172d3fae fix crash in dl_interp_tail_simplifier when no transformation is performed
Signed-off-by: Nuno Lopes <t-nclaud@microsoft.com>
2013-04-10 14:49:07 -07:00
Nikolaj Bjorner 6a36116b5c stash 2013-04-09 10:16:37 -07:00
Nikolaj Bjorner 312e052788 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-09 10:15:38 -07:00
Nikolaj Bjorner 9456f16a4c overhaul urle_set
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-09 10:15:20 -07:00
Leonardo de Moura d5a14c0b51 Fix problem reported at http://stackoverflow.com/questions/15882140/z3-smt2-in-get-z3-version/15882868#comment22637420_15882868
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-04-09 08:49:04 -07:00
Leonardo de Moura d26f0e1c28 Fix bug in the SAT solver.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-04-09 08:42:14 -07:00
Leonardo de Moura 8627f6f1d5 Remove dead code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-04-08 18:02:28 -07:00
Leonardo de Moura f57b9fa7d3 Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable 2013-04-08 18:00:51 -07:00