public Object visitFunction(Function function, Object arg) { List<Term> terms = function.getTerms(); List<Term> newTerms = new List<Term>(); for (int i = 0; i < terms.Count; i++) { Term t = terms[i]; Term subsTerm = (Term)t.accept(this, arg); newTerms.Add(subsTerm); } return new Function(function.getFunctionName(), newTerms); }
// END-Term // public override bool Equals(Object o) { if (this == o) { return(true); } if (!(o is Function)) { return(false); } Function f = (Function)o; return(f.getFunctionName().Equals(getFunctionName()) && f.getTerms().Equals(getTerms())); }
public Object visitFunction(Function function, Object arg) { if (!replaced) { if (toReplace.Equals(function)) { replaced = true; return replaceWith; } } List<Term> newTerms = new List<Term>(); foreach (Term t in function.getTerms()) { Term subsTerm = (Term)t.accept(this, arg); newTerms.Add(subsTerm); } return new Function(function.getFunctionName(), newTerms); }