YES Problem: half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) s(log(0())) -> s(0()) log(s(x)) -> s(log(half(s(x)))) Proof: DP Processor: DPs: half#(s(s(x))) -> half#(x) half#(s(s(x))) -> s#(half(x)) s#(log(0())) -> s#(0()) log#(s(x)) -> half#(s(x)) log#(s(x)) -> log#(half(s(x))) log#(s(x)) -> s#(log(half(s(x)))) TRS: half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) s(log(0())) -> s(0()) log(s(x)) -> s(log(half(s(x)))) Matrix Interpretation Processor: dim=1 usable rules: half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) s(log(0())) -> s(0()) log(s(x)) -> s(log(half(s(x)))) interpretation: [log#](x0) = 2x0 + 5/2, [s#](x0) = x0 + 2, [half#](x0) = 1/2x0 + 3/2, [log](x0) = 2x0 + 1/2, [s](x0) = x0 + 2, [half](x0) = 1/2x0, [0] = 0 orientation: half#(s(s(x))) = 1/2x + 7/2 >= 1/2x + 3/2 = half#(x) half#(s(s(x))) = 1/2x + 7/2 >= 1/2x + 2 = s#(half(x)) s#(log(0())) = 5/2 >= 2 = s#(0()) log#(s(x)) = 2x + 13/2 >= 1/2x + 5/2 = half#(s(x)) log#(s(x)) = 2x + 13/2 >= x + 9/2 = log#(half(s(x))) log#(s(x)) = 2x + 13/2 >= x + 9/2 = s#(log(half(s(x)))) half(0()) = 0 >= 0 = 0() half(s(0())) = 1 >= 0 = 0() half(s(s(x))) = 1/2x + 2 >= 1/2x + 2 = s(half(x)) s(log(0())) = 5/2 >= 2 = s(0()) log(s(x)) = 2x + 9/2 >= x + 9/2 = s(log(half(s(x)))) problem: DPs: TRS: half(0()) -> 0() half(s(0())) -> 0() half(s(s(x))) -> s(half(x)) s(log(0())) -> s(0()) log(s(x)) -> s(log(half(s(x)))) Qed