Input TRS: 1: tower(x) -> f(a(),x,s(0())) 2: f(a(),0(),y) -> y 3: f(a(),s(x),y) -> f(b(),y,s(x)) 4: f(b(),y,x) -> f(a(),half(x),exp(y)) 5: exp(0()) -> s(0()) 6: exp(s(x)) -> double(exp(x)) 7: double(0()) -> 0() 8: double(s(x)) -> s(s(double(x))) 9: half(0()) -> double(0()) 10: half(s(0())) -> half(0()) 11: half(s(s(x))) -> s(half(x)) Number of strict rules: 11 Direct Order(PosReal,>,Poly) ... removes: 1 2 a() weight: 0 tower(x1) weight: (/ 1 2) + x1 s(x1) weight: x1 b() weight: 0 f(x1,x2,x3) weight: (/ 1 4) + x1 + x2 + x3 half(x1) weight: x1 0() weight: 0 double(x1) weight: x1 exp(x1) weight: x1 Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... failed. Freezing half f double 3: f❆1_a(s(x),y) -> f❆1_b(y,s(x)) 4: f❆1_b(y,x) -> f❆1_a(half(x),exp(y)) 5: exp(0()) -> s(0()) 6: exp(s(x)) -> double(exp(x)) 7: double❆1_0() -> 0() 8: double❆1_s(x) -> s(s(double(x))) 9: half❆1_0() -> double❆1_0() 10: half❆1_s(0()) -> half❆1_0() 11: half❆1_s(s(x)) -> s(half(x)) 12: double(0()) ->= double❆1_0() 13: double(s(_1)) ->= double❆1_s(_1) 14: f(a(),_2,_3) ->= f❆1_a(_2,_3) 15: f(b(),_2,_3) ->= f❆1_b(_2,_3) 16: half(0()) ->= half❆1_0() 17: half(s(_1)) ->= half❆1_s(_1) Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... removes: 15 14 a() weight: 0 tower(x1) weight: x1 s(x1) weight: x1 b() weight: 0 f(x1,x2,x3) weight: (/ 1 2) + x1 + 2 * x2 + 2 * x3 half(x1) weight: x1 half❆1_s(x1) weight: x1 0() weight: 0 double(x1) weight: x1 double❆1_0() weight: 0 f❆1_b(x1,x2) weight: 2 * x1 + x2 exp(x1) weight: x1 double❆1_s(x1) weight: x1 f❆1_a(x1,x2) weight: x1 + 2 * x2 half❆1_0() weight: 0 Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #exp(s(x)) -> #double(exp(x)) #2: #exp(s(x)) -> #exp(x) #3: #double(s(_1)) ->? #double❆1_s(_1) #4: #half❆1_0() -> #double❆1_0() #5: #half❆1_s(s(x)) -> #half(x) #6: #double(0()) ->? #double❆1_0() #7: #half❆1_s(0()) -> #half❆1_0() #8: #half(s(_1)) ->? #half❆1_s(_1) #9: #half(0()) ->? #half❆1_0() #10: #f❆1_a(s(x),y) -> #f❆1_b(y,s(x)) #11: #double❆1_s(x) -> #double(x) #12: #f❆1_b(y,x) -> #f❆1_a(half(x),exp(y)) #13: #f❆1_b(y,x) -> #half(x) #14: #f❆1_b(y,x) -> #exp(y) Number of SCCs: 4, DPs: 7, edges: 7 SCC { #2 } Removing DPs: Order(PosReal,>,Sum)... succeeded. a() weight: 0 #double❆1_0() weight: 0 tower(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 b() weight: 0 #double❆1_s(x1) weight: 0 #half❆1_s(x1) weight: 0 #exp(x1) weight: x1 #half(x1) weight: 0 #f❆1_b(x1,x2) weight: 0 f(x1,x2,x3) weight: 0 #half❆1_0() weight: 0 half(x1) weight: 0 half❆1_s(x1) weight: 0 #f❆1_a(x1,x2) weight: 0 0() weight: 0 #double(x1) weight: 0 double(x1) weight: 0 double❆1_0() weight: 0 f❆1_b(x1,x2) weight: 0 exp(x1) weight: 0 double❆1_s(x1) weight: 0 f❆1_a(x1,x2) weight: 0 half❆1_0() weight: 0 Usable rules: { } Removed DPs: #2 Number of SCCs: 3, DPs: 6, edges: 6 SCC { #3 #11 } Removing DPs: Order(PosReal,>,Sum)... succeeded. a() weight: 0 #double❆1_0() weight: 0 tower(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 b() weight: 0 #double❆1_s(x1) weight: (/ 1 4) + x1 #half❆1_s(x1) weight: 0 #exp(x1) weight: 0 #half(x1) weight: 0 #f❆1_b(x1,x2) weight: 0 f(x1,x2,x3) weight: 0 #half❆1_0() weight: 0 half(x1) weight: 0 half❆1_s(x1) weight: 0 #f❆1_a(x1,x2) weight: 0 0() weight: 0 #double(x1) weight: x1 double(x1) weight: 0 double❆1_0() weight: 0 f❆1_b(x1,x2) weight: 0 exp(x1) weight: 0 double❆1_s(x1) weight: 0 f❆1_a(x1,x2) weight: 0 half❆1_0() weight: 0 Usable rules: { } Removed DPs: #3 #11 Number of SCCs: 2, DPs: 4, edges: 4 SCC { #5 #8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. a() weight: 0 #double❆1_0() weight: 0 tower(x1) weight: 0 s(x1) weight: (/ 1 2) + x1 b() weight: 0 #double❆1_s(x1) weight: (/ 1 2) #half❆1_s(x1) weight: x1 #exp(x1) weight: 0 #half(x1) weight: x1 #f❆1_b(x1,x2) weight: 0 f(x1,x2,x3) weight: 0 #half❆1_0() weight: 0 half(x1) weight: 0 half❆1_s(x1) weight: 0 #f❆1_a(x1,x2) weight: 0 0() weight: 0 #double(x1) weight: 0 double(x1) weight: 0 double❆1_0() weight: 0 f❆1_b(x1,x2) weight: 0 exp(x1) weight: 0 double❆1_s(x1) weight: 0 f❆1_a(x1,x2) weight: 0 half❆1_0() weight: 0 Usable rules: { } Removed DPs: #5 #8 Number of SCCs: 1, DPs: 2, edges: 2 SCC { #10 #12 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. a() weight: 0 #double❆1_0() weight: 0 tower(x1) weight: 0 s(x1) weight: max{0, (/ 1 4) + x1} b() weight: 0 #double❆1_s(x1) weight: 0 #half❆1_s(x1) weight: 0 #exp(x1) weight: 0 #half(x1) weight: 0 #f❆1_b(x1,x2) weight: max{0, (- (/ 1 8)) + x2} f(x1,x2,x3) weight: 0 #half❆1_0() weight: 0 half(x1) weight: max{0, (- (/ 1 8)) + x1} half❆1_s(x1) weight: max{0, (/ 1 16) + x1} #f❆1_a(x1,x2) weight: max{0, (- (/ 1 16)) + x1} 0() weight: 0 #double(x1) weight: 0 double(x1) weight: max{0, (/ 1 8) + x1} double❆1_0() weight: 0 f❆1_b(x1,x2) weight: 0 exp(x1) weight: (max (/ 1 4) 0) double❆1_s(x1) weight: (max (/ 3 16) 0) f❆1_a(x1,x2) weight: 0 half❆1_0() weight: 0 Usable rules: { 5 7 9..12 16 17 } Removed DPs: #10 Number of SCCs: 0, DPs: 0, edges: 0 YES