3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-22 19:17:53 +00:00

adding labels to duality

This commit is contained in:
Ken McMillan 2013-05-03 17:29:13 -07:00
parent e939dd2bc5
commit 2f8b7bfa18
5 changed files with 41 additions and 14 deletions

View file

@ -622,11 +622,20 @@ namespace Duality {
*/
struct label_struct {
symbol name;
expr value;
bool pos;
label_struct(const symbol &s, const expr &e, bool b)
: name(s), value(e), pos(b) {}
};
#ifdef WIN32
__declspec(dllexport)
#endif
void FromClauses(const std::vector<Term> &clauses);
void FromClauses(const std::vector<Term> &clauses,
std::vector<std::vector<label_struct> > &clause_labels);
void FromFixpointContext(fixedpoint fp, std::vector<Term> &queries);
@ -707,10 +716,9 @@ namespace Duality {
std::vector<func_decl> &res,
std::vector<Node *> &nodes);
Term RemoveLabelsRec(hash_map<ast,Term> &memo, const Term &t, std::vector<label_struct> &lbls);
Term RemoveLabelsRec(hash_map<ast,Term> &memo, const Term &t);
Term RemoveLabels(const Term &t);
Term RemoveLabels(const Term &t, std::vector<label_struct > &lbls);
Term GetAnnotation(Node *n);