Input TRS: 1: g(A()) -> A() 2: g(B()) -> A() 3: g(B()) -> B() 4: g(C()) -> A() 5: g(C()) -> B() 6: g(C()) -> C() 7: foldf(x,nil()) -> x 8: foldf(x,cons(y,z)) -> f(foldf(x,z),y) 9: f(t,x) -> f'(t,g(x)) 10: f'(triple(a,b,c),C()) -> triple(a,b,cons(C(),c)) 11: f'(triple(a,b,c),B()) -> f(triple(a,b,c),A()) 12: f'(triple(a,b,c),A()) -> f''(foldf(triple(cons(A(),a),nil(),c),b)) 13: f''(triple(a,b,c)) -> foldf(triple(a,b,nil()),c) Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... removes: 7 12 13 triple(x1,x2,x3) weight: (/ 1314049 32) + x1 + 2 * x2 + 2 * x3 C() weight: 0 f(x1,x2) weight: (/ 1 4) + x1 + 2 * x2 B() weight: 0 A() weight: 0 nil() weight: 0 f'(x1,x2) weight: (/ 1 4) + x1 + x2 cons(x1,x2) weight: (/ 1 8) + x1 + x2 foldf(x1,x2) weight: (/ 1 32) + x1 + 2 * x2 g(x1) weight: x1 f''(x1) weight: (/ 1 16) + x1 Number of strict rules: 10 Direct Order(PosReal,>,Poly) ... removes: 8 10 triple(x1,x2,x3) weight: (/ 126965 4) + x1 + x2 + x3 C() weight: 0 f(x1,x2) weight: (/ 5 4) + x1 + x2 B() weight: 0 A() weight: 0 nil() weight: 0 f'(x1,x2) weight: (/ 5 4) + x1 + x2 cons(x1,x2) weight: (/ 3 4) + x1 + x2 foldf(x1,x2) weight: (/ 1 4) + x1 + 2 * x2 g(x1) weight: x1 f''(x1) weight: (/ 1 4) + x1 Number of strict rules: 8 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #f(t,x) -> #f'(t,g(x)) #2: #f(t,x) -> #g(x) #3: #f'(triple(a,b,c),B()) -> #f(triple(a,b,c),A()) Number of SCCs: 1, DPs: 2, edges: 2 SCC { #1 #3 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. #f'(x1,x2) weight: max{0, x2} triple(x1,x2,x3) weight: 0 C() weight: (/ 1 2) f(x1,x2) weight: 0 B() weight: (/ 1 2) A() weight: (/ 1 4) nil() weight: 0 #f(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 4) + x1} #g(x1) weight: 0 f'(x1,x2) weight: 0 cons(x1,x2) weight: 0 foldf(x1,x2) weight: 0 g(x1) weight: x1 f''(x1) weight: 0 Usable rules: { 1..6 } Removed DPs: #1 Number of SCCs: 0, DPs: 0, edges: 0 YES