summaryrefslogtreecommitdiff
path: root/src/expr/node.h
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2013-06-24 19:58:37 -0400
committerMorgan Deters <mdeters@cs.nyu.edu>2013-07-11 17:15:59 -0400
commite80b93ca958bdbeb28959029868f6193b39a3f19 (patch)
tree92218adf47348cb8011a41599e158b371f5659de /src/expr/node.h
parentb76afedab3a23525da478ba4a8687c882793ea81 (diff)
Support for TPTP's TFF0 (with arithmetic)
This commit reverses an "SZS ontology compliance hack" that was done for CASC-24 this year, and adds a TPTP pretty-printer which is capable of outputting results in the TPTP way (rather than the SMT way). This commit includes minor changes to the Expr package to add obvious missing functionality, and to fix the way expressions with builtin operators are made. These changes are truly a _fix_, the implementation had not been properly aligned with the design vision for some corner cases.
Diffstat (limited to 'src/expr/node.h')
-rw-r--r--src/expr/node.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/expr/node.h b/src/expr/node.h
index d9e88d8af..99e1e7ee7 100644
--- a/src/expr/node.h
+++ b/src/expr/node.h
@@ -1337,7 +1337,11 @@ NodeTemplate<ref_count>::substitute(TNode node, TNode replacement,
NodeBuilder<> nb(getKind());
if(getMetaKind() == kind::metakind::PARAMETERIZED) {
// push the operator
- nb << getOperator();
+ if(getOperator() == node) {
+ nb << replacement;
+ } else {
+ nb << getOperator().substitute(node, replacement, cache);
+ }
}
for(const_iterator i = begin(),
iend = end();
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback