MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: ack(0(),y) -> s(y) ack(s(x),y) -> f(x,x) ack(s(x),0()) -> ack(x,s(0())) ack(s(x),s(y)) -> ack(x,ack(s(x),y)) f(x,y) -> ack(x,y) f(x,s(y)) -> f(y,x) f(s(x),y) -> f(x,s(x)) - Signature: {ack/2,f/2} / {0/0,s/1} - Obligation: innermost runtime complexity wrt. defined symbols {ack,f} and constructors {0,s} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs ack#(0(),y) -> c_1() ack#(s(x),y) -> c_2(f#(x,x)) ack#(s(x),0()) -> c_3(ack#(x,s(0()))) ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)) f#(x,y) -> c_5(ack#(x,y)) f#(x,s(y)) -> c_6(f#(y,x)) f#(s(x),y) -> c_7(f#(x,s(x))) Weak DPs and mark the set of starting terms. * Step 2: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: ack#(0(),y) -> c_1() ack#(s(x),y) -> c_2(f#(x,x)) ack#(s(x),0()) -> c_3(ack#(x,s(0()))) ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)) f#(x,y) -> c_5(ack#(x,y)) f#(x,s(y)) -> c_6(f#(y,x)) f#(s(x),y) -> c_7(f#(x,s(x))) - Weak TRS: ack(0(),y) -> s(y) ack(s(x),y) -> f(x,x) ack(s(x),0()) -> ack(x,s(0())) ack(s(x),s(y)) -> ack(x,ack(s(x),y)) f(x,y) -> ack(x,y) f(x,s(y)) -> f(y,x) f(s(x),y) -> f(x,s(x)) - Signature: {ack/2,f/2,ack#/2,f#/2} / {0/0,s/1,c_1/0,c_2/1,c_3/1,c_4/2,c_5/1,c_6/1,c_7/1} - Obligation: innermost runtime complexity wrt. defined symbols {ack#,f#} and constructors {0,s} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1} by application of Pre({1}) = {3,4,5}. Here rules are labelled as follows: 1: ack#(0(),y) -> c_1() 2: ack#(s(x),y) -> c_2(f#(x,x)) 3: ack#(s(x),0()) -> c_3(ack#(x,s(0()))) 4: ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)) 5: f#(x,y) -> c_5(ack#(x,y)) 6: f#(x,s(y)) -> c_6(f#(y,x)) 7: f#(s(x),y) -> c_7(f#(x,s(x))) * Step 3: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: ack#(s(x),y) -> c_2(f#(x,x)) ack#(s(x),0()) -> c_3(ack#(x,s(0()))) ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)) f#(x,y) -> c_5(ack#(x,y)) f#(x,s(y)) -> c_6(f#(y,x)) f#(s(x),y) -> c_7(f#(x,s(x))) - Weak DPs: ack#(0(),y) -> c_1() - Weak TRS: ack(0(),y) -> s(y) ack(s(x),y) -> f(x,x) ack(s(x),0()) -> ack(x,s(0())) ack(s(x),s(y)) -> ack(x,ack(s(x),y)) f(x,y) -> ack(x,y) f(x,s(y)) -> f(y,x) f(s(x),y) -> f(x,s(x)) - Signature: {ack/2,f/2,ack#/2,f#/2} / {0/0,s/1,c_1/0,c_2/1,c_3/1,c_4/2,c_5/1,c_6/1,c_7/1} - Obligation: innermost runtime complexity wrt. defined symbols {ack#,f#} and constructors {0,s} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:ack#(s(x),y) -> c_2(f#(x,x)) -->_1 f#(s(x),y) -> c_7(f#(x,s(x))):6 -->_1 f#(x,s(y)) -> c_6(f#(y,x)):5 -->_1 f#(x,y) -> c_5(ack#(x,y)):4 2:S:ack#(s(x),0()) -> c_3(ack#(x,s(0()))) -->_1 ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)):3 -->_1 ack#(0(),y) -> c_1():7 -->_1 ack#(s(x),y) -> c_2(f#(x,x)):1 3:S:ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)) -->_1 ack#(0(),y) -> c_1():7 -->_2 ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)):3 -->_1 ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)):3 -->_2 ack#(s(x),0()) -> c_3(ack#(x,s(0()))):2 -->_1 ack#(s(x),0()) -> c_3(ack#(x,s(0()))):2 -->_2 ack#(s(x),y) -> c_2(f#(x,x)):1 -->_1 ack#(s(x),y) -> c_2(f#(x,x)):1 4:S:f#(x,y) -> c_5(ack#(x,y)) -->_1 ack#(0(),y) -> c_1():7 -->_1 ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)):3 -->_1 ack#(s(x),0()) -> c_3(ack#(x,s(0()))):2 -->_1 ack#(s(x),y) -> c_2(f#(x,x)):1 5:S:f#(x,s(y)) -> c_6(f#(y,x)) -->_1 f#(s(x),y) -> c_7(f#(x,s(x))):6 -->_1 f#(x,s(y)) -> c_6(f#(y,x)):5 -->_1 f#(x,y) -> c_5(ack#(x,y)):4 6:S:f#(s(x),y) -> c_7(f#(x,s(x))) -->_1 f#(s(x),y) -> c_7(f#(x,s(x))):6 -->_1 f#(x,s(y)) -> c_6(f#(y,x)):5 -->_1 f#(x,y) -> c_5(ack#(x,y)):4 7:W:ack#(0(),y) -> c_1() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 7: ack#(0(),y) -> c_1() * Step 4: Failure MAYBE + Considered Problem: - Strict DPs: ack#(s(x),y) -> c_2(f#(x,x)) ack#(s(x),0()) -> c_3(ack#(x,s(0()))) ack#(s(x),s(y)) -> c_4(ack#(x,ack(s(x),y)),ack#(s(x),y)) f#(x,y) -> c_5(ack#(x,y)) f#(x,s(y)) -> c_6(f#(y,x)) f#(s(x),y) -> c_7(f#(x,s(x))) - Weak TRS: ack(0(),y) -> s(y) ack(s(x),y) -> f(x,x) ack(s(x),0()) -> ack(x,s(0())) ack(s(x),s(y)) -> ack(x,ack(s(x),y)) f(x,y) -> ack(x,y) f(x,s(y)) -> f(y,x) f(s(x),y) -> f(x,s(x)) - Signature: {ack/2,f/2,ack#/2,f#/2} / {0/0,s/1,c_1/0,c_2/1,c_3/1,c_4/2,c_5/1,c_6/1,c_7/1} - Obligation: innermost runtime complexity wrt. defined symbols {ack#,f#} and constructors {0,s} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE