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: foldB(t,|0|()) -> t 8: foldB(t,s(n)) -> f(foldB(t,n),B()) 9: foldC(t,|0|()) -> t 10: foldC(t,s(n)) -> f(foldC(t,n),C()) 11: f(t,x) -> |f'|(t,g(x)) 12: |f'|(triple(a,b,c),C()) -> triple(a,b,s(c)) 13: |f'|(triple(a,b,c),B()) -> f(triple(a,b,c),A()) 14: |f'|(triple(a,b,c),A()) -> |f''|(foldB(triple(s(a),|0|(),c),b)) 15: |f''|(triple(a,b,c)) -> foldC(triple(a,b,|0|()),c) 16: fold(t,x,|0|()) -> t 17: fold(t,x,s(n)) -> f(fold(t,x,n),x) Number of strict rules: 17 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #|f'|(triple(a,b,c),B()) -> #f(triple(a,b,c),A()) #2: #f(t,x) -> #|f'|(t,g(x)) #3: #f(t,x) -> #g(x) #4: #|f'|(triple(a,b,c),A()) -> #|f''|(foldB(triple(s(a),|0|(),c),b)) #5: #|f'|(triple(a,b,c),A()) -> #foldB(triple(s(a),|0|(),c),b) #6: #foldC(t,s(n)) -> #f(foldC(t,n),C()) #7: #foldC(t,s(n)) -> #foldC(t,n) #8: #fold(t,x,s(n)) -> #f(fold(t,x,n),x) #9: #fold(t,x,s(n)) -> #fold(t,x,n) #10: #foldB(t,s(n)) -> #f(foldB(t,n),B()) #11: #foldB(t,s(n)) -> #foldB(t,n) #12: #|f''|(triple(a,b,c)) -> #foldC(triple(a,b,|0|()),c) Number of SCCs: 2, DPs: 10, edges: 16 SCC { #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 |f'|(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 #foldC(x1,x2) weight: 0 #|f''|(x1) weight: 0 triple(x1,x2,x3) weight: 0 C() weight: 0 f(x1,x2) weight: 0 B() weight: 0 foldB(x1,x2) weight: 0 #fold(x1,x2,x3) weight: x3 |f''|(x1) weight: 0 #foldB(x1,x2) weight: 0 A() weight: 0 #f(x1,x2) weight: 0 #g(x1) weight: 0 fold(x1,x2,x3) weight: 0 #|f'|(x1,x2) weight: 0 foldC(x1,x2) weight: 0 g(x1) weight: 0 Usable rules: { } Removed DPs: #9 Number of SCCs: 1, DPs: 9, edges: 15 SCC { #1 #2 #4..7 #10..12 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 |f'|(x1,x2) weight: (/ 1 2) + x1 s(x1) weight: (/ 1 2) + x1 #foldC(x1,x2) weight: x1 + x2 #|f''|(x1) weight: (/ 1 8) + x1 triple(x1,x2,x3) weight: x2 + x3 C() weight: 0 f(x1,x2) weight: (/ 1 2) + x1 B() weight: 0 foldB(x1,x2) weight: (/ 1 8) + x1 + x2 #fold(x1,x2,x3) weight: 0 |f''|(x1) weight: x1 #foldB(x1,x2) weight: (/ 1 4) + x1 + x2 A() weight: 0 #f(x1,x2) weight: (/ 3 8) + x1 #g(x1) weight: 0 fold(x1,x2,x3) weight: 0 #|f'|(x1,x2) weight: (/ 3 8) + x1 foldC(x1,x2) weight: x1 + x2 g(x1) weight: (/ 1 8) Usable rules: { 7..15 } Removed DPs: #4..7 #10..12 Number of SCCs: 1, DPs: 2, edges: 2 SCC { #1 #2 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. |0|() weight: 0 |f'|(x1,x2) weight: 0 s(x1) weight: 0 #foldC(x1,x2) weight: 0 #|f''|(x1) weight: 0 triple(x1,x2,x3) weight: max{0, (/ 1 8) + x3, (/ 1 8) + x1} C() weight: (/ 3 8) f(x1,x2) weight: 0 B() weight: (/ 3 8) foldB(x1,x2) weight: 0 #fold(x1,x2,x3) weight: 0 |f''|(x1) weight: 0 #foldB(x1,x2) weight: 0 A() weight: (/ 1 8) #f(x1,x2) weight: max{0, (/ 1 4) + x2} #g(x1) weight: 0 fold(x1,x2,x3) weight: 0 #|f'|(x1,x2) weight: max{0, (/ 1 8) + x2} foldC(x1,x2) weight: 0 g(x1) weight: x1 Usable rules: { 1..6 } Removed DPs: #1 #2 Number of SCCs: 0, DPs: 0, edges: 0 YES