Input TRS: 1: and(tt(),tt()) -> tt() 2: is_nat(0()) -> tt() 3: is_nat(s(x)) -> is_nat(x) 4: is_natlist(nil()) -> tt() 5: is_natlist(cons(x,xs)) -> and(is_nat(x),is_natlist(xs)) 6: from(x) -> fromCond(is_natlist(x),x) 7: fromCond(tt(),cons(x,xs)) -> from(cons(s(x),cons(x,xs))) Number of strict rules: 7 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #from(x) -> #fromCond(is_natlist(x),x) #2: #from(x) -> #is_natlist(x) #3: #fromCond(tt(),cons(x,xs)) -> #from(cons(s(x),cons(x,xs))) #4: #is_natlist(cons(x,xs)) -> #and(is_nat(x),is_natlist(xs)) #5: #is_natlist(cons(x,xs)) -> #is_nat(x) #6: #is_natlist(cons(x,xs)) -> #is_natlist(xs) #7: #is_nat(s(x)) -> #is_nat(x) Number of SCCs: 3, DPs: 4, edges: 4 SCC { #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 2) + x1 is_nat(x1) weight: 0 and(x1,x2) weight: 0 #is_natlist(x1) weight: 0 fromCond(x1,x2) weight: 0 0() weight: 0 from(x1) weight: 0 nil() weight: 0 #is_nat(x1) weight: x1 #from(x1) weight: 0 #fromCond(x1,x2) weight: 0 cons(x1,x2) weight: 0 tt() weight: 0 is_natlist(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #7 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #6 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 2) is_nat(x1) weight: 0 and(x1,x2) weight: 0 #is_natlist(x1) weight: x1 fromCond(x1,x2) weight: 0 0() weight: 0 from(x1) weight: 0 nil() weight: 0 #is_nat(x1) weight: 0 #from(x1) weight: 0 #fromCond(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 tt() weight: 0 is_natlist(x1) weight: 0 #and(x1,x2) weight: 0 Usable rules: { } Removed DPs: #6 Number of SCCs: 1, DPs: 2, edges: 2 SCC { #1 #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