YES We show the termination of the TRS R: intlist(nil()) -> nil() int(s(x),|0|()) -> nil() int(x,x) -> cons(x,nil()) intlist(cons(x,y)) -> cons(s(x),intlist(y)) int(s(x),s(y)) -> intlist(int(x,y)) int(|0|(),s(y)) -> cons(|0|(),int(s(|0|()),s(y))) intlist(cons(x,nil())) -> cons(s(x),nil()) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: intlist#(cons(x,y)) -> intlist#(y) p2: int#(s(x),s(y)) -> intlist#(int(x,y)) p3: int#(s(x),s(y)) -> int#(x,y) p4: int#(|0|(),s(y)) -> int#(s(|0|()),s(y)) and R consists of: r1: intlist(nil()) -> nil() r2: int(s(x),|0|()) -> nil() r3: int(x,x) -> cons(x,nil()) r4: intlist(cons(x,y)) -> cons(s(x),intlist(y)) r5: int(s(x),s(y)) -> intlist(int(x,y)) r6: int(|0|(),s(y)) -> cons(|0|(),int(s(|0|()),s(y))) r7: intlist(cons(x,nil())) -> cons(s(x),nil()) The estimated dependency graph contains the following SCCs: {p3, p4} {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: int#(|0|(),s(y)) -> int#(s(|0|()),s(y)) p2: int#(s(x),s(y)) -> int#(x,y) and R consists of: r1: intlist(nil()) -> nil() r2: int(s(x),|0|()) -> nil() r3: int(x,x) -> cons(x,nil()) r4: intlist(cons(x,y)) -> cons(s(x),intlist(y)) r5: int(s(x),s(y)) -> intlist(int(x,y)) r6: int(|0|(),s(y)) -> cons(|0|(),int(s(|0|()),s(y))) r7: intlist(cons(x,nil())) -> cons(s(x),nil()) The set of usable rules consists of r1, r2, r3, r4, r7 Take the reduction pair: generalized weighted path order (>=MG, >MG) base order 1: max/plus interpretation on natural numbers: int#_A(x1,x2) = max{4, x2 - 1} |0|_A = 5 s_A(x1) = x1 + 16 intlist_A(x1) = x1 + 34 nil_A = 4 int_A(x1,x2) = max{75, x1 + 3, x2 - 17} cons_A(x1,x2) = max{74, x1 - 9, x2 + 35} base order 2: precedence: intlist > cons > s = int > int# > |0| > nil partial status: pi(int#) = [] pi(|0|) = [] pi(s) = [] pi(intlist) = [1] pi(nil) = [] pi(int) = [1] pi(cons) = [2] The following rules are removed: p2 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: int#(|0|(),s(y)) -> int#(s(|0|()),s(y)) and R consists of: r1: intlist(nil()) -> nil() r2: int(s(x),|0|()) -> nil() r3: int(x,x) -> cons(x,nil()) r4: intlist(cons(x,y)) -> cons(s(x),intlist(y)) r5: int(s(x),s(y)) -> intlist(int(x,y)) r6: int(|0|(),s(y)) -> cons(|0|(),int(s(|0|()),s(y))) r7: intlist(cons(x,nil())) -> cons(s(x),nil()) The estimated dependency graph contains the following SCCs: (no SCCs) -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: intlist#(cons(x,y)) -> intlist#(y) and R consists of: r1: intlist(nil()) -> nil() r2: int(s(x),|0|()) -> nil() r3: int(x,x) -> cons(x,nil()) r4: intlist(cons(x,y)) -> cons(s(x),intlist(y)) r5: int(s(x),s(y)) -> intlist(int(x,y)) r6: int(|0|(),s(y)) -> cons(|0|(),int(s(|0|()),s(y))) r7: intlist(cons(x,nil())) -> cons(s(x),nil()) The set of usable rules consists of r1, r2, r3, r7 Take the reduction pair: generalized weighted path order (>=MG, >MG) base order 1: max/plus interpretation on natural numbers: intlist#_A(x1) = max{4, x1 + 2} cons_A(x1,x2) = max{5, x1 - 11, x2 + 3} intlist_A(x1) = max{24, x1 - 16} nil_A = 7 int_A(x1,x2) = max{23, x1 - 29, x2 - 10} s_A(x1) = max{6, x1 - 28} |0|_A = 8 base order 2: precedence: intlist# = intlist > cons > s > int > nil > |0| partial status: pi(intlist#) = [1] pi(cons) = [2] pi(intlist) = [] pi(nil) = [] pi(int) = [] pi(s) = [] pi(|0|) = [] The following rules are removed: p1 Then no dependency pair remains.