Input TRS: 1: app(app(and(),true()),true()) -> true() 2: app(app(and(),true()),false()) -> false() 3: app(app(and(),false()),true()) -> false() 4: app(app(and(),false()),false()) -> false() 5: app(app(or(),true()),true()) -> true() 6: app(app(or(),true()),false()) -> true() 7: app(app(or(),false()),true()) -> true() 8: app(app(or(),false()),false()) -> false() 9: app(app(forall(),p),nil()) -> true() 10: app(app(forall(),p),app(app(cons(),x),xs)) -> app(app(and(),app(p,x)),app(app(forall(),p),xs)) 11: app(app(forsome(),p),nil()) -> false() 12: app(app(forsome(),p),app(app(cons(),x),xs)) -> app(app(or(),app(p,x)),app(app(forsome(),p),xs)) Number of strict rules: 12 Direct Order(PosReal,>,Poly) ... failed. Freezing app 1: app❆2_and(true(),true()) -> true() 2: app❆2_and(true(),false()) -> false() 3: app❆2_and(false(),true()) -> false() 4: app❆2_and(false(),false()) -> false() 5: app❆2_or(true(),true()) -> true() 6: app❆2_or(true(),false()) -> true() 7: app❆2_or(false(),true()) -> true() 8: app❆2_or(false(),false()) -> false() 9: app❆2_forall(p,nil()) -> true() 10: app❆2_forall(p,app❆2_cons(x,xs)) -> app❆2_and(app(p,x),app❆2_forall(p,xs)) 11: app❆2_forsome(p,nil()) -> false() 12: app❆2_forsome(p,app❆2_cons(x,xs)) -> app❆2_or(app(p,x),app❆2_forsome(p,xs)) 13: app(cons(),_1) ->= app❆1_cons(_1) 14: app(app❆1_cons(_1),_2) ->= app❆2_cons(_1,_2) 15: app(or(),_1) ->= app❆1_or(_1) 16: app(app❆1_or(_1),_2) ->= app❆2_or(_1,_2) 17: app(and(),_1) ->= app❆1_and(_1) 18: app(app❆1_and(_1),_2) ->= app❆2_and(_1,_2) 19: app(forsome(),_1) ->= app❆1_forsome(_1) 20: app(app❆1_forsome(_1),_2) ->= app❆2_forsome(_1,_2) 21: app(forall(),_1) ->= app❆1_forall(_1) 22: app(app❆1_forall(_1),_2) ->= app❆2_forall(_1,_2) Number of strict rules: 12 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #app❆2_forsome(p,app❆2_cons(x,xs)) -> #app❆2_or(app(p,x),app❆2_forsome(p,xs)) #2: #app❆2_forsome(p,app❆2_cons(x,xs)) -> #app(p,x) #3: #app❆2_forsome(p,app❆2_cons(x,xs)) -> #app❆2_forsome(p,xs) #4: #app(app❆1_forsome(_1),_2) ->? #app❆2_forsome(_1,_2) #5: #app❆2_forall(p,app❆2_cons(x,xs)) -> #app❆2_and(app(p,x),app❆2_forall(p,xs)) #6: #app❆2_forall(p,app❆2_cons(x,xs)) -> #app(p,x) #7: #app❆2_forall(p,app❆2_cons(x,xs)) -> #app❆2_forall(p,xs) #8: #app(app❆1_forall(_1),_2) ->? #app❆2_forall(_1,_2) #9: #app(app❆1_or(_1),_2) ->? #app❆2_or(_1,_2) #10: #app(app❆1_and(_1),_2) ->? #app❆2_and(_1,_2) Number of SCCs: 1, DPs: 6, edges: 12 SCC { #2..4 #6..8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. app❆2_forall(x1,x2) weight: 0 app❆1_and(x1) weight: 0 and() weight: 0 false() weight: 0 app❆2_and(x1,x2) weight: 0 app❆1_forall(x1) weight: (/ 1 4) #app❆2_forall(x1,x2) weight: x2 true() weight: 0 app❆1_or(x1) weight: 0 app❆1_forsome(x1) weight: (/ 1 4) forsome() weight: 0 #app❆2_or(x1,x2) weight: 0 forall() weight: 0 #app❆2_and(x1,x2) weight: 0 #app❆2_forsome(x1,x2) weight: x2 app❆2_or(x1,x2) weight: 0 nil() weight: 0 or() weight: 0 #app(x1,x2) weight: (/ 1 4) + x2 app❆2_forsome(x1,x2) weight: 0 cons() weight: 0 app❆2_cons(x1,x2) weight: (/ 1 2) + x1 + x2 app❆1_cons(x1) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #2..4 #6..8 Number of SCCs: 0, DPs: 0, edges: 0 YES