Input TRS: 1: app(app(app(if(),true()),xs),ys) -> xs 2: app(app(app(if(),false()),xs),ys) -> ys 3: app(app(sub(),x),0()) -> x 4: app(app(sub(),app(s(),x)),app(s(),y)) -> app(app(sub(),x),y) 5: app(app(gtr(),0()),y) -> false() 6: app(app(gtr(),app(s(),x)),0()) -> true() 7: app(app(gtr(),app(s(),x)),app(s(),y)) -> app(app(gtr(),x),y) 8: app(app(d(),x),0()) -> true() 9: app(app(d(),app(s(),x)),app(s(),y)) -> app(app(app(if(),app(app(gtr(),x),y)),false()),app(app(d(),app(s(),x)),app(app(sub(),y),x))) 10: app(len(),nil()) -> 0() 11: app(len(),app(app(cons(),x),xs)) -> app(s(),app(len(),xs)) 12: app(app(filter(),p),nil()) -> nil() 13: app(app(filter(),p),app(app(cons(),x),xs)) -> app(app(app(if(),app(p,x)),app(app(cons(),x),app(app(filter(),p),xs))),app(app(filter(),p),xs)) Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... failed. Freezing app 1: app❆3_if(true(),xs,ys) -> xs 2: app❆3_if(false(),xs,ys) -> ys 3: app❆2_sub(x,0()) -> x 4: app❆2_sub(app❆1_s(x),app❆1_s(y)) -> app❆2_sub(x,y) 5: app❆2_gtr(0(),y) -> false() 6: app❆2_gtr(app❆1_s(x),0()) -> true() 7: app❆2_gtr(app❆1_s(x),app❆1_s(y)) -> app❆2_gtr(x,y) 8: app❆2_d(x,0()) -> true() 9: app❆2_d(app❆1_s(x),app❆1_s(y)) -> app❆3_if(app❆2_gtr(x,y),false(),app❆2_d(app❆1_s(x),app❆2_sub(y,x))) 10: app❆1_len(nil()) -> 0() 11: app❆1_len(app❆2_cons(x,xs)) -> app❆1_s(app❆1_len(xs)) 12: app❆2_filter(p,nil()) -> nil() 13: app❆2_filter(p,app❆2_cons(x,xs)) -> app❆3_if(app(p,x),app❆2_cons(x,app❆2_filter(p,xs)),app❆2_filter(p,xs)) 14: app(if(),_1) ->= app❆1_if(_1) 15: app(app❆1_if(_1),_2) ->= app❆2_if(_1,_2) 16: app(app❆2_if(_1,_2),_3) ->= app❆3_if(_1,_2,_3) 17: app(cons(),_1) ->= app❆1_cons(_1) 18: app(app❆1_cons(_1),_2) ->= app❆2_cons(_1,_2) 19: app(d(),_1) ->= app❆1_d(_1) 20: app(app❆1_d(_1),_2) ->= app❆2_d(_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(gtr(),_1) ->= app❆1_gtr(_1) 25: app(app❆1_gtr(_1),_2) ->= app❆2_gtr(_1,_2) 26: app(len(),_1) ->= app❆1_len(_1) 27: app(sub(),_1) ->= app❆1_sub(_1) 28: app(app❆1_sub(_1),_2) ->= app❆2_sub(_1,_2) Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #app❆2_filter(p,app❆2_cons(x,xs)) -> #app❆3_if(app(p,x),app❆2_cons(x,app❆2_filter(p,xs)),app❆2_filter(p,xs)) #2: #app❆2_filter(p,app❆2_cons(x,xs)) -> #app(p,x) #3: #app❆2_filter(p,app❆2_cons(x,xs)) -> #app❆2_filter(p,xs) #4: #app❆2_filter(p,app❆2_cons(x,xs)) -> #app❆2_filter(p,xs) #5: #app❆2_d(app❆1_s(x),app❆1_s(y)) -> #app❆3_if(app❆2_gtr(x,y),false(),app❆2_d(app❆1_s(x),app❆2_sub(y,x))) #6: #app❆2_d(app❆1_s(x),app❆1_s(y)) -> #app❆2_gtr(x,y) #7: #app❆2_d(app❆1_s(x),app❆1_s(y)) -> #app❆2_d(app❆1_s(x),app❆2_sub(y,x)) #8: #app❆2_d(app❆1_s(x),app❆1_s(y)) -> #app❆2_sub(y,x) #9: #app❆1_len(app❆2_cons(x,xs)) -> #app❆1_len(xs) #10: #app(app❆1_filter(_1),_2) ->? #app❆2_filter(_1,_2) #11: #app(app❆1_gtr(_1),_2) ->? #app❆2_gtr(_1,_2) #12: #app(app❆1_d(_1),_2) ->? #app❆2_d(_1,_2) #13: #app❆2_gtr(app❆1_s(x),app❆1_s(y)) -> #app❆2_gtr(x,y) #14: #app(app❆1_sub(_1),_2) ->? #app❆2_sub(_1,_2) #15: #app(len(),_1) ->? #app❆1_len(_1) #16: #app(app❆2_if(_1,_2),_3) ->? #app❆3_if(_1,_2,_3) #17: #app❆2_sub(app❆1_s(x),app❆1_s(y)) -> #app❆2_sub(x,y) Number of SCCs: 5, DPs: 8, edges: 14 SCC { #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. d() weight: 0 s() weight: 0 app❆1_gtr(x1) weight: 0 app❆1_if(x1) weight: 0 app❆1_d(x1) weight: 0 #app❆3_if(x1,x2,x3) weight: 0 false() weight: 0 app❆1_sub(x1) weight: 0 app❆2_if(x1,x2) weight: 0 gtr() weight: 0 sub() weight: 0 #app❆1_len(x1) weight: x1 true() weight: 0 app❆2_filter(x1,x2) weight: 0 #app❆2_d(x1,x2) weight: 0 if() weight: 0 0() weight: 0 nil() weight: 0 app❆2_gtr(x1,x2) weight: 0 app❆1_filter(x1) weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 #app❆2_gtr(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: 0 app❆1_len(x1) weight: 0 app❆2_d(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 2) + x2 app❆2_sub(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: 0 len() weight: 0 app❆1_cons(x1) weight: 0 #app❆2_sub(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #9 Number of SCCs: 4, DPs: 7, edges: 13 SCC { #17 } Removing DPs: Order(PosReal,>,Sum)... succeeded. d() weight: 0 s() weight: 0 app❆1_gtr(x1) weight: 0 app❆1_if(x1) weight: 0 app❆1_d(x1) weight: 0 #app❆3_if(x1,x2,x3) weight: 0 false() weight: 0 app❆1_sub(x1) weight: 0 app❆2_if(x1,x2) weight: 0 gtr() weight: 0 sub() weight: 0 #app❆1_len(x1) weight: 0 true() weight: 0 app❆2_filter(x1,x2) weight: 0 #app❆2_d(x1,x2) weight: 0 if() weight: 0 0() weight: 0 nil() weight: 0 app❆2_gtr(x1,x2) weight: 0 app❆1_filter(x1) weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 #app❆2_gtr(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: 0 app❆1_len(x1) weight: 0 app❆2_d(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 2) app❆2_sub(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 len() weight: 0 app❆1_cons(x1) weight: 0 #app❆2_sub(x1,x2) weight: x2 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #17 Number of SCCs: 3, DPs: 6, edges: 12 SCC { #13 } Removing DPs: Order(PosReal,>,Sum)... succeeded. d() weight: 0 s() weight: 0 app❆1_gtr(x1) weight: 0 app❆1_if(x1) weight: 0 app❆1_d(x1) weight: 0 #app❆3_if(x1,x2,x3) weight: 0 false() weight: 0 app❆1_sub(x1) weight: 0 app❆2_if(x1,x2) weight: 0 gtr() weight: 0 sub() weight: 0 #app❆1_len(x1) weight: 0 true() weight: 0 app❆2_filter(x1,x2) weight: 0 #app❆2_d(x1,x2) weight: 0 if() weight: 0 0() weight: 0 nil() weight: 0 app❆2_gtr(x1,x2) weight: 0 app❆1_filter(x1) weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 #app❆2_gtr(x1,x2) weight: x2 #app❆2_filter(x1,x2) weight: 0 app❆1_len(x1) weight: 0 app❆2_d(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 2) app❆2_sub(x1,x2) weight: 0 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 len() weight: 0 app❆1_cons(x1) weight: 0 #app❆2_sub(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #13 Number of SCCs: 2, DPs: 5, edges: 11 SCC { #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. d() weight: 0 s() weight: 0 app❆1_gtr(x1) weight: 0 app❆1_if(x1) weight: 0 app❆1_d(x1) weight: 0 #app❆3_if(x1,x2,x3) weight: 0 false() weight: 0 app❆1_sub(x1) weight: 0 app❆2_if(x1,x2) weight: 0 gtr() weight: 0 sub() weight: 0 #app❆1_len(x1) weight: 0 true() weight: 0 app❆2_filter(x1,x2) weight: 0 #app❆2_d(x1,x2) weight: x2 if() weight: 0 0() weight: 0 nil() weight: 0 app❆2_gtr(x1,x2) weight: 0 app❆1_filter(x1) weight: 0 app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: 0 #app❆2_gtr(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: 0 app❆1_len(x1) weight: 0 app❆2_d(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 4) app❆2_sub(x1,x2) weight: (/ 1 4) + x1 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 len() weight: 0 app❆1_cons(x1) weight: 0 #app❆2_sub(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { 3 4 } Removed DPs: #7 Number of SCCs: 1, DPs: 4, edges: 10 SCC { #2..4 #10 } Removing DPs: Order(PosReal,>,Sum)... succeeded. d() weight: 0 s() weight: 0 app❆1_gtr(x1) weight: 0 app❆1_if(x1) weight: 0 app❆1_d(x1) weight: 0 #app❆3_if(x1,x2,x3) weight: 0 false() weight: 0 app❆1_sub(x1) weight: 0 app❆2_if(x1,x2) weight: 0 gtr() weight: 0 sub() weight: 0 #app❆1_len(x1) weight: 0 true() weight: 0 app❆2_filter(x1,x2) weight: 0 #app❆2_d(x1,x2) weight: x2 if() weight: 0 0() weight: 0 nil() weight: 0 app❆2_gtr(x1,x2) weight: 0 app❆1_filter(x1) weight: (/ 1 4) app❆3_if(x1,x2,x3) weight: 0 #app(x1,x2) weight: (/ 1 4) + x2 #app❆2_gtr(x1,x2) weight: 0 #app❆2_filter(x1,x2) weight: x2 app❆1_len(x1) weight: 0 app❆2_d(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 2) + x1 + x2 app❆2_sub(x1,x2) weight: (/ 1 4) + x1 filter() weight: 0 app❆1_s(x1) weight: (/ 1 2) + x1 len() weight: 0 app❆1_cons(x1) weight: 0 #app❆2_sub(x1,x2) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #2..4 #10 Number of SCCs: 0, DPs: 0, edges: 0 YES