Input TRS: 1: f(true(),xs) -> f(eq(s(length(xs)),length(cons(a(),xs))),cons(a(),xs)) 2: length(nil()) -> 0() 3: length(cons(x,xs)) -> s(length(xs)) 4: eq(0(),0()) -> true() 5: eq(s(x),0()) -> false() 6: eq(0(),s(y)) -> false() 7: eq(s(x),s(y)) -> eq(x,y) Number of strict rules: 7 Direct Order(PosReal,>,Poly) ... failed. Freezing length eq 1: f(true(),xs) -> f(eq❆1_s(length(xs),length❆1_cons(a(),xs)),cons(a(),xs)) 2: length❆1_nil() -> 0() 3: length❆1_cons(x,xs) -> s(length(xs)) 4: eq❆1_0(0()) -> true() 5: eq❆1_s(x,0()) -> false() 6: eq❆1_0(s(y)) -> false() 7: eq❆1_s(x,s(y)) -> eq(x,y) 8: eq(0(),_1) ->= eq❆1_0(_1) 9: eq(s(_1),_2) ->= eq❆1_s(_1,_2) 10: length(cons(_1,_2)) ->= length❆1_cons(_1,_2) 11: length(nil()) ->= length❆1_nil() Number of strict rules: 7 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #eq(s(_1),_2) ->? #eq❆1_s(_1,_2) #2: #length(nil()) ->? #length❆1_nil() #3: #eq❆1_s(x,s(y)) -> #eq(x,y) #4: #length(cons(_1,_2)) ->? #length❆1_cons(_1,_2) #5: #length❆1_cons(x,xs) -> #length(xs) #6: #f(true(),xs) -> #f(eq❆1_s(length(xs),length❆1_cons(a(),xs)),cons(a(),xs)) #7: #f(true(),xs) -> #eq❆1_s(length(xs),length❆1_cons(a(),xs)) #8: #f(true(),xs) -> #length(xs) #9: #f(true(),xs) -> #length❆1_cons(a(),xs) #10: #eq(0(),_1) ->? #eq❆1_0(_1) Number of SCCs: 3, DPs: 5, edges: 5 SCC { #4 #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. a() weight: 0 s(x1) weight: 0 length❆1_nil() weight: 0 eq(x1,x2) weight: 0 #length❆1_nil() weight: 0 false() weight: 0 true() weight: 0 #eq❆1_0(x1) weight: 0 f(x1,x2) weight: 0 #eq(x1,x2) weight: 0 eq❆1_s(x1,x2) weight: 0 0() weight: 0 nil() weight: 0 #eq❆1_s(x1,x2) weight: 0 eq❆1_0(x1) weight: 0 #f(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 length❆1_cons(x1,x2) weight: 0 length(x1) weight: 0 #length(x1) weight: x1 #length❆1_cons(x1,x2) weight: (/ 1 4) + x2 Usable rules: { } Removed DPs: #4 #5 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #6 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... Order(PosReal,>,Sum-Sum; NegReal,≥,Sum)... Order(PosReal,>,MaxSum-Sum; NegReal,≥,Sum)... failed. Removing edges: failed. Finding a loop... failed. MAYBE