YES(?,O(n^1)) 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: RT Transformation Processor: strict: 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)))) weak: Matrix Interpretation Processor: dimension: 1 interpretation: [log](x0) = x0, [s](x0) = x0, [half](x0) = x0 + 16, [0] = 1 orientation: half(0()) = 17 >= 1 = 0() half(s(0())) = 17 >= 1 = 0() half(s(s(x))) = x + 16 >= x + 16 = s(half(x)) s(log(0())) = 1 >= 1 = s(0()) log(s(x)) = x >= x + 16 = s(log(half(s(x)))) problem: strict: half(s(s(x))) -> s(half(x)) s(log(0())) -> s(0()) log(s(x)) -> s(log(half(s(x)))) weak: half(0()) -> 0() half(s(0())) -> 0() Matrix Interpretation Processor: dimension: 1 interpretation: [log](x0) = x0, [s](x0) = x0 + 8, [half](x0) = x0, [0] = 2 orientation: half(s(s(x))) = x + 16 >= x + 8 = s(half(x)) s(log(0())) = 10 >= 10 = s(0()) log(s(x)) = x + 8 >= x + 16 = s(log(half(s(x)))) half(0()) = 2 >= 2 = 0() half(s(0())) = 10 >= 2 = 0() problem: strict: s(log(0())) -> s(0()) log(s(x)) -> s(log(half(s(x)))) weak: half(s(s(x))) -> s(half(x)) half(0()) -> 0() half(s(0())) -> 0() Matrix Interpretation Processor: dimension: 1 interpretation: [log](x0) = x0 + 4, [s](x0) = x0, [half](x0) = x0, [0] = 6 orientation: s(log(0())) = 10 >= 6 = s(0()) log(s(x)) = x + 4 >= x + 4 = s(log(half(s(x)))) half(s(s(x))) = x >= x = s(half(x)) half(0()) = 6 >= 6 = 0() half(s(0())) = 6 >= 6 = 0() problem: strict: log(s(x)) -> s(log(half(s(x)))) weak: s(log(0())) -> s(0()) half(s(s(x))) -> s(half(x)) half(0()) -> 0() half(s(0())) -> 0() Arctic Interpretation Processor: dimension: 3 interpretation: [0 0 0] [log](x0) = [0 2 2]x0 [0 1 1] , [0 -& 0 ] [s](x0) = [0 0 2 ]x0 [2 0 0 ] , [0 -& -&] [half](x0) = [0 -& -&]x0 [0 -& -&] , [0 ] [0] = [-&] [-&] orientation: [2 0 2] [1 -& 1 ] log(s(x)) = [4 2 4]x >= [3 -& 3 ]x = s(log(half(s(x)))) [3 1 3] [2 -& 2 ] [0] [0] s(log(0())) = [2] >= [0] = s(0()) [2] [2] [2 0 0] [0 -& -&] half(s(s(x))) = [2 0 0]x >= [2 -& -&]x = s(half(x)) [2 0 0] [2 -& -&] [0] [0 ] half(0()) = [0] >= [-&] = 0() [0] [-&] [0] [0 ] half(s(0())) = [0] >= [-&] = 0() [0] [-&] problem: strict: weak: log(s(x)) -> s(log(half(s(x)))) s(log(0())) -> s(0()) half(s(s(x))) -> s(half(x)) half(0()) -> 0() half(s(0())) -> 0() Qed