(VAR f y ys ) (RULES app(app(filter,f),nil) -> nil app(app(filter,f),app(app(cons,y),ys)) -> app(app(app(filtersub,app(f,y)),f),app(app(cons,y),ys)) app(app(app(filtersub,true),f),app(app(cons,y),ys)) -> app(app(cons,y),app(app(filter,f),ys)) app(app(app(filtersub,false),f),app(app(cons,y),ys)) -> app(app(filter,f),ys) )