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