diff options
Diffstat (limited to 'src/util/ite_removal.h')
-rw-r--r-- | src/util/ite_removal.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/util/ite_removal.h b/src/util/ite_removal.h new file mode 100644 index 000000000..b286665cc --- /dev/null +++ b/src/util/ite_removal.h @@ -0,0 +1,44 @@ +/********************* */ +/*! \file ite_removal.h + ** \verbatim + ** Original author: mdeters + ** Major contributors: none + ** Minor contributors (to current version): none + ** This file is part of the CVC4 prototype. + ** Copyright (c) 2009, 2010, 2011 The Analysis of Computer Systems Group (ACSys) + ** Courant Institute of Mathematical Sciences + ** New York University + ** See the file COPYING in the top-level source directory for licensing + ** information.\endverbatim + ** + ** \brief Representation of cardinality + ** + ** Simple class to represent a cardinality; used by the CVC4 type system + ** give the cardinality of sorts. + **/ + +#pragma once + +#include <vector> +#include "expr/node.h" + +namespace CVC4 { + +class RemoveITE { + +public: + + /** + * Removes the ITE nodes by introducing skolem variables. All additional assertions are pushed into assertions. + */ + static void run(std::vector<Node>& assertions); + + /** + * Removes the ITE from the node by introducing skolem variables. All additional assertions are pushed into assertions. + */ + static Node run(TNode node, std::vector<Node>& additionalAssertions); + +}; + + +} |