3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 22:05:36 +00:00
z3/src/muz
Nikolaj Bjorner 87f7a20e14 Add (updated and general) solve_for functionality for arithmetic, add congruence_explain to API to retrieve explanation for why two terms are congruent Tweak handling of smt.qi.max_instantations
Add API solve_for(vars).
It takes a list of variables and returns a triangular solved form for the variables.
Currently for arithmetic. The solved form is a list with elements of the form (var, term, guard).
Variables solved in the tail of the list do not occur before in the list.
For example it can return a solution [(x, z, True), (y, x + z, True)] because first x was solved to be z,
then y was solved to be x + z which is the same as 2z.

Add congruent_explain that retuns an explanation for congruent terms.
Terms congruent in the final state after calling SimpleSolver().check() can be queried for
an explanation, i.e., a list of literals that collectively entail the equality under congruence closure.
The literals are asserted in the final state of search.

Adjust smt_context cancellation for the smt.qi.max_instantiations parameter.
It gets checked when qi-queue elements are consumed.
Prior it was checked on insertion time, which didn't allow for processing as many
instantations as there were in the queue. Moreover, it would not cancel the solver.
So it would keep adding instantations to the queue when it was full / depleted the
configuration limit.
2024-12-19 23:27:57 +01:00
..
base remove default destructors 2024-10-02 22:20:12 +01:00
bmc remove default destructors & some default constructors 2024-09-04 22:30:23 +01:00
clp remove default destructors & some default constructors 2024-09-04 22:30:23 +01:00
dataflow booyah 2020-07-04 15:56:30 -07:00
ddnf fixes to build warnings 2024-09-30 08:23:31 -07:00
fp use std::exception as base class to z3_exception 2024-11-04 11:08:15 -08:00
rel remove default destructors 2024-10-02 22:20:12 +01:00
spacer Add (updated and general) solve_for functionality for arithmetic, add congruence_explain to API to retrieve explanation for why two terms are congruent Tweak handling of smt.qi.max_instantations 2024-12-19 23:27:57 +01:00
tab remove default destructors & some default constructors 2024-09-04 22:30:23 +01:00
transforms remove default destructors 2024-10-02 22:20:12 +01:00
README Setting up the lackr branch. 2015-12-16 20:10:14 +00:00

muZ: routines related to solving satisfiability of Horn clauses and 
solving Datalog programs.

- base - contains base routines and the main context for
         maintaining fixedpoint solvers
- transforms - common rule transformations
- rel - relational algebra based Datalog engine
- pdr - PDR based Horn clause solver
- clp - Dart/Symbolic execution-based solver
- tab - Tabulation based solver
- bmc - Bounded model checking based solver
- fp  - main exported routines