YES Problem: active(f(0())) -> mark(cons(0(),f(s(0())))) active(f(s(0()))) -> mark(f(p(s(0())))) active(p(s(X))) -> mark(X) 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 [1 1 0] , [1 1 0] [mark](x0) = [0 0 0]x0 [0 0 1] , [1 1 0] [1 0 0] [cons](x0, x1) = [0 0 1]x0 + [0 0 1]x1 [0 0 0] [1 0 0] , [1 1 0] [0] [s](x0) = [0 0 1]x0 + [0] [0 0 0] [1], [1 1 0] [active](x0) = [0 0 0]x0 [0 0 1] , [1 1 0] [f](x0) = [0 0 1]x0 [0 0 0] , [0] [0] = [0] [0] orientation: [0] [0] active(f(0())) = [0] >= [0] = mark(cons(0(),f(s(0())))) [0] [0] [1] [0] active(f(s(0()))) = [0] >= [0] = mark(f(p(s(0())))) [0] [0] [1 1 1] [1 1 0] active(p(s(X))) = [0 0 0]X >= [0 0 0]X = mark(X) [1 1 1] [0 0 1] [1 1 1] [1 1 1] mark(f(X)) = [0 0 0]X >= [0 0 0]X = active(f(mark(X))) [0 0 0] [0 0 0] [0] [0] mark(0()) = [0] >= [0] = active(0()) [0] [0] [1 1 1] [1 0 1] [1 1 1] [1 0 1] 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] [1 0 0] [0 0 0] [1 0 0] [1 1 1] [0] [1 1 1] [0] 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 1 0] [1 1 0] mark(p(X)) = [0 0 0]X >= [0 0 0]X = active(p(mark(X))) [1 1 0] [1 1 0] [1 1 0] [1 1 0] f(mark(X)) = [0 0 1]X >= [0 0 1]X = f(X) [0 0 0] [0 0 0] [1 1 0] [1 1 0] f(active(X)) = [0 0 1]X >= [0 0 1]X = f(X) [0 0 0] [0 0 0] [1 1 0] [1 0 0] [1 1 0] [1 0 0] cons(mark(X1),X2) = [0 0 1]X1 + [0 0 1]X2 >= [0 0 1]X1 + [0 0 1]X2 = cons(X1,X2) [0 0 0] [1 0 0] [0 0 0] [1 0 0] [1 1 0] [1 1 0] [1 1 0] [1 0 0] cons(X1,mark(X2)) = [0 0 1]X1 + [0 0 1]X2 >= [0 0 1]X1 + [0 0 1]X2 = cons(X1,X2) [0 0 0] [1 1 0] [0 0 0] [1 0 0] [1 1 0] [1 0 0] [1 1 0] [1 0 0] cons(active(X1),X2) = [0 0 1]X1 + [0 0 1]X2 >= [0 0 1]X1 + [0 0 1]X2 = cons(X1,X2) [0 0 0] [1 0 0] [0 0 0] [1 0 0] [1 1 0] [1 1 0] [1 1 0] [1 0 0] cons(X1,active(X2)) = [0 0 1]X1 + [0 0 1]X2 >= [0 0 1]X1 + [0 0 1]X2 = cons(X1,X2) [0 0 0] [1 1 0] [0 0 0] [1 0 0] [1 1 0] [0] [1 1 0] [0] s(mark(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = s(X) [0 0 0] [1] [0 0 0] [1] [1 1 0] [0] [1 1 0] [0] s(active(X)) = [0 0 1]X + [0] >= [0 0 1]X + [0] = s(X) [0 0 0] [1] [0 0 0] [1] [1 1 0] [1 1 0] p(mark(X)) = [0 0 0]X >= [0 0 0]X = p(X) [1 1 0] [1 1 0] [1 1 0] [1 1 0] p(active(X)) = [0 0 0]X >= [0 0 0]X = p(X) [1 1 0] [1 1 0] problem: active(f(0())) -> mark(cons(0(),f(s(0())))) active(p(s(X))) -> mark(X) 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 1 1] [1] [p](x0) = [1 0 0]x0 + [0] [0 0 0] [0], [1 0 0] [mark](x0) = [0 0 0]x0 [0 1 1] , [1 1 1] [1 1 1] [cons](x0, x1) = [0 0 0]x0 + [0 0 0]x1 [0 0 0] [0 0 0] , [1 1 1] [s](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [active](x0) = [0 0 1]x0 [0 1 0] , [1 0 0] [f](x0) = [0 0 0]x0 [0 0 0] , [0] [0] = [0] [0] orientation: [0] [0] active(f(0())) = [0] >= [0] = mark(cons(0(),f(s(0())))) [0] [0] [1 1 1] [1] [1 0 0] active(p(s(X))) = [0 0 0]X + [0] >= [0 0 0]X = mark(X) [1 1 1] [0] [0 1 1] [1 0 0] [1 0 0] mark(f(X)) = [0 0 0]X >= [0 0 0]X = active(f(mark(X))) [0 0 0] [0 0 0] [0] [0] mark(0()) = [0] >= [0] = active(0()) [0] [0] [1 1 1] [1 1 1] [1 1 1] [1 1 1] 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 1] [1 1 1] mark(s(X)) = [0 0 0]X >= [0 0 0]X = active(s(mark(X))) [0 0 0] [0 0 0] [1 1 1] [1] [1 1 1] [1] mark(p(X)) = [0 0 0]X + [0] >= [0 0 0]X + [0] = active(p(mark(X))) [1 0 0] [0] [1 0 0] [0] [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 0] [1 0 0] f(active(X)) = [0 0 0]X >= [0 0 0]X = f(X) [0 0 0] [0 0 0] [1 1 1] [1 1 1] [1 1 1] [1 1 1] 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 1] [1 1 1] [1 1 1] [1 1 1] 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 1] [1 1 1] [1 1 1] [1 1 1] 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 1] [1 1 1] [1 1 1] [1 1 1] 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 1] [1 1 1] s(mark(X)) = [0 0 0]X >= [0 0 0]X = s(X) [0 0 0] [0 0 0] [1 1 1] [1 1 1] s(active(X)) = [0 0 0]X >= [0 0 0]X = s(X) [0 0 0] [0 0 0] [1 1 1] [1] [1 1 1] [1] p(mark(X)) = [1 0 0]X + [0] >= [1 0 0]X + [0] = p(X) [0 0 0] [0] [0 0 0] [0] [1 1 1] [1] [1 1 1] [1] p(active(X)) = [1 0 0]X + [0] >= [1 0 0]X + [0] = p(X) [0 0 0] [0] [0 0 0] [0] problem: active(f(0())) -> mark(cons(0(),f(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(22) -> 16* p1(12) -> 16* p1(7) -> 16* p1(2) -> 16* p1(14) -> 16* p1(9) -> 16* p1(36) -> 16* p1(16) -> 16* p1(38) -> 16* p1(28) -> 16* s1(25) -> 26* s1(5) -> 14* s1(22) -> 14* s1(12) -> 14* s1(7) -> 14* s1(2) -> 14* s1(14) -> 14* s1(9) -> 14* s1(36) -> 14* s1(16) -> 14* s1(38) -> 14* s1(28) -> 14* cons1(38,7) -> 12* cons1(28,7) -> 12* cons1(5,7) -> 12* cons1(25,27) -> 28* 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(35,4) -> 36* cons1(25,4) -> 22* cons1(36,7) -> 12* cons1(16,7) -> 12* cons1(2,4) -> 22* f1(5) -> 9* f1(22) -> 9* f1(12) -> 9* f1(7) -> 9* f1(2) -> 9* f1(14) -> 9* f1(9) -> 9* f1(36) -> 9* f1(26) -> 27* f1(16) -> 9* f1(38) -> 9* f1(28) -> 9* active1(25) -> 35,21 active1(36) -> 1,6,8 mark1(2) -> 35* mark1(28) -> 6,8 01() -> 25* cons2(37,27) -> 38* cons2(25,4) -> 36* cons2(2,4) -> 36* active2(42) -> 37* active2(38) -> 6* f70() -> 7* mark2(25) -> 37* mark0(5) -> 1* mark0(7) -> 8* mark0(2) -> 21* cons3(25,27) -> 38* cons3(42,27) -> 38* cons0(8,7) -> 12* cons0(5,7) -> 12* cons0(21,4) -> 22* 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* cons0(2,4) -> 22,5 02() -> 42* 00() -> 2* f0(5) -> 9* f0(22) -> 9* f0(12) -> 9* f0(7) -> 9,17 f0(2) -> 9* f0(14) -> 9* f0(9) -> 9* f0(16) -> 9* f0(8) -> 9* f0(3) -> 4* s0(5) -> 14* s0(22) -> 14* s0(12) -> 14* s0(7) -> 14,19 s0(2) -> 14,3 s0(14) -> 14* s0(9) -> 14* s0(16) -> 14* s0(8) -> 14* active0(22) -> 1* active0(12) -> 11* active0(2) -> 21,10 active0(14) -> 13* active0(9) -> 6* active0(16) -> 15* p0(5) -> 16* 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* 1 -> 6* 6 -> 8* 10 -> 8* 11 -> 8* 13 -> 8* 15 -> 8* problem: Qed