YES We show the termination of the TRS R: fst(|0|(),Z) -> nil() fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) from(X) -> cons(X,n__from(n__s(X))) add(|0|(),X) -> X add(s(X),Y) -> s(n__add(activate(X),Y)) len(nil()) -> |0|() len(cons(X,Z)) -> s(n__len(activate(Z))) fst(X1,X2) -> n__fst(X1,X2) from(X) -> n__from(X) s(X) -> n__s(X) add(X1,X2) -> n__add(X1,X2) len(X) -> n__len(X) activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) activate(n__from(X)) -> from(activate(X)) activate(n__s(X)) -> s(X) activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) activate(n__len(X)) -> len(activate(X)) activate(X) -> X -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: fst#(s(X),cons(Y,Z)) -> activate#(Z) p3: add#(s(X),Y) -> s#(n__add(activate(X),Y)) p4: add#(s(X),Y) -> activate#(X) p5: len#(cons(X,Z)) -> s#(n__len(activate(Z))) p6: len#(cons(X,Z)) -> activate#(Z) p7: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p8: activate#(n__fst(X1,X2)) -> activate#(X1) p9: activate#(n__fst(X1,X2)) -> activate#(X2) p10: activate#(n__from(X)) -> from#(activate(X)) p11: activate#(n__from(X)) -> activate#(X) p12: activate#(n__s(X)) -> s#(X) p13: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2)) p14: activate#(n__add(X1,X2)) -> activate#(X1) p15: activate#(n__add(X1,X2)) -> activate#(X2) p16: activate#(n__len(X)) -> len#(activate(X)) p17: activate#(n__len(X)) -> activate#(X) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p4, p6, p7, p8, p9, p11, p13, p14, p15, p16, p17} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__len(X)) -> activate#(X) p3: activate#(n__len(X)) -> len#(activate(X)) p4: len#(cons(X,Z)) -> activate#(Z) p5: activate#(n__add(X1,X2)) -> activate#(X2) p6: activate#(n__add(X1,X2)) -> activate#(X1) p7: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2)) p8: add#(s(X),Y) -> activate#(X) p9: activate#(n__from(X)) -> activate#(X) p10: activate#(n__fst(X1,X2)) -> activate#(X2) p11: activate#(n__fst(X1,X2)) -> activate#(X1) p12: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p13: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: fst#_A(x1,x2) = ((1,0),(1,0)) x1 + ((1,0),(1,0)) x2 + (7,0) s_A(x1) = ((1,0),(0,0)) x1 + (0,2) cons_A(x1,x2) = ((0,0),(0,1)) x1 + ((1,0),(0,0)) x2 + (0,1) activate#_A(x1) = ((1,0),(1,0)) x1 + (5,0) n__len_A(x1) = ((1,0),(1,1)) x1 + (7,0) len#_A(x1) = ((1,0),(1,0)) x1 + (6,0) activate_A(x1) = ((1,0),(1,1)) x1 + (0,3) n__add_A(x1,x2) = x1 + x2 + (4,0) add#_A(x1,x2) = ((1,0),(1,0)) x1 + (6,0) n__from_A(x1) = x1 + (6,1) n__fst_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (6,1) fst_A(x1,x2) = ((1,0),(0,0)) x1 + x2 + (6,3) |0|_A() = (1,0) nil_A() = (2,0) from_A(x1) = x1 + (6,1) n__s_A(x1) = ((1,0),(0,0)) x1 add_A(x1,x2) = x1 + x2 + (4,1) len_A(x1) = ((1,0),(1,1)) x1 + (7,2) precedence: activate = len > n__len > s = n__s = add > cons = fst = nil = from > n__from > n__fst > |0| > fst# = activate# = n__add = add# > len# partial status: pi(fst#) = [] pi(s) = [] pi(cons) = [] pi(activate#) = [] pi(n__len) = [] pi(len#) = [] pi(activate) = [] pi(n__add) = [] pi(add#) = [] pi(n__from) = [] pi(n__fst) = [] pi(fst) = [] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__s) = [] pi(add) = [2] pi(len) = [] The next rules are strictly ordered: p4 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__len(X)) -> activate#(X) p3: activate#(n__len(X)) -> len#(activate(X)) p4: activate#(n__add(X1,X2)) -> activate#(X2) p5: activate#(n__add(X1,X2)) -> activate#(X1) p6: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2)) p7: add#(s(X),Y) -> activate#(X) p8: activate#(n__from(X)) -> activate#(X) p9: activate#(n__fst(X1,X2)) -> activate#(X2) p10: activate#(n__fst(X1,X2)) -> activate#(X1) p11: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p12: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p4, p5, p6, p7, p8, p9, p10, p11, p12} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p3: fst#(s(X),cons(Y,Z)) -> activate#(Z) p4: activate#(n__fst(X1,X2)) -> activate#(X1) p5: activate#(n__fst(X1,X2)) -> activate#(X2) p6: activate#(n__from(X)) -> activate#(X) p7: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2)) p8: add#(s(X),Y) -> activate#(X) p9: activate#(n__add(X1,X2)) -> activate#(X1) p10: activate#(n__add(X1,X2)) -> activate#(X2) p11: activate#(n__len(X)) -> activate#(X) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: fst#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (5,2) s_A(x1) = ((0,0),(0,1)) x1 + (8,0) cons_A(x1,x2) = ((0,0),(0,1)) x2 + (9,0) activate#_A(x1) = ((0,1),(0,0)) x1 + (4,2) n__fst_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,1),(0,1)) x2 + (10,2) activate_A(x1) = ((1,1),(0,1)) x1 + (7,0) n__from_A(x1) = ((0,0),(0,1)) x1 + (3,1) n__add_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (9,7) add#_A(x1,x2) = ((0,1),(0,0)) x1 + (10,2) n__len_A(x1) = ((0,1),(0,1)) x1 + (10,1) fst_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,1),(0,1)) x2 + (11,2) |0|_A() = (1,1) nil_A() = (0,0) from_A(x1) = ((0,0),(0,1)) x1 + (10,1) n__s_A(x1) = ((0,0),(0,1)) x1 + (8,0) add_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (9,7) len_A(x1) = ((0,1),(0,1)) x1 + (18,1) precedence: activate = n__len = len > s > n__add = nil = add > cons = fst = |0| = from > n__fst > n__from > fst# = activate# = add# > n__s partial status: pi(fst#) = [] pi(s) = [] pi(cons) = [] pi(activate#) = [] pi(n__fst) = [] pi(activate) = [] pi(n__from) = [] pi(n__add) = [] pi(add#) = [] pi(n__len) = [] pi(fst) = [] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__s) = [] pi(add) = [2] pi(len) = [] The next rules are strictly ordered: p11 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p3: fst#(s(X),cons(Y,Z)) -> activate#(Z) p4: activate#(n__fst(X1,X2)) -> activate#(X1) p5: activate#(n__fst(X1,X2)) -> activate#(X2) p6: activate#(n__from(X)) -> activate#(X) p7: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2)) p8: add#(s(X),Y) -> activate#(X) p9: activate#(n__add(X1,X2)) -> activate#(X1) p10: activate#(n__add(X1,X2)) -> activate#(X2) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__add(X1,X2)) -> activate#(X2) p3: activate#(n__add(X1,X2)) -> activate#(X1) p4: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2)) p5: add#(s(X),Y) -> activate#(X) p6: activate#(n__from(X)) -> activate#(X) p7: activate#(n__fst(X1,X2)) -> activate#(X2) p8: activate#(n__fst(X1,X2)) -> activate#(X1) p9: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p10: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: fst#_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,0),(1,0)) x2 + (2,2) s_A(x1) = ((0,1),(1,0)) x1 cons_A(x1,x2) = ((1,0),(0,0)) x2 + (0,1) activate#_A(x1) = ((1,0),(1,0)) x1 + (1,2) n__add_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (3,3) add#_A(x1,x2) = ((1,1),(1,1)) x1 + ((0,0),(0,1)) x2 + (2,2) activate_A(x1) = x1 n__from_A(x1) = ((1,1),(0,0)) x1 + (1,2) n__fst_A(x1,x2) = ((1,1),(0,1)) x1 + ((1,0),(1,1)) x2 + (3,2) fst_A(x1,x2) = ((1,1),(0,1)) x1 + ((1,0),(1,1)) x2 + (3,2) |0|_A() = (1,0) nil_A() = (0,0) from_A(x1) = ((1,1),(0,0)) x1 + (1,2) n__s_A(x1) = ((0,1),(1,0)) x1 add_A(x1,x2) = ((1,1),(1,1)) x1 + ((1,1),(1,1)) x2 + (3,3) len_A(x1) = (2,2) n__len_A(x1) = (2,2) precedence: cons = n__from = n__fst = fst = from > fst# = activate# = add# > n__add = activate = add > s = |0| = nil = n__s = len = n__len partial status: pi(fst#) = [] pi(s) = [] pi(cons) = [] pi(activate#) = [] pi(n__add) = [1, 2] pi(add#) = [] pi(activate) = [1] pi(n__from) = [] pi(n__fst) = [] pi(fst) = [] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__s) = [] pi(add) = [1, 2] pi(len) = [] pi(n__len) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__add(X1,X2)) -> activate#(X2) p3: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2)) p4: add#(s(X),Y) -> activate#(X) p5: activate#(n__from(X)) -> activate#(X) p6: activate#(n__fst(X1,X2)) -> activate#(X2) p7: activate#(n__fst(X1,X2)) -> activate#(X1) p8: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p9: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p3: fst#(s(X),cons(Y,Z)) -> activate#(Z) p4: activate#(n__fst(X1,X2)) -> activate#(X1) p5: activate#(n__fst(X1,X2)) -> activate#(X2) p6: activate#(n__from(X)) -> activate#(X) p7: activate#(n__add(X1,X2)) -> add#(activate(X1),activate(X2)) p8: add#(s(X),Y) -> activate#(X) p9: activate#(n__add(X1,X2)) -> activate#(X2) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: fst#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (5,3) s_A(x1) = ((0,0),(0,1)) x1 + (2,0) cons_A(x1,x2) = ((0,0),(0,1)) x2 + (3,0) activate#_A(x1) = ((0,1),(0,0)) x1 + (0,3) n__fst_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (4,6) activate_A(x1) = ((1,1),(0,1)) x1 n__from_A(x1) = ((0,0),(0,1)) x1 + (0,5) n__add_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (1,3) add#_A(x1,x2) = ((0,1),(0,0)) x1 + (2,3) fst_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,0),(0,1)) x2 + (4,6) |0|_A() = (1,1) nil_A() = (2,2) from_A(x1) = ((0,0),(0,1)) x1 + (4,5) n__s_A(x1) = ((0,0),(0,1)) x1 + (2,0) add_A(x1,x2) = ((0,0),(0,1)) x1 + x2 + (3,3) len_A(x1) = x1 n__len_A(x1) = x1 precedence: activate = n__from = from = len > s = n__s = add > n__add = add# > fst# = activate# > n__len > |0| > cons = n__fst = fst = nil partial status: pi(fst#) = [] pi(s) = [] pi(cons) = [] pi(activate#) = [] pi(n__fst) = [] pi(activate) = [] pi(n__from) = [] pi(n__add) = [2] pi(add#) = [] pi(fst) = [] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__s) = [] pi(add) = [2] pi(len) = [] pi(n__len) = [] The next rules are strictly ordered: p7 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p3: fst#(s(X),cons(Y,Z)) -> activate#(Z) p4: activate#(n__fst(X1,X2)) -> activate#(X1) p5: activate#(n__fst(X1,X2)) -> activate#(X2) p6: activate#(n__from(X)) -> activate#(X) p7: add#(s(X),Y) -> activate#(X) p8: activate#(n__add(X1,X2)) -> activate#(X2) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p8} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__add(X1,X2)) -> activate#(X2) p3: activate#(n__from(X)) -> activate#(X) p4: activate#(n__fst(X1,X2)) -> activate#(X2) p5: activate#(n__fst(X1,X2)) -> activate#(X1) p6: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p7: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: fst#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (4,1) s_A(x1) = ((0,0),(0,1)) x1 + (1,0) cons_A(x1,x2) = ((0,0),(1,1)) x2 activate#_A(x1) = ((0,1),(0,0)) x1 + (3,1) n__add_A(x1,x2) = x1 + x2 + (2,1) n__from_A(x1) = x1 + (0,1) n__fst_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (0,2) activate_A(x1) = ((1,1),(0,1)) x1 + (1,0) fst_A(x1,x2) = ((0,0),(0,1)) x1 + ((0,0),(0,1)) x2 + (2,2) |0|_A() = (1,0) nil_A() = (1,0) from_A(x1) = x1 + (0,1) n__s_A(x1) = ((0,0),(0,1)) x1 add_A(x1,x2) = x1 + x2 + (2,1) len_A(x1) = ((0,0),(0,1)) x1 + (2,0) n__len_A(x1) = ((0,0),(0,1)) x1 + (2,0) precedence: activate > len > n__len > fst# = activate# > from > s = n__add = |0| = add > n__from > n__s > cons = n__fst = fst = nil partial status: pi(fst#) = [] pi(s) = [] pi(cons) = [] pi(activate#) = [] pi(n__add) = [1] pi(n__from) = [] pi(n__fst) = [] pi(activate) = [] pi(fst) = [] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__s) = [] pi(add) = [1, 2] pi(len) = [] pi(n__len) = [] The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__from(X)) -> activate#(X) p3: activate#(n__fst(X1,X2)) -> activate#(X2) p4: activate#(n__fst(X1,X2)) -> activate#(X1) p5: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p6: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p3: fst#(s(X),cons(Y,Z)) -> activate#(Z) p4: activate#(n__fst(X1,X2)) -> activate#(X1) p5: activate#(n__fst(X1,X2)) -> activate#(X2) p6: activate#(n__from(X)) -> activate#(X) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: fst#_A(x1,x2) = ((0,1),(0,0)) x1 + ((0,1),(0,0)) x2 + (2,3) s_A(x1) = ((0,0),(0,1)) x1 + (2,0) cons_A(x1,x2) = ((0,0),(0,1)) x2 + (3,0) activate#_A(x1) = ((0,1),(0,0)) x1 + (1,3) n__fst_A(x1,x2) = ((1,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (4,2) activate_A(x1) = x1 + (5,0) n__from_A(x1) = x1 + (3,1) fst_A(x1,x2) = ((1,1),(0,1)) x1 + ((0,1),(0,1)) x2 + (4,2) |0|_A() = (2,2) nil_A() = (1,1) from_A(x1) = x1 + (3,1) n__s_A(x1) = ((0,0),(0,1)) x1 + (1,0) add_A(x1,x2) = x2 + (6,0) n__add_A(x1,x2) = x2 + (6,0) len_A(x1) = ((0,1),(0,0)) x1 + (4,2) n__len_A(x1) = ((0,1),(0,0)) x1 + (4,2) precedence: activate = len > n__len > fst > fst# = activate# = n__fst > s = add = n__add > cons = n__from = from > n__s > |0| = nil partial status: pi(fst#) = [] pi(s) = [] pi(cons) = [] pi(activate#) = [] pi(n__fst) = [1] pi(activate) = [] pi(n__from) = [] pi(fst) = [1] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__s) = [] pi(add) = [2] pi(n__add) = [2] pi(len) = [] pi(n__len) = [] The next rules are strictly ordered: p6 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p3: fst#(s(X),cons(Y,Z)) -> activate#(Z) p4: activate#(n__fst(X1,X2)) -> activate#(X1) p5: activate#(n__fst(X1,X2)) -> activate#(X2) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: fst#(s(X),cons(Y,Z)) -> activate#(X) p2: activate#(n__fst(X1,X2)) -> activate#(X2) p3: activate#(n__fst(X1,X2)) -> activate#(X1) p4: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p5: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: fst#_A(x1,x2) = ((0,1),(0,1)) x1 + ((1,1),(1,1)) x2 + (2,1) s_A(x1) = ((0,0),(0,1)) x1 cons_A(x1,x2) = x2 activate#_A(x1) = ((0,1),(0,1)) x1 + (1,1) n__fst_A(x1,x2) = ((0,1),(0,1)) x1 + ((1,1),(1,1)) x2 + (3,2) activate_A(x1) = x1 fst_A(x1,x2) = ((0,1),(0,1)) x1 + ((1,1),(1,1)) x2 + (3,2) |0|_A() = (2,3) nil_A() = (1,3) from_A(x1) = ((0,1),(0,0)) x1 n__from_A(x1) = ((0,1),(0,0)) x1 n__s_A(x1) = ((0,0),(0,1)) x1 add_A(x1,x2) = ((1,1),(1,1)) x2 + (1,1) n__add_A(x1,x2) = ((1,1),(1,1)) x2 + (1,1) len_A(x1) = ((0,1),(0,1)) x1 n__len_A(x1) = ((0,1),(0,1)) x1 precedence: activate# = activate = from = n__from = add > n__add > len = n__len > cons = n__fst = fst > fst# > s = |0| = nil = n__s partial status: pi(fst#) = [2] pi(s) = [] pi(cons) = [] pi(activate#) = [] pi(n__fst) = [] pi(activate) = [] pi(fst) = [] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__from) = [] pi(n__s) = [] pi(add) = [] pi(n__add) = [2] pi(len) = [] pi(n__len) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__fst(X1,X2)) -> activate#(X2) p2: activate#(n__fst(X1,X2)) -> activate#(X1) p3: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p4: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__fst(X1,X2)) -> activate#(X2) p2: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p3: fst#(s(X),cons(Y,Z)) -> activate#(Z) p4: activate#(n__fst(X1,X2)) -> activate#(X1) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: activate#_A(x1) = ((1,0),(1,0)) x1 n__fst_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (8,1) fst#_A(x1,x2) = ((1,0),(1,0)) x2 + (1,0) activate_A(x1) = ((1,0),(1,1)) x1 + (0,8) s_A(x1) = x1 + (0,3) cons_A(x1,x2) = ((0,0),(1,0)) x1 + ((1,0),(0,0)) x2 fst_A(x1,x2) = x1 + ((1,0),(1,1)) x2 + (8,1) |0|_A() = (2,1) nil_A() = (1,0) from_A(x1) = ((1,0),(1,0)) x1 + (0,2) n__from_A(x1) = ((1,0),(1,0)) x1 + (0,1) n__s_A(x1) = x1 + (0,3) add_A(x1,x2) = x2 + (3,7) n__add_A(x1,x2) = x2 + (3,4) len_A(x1) = (3,4) n__len_A(x1) = (3,1) precedence: activate = |0| = from = n__from = len = n__len > nil > add = n__add > fst > n__fst > activate# = fst# = s = n__s > cons partial status: pi(activate#) = [] pi(n__fst) = [] pi(fst#) = [] pi(activate) = [] pi(s) = [] pi(cons) = [] pi(fst) = [] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__from) = [] pi(n__s) = [] pi(add) = [2] pi(n__add) = [] pi(len) = [] pi(n__len) = [] The next rules are strictly ordered: p1 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p2: fst#(s(X),cons(Y,Z)) -> activate#(Z) p3: activate#(n__fst(X1,X2)) -> activate#(X1) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2, p3} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p2: fst#(s(X),cons(Y,Z)) -> activate#(Z) p3: activate#(n__fst(X1,X2)) -> activate#(X1) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: activate#_A(x1) = ((1,0),(1,0)) x1 + (2,4) n__fst_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (2,4) fst#_A(x1,x2) = ((1,0),(1,0)) x2 + (3,4) activate_A(x1) = ((1,0),(1,1)) x1 + (0,1) s_A(x1) = ((1,0),(1,0)) x1 + (0,3) cons_A(x1,x2) = ((1,0),(0,0)) x2 + (0,1) fst_A(x1,x2) = x1 + ((1,0),(0,0)) x2 + (2,4) |0|_A() = (2,2) nil_A() = (1,1) from_A(x1) = (1,2) n__from_A(x1) = (1,1) n__s_A(x1) = ((1,0),(0,0)) x1 + (0,3) add_A(x1,x2) = ((1,0),(1,1)) x2 + (1,4) n__add_A(x1,x2) = ((1,0),(1,1)) x2 + (1,4) len_A(x1) = ((0,0),(1,0)) x1 + (3,6) n__len_A(x1) = ((0,0),(1,0)) x1 + (3,2) precedence: activate# = n__fst = fst# = activate = fst = add = n__add > |0| > len > n__len > s > n__s > nil = from = n__from > cons partial status: pi(activate#) = [] pi(n__fst) = [] pi(fst#) = [] pi(activate) = [1] pi(s) = [] pi(cons) = [] pi(fst) = [] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__from) = [] pi(n__s) = [] pi(add) = [2] pi(n__add) = [2] pi(len) = [] pi(n__len) = [] The next rules are strictly ordered: p3 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p2: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) p2: fst#(s(X),cons(Y,Z)) -> activate#(Z) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18 Take the reduction pair: weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: activate#_A(x1) = ((0,1),(0,1)) x1 + (1,1) n__fst_A(x1,x2) = x1 + ((1,1),(0,1)) x2 + (3,5) fst#_A(x1,x2) = ((0,1),(0,1)) x2 + (2,5) activate_A(x1) = ((1,1),(0,1)) x1 + (3,0) s_A(x1) = ((0,0),(0,1)) x1 + (9,0) cons_A(x1,x2) = ((0,0),(0,1)) x2 + (9,0) fst_A(x1,x2) = x1 + ((1,1),(0,1)) x2 + (4,5) |0|_A() = (0,0) nil_A() = (1,1) from_A(x1) = (9,1) n__from_A(x1) = (9,1) n__s_A(x1) = ((0,0),(0,1)) x1 + (8,0) add_A(x1,x2) = x1 + x2 + (8,5) n__add_A(x1,x2) = x1 + x2 + (7,5) len_A(x1) = (10,1) n__len_A(x1) = (10,1) precedence: add = len = n__len > activate = s = fst = from = n__from = n__s > activate# = n__fst = fst# > cons = n__add > |0| = nil partial status: pi(activate#) = [] pi(n__fst) = [] pi(fst#) = [] pi(activate) = [1] pi(s) = [] pi(cons) = [] pi(fst) = [] pi(|0|) = [] pi(nil) = [] pi(from) = [] pi(n__from) = [] pi(n__s) = [] pi(add) = [] pi(n__add) = [] pi(len) = [] pi(n__len) = [] The next rules are strictly ordered: p2 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: activate#(n__fst(X1,X2)) -> fst#(activate(X1),activate(X2)) and R consists of: r1: fst(|0|(),Z) -> nil() r2: fst(s(X),cons(Y,Z)) -> cons(Y,n__fst(activate(X),activate(Z))) r3: from(X) -> cons(X,n__from(n__s(X))) r4: add(|0|(),X) -> X r5: add(s(X),Y) -> s(n__add(activate(X),Y)) r6: len(nil()) -> |0|() r7: len(cons(X,Z)) -> s(n__len(activate(Z))) r8: fst(X1,X2) -> n__fst(X1,X2) r9: from(X) -> n__from(X) r10: s(X) -> n__s(X) r11: add(X1,X2) -> n__add(X1,X2) r12: len(X) -> n__len(X) r13: activate(n__fst(X1,X2)) -> fst(activate(X1),activate(X2)) r14: activate(n__from(X)) -> from(activate(X)) r15: activate(n__s(X)) -> s(X) r16: activate(n__add(X1,X2)) -> add(activate(X1),activate(X2)) r17: activate(n__len(X)) -> len(activate(X)) r18: activate(X) -> X The estimated dependency graph contains the following SCCs: (no SCCs)