diff options
author | Morgan Deters <mdeters@gmail.com> | 2011-05-05 22:23:50 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2011-05-05 22:23:50 +0000 |
commit | fef0f8190fc7e5f3b88b33e7574b7df1e629e80f (patch) | |
tree | dfdda739bf5008096860e19f6b9275fb2a257960 /src/theory/substitutions.h | |
parent | 90d8205a86b698c2548108ca4db124fe9c3f738a (diff) |
Merge from nonclausal-simplification-v2 branch:
* Preprocessing-time, non-clausal, Boolean simplification round to
support "quasi-non-linear rewrites" as discussed at last few meetings.
* --simplification=none is the default for now, but we'll probably
change that to --simplification=incremental. --simplification=batch
is also a possibility. See --simplification=help for details.
* RecursionBreaker<T> now uses a hash set for the seen trail.
* Fixes to TLS stuff to support that.
* Fixes to theory and SmtEngine documentation.
* Fixes to stream indentation.
* Other miscellaneous stuff.
Diffstat (limited to 'src/theory/substitutions.h')
-rw-r--r-- | src/theory/substitutions.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/theory/substitutions.h b/src/theory/substitutions.h new file mode 100644 index 000000000..32e1599ea --- /dev/null +++ b/src/theory/substitutions.h @@ -0,0 +1,42 @@ +/********************* */ +/*! \file substitutions.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 A substitution mapping for theory simplification + ** + ** A substitution mapping for theory simplification. + **/ + +#include "cvc4_private.h" + +#ifndef __CVC4__THEORY__SUBSTITUTIONS_H +#define __CVC4__THEORY__SUBSTITUTIONS_H + +#include <utility> +#include <vector> +#include "expr/node.h" + +namespace CVC4 { +namespace theory { + +/** + * The type for the Substitutions mapping output by + * Theory::simplify(), TheoryEngine::simplify(), and + * Valuation::simplify(). This is in its own header to avoid circular + * dependences between those three. + */ +typedef std::vector< std::pair<Node, Node> > Substitutions; + +}/* CVC4::theory namespace */ +}/* CVC4 namespace */ + +#endif /* __CVC4__THEORY__SUBSTITUTIONS_H */ |