protected override TrsTermBase ApplySubstitution(Execution.Substitution substitution) { return(new TrsAcTerm(Name, OnfArguments.Select(rankedPair => new TrsOnfAcTermArgument { Term = rankedPair.Term.ApplySubstitutions(new [] { substitution }), Cardinality = rankedPair.Cardinality }))); }
protected override TrsTermBase ApplySubstitution(Execution.Substitution substitution) { if (substitution.Variable.Equals(this)) { return(substitution.SubstitutionTerm); } else { return(this); } }
protected override TrsTermBase ApplySubstitution(Execution.Substitution substitution) { return(new TrsTerm(Name, Arguments.Select(arg => arg.ApplySubstitutions(new [] { substitution })))); }
protected override TrsTermBase ApplySubstitution(Execution.Substitution substitution) { // Atoms do not contain variables. return(this); }