YES Problem: tower(0(x1)) -> s(0(p(s(p(s(x1)))))) tower(s(x1)) -> p(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))))) twoto(0(x1)) -> s(0(x1)) twoto(s(x1)) -> p(p(s(p(p(p(s(s(p(s(s(p(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))))))))))))) twice(0(x1)) -> 0(x1) twice(s(x1)) -> p(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))))) p(p(s(x1))) -> p(x1) p(s(x1)) -> x1 p(0(x1)) -> 0(s(s(s(s(s(s(s(s(x1))))))))) Proof: Matrix Interpretation Processor: dim=1 interpretation: [twoto](x0) = x0, [tower](x0) = x0 + 1, [p](x0) = x0, [twice](x0) = x0, [0](x0) = x0, [s](x0) = x0 orientation: tower(0(x1)) = x1 + 1 >= x1 = s(0(p(s(p(s(x1)))))) tower(s(x1)) = x1 + 1 >= x1 + 1 = p(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))))) twoto(0(x1)) = x1 >= x1 = s(0(x1)) twoto(s(x1)) = x1 >= x1 = p(p(s(p(p(p(s(s(p(s(s(p(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))))))))))))) twice(0(x1)) = x1 >= x1 = 0(x1) twice(s(x1)) = x1 >= x1 = p(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))))) p(p(s(x1))) = x1 >= x1 = p(x1) p(s(x1)) = x1 >= x1 = x1 p(0(x1)) = x1 >= x1 = 0(s(s(s(s(s(s(s(s(x1))))))))) problem: tower(s(x1)) -> p(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))))) twoto(0(x1)) -> s(0(x1)) twoto(s(x1)) -> p(p(s(p(p(p(s(s(p(s(s(p(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))))))))))))) twice(0(x1)) -> 0(x1) twice(s(x1)) -> p(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))))) p(p(s(x1))) -> p(x1) p(s(x1)) -> x1 p(0(x1)) -> 0(s(s(s(s(s(s(s(s(x1))))))))) String Reversal Processor: s(tower(x1)) -> s(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) 0(twoto(x1)) -> 0(s(x1)) s(twoto(x1)) -> s(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) 0(twice(x1)) -> 0(x1) s(twice(x1)) -> s(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) s(p(p(x1))) -> p(x1) s(p(x1)) -> x1 0(p(x1)) -> s(s(s(s(s(s(s(s(0(x1))))))))) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [0] [twoto](x0) = [0 1 1]x0 + [1] [0 0 0] [0], [1 0 0] [tower](x0) = [0 0 0]x0 [0 0 1] , [p](x0) = x0 , [1 0 0] [twice](x0) = [0 1 0]x0 [0 0 0] , [1 1 0] [0](x0) = [0 0 0]x0 [0 0 0] , [s](x0) = x0 orientation: [1 0 0] [1 0 0] s(tower(x1)) = [0 0 0]x1 >= [0 0 0]x1 = s(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) [0 0 1] [0 0 0] [1 1 1] [1] [1 1 0] 0(twoto(x1)) = [0 0 0]x1 + [0] >= [0 0 0]x1 = 0(s(x1)) [0 0 0] [0] [0 0 0] [1 0 0] [0] [1 0 0] [0] s(twoto(x1)) = [0 1 1]x1 + [1] >= [0 1 0]x1 + [1] = s(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) [0 0 0] [0] [0 0 0] [0] [1 1 0] [1 1 0] 0(twice(x1)) = [0 0 0]x1 >= [0 0 0]x1 = 0(x1) [0 0 0] [0 0 0] [1 0 0] [1 0 0] s(twice(x1)) = [0 1 0]x1 >= [0 1 0]x1 = s(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) [0 0 0] [0 0 0] s(p(p(x1))) = x1 >= x1 = p(x1) s(p(x1)) = x1 >= x1 = x1 [1 1 0] [1 1 0] 0(p(x1)) = [0 0 0]x1 >= [0 0 0]x1 = s(s(s(s(s(s(s(s(0(x1))))))))) [0 0 0] [0 0 0] problem: s(tower(x1)) -> s(p(s(p(tower(s(p(s(p(twoto(s(p(s(p(x1)))))))))))))) s(twoto(x1)) -> s(p(s(p(twoto(s(s(s(p(p(p(s(p(s(p(twice(s(p(s(s(p(s(s(p(s(s(p(p(p(s(p(p(x1)))))))))))))))))))))))))))))))) 0(twice(x1)) -> 0(x1) s(twice(x1)) -> s(s(s(p(p(p(twice(s(s(s(s(s(p(p(p(x1))))))))))))))) s(p(p(x1))) -> p(x1) s(p(x1)) -> x1 0(p(x1)) -> s(s(s(s(s(s(s(s(0(x1))))))))) String Reversal Processor: tower(s(x1)) -> p(s(p(s(twoto(p(s(p(s(tower(p(s(p(s(x1)))))))))))))) twoto(s(x1)) -> p(p(s(p(p(p(s(s(p(s(s(p(s(s(p(s(twice(p(s(p(s(p(p(p(s(s(s(twoto(p(s(p(s(x1)))))))))))))))))))))))))))))))) twice(0(x1)) -> 0(x1) twice(s(x1)) -> p(p(p(s(s(s(s(s(twice(p(p(p(s(s(s(x1))))))))))))))) p(p(s(x1))) -> p(x1) p(s(x1)) -> x1 p(0(x1)) -> 0(s(s(s(s(s(s(s(s(x1))))))))) Bounds Processor: bound: 1 enrichment: match automaton: final states: {60,2,59,45,44,16,1} transitions: p1(104) -> 105* p1(90) -> 91* p1(96) -> 97* p1(66) -> 67* p1(74) -> 75* p1(88) -> 89* p1(80) -> 81* p1(98) -> 99* p1(82) -> 83* p1(72) -> 73* p0(47) -> 48* p0(13) -> 14* p0(5) -> 6* p0(58) -> 45* p0(57) -> 58* p0(40) -> 41* p0(39) -> 40* p0(20) -> 21* p0(42) -> 43* p0(22) -> 23* p0(35) -> 36* p0(15) -> 1* p0(29) -> 30* p0(32) -> 33* p0(3) -> 4* p0(38) -> 39* p0(26) -> 27* p0(21) -> 22* p0(8) -> 9* p0(43) -> 16* p0(24) -> 25* p0(48) -> 49* p0(49) -> 50* p0(10) -> 11* p0(56) -> 57* p0(2) -> 59* f60() -> 2* 00(2) -> 44* 00(65) -> 60* twice0(27) -> 28* twice0(50) -> 51* s0(52) -> 53* s0(4) -> 5* s0(2) -> 3* s0(17) -> 18* s0(62) -> 63* s0(31) -> 32* s0(53) -> 54* s0(61) -> 62* s0(12) -> 13* s0(54) -> 55* s0(25) -> 26* s0(9) -> 10* s0(64) -> 65* s0(47) -> 61* s0(3) -> 46* s0(28) -> 29* s0(18) -> 19* s0(36) -> 37* s0(46) -> 47* s0(55) -> 56* s0(34) -> 35* s0(51) -> 52* s0(7) -> 8* s0(19) -> 20* s0(37) -> 38* s0(30) -> 31* s0(63) -> 64* s0(14) -> 15* s0(41) -> 42* s0(23) -> 24* s0(33) -> 34* tower0(6) -> 7* twoto0(6) -> 17* twoto0(11) -> 12* 19 -> 21,80 17 -> 91,23 83 -> 58* 46 -> 48,74 30 -> 105,73 7 -> 9* 12 -> 14* 14 -> 1* 16 -> 17,91,25 45 -> 51* 28 -> 30* 4 -> 6* 2 -> 59,97,4 53 -> 99* 67 -> 40* 105 -> 73* 75 -> 49* 54 -> 83,98 36 -> 67,40,88 91 -> 23,25,27 73 -> 16* 44 -> 51* 60 -> 59* 1 -> 7,9,11 31 -> 33* 99 -> 45* 55 -> 57,82 34 -> 36* 37 -> 39,66 9 -> 11* 3 -> 75,96 41 -> 43,72 18 -> 81,22,90 97 -> 50* 81 -> 22* 89 -> 41* 25 -> 27* 23 -> 25* 33 -> 89,104 problem: Qed