(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))
        
)