Input TRS: 1: rev(nil()) -> nil() 2: rev(cons(x,l)) -> cons(rev1(x,l),rev2(x,l)) 3: rev1(0(),nil()) -> 0() 4: rev1(s(x),nil()) -> s(x) 5: rev1(x,cons(y,l)) -> rev1(y,l) 6: rev2(x,nil()) -> nil() 7: rev2(x,cons(y,l)) -> rev(cons(x,rev2(y,l))) Number of strict rules: 7 Direct Order(PosReal,>,Poly) ... failed. Freezing rev 1: rev❆1_nil() -> nil() 2: rev❆1_cons(x,l) -> cons(rev1(x,l),rev2(x,l)) 3: rev1(0(),nil()) -> 0() 4: rev1(s(x),nil()) -> s(x) 5: rev1(x,cons(y,l)) -> rev1(y,l) 6: rev2(x,nil()) -> nil() 7: rev2(x,cons(y,l)) -> rev❆1_cons(x,rev2(y,l)) 8: rev(cons(_1,_2)) ->= rev❆1_cons(_1,_2) 9: rev(nil()) ->= rev❆1_nil() Number of strict rules: 7 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #rev❆1_cons(x,l) -> #rev1(x,l) #2: #rev❆1_cons(x,l) -> #rev2(x,l) #3: #rev(nil()) ->? #rev❆1_nil() #4: #rev2(x,cons(y,l)) -> #rev❆1_cons(x,rev2(y,l)) #5: #rev2(x,cons(y,l)) -> #rev2(y,l) #6: #rev1(x,cons(y,l)) -> #rev1(y,l) #7: #rev(cons(_1,_2)) ->? #rev❆1_cons(_1,_2) Number of SCCs: 2, DPs: 4, edges: 6 SCC { #6 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #rev(x1) weight: 0 s(x1) weight: 0 rev1(x1,x2) weight: 0 rev❆1_nil() weight: 0 #rev1(x1,x2) weight: x2 #rev2(x1,x2) weight: 0 0() weight: 0 rev❆1_cons(x1,x2) weight: 0 nil() weight: 0 rev(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 #rev❆1_cons(x1,x2) weight: 0 rev2(x1,x2) weight: 0 #rev❆1_nil() weight: 0 Usable rules: { } Removed DPs: #6 Number of SCCs: 1, DPs: 3, edges: 5 SCC { #2 #4 #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #rev(x1) weight: 0 s(x1) weight: (/ 1 4) rev1(x1,x2) weight: (/ 1 4) rev❆1_nil() weight: 0 #rev1(x1,x2) weight: 0 #rev2(x1,x2) weight: x2 0() weight: 0 rev❆1_cons(x1,x2) weight: (/ 1 2) + x2 nil() weight: 0 rev(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 #rev❆1_cons(x1,x2) weight: (/ 1 4) + x2 rev2(x1,x2) weight: x2 #rev❆1_nil() weight: 0 Usable rules: { 2..7 } Removed DPs: #2 #4 #5 Number of SCCs: 0, DPs: 0, edges: 0 YES