Input TRS: 1: eq(|0|(),|0|()) -> true() 2: eq(|0|(),s(x)) -> false() 3: eq(s(x),|0|()) -> false() 4: eq(s(x),s(y)) -> eq(x,y) 5: rm(n,nil()) -> nil() 6: rm(n,cons(m,x)) -> ifrm(eq(n,m),n,cons(m,x)) 7: ifrm(true(),n,cons(m,x)) -> rm(n,x) 8: ifrm(false(),n,cons(m,x)) -> cons(m,rm(n,x)) 9: purge(nil()) -> nil() 10: purge(cons(n,x)) -> cons(n,purge(rm(n,x))) 11: purge(cons(x,xs())) ->= purge(consSwap(x,xs())) 12: consSwap(x,xs()) ->= cons(x,xs()) 13: consSwap(x,cons(y,xs())) ->= cons(y,consSwap(x,xs())) Number of strict rules: 10 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #rm(n,cons(m,x)) -> #ifrm(eq(n,m),n,cons(m,x)) #2: #rm(n,cons(m,x)) -> #eq(n,m) #3: #purge(cons(x,xs())) ->? #purge(consSwap(x,xs())) #4: #ifrm(true(),n,cons(m,x)) -> #rm(n,x) #5: #purge(cons(n,x)) -> #purge(rm(n,x)) #6: #purge(cons(n,x)) -> #rm(n,x) #7: #ifrm(false(),n,cons(m,x)) -> #rm(n,x) #8: #eq(s(x),s(y)) -> #eq(x,y) Number of SCCs: 3, DPs: 6, edges: 9 SCC { #8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #ifrm(x1,x2,x3) weight: 0 s(x1) weight: (/ 1 2) + x1 #purge(x1) weight: 0 eq(x1,x2) weight: 0 false() weight: 0 true() weight: 0 purge(x1) weight: 0 #eq(x1,x2) weight: x2 consSwap(x1,x2) weight: 0 ifrm(x1,x2,x3) weight: 0 nil() weight: 0 cons(x1,x2) weight: 0 xs() weight: 0 rm(x1,x2) weight: 0 #rm(x1,x2) weight: 0 Usable rules: { } Removed DPs: #8 Number of SCCs: 2, DPs: 5, edges: 8 SCC { #3 #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. |0|() weight: 0 #ifrm(x1,x2,x3) weight: 0 s(x1) weight: (/ 1 4) #purge(x1) weight: x1 eq(x1,x2) weight: (/ 1 4) false() weight: 0 true() weight: 0 purge(x1) weight: 0 #eq(x1,x2) weight: 0 consSwap(x1,x2) weight: (/ 1 2) + x1 ifrm(x1,x2,x3) weight: (/ 1 4) + x3 nil() weight: 0 cons(x1,x2) weight: (/ 1 2) + x1 + x2 xs() weight: 0 rm(x1,x2) weight: (/ 1 4) + x2 #rm(x1,x2) weight: 0 Usable rules: { 5..8 12 } Removed DPs: #5 Number of SCCs: 2, DPs: 4, edges: 5 SCC { #3 } 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