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