Input TRS: 1: app(app(minus(),x),0()) -> x 2: app(app(minus(),app(s(),x)),app(s(),y)) -> app(app(minus(),x),y) 3: app(app(quot(),0()),app(s(),y)) -> 0() 4: app(app(quot(),app(s(),x)),app(s(),y)) -> app(s(),app(app(quot(),app(app(minus(),x),y)),app(s(),y))) 5: app(app(plus(),0()),y) -> y 6: app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) 7: app(app(plus(),app(app(minus(),x),app(s(),0()))),app(app(minus(),y),app(s(),app(s(),z)))) -> app(app(plus(),app(app(minus(),y),app(s(),app(s(),z)))),app(app(minus(),x),app(s(),0()))) 8: app(app(plus(),app(app(plus(),x),app(s(),0()))),app(app(plus(),y),app(s(),app(s(),z)))) -> app(app(plus(),app(app(plus(),y),app(s(),app(s(),z)))),app(app(plus(),x),app(s(),0()))) 9: app(app(map(),f),nil()) -> nil() 10: app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) 11: app(app(filter(),f),nil()) -> nil() 12: app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) 13: app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) 14: app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) Number of strict rules: 14 Direct Order(PosReal,>,Poly) ... failed. Freezing app 1: app❆2_minus(x,0()) -> x 2: app❆2_minus(app❆1_s(x),app❆1_s(y)) -> app❆2_minus(x,y) 3: app❆2_quot(0(),app❆1_s(y)) -> 0() 4: app❆2_quot(app❆1_s(x),app❆1_s(y)) -> app❆1_s(app❆2_quot(app❆2_minus(x,y),app❆1_s(y))) 5: app❆2_plus(0(),y) -> y 6: app❆2_plus(app❆1_s(x),y) -> app❆1_s(app❆2_plus(x,y)) 7: app❆2_plus(app❆2_minus(x,app❆1_s(0())),app❆2_minus(y,app❆1_s(app❆1_s(z)))) -> app❆2_plus(app❆2_minus(y,app❆1_s(app❆1_s(z))),app❆2_minus(x,app❆1_s(0()))) 8: app❆2_plus(app❆2_plus(x,app❆1_s(0())),app❆2_plus(y,app❆1_s(app❆1_s(z)))) -> app❆2_plus(app❆2_plus(y,app❆1_s(app❆1_s(z))),app❆2_plus(x,app❆1_s(0()))) 9: app❆2_map(f,nil()) -> nil() 10: app❆2_map(f,app❆2_cons(x,xs)) -> app❆2_cons(app(f,x),app❆2_map(f,xs)) 11: app❆2_filter(f,nil()) -> nil() 12: app❆2_filter(f,app❆2_cons(x,xs)) -> app❆4_filter2(app(f,x),f,x,xs) 13: app❆4_filter2(true(),f,x,xs) -> app❆2_cons(x,app❆2_filter(f,xs)) 14: app❆4_filter2(false(),f,x,xs) -> app❆2_filter(f,xs) 15: app(plus(),_1) ->= app❆1_plus(_1) 16: app(app❆1_plus(_1),_2) ->= app❆2_plus(_1,_2) 17: app(cons(),_1) ->= app❆1_cons(_1) 18: app(app❆1_cons(_1),_2) ->= app❆2_cons(_1,_2) 19: app(quot(),_1) ->= app❆1_quot(_1) 20: app(app❆1_quot(_1),_2) ->= app❆2_quot(_1,_2) 21: app(s(),_1) ->= app❆1_s(_1) 22: app(filter(),_1) ->= app❆1_filter(_1) 23: app(app❆1_filter(_1),_2) ->= app❆2_filter(_1,_2) 24: app(map(),_1) ->= app❆1_map(_1) 25: app(app❆1_map(_1),_2) ->= app❆2_map(_1,_2) 26: app(minus(),_1) ->= app❆1_minus(_1) 27: app(app❆1_minus(_1),_2) ->= app❆2_minus(_1,_2) 28: app(filter2(),_1) ->= app❆1_filter2(_1) 29: app(app❆1_filter2(_1),_2) ->= app❆2_filter2(_1,_2) 30: app(app❆2_filter2(_1,_2),_3) ->= app❆3_filter2(_1,_2,_3) 31: app(app❆3_filter2(_1,_2,_3),_4) ->= app❆4_filter2(_1,_2,_3,_4) Number of strict rules: 14 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #app❆2_minus(app❆1_s(x),app❆1_s(y)) -> #app❆2_minus(x,y) #2: #app❆2_plus(app❆1_s(x),y) -> #app❆2_plus(x,y) #3: #app❆4_filter2(true(),f,x,xs) -> #app❆2_filter(f,xs) #4: #app(app❆1_filter(_1),_2) ->? #app❆2_filter(_1,_2) #5: #app❆2_filter(f,app❆2_cons(x,xs)) -> #app❆4_filter2(app(f,x),f,x,xs) #6: #app❆2_filter(f,app❆2_cons(x,xs)) -> #app(f,x) #7: #app(app❆3_filter2(_1,_2,_3),_4) ->? #app❆4_filter2(_1,_2,_3,_4) #8: #app❆4_filter2(false(),f,x,xs) -> #app❆2_filter(f,xs) #9: #app(app❆1_map(_1),_2) ->? #app❆2_map(_1,_2) #10: #app(app❆1_quot(_1),_2) ->? #app❆2_quot(_1,_2) #11: #app❆2_plus(app❆2_minus(x,app❆1_s(0())),app❆2_minus(y,app❆1_s(app❆1_s(z)))) -> #app❆2_plus(app❆2_minus(y,app❆1_s(app❆1_s(z))),app❆2_minus(x,app❆1_s(0()))) #12: #app❆2_map(f,app❆2_cons(x,xs)) -> #app(f,x) #13: #app❆2_map(f,app❆2_cons(x,xs)) -> #app❆2_map(f,xs) #14: #app(app❆1_minus(_1),_2) ->? #app❆2_minus(_1,_2) #15: #app(app❆1_plus(_1),_2) ->? #app❆2_plus(_1,_2) #16: #app❆2_plus(app❆2_plus(x,app❆1_s(0())),app❆2_plus(y,app❆1_s(app❆1_s(z)))) -> #app❆2_plus(app❆2_plus(y,app❆1_s(app❆1_s(z))),app❆2_plus(x,app❆1_s(0()))) #17: #app❆2_quot(app❆1_s(x),app❆1_s(y)) -> #app❆2_quot(app❆2_minus(x,y),app❆1_s(y)) #18: #app❆2_quot(app❆1_s(x),app❆1_s(y)) -> #app❆2_minus(x,y) Number of SCCs: 4, DPs: 14, edges: 31 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... succeeded. app❆2_minus(x1,x2) weight: 0 #app❆2_map(x1,x2) weight: 0 s() weight: 0 app❆1_map(x1) weight: 0 app❆1_minus(x1) weight: 0 app❆1_plus(x1) weight: 0 #app❆2_quot(x1,x2) weight: 0 minus() weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_plus(x1,x2) weight: 0 app❆2_map(x1,x2) weight: 0 #app❆2_minus(x1,x2) weight: x2 false() weight: 0 app❆1_quot(x1) weight: 0 true() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 0() weight: 0 #app❆2_plus(x1,x2) weight: 0 quot() weight: 0 nil() weight: 0 app❆1_filter(x1) weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_quot(x1,x2) weight: 0 app❆2_filter2(x1,x2) weight: 0 plus() weight: 0 #app❆2_filter(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #1 Number of SCCs: 3, DPs: 13, edges: 30 SCC { #17 } Removing DPs: Order(PosReal,>,Sum)... succeeded. app❆2_minus(x1,x2) weight: (/ 1 4) + x1 #app❆2_map(x1,x2) weight: 0 s() weight: 0 app❆1_map(x1) weight: 0 app❆1_minus(x1) weight: 0 app❆1_plus(x1) weight: 0 #app❆2_quot(x1,x2) weight: x1 minus() weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_plus(x1,x2) weight: 0 app❆2_map(x1,x2) weight: 0 #app❆2_minus(x1,x2) weight: 0 false() weight: 0 app❆1_quot(x1) weight: 0 true() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 0() weight: 0 #app❆2_plus(x1,x2) weight: 0 quot() weight: 0 nil() weight: 0 app❆1_filter(x1) weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_quot(x1,x2) weight: 0 app❆2_filter2(x1,x2) weight: 0 plus() weight: 0 #app❆2_filter(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 app(x1,x2) weight: 0 Usable rules: { 1 2 } Removed DPs: #17 Number of SCCs: 2, DPs: 12, edges: 29 SCC { #2 #11 #16 } Removing DPs: Order(PosReal,>,Sum)... succeeded. app❆2_minus(x1,x2) weight: (/ 1 4) + x1 #app❆2_map(x1,x2) weight: 0 s() weight: 0 app❆1_map(x1) weight: 0 app❆1_minus(x1) weight: 0 app❆1_plus(x1) weight: 0 #app❆2_quot(x1,x2) weight: x1 minus() weight: 0 app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_plus(x1,x2) weight: (/ 1 4) + x1 + x2 app❆2_map(x1,x2) weight: 0 #app❆2_minus(x1,x2) weight: 0 false() weight: 0 app❆1_quot(x1) weight: 0 true() weight: 0 filter2() weight: 0 app❆2_filter(x1,x2) weight: 0 0() weight: 0 #app❆2_plus(x1,x2) weight: x1 + x2 quot() weight: 0 nil() weight: 0 app❆1_filter(x1) weight: 0 #app(x1,x2) weight: 0 map() weight: 0 #app❆4_filter2(x1,x2,x3,x4) weight: 0 app❆2_quot(x1,x2) weight: 0 app❆2_filter2(x1,x2) weight: 0 plus() weight: 0 #app❆2_filter(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 4) + x1 app❆1_filter2(x1) weight: 0 app❆1_cons(x1) weight: 0 app❆3_filter2(x1,x2,x3) weight: 0 app(x1,x2) weight: 0 Usable rules: { 1 2 5..8 } Removed DPs: #2 Number of SCCs: 2, DPs: 11, edges: 24 SCC { #11 #16 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... succeeded. app❆2_minus(x1,x2) weight: x2_1 + x1_1 + x1_2; (/ 1 8) + x1_1 + x1_2 #app❆2_map(x1,x2) weight: 0; 0 s() weight: 0; 0 app❆1_map(x1) weight: 0; 0 app❆1_minus(x1) weight: 0; 0 app❆1_plus(x1) weight: 0; 0 #app❆2_quot(x1,x2) weight: 0; 0 minus() weight: 0; 0 app❆4_filter2(x1,x2,x3,x4) weight: 0; 0 app❆2_plus(x1,x2) weight: (/ 1 8) + x2_1 + x2_2 + x1_1 + x1_2; (/ 1 8) + x2_1 + x2_2 + x1_1 + x1_2 app❆2_map(x1,x2) weight: 0; 0 #app❆2_minus(x1,x2) weight: 0; 0 false() weight: 0; 0 app❆1_quot(x1) weight: 0; 0 true() weight: 0; 0 filter2() weight: 0; 0 app❆2_filter(x1,x2) weight: 0; 0 0() weight: (/ 1 8); (/ 1 8) #app❆2_plus(x1,x2) weight: x2_1 + x1_2; x2_1 + x1_2 quot() weight: 0; 0 nil() weight: 0; 0 app❆1_filter(x1) weight: 0; 0 #app(x1,x2) weight: 0; 0 map() weight: 0; 0 #app❆4_filter2(x1,x2,x3,x4) weight: 0; 0 app❆2_quot(x1,x2) weight: 0; 0 app❆2_filter2(x1,x2) weight: 0; 0 plus() weight: 0; 0 #app❆2_filter(x1,x2) weight: 0; 0 cons() weight: 0; 0 app❆2_cons(x1,x2) weight: 0; 0 filter() weight: 0; 0 app❆1_s(x1) weight: (/ 1 4) + x1_1; (/ 1 8) + x1_2 app❆1_filter2(x1) weight: 0; 0 app❆1_cons(x1) weight: 0; 0 app❆3_filter2(x1,x2,x3) weight: 0; 0 app(x1,x2) weight: 0; 0 Usable rules: { 1 2 5..8 } Removed DPs: #11 Number of SCCs: 2, DPs: 10, edges: 21 SCC { #16 } 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