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)))) TDG 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)))) graph: log#(s(x)) -> log#(half(s(x))) -> log#(s(x)) -> s#(log(half(s(x)))) log#(s(x)) -> log#(half(s(x))) -> log#(s(x)) -> log#(half(s(x))) log#(s(x)) -> log#(half(s(x))) -> log#(s(x)) -> half#(s(x)) log#(s(x)) -> s#(log(half(s(x)))) -> s#(log(0())) -> s#(0()) log#(s(x)) -> half#(s(x)) -> half#(s(s(x))) -> s#(half(x)) log#(s(x)) -> half#(s(x)) -> half#(s(s(x))) -> half#(x) s#(log(0())) -> s#(0()) -> s#(log(0())) -> s#(0()) half#(s(s(x))) -> s#(half(x)) -> s#(log(0())) -> s#(0()) half#(s(s(x))) -> half#(x) -> half#(s(s(x))) -> s#(half(x)) half#(s(s(x))) -> half#(x) -> half#(s(s(x))) -> half#(x) EDG 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)))) graph: log#(s(x)) -> log#(half(s(x))) -> log#(s(x)) -> half#(s(x)) log#(s(x)) -> log#(half(s(x))) -> log#(s(x)) -> log#(half(s(x))) log#(s(x)) -> log#(half(s(x))) -> log#(s(x)) -> s#(log(half(s(x)))) log#(s(x)) -> s#(log(half(s(x)))) -> s#(log(0())) -> s#(0()) log#(s(x)) -> half#(s(x)) -> half#(s(s(x))) -> half#(x) log#(s(x)) -> half#(s(x)) -> half#(s(s(x))) -> s#(half(x)) half#(s(s(x))) -> half#(x) -> half#(s(s(x))) -> half#(x) half#(s(s(x))) -> half#(x) -> half#(s(s(x))) -> s#(half(x)) CDG 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)))) graph: log#(s(x)) -> log#(half(s(x))) -> log#(s(x)) -> s#(log(half(s(x)))) log#(s(x)) -> log#(half(s(x))) -> log#(s(x)) -> log#(half(s(x))) log#(s(x)) -> log#(half(s(x))) -> log#(s(x)) -> half#(s(x)) log#(s(x)) -> s#(log(half(s(x)))) -> s#(log(0())) -> s#(0()) SCC Processor: #sccs: 1 #rules: 1 #arcs: 4/36 DPs: log#(s(x)) -> 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 interpretation: [log#](x0) = 2x0 + 1/2, [log](x0) = 2x0, [s](x0) = x0 + 1, [half](x0) = 1/2x0, [0] = 0 orientation: log#(s(x)) = 2x + 5/2 >= x + 3/2 = log#(half(s(x))) half(0()) = 0 >= 0 = 0() half(s(0())) = 1/2 >= 0 = 0() half(s(s(x))) = 1/2x + 1 >= 1/2x + 1 = s(half(x)) s(log(0())) = 1 >= 1 = s(0()) log(s(x)) = 2x + 2 >= x + 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