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