MAYBE MAYBE TRS: { app(app(app(if(), true()), x), y) -> x, app(app(app(if(), false()), x), y) -> y, app(app(app(until(), p), f), x) -> app(app(app(if(), app(p, x)), x), app(app(app(until(), p), f), app(f, x))) } 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(app(until(), p), f), x) -> app(app(app(if(), app(p, x)), x), app(app(app(until(), p), f), app(f, x)) ) } Fail