YES Problem: active(f(0())) -> mark(cons(0(),f(s(0())))) active(f(s(0()))) -> mark(f(p(s(0())))) active(p(s(0()))) -> mark(0()) mark(f(X)) -> active(f(mark(X))) mark(0()) -> active(0()) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(p(X)) -> active(p(mark(X))) f(mark(X)) -> f(X) f(active(X)) -> f(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) p(mark(X)) -> p(X) p(active(X)) -> p(X) Proof: Matrix Interpretation Processor: dim=3 interpretation: [1 1 0] [p](x0) = [0 0 0]x0 [0 0 0] , [1 1 0] [mark](x0) = [0 0 0]x0 [0 0 0] , [1 1 0] [1 0 0] [cons](x0, x1) = [0 0 0]x0 + [0 0 0]x1 [0 0 0] [0 0 0] , [1 1 0] [s](x0) = [0 0 0]x0 [0 0 0] , [1 1 0] [active](x0) = [0 0 0]x0 [0 0 0] , [1 1 0] [0] [f](x0) = [0 0 0]x0 + [1] [0 0 0] [0], [0] [0] = [0] [0] orientation: [1] [0] active(f(0())) = [0] >= [0] = mark(cons(0(),f(s(0())))) [0] [0] [1] [1] active(f(s(0()))) = [0] >= [0] = mark(f(p(s(0())))) [0] [0] [0] [0] active(p(s(0()))) = [0] >= [0] = mark(0()) [0] [0] [1 1 0] [1] [1 1 0] [1] mark(f(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(f(mark(X))) [0 0 0] [0] [0 0 0] [0] [0] [0] mark(0()) = [0] >= [0] = active(0()) [0] [0] [1 1 0] [1 0 0] [1 1 0] [1 0 0] mark(cons(X1,X2)) = [0 0 0]X1 + [0 0 0]X2 >= [0 0 0]X1 + [0 0 0]X2 = active(cons(mark(X1),X2)) [0 0 0] [0 0 0] [0 0 0] [0 0 0] [1 1 0] [1 1 0] mark(s(X)) = [0 0 0]X >= [0 0 0]X = active(s(mark(X))) [0 0 0] [0 0 0] [1 1 0] [1 1 0] mark(p(X)) = [0 0 0]X >= [0 0 0]X = active(p(mark(X))) [0 0 0] [0 0 0] [1 1 0] [0] [1 1 0] [0] f(mark(X)) = [0 0 0]X + [1] >= [0 0 0]X + [1] = f(X) [0 0 0] [0] [0 0 0] [0] [1 1 0] [0] [1 1 0] [0] f(active(X)) = [0 0 0]X + [1] >= [0 0 0]X + [1] = f(X) [0 0 0] [0] [0 0 0] [0] [1 1 0] [1 0 0] [1 1 0] [1 0 0] cons(mark(X1),X2) = [0 0 0]X1 + [0 0 0]X2 >= [0 0 0]X1 + [0 0 0]X2 = cons(X1,X2) [0 0 0] [0 0 0] [0 0 0] [0 0 0] [1 1 0] [1 1 0] [1 1 0] [1 0 0] cons(X1,mark(X2)) = [0 0 0]X1 + [0 0 0]X2 >= [0 0 0]X1 + [0 0 0]X2 = cons(X1,X2) [0 0 0] [0 0 0] [0 0 0] [0 0 0] [1 1 0] [1 0 0] [1 1 0] [1 0 0] cons(active(X1),X2) = [0 0 0]X1 + [0 0 0]X2 >= [0 0 0]X1 + [0 0 0]X2 = cons(X1,X2) [0 0 0] [0 0 0] [0 0 0] [0 0 0] [1 1 0] [1 1 0] [1 1 0] [1 0 0] cons(X1,active(X2)) = [0 0 0]X1 + [0 0 0]X2 >= [0 0 0]X1 + [0 0 0]X2 = cons(X1,X2) [0 0 0] [0 0 0] [0 0 0] [0 0 0] [1 1 0] [1 1 0] s(mark(X)) = [0 0 0]X >= [0 0 0]X = s(X) [0 0 0] [0 0 0] [1 1 0] [1 1 0] s(active(X)) = [0 0 0]X >= [0 0 0]X = s(X) [0 0 0] [0 0 0] [1 1 0] [1 1 0] p(mark(X)) = [0 0 0]X >= [0 0 0]X = p(X) [0 0 0] [0 0 0] [1 1 0] [1 1 0] p(active(X)) = [0 0 0]X >= [0 0 0]X = p(X) [0 0 0] [0 0 0] problem: active(f(s(0()))) -> mark(f(p(s(0())))) active(p(s(0()))) -> mark(0()) mark(f(X)) -> active(f(mark(X))) mark(0()) -> active(0()) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(p(X)) -> active(p(mark(X))) f(mark(X)) -> f(X) f(active(X)) -> f(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) p(mark(X)) -> p(X) p(active(X)) -> p(X) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [p](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [0] [mark](x0) = [0 0 0]x0 + [0] [0 0 0] [1], [1 0 0] [1 0 0] [cons](x0, x1) = [1 0 0]x0 + [0 0 0]x1 [0 0 0] [0 0 0] , [1 0 0] [1] [s](x0) = [0 0 0]x0 + [0] [0 0 0] [0], [1 0 1] [0] [active](x0) = [0 0 0]x0 + [0] [0 0 0] [1], [1 0 0] [f](x0) = [0 0 0]x0 [0 0 0] , [0] [0] = [0] [0] orientation: [1] [1] active(f(s(0()))) = [0] >= [0] = mark(f(p(s(0())))) [1] [1] [1] [0] active(p(s(0()))) = [0] >= [0] = mark(0()) [1] [1] [1 0 0] [0] [1 0 0] [0] mark(f(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(f(mark(X))) [0 0 0] [1] [0 0 0] [1] [0] [0] mark(0()) = [0] >= [0] = active(0()) [1] [1] [1 0 0] [1 0 0] [0] [1 0 0] [1 0 0] [0] mark(cons(X1,X2)) = [0 0 0]X1 + [0 0 0]X2 + [0] >= [0 0 0]X1 + [0 0 0]X2 + [0] = active(cons(mark(X1),X2)) [0 0 0] [0 0 0] [1] [0 0 0] [0 0 0] [1] [1 0 0] [1] [1 0 0] [1] mark(s(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(s(mark(X))) [0 0 0] [1] [0 0 0] [1] [1 0 0] [0] [1 0 0] [0] mark(p(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(p(mark(X))) [0 0 0] [1] [0 0 0] [1] [1 0 0] [1 0 0] f(mark(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 0 0] [0 0 0] [1 0 1] [1 0 0] f(active(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 0 0] [0 0 0] [1 0 0] [1 0 0] [1 0 0] [1 0 0] cons(mark(X1),X2) = [1 0 0]X1 + [0 0 0]X2 >= [1 0 0]X1 + [0 0 0]X2 = cons(X1,X2) [0 0 0] [0 0 0] [0 0 0] [0 0 0] [1 0 0] [1 0 0] [1 0 0] [1 0 0] cons(X1,mark(X2)) = [1 0 0]X1 + [0 0 0]X2 >= [1 0 0]X1 + [0 0 0]X2 = cons(X1,X2) [0 0 0] [0 0 0] [0 0 0] [0 0 0] [1 0 1] [1 0 0] [1 0 0] [1 0 0] cons(active(X1),X2) = [1 0 1]X1 + [0 0 0]X2 >= [1 0 0]X1 + [0 0 0]X2 = cons(X1,X2) [0 0 0] [0 0 0] [0 0 0] [0 0 0] [1 0 0] [1 0 1] [1 0 0] [1 0 0] cons(X1,active(X2)) = [1 0 0]X1 + [0 0 0]X2 >= [1 0 0]X1 + [0 0 0]X2 = cons(X1,X2) [0 0 0] [0 0 0] [0 0 0] [0 0 0] [1 0 0] [1] [1 0 0] [1] s(mark(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = s(X) [0 0 0] [0] [0 0 0] [0] [1 0 1] [1] [1 0 0] [1] s(active(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = s(X) [0 0 0] [0] [0 0 0] [0] [1 0 0] [1 0 0] p(mark(X)) = [0 0 0]X >= [0 0 0]X = p(X) [0 0 0] [0 0 0] [1 0 1] [1 0 0] p(active(X)) = [0 0 0]X >= [0 0 0]X = p(X) [0 0 0] [0 0 0] problem: active(f(s(0()))) -> mark(f(p(s(0())))) mark(f(X)) -> active(f(mark(X))) mark(0()) -> active(0()) mark(cons(X1,X2)) -> active(cons(mark(X1),X2)) mark(s(X)) -> active(s(mark(X))) mark(p(X)) -> active(p(mark(X))) f(mark(X)) -> f(X) f(active(X)) -> f(X) cons(mark(X1),X2) -> cons(X1,X2) cons(X1,mark(X2)) -> cons(X1,X2) cons(active(X1),X2) -> cons(X1,X2) cons(X1,active(X2)) -> cons(X1,X2) s(mark(X)) -> s(X) s(active(X)) -> s(X) p(mark(X)) -> p(X) p(active(X)) -> p(X) Bounds Processor: bound: 3 enrichment: match automaton: final states: {20,19,18,17,15,13,11,10,6,1} transitions: p1(5) -> 16* p1(42) -> 16* p1(32) -> 28* p1(22) -> 16* p1(12) -> 16* p1(7) -> 16* p1(2) -> 16* p1(34) -> 35* p1(14) -> 16* p1(9) -> 16* p1(56) -> 16* p1(51) -> 52* p1(46) -> 28* p1(36) -> 16* p1(16) -> 16* p1(3) -> 28* s1(45) -> 46* s1(5) -> 14* s1(42) -> 14* s1(22) -> 14* s1(12) -> 14* s1(7) -> 14* s1(2) -> 14,32 s1(14) -> 14* s1(9) -> 14* s1(56) -> 14* s1(36) -> 14* s1(16) -> 14* s1(33) -> 32,34 cons1(5,7) -> 12* cons1(42,7) -> 12* cons1(22,7) -> 12* cons1(12,7) -> 12* cons1(7,7) -> 12* cons1(2,7) -> 12* cons1(14,7) -> 12* cons1(9,7) -> 12* cons1(56,7) -> 12* cons1(36,7) -> 12* cons1(16,7) -> 12* f1(35) -> 36* f1(5) -> 9* f1(52) -> 22* f1(42) -> 9* f1(22) -> 9* f1(12) -> 9* f1(7) -> 9* f1(2) -> 9* f1(14) -> 9* f1(9) -> 9* f1(4) -> 22* f1(56) -> 9* f1(41) -> 42* f1(36) -> 9* f1(16) -> 9* f1(28) -> 22* active1(52) -> 41,21 active1(42) -> 1,6,8 active1(46) -> 51,27 active1(33) -> 45,31 mark1(2) -> 45* mark1(4) -> 41* mark1(36) -> 6,8 mark1(3) -> 51* 01() -> 33* p2(59) -> 60* p2(46) -> 52* p2(3) -> 52* s2(2) -> 46* s2(61) -> 62* s2(33) -> 46* f70() -> 7* f2(55) -> 56* f2(52) -> 42* f2(4) -> 42* mark0(5) -> 1* mark0(7) -> 8* mark0(2) -> 31* mark0(4) -> 21* mark0(3) -> 27* active2(60) -> 55* active2(62) -> 59* active2(66) -> 61* active2(56) -> 6* f0(5) -> 9* f0(22) -> 9* f0(12) -> 9* f0(7) -> 9,17 f0(2) -> 9* f0(14) -> 9* f0(9) -> 9* f0(4) -> 22,5 f0(21) -> 22* f0(16) -> 9* f0(28) -> 22* f0(8) -> 9* mark2(35) -> 55* mark2(34) -> 59* mark2(33) -> 61* p0(5) -> 16* p0(32) -> 28* p0(27) -> 28* p0(22) -> 16* p0(12) -> 16* p0(7) -> 16,20 p0(2) -> 16* p0(14) -> 16* p0(9) -> 16* p0(16) -> 16* p0(8) -> 16* p0(3) -> 28,4 f3(60) -> 56* f3(35) -> 56* s0(5) -> 14* s0(22) -> 14* s0(12) -> 14* s0(7) -> 14,19 s0(2) -> 14,32,3 s0(14) -> 14* s0(9) -> 14* s0(31) -> 32* s0(16) -> 14* s0(8) -> 14* p3(62) -> 60* p3(34) -> 60* 00() -> 2* s3(66) -> 62* s3(33) -> 62* active0(32) -> 27* active0(22) -> 1* active0(12) -> 11* active0(2) -> 31,10 active0(14) -> 13* active0(9) -> 6* active0(16) -> 15* active0(28) -> 21* 02() -> 66* cons0(8,7) -> 12* cons0(5,7) -> 12* cons0(22,7) -> 12* cons0(12,7) -> 12* cons0(7,7) -> 12,18 cons0(2,7) -> 12* cons0(14,7) -> 12* cons0(9,7) -> 12* cons0(16,7) -> 12* 1 -> 6* 6 -> 8* 10 -> 8* 11 -> 8* 13 -> 8* 15 -> 8* problem: Qed