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