(VAR f m n x xs y ) (RULES app'(app'(minus, x), 0) -> x app'(app'(minus, app'(s, x)), app'(s, y)) -> app'(app'(minus, x), y) app'(app'(quot, 0), app'(s, y)) -> 0 app'(app'(quot, app'(s, x)), app'(s, y)) -> app'(s, app'(app'(quot, app'(app'(minus, x), y)), app'(s, y))) app'(app'(le, 0), y) -> true app'(app'(le, app'(s, x)), 0) -> false app'(app'(le, app'(s, x)), app'(s, y)) -> app'(app'(le, x), y) app'(app'(app, nil), y) -> y app'(app'(app, app'(app'(add, n), x)), y) -> app'(app'(add, n), app'(app'(app, x), y)) app'(app'(low, n), nil) -> nil app'(app'(low, n), app'(app'(add, m), x)) -> app'(app'(app'(if_low, app'(app'(le, m), n)), n), app'(app'(add, m), x)) app'(app'(app'(if_low, true), n), app'(app'(add, m), x)) -> app'(app'(add, m), app'(app'(low, n), x)) app'(app'(app'(if_low, false), n), app'(app'(add, m), x)) -> app'(app'(low, n), x) app'(app'(high, n), nil) -> nil app'(app'(high, n), app'(app'(add, m), x)) -> app'(app'(app'(if_high, app'(app'(le, m), n)), n), app'(app'(add, m), x)) app'(app'(app'(if_high, true), n), app'(app'(add, m), x)) -> app'(app'(high, n), x) app'(app'(app'(if_high, false), n), app'(app'(add, m), x)) -> app'(app'(add, m), app'(app'(high, n), x)) app'(quicksort, nil) -> nil app'(quicksort, app'(app'(add, n), x)) -> app'(app'(app, app'(quicksort, app'(app'(low, n), x))), app'(app'(add, n), app'(quicksort, app'(app'(high, n), x)))) app'(app'(map, f), nil) -> nil app'(app'(map, f), app'(app'(add, x), xs)) -> app'(app'(add, app'(f, x)), app'(app'(map, f), xs)) app'(app'(filter, f), nil) -> nil app'(app'(filter, f), app'(app'(add, x), xs)) -> app'(app'(app'(app'(filter2, app'(f, x)), f), x), xs) app'(app'(app'(app'(filter2, true), f), x), xs) -> app'(app'(add, x), app'(app'(filter, f), xs)) app'(app'(app'(app'(filter2, false), f), x), xs) -> app'(app'(filter, f), xs) )