MAYBE * Step 1: InnermostRuleRemoval MAYBE + Considered Problem: - Strict 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 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 quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) - Signature: {gt/2,id/1,if/3,minus/2,not/1,plus/2,quot/2} / {0/0,false/0,s/1,true/0,zero/0} - Obligation: innermost runtime complexity wrt. defined symbols {gt,id,if,minus,not,plus,quot} 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: 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 quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) - Signature: {gt/2,id/1,if/3,minus/2,not/1,plus/2,quot/2} / {0/0,false/0,s/1,true/0,zero/0} - Obligation: innermost runtime complexity wrt. defined symbols {gt,id,if,minus,not,plus,quot} and constructors {0,false,s ,true,zero} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs gt#(s(x),s(y)) -> c_1(gt#(x,y)) gt#(s(x),zero()) -> c_2() gt#(zero(),y) -> c_3() id#(x) -> c_4() if#(false(),x,y) -> c_5() if#(true(),x,y) -> c_6() minus#(x,0()) -> c_7() minus#(s(x),s(y)) -> c_8(minus#(x,y)) not#(x) -> c_9(if#(x,false(),true())) plus#(s(x),x) -> c_10(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_11(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_12() quot#(0(),s(y)) -> c_13() quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)) Weak DPs and mark the set of starting terms. * Step 3: UsableRules MAYBE + Considered Problem: - Strict DPs: gt#(s(x),s(y)) -> c_1(gt#(x,y)) gt#(s(x),zero()) -> c_2() gt#(zero(),y) -> c_3() id#(x) -> c_4() if#(false(),x,y) -> c_5() if#(true(),x,y) -> c_6() minus#(x,0()) -> c_7() minus#(s(x),s(y)) -> c_8(minus#(x,y)) not#(x) -> c_9(if#(x,false(),true())) plus#(s(x),x) -> c_10(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_11(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_12() quot#(0(),s(y)) -> c_13() quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(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 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 quot(0(),s(y)) -> 0() quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) - Signature: {gt/2,id/1,if/3,minus/2,not/1,plus/2,quot/2,gt#/2,id#/1,if#/3,minus#/2,not#/1,plus#/2,quot#/2} / {0/0 ,false/0,s/1,true/0,zero/0,c_1/1,c_2/0,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1,c_10/5,c_11/8,c_12/0,c_13/0 ,c_14/2} - Obligation: innermost runtime complexity wrt. defined symbols {gt#,id#,if#,minus#,not#,plus#,quot#} 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 minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) not(x) -> if(x,false(),true()) gt#(s(x),s(y)) -> c_1(gt#(x,y)) gt#(s(x),zero()) -> c_2() gt#(zero(),y) -> c_3() id#(x) -> c_4() if#(false(),x,y) -> c_5() if#(true(),x,y) -> c_6() minus#(x,0()) -> c_7() minus#(s(x),s(y)) -> c_8(minus#(x,y)) not#(x) -> c_9(if#(x,false(),true())) plus#(s(x),x) -> c_10(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_11(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_12() quot#(0(),s(y)) -> c_13() quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)) * Step 4: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: gt#(s(x),s(y)) -> c_1(gt#(x,y)) gt#(s(x),zero()) -> c_2() gt#(zero(),y) -> c_3() id#(x) -> c_4() if#(false(),x,y) -> c_5() if#(true(),x,y) -> c_6() minus#(x,0()) -> c_7() minus#(s(x),s(y)) -> c_8(minus#(x,y)) not#(x) -> c_9(if#(x,false(),true())) plus#(s(x),x) -> c_10(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_11(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_12() quot#(0(),s(y)) -> c_13() quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(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 minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) not(x) -> if(x,false(),true()) - Signature: {gt/2,id/1,if/3,minus/2,not/1,plus/2,quot/2,gt#/2,id#/1,if#/3,minus#/2,not#/1,plus#/2,quot#/2} / {0/0 ,false/0,s/1,true/0,zero/0,c_1/1,c_2/0,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1,c_10/5,c_11/8,c_12/0,c_13/0 ,c_14/2} - Obligation: innermost runtime complexity wrt. defined symbols {gt#,id#,if#,minus#,not#,plus#,quot#} and constructors {0 ,false,s,true,zero} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {2,3,4,5,6,7,12,13} by application of Pre({2,3,4,5,6,7,12,13}) = {1,8,9,10,11,14}. Here rules are labelled as follows: 1: gt#(s(x),s(y)) -> c_1(gt#(x,y)) 2: gt#(s(x),zero()) -> c_2() 3: gt#(zero(),y) -> c_3() 4: id#(x) -> c_4() 5: if#(false(),x,y) -> c_5() 6: if#(true(),x,y) -> c_6() 7: minus#(x,0()) -> c_7() 8: minus#(s(x),s(y)) -> c_8(minus#(x,y)) 9: not#(x) -> c_9(if#(x,false(),true())) 10: plus#(s(x),x) -> c_10(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)) 11: plus#(s(x),s(y)) -> c_11(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)) 12: plus#(zero(),y) -> c_12() 13: quot#(0(),s(y)) -> c_13() 14: quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)) * Step 5: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: gt#(s(x),s(y)) -> c_1(gt#(x,y)) minus#(s(x),s(y)) -> c_8(minus#(x,y)) not#(x) -> c_9(if#(x,false(),true())) plus#(s(x),x) -> c_10(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_11(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)) quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)) - Weak DPs: gt#(s(x),zero()) -> c_2() gt#(zero(),y) -> c_3() id#(x) -> c_4() if#(false(),x,y) -> c_5() if#(true(),x,y) -> c_6() minus#(x,0()) -> c_7() plus#(zero(),y) -> c_12() quot#(0(),s(y)) -> c_13() - 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 minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) not(x) -> if(x,false(),true()) - Signature: {gt/2,id/1,if/3,minus/2,not/1,plus/2,quot/2,gt#/2,id#/1,if#/3,minus#/2,not#/1,plus#/2,quot#/2} / {0/0 ,false/0,s/1,true/0,zero/0,c_1/1,c_2/0,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1,c_10/5,c_11/8,c_12/0,c_13/0 ,c_14/2} - Obligation: innermost runtime complexity wrt. defined symbols {gt#,id#,if#,minus#,not#,plus#,quot#} and constructors {0 ,false,s,true,zero} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {3} by application of Pre({3}) = {5}. Here rules are labelled as follows: 1: gt#(s(x),s(y)) -> c_1(gt#(x,y)) 2: minus#(s(x),s(y)) -> c_8(minus#(x,y)) 3: not#(x) -> c_9(if#(x,false(),true())) 4: plus#(s(x),x) -> c_10(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)) 5: plus#(s(x),s(y)) -> c_11(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)) 6: quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)) 7: gt#(s(x),zero()) -> c_2() 8: gt#(zero(),y) -> c_3() 9: id#(x) -> c_4() 10: if#(false(),x,y) -> c_5() 11: if#(true(),x,y) -> c_6() 12: minus#(x,0()) -> c_7() 13: plus#(zero(),y) -> c_12() 14: quot#(0(),s(y)) -> c_13() * Step 6: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: gt#(s(x),s(y)) -> c_1(gt#(x,y)) minus#(s(x),s(y)) -> c_8(minus#(x,y)) plus#(s(x),x) -> c_10(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_11(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)) quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)) - Weak DPs: gt#(s(x),zero()) -> c_2() gt#(zero(),y) -> c_3() id#(x) -> c_4() if#(false(),x,y) -> c_5() if#(true(),x,y) -> c_6() minus#(x,0()) -> c_7() not#(x) -> c_9(if#(x,false(),true())) plus#(zero(),y) -> c_12() quot#(0(),s(y)) -> c_13() - 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 minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) not(x) -> if(x,false(),true()) - Signature: {gt/2,id/1,if/3,minus/2,not/1,plus/2,quot/2,gt#/2,id#/1,if#/3,minus#/2,not#/1,plus#/2,quot#/2} / {0/0 ,false/0,s/1,true/0,zero/0,c_1/1,c_2/0,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1,c_10/5,c_11/8,c_12/0,c_13/0 ,c_14/2} - Obligation: innermost runtime complexity wrt. defined symbols {gt#,id#,if#,minus#,not#,plus#,quot#} and constructors {0 ,false,s,true,zero} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:gt#(s(x),s(y)) -> c_1(gt#(x,y)) -->_1 gt#(zero(),y) -> c_3():7 -->_1 gt#(s(x),zero()) -> c_2():6 -->_1 gt#(s(x),s(y)) -> c_1(gt#(x,y)):1 2:S:minus#(s(x),s(y)) -> c_8(minus#(x,y)) -->_1 minus#(x,0()) -> c_7():11 -->_1 minus#(s(x),s(y)) -> c_8(minus#(x,y)):2 3:S:plus#(s(x),x) -> c_10(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_11(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)):4 -->_1 plus#(zero(),y) -> c_12():13 -->_2 if#(true(),x,y) -> c_6():10 -->_2 if#(false(),x,y) -> c_5():9 -->_5 id#(x) -> c_4():8 -->_4 id#(x) -> c_4():8 -->_3 gt#(zero(),y) -> c_3():7 -->_1 plus#(s(x),x) -> c_10(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)):3 -->_3 gt#(s(x),s(y)) -> c_1(gt#(x,y)):1 4:S:plus#(s(x),s(y)) -> c_11(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_9(if#(x,false(),true())):12 -->_1 plus#(zero(),y) -> c_12():13 -->_4 if#(true(),x,y) -> c_6():10 -->_2 if#(true(),x,y) -> c_6():10 -->_4 if#(false(),x,y) -> c_5():9 -->_2 if#(false(),x,y) -> c_5():9 -->_8 id#(x) -> c_4():8 -->_7 id#(x) -> c_4():8 -->_6 gt#(zero(),y) -> c_3():7 -->_3 gt#(zero(),y) -> c_3():7 -->_6 gt#(s(x),zero()) -> c_2():6 -->_3 gt#(s(x),zero()) -> c_2():6 -->_1 plus#(s(x),s(y)) -> c_11(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)):4 -->_1 plus#(s(x),x) -> c_10(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)):3 -->_6 gt#(s(x),s(y)) -> c_1(gt#(x,y)):1 -->_3 gt#(s(x),s(y)) -> c_1(gt#(x,y)):1 5:S:quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)) -->_1 quot#(0(),s(y)) -> c_13():14 -->_2 minus#(x,0()) -> c_7():11 -->_1 quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)):5 -->_2 minus#(s(x),s(y)) -> c_8(minus#(x,y)):2 6:W:gt#(s(x),zero()) -> c_2() 7:W:gt#(zero(),y) -> c_3() 8:W:id#(x) -> c_4() 9:W:if#(false(),x,y) -> c_5() 10:W:if#(true(),x,y) -> c_6() 11:W:minus#(x,0()) -> c_7() 12:W:not#(x) -> c_9(if#(x,false(),true())) -->_1 if#(true(),x,y) -> c_6():10 -->_1 if#(false(),x,y) -> c_5():9 13:W:plus#(zero(),y) -> c_12() 14:W:quot#(0(),s(y)) -> c_13() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 14: quot#(0(),s(y)) -> c_13() 8: id#(x) -> c_4() 13: plus#(zero(),y) -> c_12() 12: not#(x) -> c_9(if#(x,false(),true())) 9: if#(false(),x,y) -> c_5() 10: if#(true(),x,y) -> c_6() 11: minus#(x,0()) -> c_7() 6: gt#(s(x),zero()) -> c_2() 7: gt#(zero(),y) -> c_3() * Step 7: SimplifyRHS MAYBE + Considered Problem: - Strict DPs: gt#(s(x),s(y)) -> c_1(gt#(x,y)) minus#(s(x),s(y)) -> c_8(minus#(x,y)) plus#(s(x),x) -> c_10(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_11(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)) quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(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 minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) not(x) -> if(x,false(),true()) - Signature: {gt/2,id/1,if/3,minus/2,not/1,plus/2,quot/2,gt#/2,id#/1,if#/3,minus#/2,not#/1,plus#/2,quot#/2} / {0/0 ,false/0,s/1,true/0,zero/0,c_1/1,c_2/0,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1,c_10/5,c_11/8,c_12/0,c_13/0 ,c_14/2} - Obligation: innermost runtime complexity wrt. defined symbols {gt#,id#,if#,minus#,not#,plus#,quot#} and constructors {0 ,false,s,true,zero} + Applied Processor: SimplifyRHS + Details: Consider the dependency graph 1:S:gt#(s(x),s(y)) -> c_1(gt#(x,y)) -->_1 gt#(s(x),s(y)) -> c_1(gt#(x,y)):1 2:S:minus#(s(x),s(y)) -> c_8(minus#(x,y)) -->_1 minus#(s(x),s(y)) -> c_8(minus#(x,y)):2 3:S:plus#(s(x),x) -> c_10(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_11(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)):4 -->_1 plus#(s(x),x) -> c_10(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)):3 -->_3 gt#(s(x),s(y)) -> c_1(gt#(x,y)):1 4:S:plus#(s(x),s(y)) -> c_11(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_11(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)):4 -->_1 plus#(s(x),x) -> c_10(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)):3 -->_6 gt#(s(x),s(y)) -> c_1(gt#(x,y)):1 -->_3 gt#(s(x),s(y)) -> c_1(gt#(x,y)):1 5:S:quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)) -->_1 quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(x,y)):5 -->_2 minus#(s(x),s(y)) -> c_8(minus#(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_10(plus#(if(gt(x,x),id(x),id(x)),s(x)),gt#(x,x)) plus#(s(x),s(y)) -> c_11(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: gt#(s(x),s(y)) -> c_1(gt#(x,y)) minus#(s(x),s(y)) -> c_8(minus#(x,y)) plus#(s(x),x) -> c_10(plus#(if(gt(x,x),id(x),id(x)),s(x)),gt#(x,x)) plus#(s(x),s(y)) -> c_11(plus#(if(gt(x,y),x,y),if(not(gt(x,y)),id(x),id(y))),gt#(x,y),gt#(x,y)) quot#(s(x),s(y)) -> c_14(quot#(minus(x,y),s(y)),minus#(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 minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) not(x) -> if(x,false(),true()) - Signature: {gt/2,id/1,if/3,minus/2,not/1,plus/2,quot/2,gt#/2,id#/1,if#/3,minus#/2,not#/1,plus#/2,quot#/2} / {0/0 ,false/0,s/1,true/0,zero/0,c_1/1,c_2/0,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1,c_10/2,c_11/3,c_12/0,c_13/0 ,c_14/2} - Obligation: innermost runtime complexity wrt. defined symbols {gt#,id#,if#,minus#,not#,plus#,quot#} and constructors {0 ,false,s,true,zero} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE