3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 03:45:51 +00:00
Commit graph

213 commits

Author SHA1 Message Date
Murphy Berzish
6b799706b5 add path constraint generation for regex terms 2018-01-10 17:24:47 -05:00
Murphy Berzish
09dc5cd0f8 Merge branch 'develop' into regex-develop 2018-01-03 16:12:33 -05:00
Murphy Berzish
a5180edc76 make linear search the default for theory_str 2018-01-03 16:05:34 -05:00
Simon Cruanes
06e0b12700 add a predicate for depth limit assumptions 2017-12-25 22:51:39 +01:00
Simon Cruanes
d5e134dd94 wip: add recursive functions 2017-12-25 22:51:39 +01:00
Murphy Berzish
fbe8d1577e new regex automata start; add complexity estimation 2017-12-04 18:05:00 -05:00
Nikolaj Bjorner
fd49a0c89c added facility to persist model transformations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-02 00:05:52 -05:00
Murphy Berzish
b2af690c6d enable binary search for theory_str 2017-09-22 12:31:46 -04:00
Nikolaj Bjorner
651587ce01 merge with master branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-19 09:39:22 -07:00
Nikolaj Bjorner
5492d0e135 re-introduce eq2ineq name for rewriting parameter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-04 11:03:57 -07:00
Nikolaj Bjorner
fff54d5d08 fix perf regression with negative polynomial normalization, adding new datatype plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-03 03:56:10 -07:00
Nikolaj Bjorner
f20e95184e remove old_simplify dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-28 13:29:51 -07:00
Nikolaj Bjorner
bcf229dcfd removing dependencies on simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 11:23:41 -07:00
Nikolaj Bjorner
2955b0c2ef removing more dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 03:05:34 -07:00
Nikolaj Bjorner
c03be16039 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-26 01:33:19 -07:00
Nikolaj Bjorner
ac0bb6a3d0 remove simplify dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-25 23:56:09 -07:00
Christoph M. Wintersteiger
36dd2b6530 Re-enabled macro-related options for the smt_context 2017-08-25 15:01:54 +01:00
Christoph M. Wintersteiger
6f8a954532 added missing addition to smt_params_helper.pyg 2017-08-23 12:37:26 +01:00
Christoph M. Wintersteiger
3e960eadd2 (Re-)added option to disable lemma deletion in the smt_context. 2017-08-23 12:14:19 +01:00
Nikolaj Bjorner
2b82fd5d0c updated include directives
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 10:51:47 -07:00
Arie Gurfinkel
ba6594b241 extra smt params used by spacer 2017-07-31 17:01:47 -04:00
Nikolaj Bjorner
b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner
a28a8304b7 Dev (#56)
* introduce int_solver.h

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* add int_solver class

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* track which var is an integer

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add queries for integrality of vars

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* resurrect lp_tst in its own director lp

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add file

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add_constraint has got a body

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix add_constraint and substitute_terms_in_linear_expression

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* after merge with Z3Prover

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* adding stub check_int_feasibility()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Dev (#50)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* small fix in lar_solver.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* adding some content to the new check_int_feasibility()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Dev (#51)

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* test

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* Dev (#53)

* change in a comment

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* preserve is_int flag

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* remove a debug printout

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Dev (#54)

* change in a comment

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* Disabled debug output

* removing FOCI2 interface from interp

* remove foci reference from cmakelist.txt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* initial skeletons for nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding more nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* nlsat integration

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding constraints

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing initialization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* adding nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugging nra

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* updates to nra_solver integration to call it directly from theory_lra instead of over lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* n/a

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* integrate nlsat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* tidy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* use integer test from lra solver, updated it to work on term variables

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix equality check in assume-eq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix model_is_int_feasible

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* untested gcd_test()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* call fill_explanation_from_fixed_columns()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add the call to pivot_fixed_vars_from_basis() to int_solver.cpp::check()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* port more of theory_arith_int.h

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* use statistics of lar_solver by theory_lra.cpp

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* port more code to int_solver.cpp

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add an assert

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* more int porting

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* fix a bug in pivot_fixed_vars_from_basis

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* small change

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* implement find_inf_int_base_column()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* catch unregistered vars in add_var_bound

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add a file

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* compile for vs2012

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix asserts in add_var_bound

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* fix the lp_solver init when workig on an mps file

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* towards int_solver::check()

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* change in int_solver::check() signature

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

* add handlers for lia moves

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* spacing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-06-28 13:12:12 -07:00
Dan Liew
4b517b96df [CMake] Move CMake files into their intended location so the
`contrib/cmake/bootstrap.py` script no longer needs to be executed.

The previous location of the CMake files was a compromise proposed
by @agurfinkel in #461. While this has served us well (allowing progress
to be made) over time limitations of this approach have appeared.

The main problem is that doing many git operations (e.g. pull, rebase)
means the CMake files don't get updated unless the user remembers to
run the script. This can lead to broken and confusing build system
behaviour.

This commit only does the file moving and necessary changes to
`.gitignore`. Other changes will be done in subsequent commits.
2017-06-12 11:59:00 +01:00
Nikolaj Bjorner
6f2cd4817b ensure arith.reflect has default true
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-23 14:09:45 -07:00
Nikolaj Bjorner
af4346f16a expose arith reflection, get rid of long m_manager attribute in asserted fromulas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-05-23 10:04:29 -07:00
Murphy Berzish
41a242fab1 Merge branch 'upstream-master' into develop
Conflicts:
	src/smt/params/smt_params.h
	src/smt/params/smt_params_helper.pyg
	src/smt/smt_case_split_queue.cpp
	src/smt/smt_context.h
	src/smt/smt_setup.cpp
	src/smt/smt_setup.h
2017-05-03 17:03:13 -04:00
Nikolaj Bjorner
52dfdedb9b Merge pull request #1000 from mtrberzi/theory_str-smt-setup
smt_setup for strings/sequences
2017-05-02 20:44:23 -07:00
Murphy Berzish
92755b0185 smt_setup framework, all hooks to theory_str are redirected to theory_seq 2017-05-02 17:16:35 -04:00
Murphy Berzish
15cb2d7dba cleanup 2017-05-02 14:08:48 -04:00
Murphy Berzish
a8d069ba46 refactor: add asserts, use case split strategy param 2017-05-02 13:06:08 -04:00
Murphy Berzish
6cd1f877b8 params for theory aware branching 2017-05-02 10:39:32 -04:00
Murphy Berzish
f655e1976e add params for theory case split 2017-05-01 10:18:38 -04:00
Murphy Berzish
6fececaad9 fix str/seq parameter config 2017-04-24 21:47:31 -04:00
Murphy Berzish
3fe49137d0 fix trace typos 2017-04-24 19:25:35 -04:00
Murphy Berzish
06cd07e3c2 Merge branch 'theory-assumptions' into develop
Conflicts:
	src/smt/smt_context.cpp
	src/smt/smt_context.h
	src/smt/smt_theory.h
2017-04-22 13:31:43 -04:00
Christoph M. Wintersteiger
71da36f85c Added core.extend_nonlocal_patterns parameter to improve unsat cores. 2017-04-18 15:13:11 +01:00
Murphy Berzish
a7b21dc5d5 refactor: aligned external/internal names for str.strong_arrangements option 2017-02-23 16:00:05 -05:00
Murphy Berzish
235ea79043 Merge branch 'upstream-master' into release-1.0
Conflicts:
	src/cmd_context/check_logic.cpp
	src/cmd_context/cmd_context.cpp
	src/cmd_context/cmd_context.h
	src/smt/params/smt_params_helper.pyg
	src/smt/smt_context.cpp
2017-02-18 15:04:44 -05:00
Murphy Berzish
09ac5645e4 parameterize theory-aware activity of overlap 2017-01-22 23:21:20 -05:00
Christoph M. Wintersteiger
adf8072eaa Added option to limit the distance of unsat core extension through patterns. 2017-01-21 12:28:37 +00:00
Murphy Berzish
e459617c39 experimental finite model finding WIP, first successful run 2017-01-16 18:04:03 -05:00
Murphy Berzish
3459c1993e experimental theory-aware branching code 2017-01-10 15:38:33 -05:00
Christoph M. Wintersteiger
384468bc99 Added option to extend unsat cores with literals that (potentially) provide quantifier instances. 2017-01-10 20:22:20 +00:00
Murphy Berzish
2dc9b486d3 theory_str binary search heuristic WIP 2016-12-22 19:17:42 -05:00
Murphy Berzish
94762d276d add string constant cache to theory_str and associated param 2016-12-18 18:47:38 -05:00
Murphy Berzish
dd8cd8199b theory_str refcount debug messages and beginning theory case split 2016-12-16 14:37:34 -05:00
Murphy Berzish
27a2c20c1c add more parameters for theory_str 2016-12-13 19:38:40 -05:00
Murphy Berzish
bced5828f7 theory_str parameters 2016-12-13 17:20:58 -05:00
Murphy Berzish
f5bc17b864 theory_str params module, WIP 2016-12-13 16:12:57 -05:00