YES We show the termination of the TRS R: ap(ap(ff(),x),x) -> ap(ap(x,ap(ff(),x)),ap(ap(cons(),x),nil())) Instead we prove termination of the uncurried system: ap(cons_0(),y) -> cons_1(y) ap(cons_1(x1),y) -> cons_2(x1,y) ap(ff_0(),y) -> ff_1(y) ap(ff_1(x1),y) -> ff_2(x1,y) ff_2(x,x) -> ap(ap(x,ff_1(x)),cons_2(x,nil_0())) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: ap#(ff_1(x1),y) -> ff_2#(x1,y) p2: ff_2#(x,x) -> ap#(ap(x,ff_1(x)),cons_2(x,nil_0())) p3: ff_2#(x,x) -> ap#(x,ff_1(x)) and R consists of: r1: ap(cons_0(),y) -> cons_1(y) r2: ap(cons_1(x1),y) -> cons_2(x1,y) r3: ap(ff_0(),y) -> ff_1(y) r4: ap(ff_1(x1),y) -> ff_2(x1,y) r5: ff_2(x,x) -> ap(ap(x,ff_1(x)),cons_2(x,nil_0())) 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: ap#(ff_1(x1),y) -> ff_2#(x1,y) p2: ff_2#(x,x) -> ap#(x,ff_1(x)) p3: ff_2#(x,x) -> ap#(ap(x,ff_1(x)),cons_2(x,nil_0())) and R consists of: r1: ap(cons_0(),y) -> cons_1(y) r2: ap(cons_1(x1),y) -> cons_2(x1,y) r3: ap(ff_0(),y) -> ff_1(y) r4: ap(ff_1(x1),y) -> ff_2(x1,y) r5: ff_2(x,x) -> ap(ap(x,ff_1(x)),cons_2(x,nil_0())) The set of usable rules consists of r1, r2, r3, r4, r5 Take the reduction pair: generalized weighted path order (>=MG, >MG) base order 1: max/plus interpretation on natural numbers: ap#_A(x1,x2) = max{x1 + 30, x2 + 30} ff_1_A(x1) = max{12, x1 - 16} ff_2#_A(x1,x2) = max{42, x1 + 13, x2 + 30} ap_A(x1,x2) = max{1, x1 - 9, x2 - 15} cons_2_A(x1,x2) = max{1, x1 - 31, x2 - 30} nil_0_A = 31 cons_0_A = 8 cons_1_A(x1) = max{0, x1 - 22} ff_0_A = 22 ff_2_A(x1,x2) = max{2, x1 - 26, x2 - 17} base order 2: precedence: ap# = ff_1 = ff_2# > nil_0 > ap = cons_0 = ff_0 = ff_2 > cons_2 > cons_1 partial status: pi(ap#) = [] pi(ff_1) = [] pi(ff_2#) = [] pi(ap) = [] pi(cons_2) = [] pi(nil_0) = [] pi(cons_0) = [] pi(cons_1) = [] pi(ff_0) = [] pi(ff_2) = [] The following rules are removed: p3 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: ap#(ff_1(x1),y) -> ff_2#(x1,y) p2: ff_2#(x,x) -> ap#(x,ff_1(x)) and R consists of: r1: ap(cons_0(),y) -> cons_1(y) r2: ap(cons_1(x1),y) -> cons_2(x1,y) r3: ap(ff_0(),y) -> ff_1(y) r4: ap(ff_1(x1),y) -> ff_2(x1,y) r5: ff_2(x,x) -> ap(ap(x,ff_1(x)),cons_2(x,nil_0())) The estimated dependency graph contains the following SCCs: {p1, p2} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: ap#(ff_1(x1),y) -> ff_2#(x1,y) p2: ff_2#(x,x) -> ap#(x,ff_1(x)) and R consists of: r1: ap(cons_0(),y) -> cons_1(y) r2: ap(cons_1(x1),y) -> cons_2(x1,y) r3: ap(ff_0(),y) -> ff_1(y) r4: ap(ff_1(x1),y) -> ff_2(x1,y) r5: ff_2(x,x) -> ap(ap(x,ff_1(x)),cons_2(x,nil_0())) The set of usable rules consists of r1, r2 Take the reduction pair: generalized weighted path order (>=MG, >MG) base order 1: max/plus interpretation on natural numbers: ap#_A(x1,x2) = max{2, x1 - 11, x2 - 16} ff_1_A(x1) = x1 + 15 ff_2#_A(x1,x2) = x1 + 3 ap_A(x1,x2) = max{9, x1 - 16, x2 - 24} cons_0_A = 15 cons_1_A(x1) = max{8, x1 - 25} cons_2_A(x1,x2) = max{7, x1 - 42} base order 2: precedence: ff_2# > ap# = ap > ff_1 = cons_1 > cons_0 = cons_2 partial status: pi(ap#) = [] pi(ff_1) = [] pi(ff_2#) = [1] pi(ap) = [] pi(cons_0) = [] pi(cons_1) = [] pi(cons_2) = [] The following rules are removed: p2 -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: ap#(ff_1(x1),y) -> ff_2#(x1,y) and R consists of: r1: ap(cons_0(),y) -> cons_1(y) r2: ap(cons_1(x1),y) -> cons_2(x1,y) r3: ap(ff_0(),y) -> ff_1(y) r4: ap(ff_1(x1),y) -> ff_2(x1,y) r5: ff_2(x,x) -> ap(ap(x,ff_1(x)),cons_2(x,nil_0())) The estimated dependency graph contains the following SCCs: (no SCCs)