(VAR f x xs ys ) (RULES app(app(app(consif,true),x),ys) -> app(app(cons,x),ys) app(app(app(consif,false),x),ys) -> ys app(app(filter,f),nil) -> nil app(app(filter,f),app(app(cons,x),xs)) -> app(app(app(consif,app(f,x)),x),app(app(filter,f),xs)) )