/////////////////////////////////////////////////////////// public BasicQuantifiedExpression( QuantifiedExpression other, ExpressionSubstitution s ) { scope = other.scope; quantifier = other.quantifier; variable = scope.makeFreshBoundVariable(other.variable.name, other.variable.type.substitute(s.typeSubstitution)); s.add(other.variable.name, new BasicBoundVariableExpression(variable)); expression = other.expression.substitute(s); triggers = (from trs in other.triggers select trs.substitute(s)).ToArray(); if (other.attributes != null) { attributes = (string)(other.attributes.Clone()); } s.remove(other.variable.name); }