mirror of
https://github.com/Z3Prover/z3
synced 2025-08-14 06:45:25 +00:00
slicing notes
This commit is contained in:
parent
fe03918f6d
commit
eb20b8971b
2 changed files with 18 additions and 1 deletions
|
@ -225,6 +225,9 @@ namespace polysat {
|
|||
using extract_map = map<extract_args, pvar, extract_args_hash, extract_args_eq>;
|
||||
extract_map m_extract_dedup;
|
||||
|
||||
bool is_extract(pvar v) const;
|
||||
bool is_extract(pvar v, pvar& out_src, pvar& out_hi, pvar& out_lo) const;
|
||||
|
||||
enum class trail_item : std::uint8_t {
|
||||
add_var,
|
||||
split_core,
|
||||
|
@ -233,7 +236,7 @@ namespace polysat {
|
|||
};
|
||||
svector<trail_item> m_trail;
|
||||
enode_vector m_split_trail;
|
||||
svector<extract_args> m_extract_trail;
|
||||
svector<extract_args> m_extract_trail; // TODO: expand to pvar -> extract_args? 1. for dependency tracking when sharing subslice trees; 2. for easily checking if a variable is an extraction of another.
|
||||
unsigned_vector m_scopes;
|
||||
|
||||
struct concat_info {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue