diff options
author | Guy <katz911@gmail.com> | 2016-04-03 15:58:58 -0700 |
---|---|---|
committer | Guy <katz911@gmail.com> | 2016-04-03 15:58:58 -0700 |
commit | 29df9622b570ce843756e05a3ef248de04d2a5c3 (patch) | |
tree | 6577c5eec908571f2ee0fb262c12b3612f0c3118 /src/proof/array_proof.h | |
parent | cd5cc65fed2c850100a6f00067d102b48d262742 (diff) |
Removed the theory-specific merge reason types. Instead, added a mechanism for dynamically allocating these tags upon request.
Diffstat (limited to 'src/proof/array_proof.h')
-rw-r--r-- | src/proof/array_proof.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/proof/array_proof.h b/src/proof/array_proof.h index 9b308dcd8..b3fe89f0b 100644 --- a/src/proof/array_proof.h +++ b/src/proof/array_proof.h @@ -35,7 +35,12 @@ private: unsigned tb, const LetMap& map); - std::hash_map<Node, Node, NodeHashFunction> d_nodeToSkolem; + /** Merge tag for ROW applications */ + static unsigned d_reasonRow; + /** Merge tag for ROW1 applications */ + static unsigned d_reasonRow1; + /** Merge tag for EXT applications */ + static unsigned d_reasonExt; public: ProofArray(theory::eq::EqProof* pf) : d_proof(pf) {} //it is simply an equality engine proof @@ -44,6 +49,10 @@ public: static void toStreamLFSC(std::ostream& out, TheoryProof* tp, theory::eq::EqProof* pf, const LetMap& map); void registerSkolem(Node equality, Node skolem); + + static void setRowMergeTag(unsigned tag); + static void setRow1MergeTag(unsigned tag); + static void setExtMergeTag(unsigned tag); }; namespace theory { |