summaryrefslogtreecommitdiff
path: root/src/proof/array_proof.h
diff options
context:
space:
mode:
authorGuy <katz911@gmail.com>2016-04-03 15:58:58 -0700
committerGuy <katz911@gmail.com>2016-04-03 15:58:58 -0700
commit29df9622b570ce843756e05a3ef248de04d2a5c3 (patch)
tree6577c5eec908571f2ee0fb262c12b3612f0c3118 /src/proof/array_proof.h
parentcd5cc65fed2c850100a6f00067d102b48d262742 (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.h11
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 {
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback