MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: and(x,false()) -> false() and(false(),x) -> false() and(true(),true()) -> true() cond(true(),x,y) -> cond(and(gr(x,0()),gr(y,0())),p(x),p(y)) gr(0(),x) -> false() gr(0(),0()) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) p(0()) -> 0() p(s(x)) -> x - Signature: {and/2,cond/3,gr/2,p/1} / {0/0,false/0,s/1,true/0} - Obligation: innermost runtime complexity wrt. defined symbols {and,cond,gr,p} and constructors {0,false,s,true} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs and#(x,false()) -> c_1() and#(false(),x) -> c_2() and#(true(),true()) -> c_3() cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)) gr#(0(),x) -> c_5() gr#(0(),0()) -> c_6() gr#(s(x),0()) -> c_7() gr#(s(x),s(y)) -> c_8(gr#(x,y)) p#(0()) -> c_9() p#(s(x)) -> c_10() Weak DPs and mark the set of starting terms. * Step 2: UsableRules MAYBE + Considered Problem: - Strict DPs: and#(x,false()) -> c_1() and#(false(),x) -> c_2() and#(true(),true()) -> c_3() cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)) gr#(0(),x) -> c_5() gr#(0(),0()) -> c_6() gr#(s(x),0()) -> c_7() gr#(s(x),s(y)) -> c_8(gr#(x,y)) p#(0()) -> c_9() p#(s(x)) -> c_10() - Weak TRS: and(x,false()) -> false() and(false(),x) -> false() and(true(),true()) -> true() cond(true(),x,y) -> cond(and(gr(x,0()),gr(y,0())),p(x),p(y)) gr(0(),x) -> false() gr(0(),0()) -> false() gr(s(x),0()) -> true() gr(s(x),s(y)) -> gr(x,y) p(0()) -> 0() p(s(x)) -> x - Signature: {and/2,cond/3,gr/2,p/1,and#/2,cond#/3,gr#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/0,c_2/0,c_3/0,c_4/6,c_5/0 ,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0} - Obligation: innermost runtime complexity wrt. defined symbols {and#,cond#,gr#,p#} and constructors {0,false,s,true} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: and(x,false()) -> false() and(false(),x) -> false() and(true(),true()) -> true() gr(0(),x) -> false() gr(0(),0()) -> false() gr(s(x),0()) -> true() p(0()) -> 0() p(s(x)) -> x and#(x,false()) -> c_1() and#(false(),x) -> c_2() and#(true(),true()) -> c_3() cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)) gr#(0(),x) -> c_5() gr#(0(),0()) -> c_6() gr#(s(x),0()) -> c_7() gr#(s(x),s(y)) -> c_8(gr#(x,y)) p#(0()) -> c_9() p#(s(x)) -> c_10() * Step 3: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: and#(x,false()) -> c_1() and#(false(),x) -> c_2() and#(true(),true()) -> c_3() cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)) gr#(0(),x) -> c_5() gr#(0(),0()) -> c_6() gr#(s(x),0()) -> c_7() gr#(s(x),s(y)) -> c_8(gr#(x,y)) p#(0()) -> c_9() p#(s(x)) -> c_10() - Weak TRS: and(x,false()) -> false() and(false(),x) -> false() and(true(),true()) -> true() gr(0(),x) -> false() gr(0(),0()) -> false() gr(s(x),0()) -> true() p(0()) -> 0() p(s(x)) -> x - Signature: {and/2,cond/3,gr/2,p/1,and#/2,cond#/3,gr#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/0,c_2/0,c_3/0,c_4/6,c_5/0 ,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0} - Obligation: innermost runtime complexity wrt. defined symbols {and#,cond#,gr#,p#} and constructors {0,false,s,true} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1,2,3,5,6,7,9,10} by application of Pre({1,2,3,5,6,7,9,10}) = {4,8}. Here rules are labelled as follows: 1: and#(x,false()) -> c_1() 2: and#(false(),x) -> c_2() 3: and#(true(),true()) -> c_3() 4: cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)) 5: gr#(0(),x) -> c_5() 6: gr#(0(),0()) -> c_6() 7: gr#(s(x),0()) -> c_7() 8: gr#(s(x),s(y)) -> c_8(gr#(x,y)) 9: p#(0()) -> c_9() 10: p#(s(x)) -> c_10() * Step 4: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)) gr#(s(x),s(y)) -> c_8(gr#(x,y)) - Weak DPs: and#(x,false()) -> c_1() and#(false(),x) -> c_2() and#(true(),true()) -> c_3() gr#(0(),x) -> c_5() gr#(0(),0()) -> c_6() gr#(s(x),0()) -> c_7() p#(0()) -> c_9() p#(s(x)) -> c_10() - Weak TRS: and(x,false()) -> false() and(false(),x) -> false() and(true(),true()) -> true() gr(0(),x) -> false() gr(0(),0()) -> false() gr(s(x),0()) -> true() p(0()) -> 0() p(s(x)) -> x - Signature: {and/2,cond/3,gr/2,p/1,and#/2,cond#/3,gr#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/0,c_2/0,c_3/0,c_4/6,c_5/0 ,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0} - Obligation: innermost runtime complexity wrt. defined symbols {and#,cond#,gr#,p#} and constructors {0,false,s,true} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)) -->_6 p#(s(x)) -> c_10():10 -->_5 p#(s(x)) -> c_10():10 -->_6 p#(0()) -> c_9():9 -->_5 p#(0()) -> c_9():9 -->_4 gr#(s(x),0()) -> c_7():8 -->_3 gr#(s(x),0()) -> c_7():8 -->_4 gr#(0(),0()) -> c_6():7 -->_3 gr#(0(),0()) -> c_6():7 -->_4 gr#(0(),x) -> c_5():6 -->_3 gr#(0(),x) -> c_5():6 -->_2 and#(true(),true()) -> c_3():5 -->_2 and#(false(),x) -> c_2():4 -->_2 and#(x,false()) -> c_1():3 -->_1 cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)):1 2:S:gr#(s(x),s(y)) -> c_8(gr#(x,y)) -->_1 gr#(s(x),0()) -> c_7():8 -->_1 gr#(0(),0()) -> c_6():7 -->_1 gr#(0(),x) -> c_5():6 -->_1 gr#(s(x),s(y)) -> c_8(gr#(x,y)):2 3:W:and#(x,false()) -> c_1() 4:W:and#(false(),x) -> c_2() 5:W:and#(true(),true()) -> c_3() 6:W:gr#(0(),x) -> c_5() 7:W:gr#(0(),0()) -> c_6() 8:W:gr#(s(x),0()) -> c_7() 9:W:p#(0()) -> c_9() 10:W:p#(s(x)) -> c_10() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 3: and#(x,false()) -> c_1() 4: and#(false(),x) -> c_2() 5: and#(true(),true()) -> c_3() 6: gr#(0(),x) -> c_5() 7: gr#(0(),0()) -> c_6() 8: gr#(s(x),0()) -> c_7() 9: p#(0()) -> c_9() 10: p#(s(x)) -> c_10() * Step 5: SimplifyRHS MAYBE + Considered Problem: - Strict DPs: cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)) gr#(s(x),s(y)) -> c_8(gr#(x,y)) - Weak TRS: and(x,false()) -> false() and(false(),x) -> false() and(true(),true()) -> true() gr(0(),x) -> false() gr(0(),0()) -> false() gr(s(x),0()) -> true() p(0()) -> 0() p(s(x)) -> x - Signature: {and/2,cond/3,gr/2,p/1,and#/2,cond#/3,gr#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/0,c_2/0,c_3/0,c_4/6,c_5/0 ,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0} - Obligation: innermost runtime complexity wrt. defined symbols {and#,cond#,gr#,p#} and constructors {0,false,s,true} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)) -->_1 cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y)) ,and#(gr(x,0()),gr(y,0())) ,gr#(x,0()) ,gr#(y,0()) ,p#(x) ,p#(y)):1 2:S:gr#(s(x),s(y)) -> c_8(gr#(x,y)) -->_1 gr#(s(x),s(y)) -> c_8(gr#(x,y)):2 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y))) * Step 6: Failure MAYBE + Considered Problem: - Strict DPs: cond#(true(),x,y) -> c_4(cond#(and(gr(x,0()),gr(y,0())),p(x),p(y))) gr#(s(x),s(y)) -> c_8(gr#(x,y)) - Weak TRS: and(x,false()) -> false() and(false(),x) -> false() and(true(),true()) -> true() gr(0(),x) -> false() gr(0(),0()) -> false() gr(s(x),0()) -> true() p(0()) -> 0() p(s(x)) -> x - Signature: {and/2,cond/3,gr/2,p/1,and#/2,cond#/3,gr#/2,p#/1} / {0/0,false/0,s/1,true/0,c_1/0,c_2/0,c_3/0,c_4/1,c_5/0 ,c_6/0,c_7/0,c_8/1,c_9/0,c_10/0} - Obligation: innermost runtime complexity wrt. defined symbols {and#,cond#,gr#,p#} and constructors {0,false,s,true} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE