mirror of
https://github.com/Z3Prover/z3
synced 2025-07-19 10:52:02 +00:00
implementing model updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
92b5301b7f
commit
3de8c193ea
63 changed files with 482 additions and 294 deletions
|
@ -384,6 +384,7 @@ namespace datalog {
|
|||
return alloc(skip_model_converter);
|
||||
}
|
||||
|
||||
virtual void display(std::ostream & out) { }
|
||||
};
|
||||
|
||||
model_converter* mk_skip_model_converter() { return alloc(skip_model_converter); }
|
||||
|
@ -398,6 +399,7 @@ namespace datalog {
|
|||
return alloc(skip_proof_converter);
|
||||
}
|
||||
|
||||
virtual void display(std::ostream & out) { out << "(skip-proof-converter)\n"; }
|
||||
};
|
||||
|
||||
proof_converter* mk_skip_proof_converter() { return alloc(skip_proof_converter); }
|
||||
|
@ -508,10 +510,9 @@ namespace datalog {
|
|||
}
|
||||
|
||||
void collect_and_transform(const unsigned_vector & src, const unsigned_vector & translation,
|
||||
unsigned_vector & res) {
|
||||
unsigned n = src.size();
|
||||
for(unsigned i=0; i<n; i++) {
|
||||
unsigned translated = translation[src[i]];
|
||||
unsigned_vector & res) {
|
||||
for (unsigned s : src) {
|
||||
unsigned translated = translation[s];
|
||||
if(translated!=UINT_MAX) {
|
||||
res.push_back(translated);
|
||||
}
|
||||
|
@ -520,10 +521,8 @@ namespace datalog {
|
|||
|
||||
|
||||
void transform_set(const unsigned_vector & map, const idx_set & src, idx_set & result) {
|
||||
idx_set::iterator it = src.begin();
|
||||
idx_set::iterator end = src.end();
|
||||
for(; it!=end; ++it) {
|
||||
result.insert(map[*it]);
|
||||
for (unsigned s : src) {
|
||||
result.insert(map[s]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue