Input TRS: 1: f(true(),true(),x,s(y)) -> f(isNat(x),isNat(y),s(x),double(s(y))) 2: isNat(0()) -> true() 3: isNat(s(x)) -> isNat(x) 4: double(0()) -> 0() 5: double(s(x)) -> s(s(double(x))) Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... failed. Freezing double 1: f(true(),true(),x,s(y)) -> f(isNat(x),isNat(y),s(x),double❆1_s(y)) 2: isNat(0()) -> true() 3: isNat(s(x)) -> isNat(x) 4: double❆1_0() -> 0() 5: double❆1_s(x) -> s(s(double(x))) 6: double(0()) ->= double❆1_0() 7: double(s(_1)) ->= double❆1_s(_1) Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #double(0()) ->? #double❆1_0() #2: #double(s(_1)) ->? #double❆1_s(_1) #3: #double❆1_s(x) -> #double(x) #4: #isNat(s(x)) -> #isNat(x) #5: #f(true(),true(),x,s(y)) -> #f(isNat(x),isNat(y),s(x),double❆1_s(y)) #6: #f(true(),true(),x,s(y)) -> #isNat(x) #7: #f(true(),true(),x,s(y)) -> #isNat(y) #8: #f(true(),true(),x,s(y)) -> #double❆1_s(y) Number of SCCs: 3, DPs: 4, edges: 4 SCC { #4 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #double❆1_0() weight: 0 s(x1) weight: (/ 1 2) + x1 #isNat(x1) weight: x1 #double❆1_s(x1) weight: 0 true() weight: 0 f(x1,x2,x3,x4) weight: 0 0() weight: 0 #double(x1) weight: 0 double(x1) weight: 0 #f(x1,x2,x3,x4) weight: 0 double❆1_0() weight: 0 isNat(x1) weight: 0 double❆1_s(x1) weight: 0 Usable rules: { } Removed DPs: #4 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #2 #3 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #double❆1_0() weight: 0 s(x1) weight: (/ 1 2) + x1 #isNat(x1) weight: 0 #double❆1_s(x1) weight: (/ 1 4) + x1 true() weight: 0 f(x1,x2,x3,x4) weight: 0 0() weight: 0 #double(x1) weight: x1 double(x1) weight: 0 #f(x1,x2,x3,x4) weight: 0 double❆1_0() weight: 0 isNat(x1) weight: 0 double❆1_s(x1) weight: 0 Usable rules: { } Removed DPs: #2 #3 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #5 } 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