YES Problem: strict: half(0()) -> 0() half(s(s(x))) -> s(half(x)) log(s(0())) -> 0() log(s(s(x))) -> s(log(s(half(x)))) weak: rand(x) -> x rand(x) -> rand(s(x)) Proof: Arctic Interpretation Processor: dimension: 2 interpretation: [0 0] [rand](x0) = [0 0]x0, [0 -&] [half](x0) = [0 0 ]x0, [0 4] [log](x0) = [4 6]x0, [4 ] [0] = [-&], [0 -&] [s](x0) = [0 -&]x0 orientation: [4] [4 ] half(0()) = [4] >= [-&] = 0() [0 -&] [0 -&] half(s(s(x))) = [0 -&]x >= [0 -&]x = s(half(x)) [8 ] [4 ] log(s(0())) = [10] >= [-&] = 0() [4 -&] [4 -&] log(s(s(x))) = [6 -&]x >= [4 -&]x = s(log(s(half(x)))) [0 0] rand(x) = [0 0]x >= x = x [0 0] [0 -&] rand(x) = [0 0]x >= [0 -&]x = rand(s(x)) problem: strict: half(0()) -> 0() half(s(s(x))) -> s(half(x)) log(s(s(x))) -> s(log(s(half(x)))) weak: rand(x) -> x rand(x) -> rand(s(x)) Arctic Interpretation Processor: dimension: 1 interpretation: [rand](x0) = 1x0, [half](x0) = x0, [log](x0) = 2x0, [0] = 15, [s](x0) = x0 orientation: half(0()) = 15 >= 15 = 0() half(s(s(x))) = x >= x = s(half(x)) log(s(s(x))) = 2x >= 2x = s(log(s(half(x)))) rand(x) = 1x >= x = x rand(x) = 1x >= 1x = rand(s(x)) problem: strict: half(0()) -> 0() half(s(s(x))) -> s(half(x)) log(s(s(x))) -> s(log(s(half(x)))) weak: rand(x) -> rand(s(x)) Arctic Interpretation Processor: dimension: 2 interpretation: [0 -&] [rand](x0) = [-& -&]x0, [0 3 ] [half](x0) = [-& 0 ]x0, [6 4 ] [log](x0) = [-& 2 ]x0, [4] [0] = [0], [0 -&] [s](x0) = [0 4 ]x0 orientation: [4] [4] half(0()) = [0] >= [0] = 0() [7 11] [0 3] half(s(s(x))) = [4 8 ]x >= [0 4]x = s(half(x)) [8 12] [6 9 ] log(s(s(x))) = [6 10]x >= [6 10]x = s(log(s(half(x)))) [0 -&] [0 -&] rand(x) = [-& -&]x >= [-& -&]x = rand(s(x)) problem: strict: half(0()) -> 0() log(s(s(x))) -> s(log(s(half(x)))) weak: rand(x) -> rand(s(x)) Arctic Interpretation Processor: dimension: 2 interpretation: [0 0 ] [rand](x0) = [-& -&]x0, [0 0] [half](x0) = [1 1]x0, [0 1] [log](x0) = [0 1]x0, [0] [0] = [1], [0 0 ] [s](x0) = [0 -&]x0 orientation: [1] [0] half(0()) = [2] >= [1] = 0() [1 1] [1 1] log(s(s(x))) = [1 1]x >= [1 1]x = s(log(s(half(x)))) [0 0 ] [0 0 ] rand(x) = [-& -&]x >= [-& -&]x = rand(s(x)) problem: strict: log(s(s(x))) -> s(log(s(half(x)))) weak: rand(x) -> rand(s(x)) Matrix Interpretation Processor: dim=2 interpretation: [2 0] [rand](x0) = [0 0]x0, [1 0] [half](x0) = [0 0]x0, [2 1] [0] [log](x0) = [0 1]x0 + [1], [0] [s](x0) = x0 + [1] orientation: [2 1] [2] [2 0] [1] log(s(s(x))) = [0 1]x + [3] >= [0 0]x + [3] = s(log(s(half(x)))) [2 0] [2 0] rand(x) = [0 0]x >= [0 0]x = rand(s(x)) problem: strict: weak: rand(x) -> rand(s(x)) Qed