(VAR X X1 X2 X3 ) (RULES a__f(b, X, c) -> a__f(X, a__c, X) a__c -> b mark(f(X1, X2, X3)) -> a__f(X1, mark(X2), X3) mark(c) -> a__c mark(b) -> b a__f(X1, X2, X3) -> f(X1, X2, X3) a__c -> c )