MAYBE MAYBE TRS: { app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(filter(), f), app(app(cons(), x), xs)) -> app( app(app(if(), app(f, x)), app(app(cons(), x), app(app(filter(), f), xs)) ), app(app(filter(), f), xs) ), app(app(filter(), f), nil()) -> nil() } DUP: We consider a duplicating system. Trs: { app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(filter(), f), app(app(cons(), x), xs)) -> app( app( app(if(), app(f, x)), app(app(cons(), x), app(app(filter(), f), xs)) ), app(app(filter(), f), xs) ), app(app(filter(), f), nil()) -> nil() } Fail