/export/starexec/sandbox2/solver/bin/starexec_run_tct_rci /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- WORST_CASE(Omega(n^1),?) * Step 1: Sum. WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: equal0(a,b) -> equal0[Ite](<(a,b),a,b) gcd(x,y) -> gcd[Ite](equal0(x,y),x,y) monus(S(x'),S(x)) -> monus(x',x) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() gcd[False][Ite](False(),x,y) -> gcd(y,monus(y,x)) gcd[False][Ite](True(),x,y) -> gcd(monus(x,y),y) gcd[Ite](False(),x,y) -> gcd[False][Ite](<(x,y),x,y) gcd[Ite](True(),x,y) -> x - Signature: { equal0[Ite](<(a,b),a,b) gcd(x,y) -> gcd[Ite](equal0(x,y),x,y) monus(S(x'),S(x)) -> monus(x',x) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() gcd[False][Ite](False(),x,y) -> gcd(y,monus(y,x)) gcd[False][Ite](True(),x,y) -> gcd(monus(x,y),y) gcd[Ite](False(),x,y) -> gcd[False][Ite](<(x,y),x,y) gcd[Ite](True(),x,y) -> x - Signature: { equal0[Ite](<(a,b),a,b) gcd(x,y) -> gcd[Ite](equal0(x,y),x,y) monus(S(x'),S(x)) -> monus(x',x) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() gcd[False][Ite](False(),x,y) -> gcd(y,monus(y,x)) gcd[False][Ite](True(),x,y) -> gcd(monus(x,y),y) gcd[Ite](False(),x,y) -> gcd[False][Ite](<(x,y),x,y) gcd[Ite](True(),x,y) -> x - Signature: { S(x),y -> S(y)} = monus(S(x),S(y)) ->^+ monus(x,y) = C[monus(x,y) = monus(x,y){}] ** Step 1.b:1: DependencyPairs. MAYBE + Considered Problem: - Strict TRS: equal0(a,b) -> equal0[Ite](<(a,b),a,b) gcd(x,y) -> gcd[Ite](equal0(x,y),x,y) monus(S(x'),S(x)) -> monus(x',x) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() gcd[False][Ite](False(),x,y) -> gcd(y,monus(y,x)) gcd[False][Ite](True(),x,y) -> gcd(monus(x,y),y) gcd[Ite](False(),x,y) -> gcd[False][Ite](<(x,y),x,y) gcd[Ite](True(),x,y) -> x - Signature: { c_1(equal0[Ite]#(<(a,b),a,b),<#(a,b)) gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)) monus#(S(x'),S(x)) -> c_3(monus#(x',x)) Weak DPs <#(x,0()) -> c_4() <#(0(),S(y)) -> c_5() <#(S(x),S(y)) -> c_6(<#(x,y)) equal0[Ite]#(False(),a,b) -> c_7() equal0[Ite]#(True(),a,b) -> c_8(equal0[True][Ite]#(<(b,a),a,b),<#(b,a)) equal0[True][Ite]#(False(),a,b) -> c_9() equal0[True][Ite]#(True(),a,b) -> c_10() gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y),<#(x,y)) gcd[Ite]#(True(),x,y) -> c_14() and mark the set of starting terms. ** Step 1.b:2: PredecessorEstimation. MAYBE + Considered Problem: - Strict DPs: equal0#(a,b) -> c_1(equal0[Ite]#(<(a,b),a,b),<#(a,b)) gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)) monus#(S(x'),S(x)) -> c_3(monus#(x',x)) - Weak DPs: <#(x,0()) -> c_4() <#(0(),S(y)) -> c_5() <#(S(x),S(y)) -> c_6(<#(x,y)) equal0[Ite]#(False(),a,b) -> c_7() equal0[Ite]#(True(),a,b) -> c_8(equal0[True][Ite]#(<(b,a),a,b),<#(b,a)) equal0[True][Ite]#(False(),a,b) -> c_9() equal0[True][Ite]#(True(),a,b) -> c_10() gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y),<#(x,y)) gcd[Ite]#(True(),x,y) -> c_14() - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() gcd(x,y) -> gcd[Ite](equal0(x,y),x,y) gcd[False][Ite](False(),x,y) -> gcd(y,monus(y,x)) gcd[False][Ite](True(),x,y) -> gcd(monus(x,y),y) gcd[Ite](False(),x,y) -> gcd[False][Ite](<(x,y),x,y) gcd[Ite](True(),x,y) -> x monus(S(x'),S(x)) -> monus(x',x) - Signature: { c_1(equal0[Ite]#(<(a,b),a,b),<#(a,b)) 2: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)) 3: monus#(S(x'),S(x)) -> c_3(monus#(x',x)) 4: <#(x,0()) -> c_4() 5: <#(0(),S(y)) -> c_5() 6: <#(S(x),S(y)) -> c_6(<#(x,y)) 7: equal0[Ite]#(False(),a,b) -> c_7() 8: equal0[Ite]#(True(),a,b) -> c_8(equal0[True][Ite]#(<(b,a),a,b),<#(b,a)) 9: equal0[True][Ite]#(False(),a,b) -> c_9() 10: equal0[True][Ite]#(True(),a,b) -> c_10() 11: gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) 12: gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) 13: gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y),<#(x,y)) 14: gcd[Ite]#(True(),x,y) -> c_14() ** Step 1.b:3: RemoveWeakSuffixes. MAYBE + Considered Problem: - Strict DPs: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)) monus#(S(x'),S(x)) -> c_3(monus#(x',x)) - Weak DPs: <#(x,0()) -> c_4() <#(0(),S(y)) -> c_5() <#(S(x),S(y)) -> c_6(<#(x,y)) equal0#(a,b) -> c_1(equal0[Ite]#(<(a,b),a,b),<#(a,b)) equal0[Ite]#(False(),a,b) -> c_7() equal0[Ite]#(True(),a,b) -> c_8(equal0[True][Ite]#(<(b,a),a,b),<#(b,a)) equal0[True][Ite]#(False(),a,b) -> c_9() equal0[True][Ite]#(True(),a,b) -> c_10() gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y),<#(x,y)) gcd[Ite]#(True(),x,y) -> c_14() - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() gcd(x,y) -> gcd[Ite](equal0(x,y),x,y) gcd[False][Ite](False(),x,y) -> gcd(y,monus(y,x)) gcd[False][Ite](True(),x,y) -> gcd(monus(x,y),y) gcd[Ite](False(),x,y) -> gcd[False][Ite](<(x,y),x,y) gcd[Ite](True(),x,y) -> x monus(S(x'),S(x)) -> monus(x',x) - Signature: { c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)) -->_1 gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y),<#(x,y)):13 -->_2 equal0#(a,b) -> c_1(equal0[Ite]#(<(a,b),a,b),<#(a,b)):6 -->_1 gcd[Ite]#(True(),x,y) -> c_14():14 2:S:monus#(S(x'),S(x)) -> c_3(monus#(x',x)) -->_1 monus#(S(x'),S(x)) -> c_3(monus#(x',x)):2 3:W:<#(x,0()) -> c_4() 4:W:<#(0(),S(y)) -> c_5() 5:W:<#(S(x),S(y)) -> c_6(<#(x,y)) -->_1 <#(S(x),S(y)) -> c_6(<#(x,y)):5 -->_1 <#(0(),S(y)) -> c_5():4 -->_1 <#(x,0()) -> c_4():3 6:W:equal0#(a,b) -> c_1(equal0[Ite]#(<(a,b),a,b),<#(a,b)) -->_1 equal0[Ite]#(True(),a,b) -> c_8(equal0[True][Ite]#(<(b,a),a,b),<#(b,a)):8 -->_1 equal0[Ite]#(False(),a,b) -> c_7():7 -->_2 <#(S(x),S(y)) -> c_6(<#(x,y)):5 -->_2 <#(0(),S(y)) -> c_5():4 -->_2 <#(x,0()) -> c_4():3 7:W:equal0[Ite]#(False(),a,b) -> c_7() 8:W:equal0[Ite]#(True(),a,b) -> c_8(equal0[True][Ite]#(<(b,a),a,b),<#(b,a)) -->_1 equal0[True][Ite]#(True(),a,b) -> c_10():10 -->_1 equal0[True][Ite]#(False(),a,b) -> c_9():9 -->_2 <#(S(x),S(y)) -> c_6(<#(x,y)):5 -->_2 <#(0(),S(y)) -> c_5():4 -->_2 <#(x,0()) -> c_4():3 9:W:equal0[True][Ite]#(False(),a,b) -> c_9() 10:W:equal0[True][Ite]#(True(),a,b) -> c_10() 11:W:gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) -->_2 monus#(S(x'),S(x)) -> c_3(monus#(x',x)):2 -->_1 gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)):1 12:W:gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) -->_2 monus#(S(x'),S(x)) -> c_3(monus#(x',x)):2 -->_1 gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)):1 13:W:gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y),<#(x,y)) -->_1 gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)):12 -->_1 gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)):11 -->_2 <#(S(x),S(y)) -> c_6(<#(x,y)):5 -->_2 <#(0(),S(y)) -> c_5():4 -->_2 <#(x,0()) -> c_4():3 14:W:gcd[Ite]#(True(),x,y) -> c_14() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 14: gcd[Ite]#(True(),x,y) -> c_14() 6: equal0#(a,b) -> c_1(equal0[Ite]#(<(a,b),a,b),<#(a,b)) 7: equal0[Ite]#(False(),a,b) -> c_7() 8: equal0[Ite]#(True(),a,b) -> c_8(equal0[True][Ite]#(<(b,a),a,b),<#(b,a)) 9: equal0[True][Ite]#(False(),a,b) -> c_9() 10: equal0[True][Ite]#(True(),a,b) -> c_10() 5: <#(S(x),S(y)) -> c_6(<#(x,y)) 3: <#(x,0()) -> c_4() 4: <#(0(),S(y)) -> c_5() ** Step 1.b:4: SimplifyRHS. MAYBE + Considered Problem: - Strict DPs: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)) monus#(S(x'),S(x)) -> c_3(monus#(x',x)) - Weak DPs: gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y),<#(x,y)) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() gcd(x,y) -> gcd[Ite](equal0(x,y),x,y) gcd[False][Ite](False(),x,y) -> gcd(y,monus(y,x)) gcd[False][Ite](True(),x,y) -> gcd(monus(x,y),y) gcd[Ite](False(),x,y) -> gcd[False][Ite](<(x,y),x,y) gcd[Ite](True(),x,y) -> x monus(S(x'),S(x)) -> monus(x',x) - Signature: { c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)) -->_1 gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y),<#(x,y)):13 2:S:monus#(S(x'),S(x)) -> c_3(monus#(x',x)) -->_1 monus#(S(x'),S(x)) -> c_3(monus#(x',x)):2 11:W:gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) -->_2 monus#(S(x'),S(x)) -> c_3(monus#(x',x)):2 -->_1 gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)):1 12:W:gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) -->_2 monus#(S(x'),S(x)) -> c_3(monus#(x',x)):2 -->_1 gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y),equal0#(x,y)):1 13:W:gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y),<#(x,y)) -->_1 gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)):12 -->_1 gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)):11 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) ** Step 1.b:5: UsableRules. MAYBE + Considered Problem: - Strict DPs: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)) monus#(S(x'),S(x)) -> c_3(monus#(x',x)) - Weak DPs: gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() gcd(x,y) -> gcd[Ite](equal0(x,y),x,y) gcd[False][Ite](False(),x,y) -> gcd(y,monus(y,x)) gcd[False][Ite](True(),x,y) -> gcd(monus(x,y),y) gcd[Ite](False(),x,y) -> gcd[False][Ite](<(x,y),x,y) gcd[Ite](True(),x,y) -> x monus(S(x'),S(x)) -> monus(x',x) - Signature: { False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() monus(S(x'),S(x)) -> monus(x',x) gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)) gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) monus#(S(x'),S(x)) -> c_3(monus#(x',x)) ** Step 1.b:6: DecomposeDG. MAYBE + Considered Problem: - Strict DPs: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)) monus#(S(x'),S(x)) -> c_3(monus#(x',x)) - Weak DPs: gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() monus(S(x'),S(x)) -> monus(x',x) - Signature: { c_2(gcd[Ite]#(equal0(x,y),x,y)) gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) and a lower component monus#(S(x'),S(x)) -> c_3(monus#(x',x)) Further, following extension rules are added to the lower component. gcd#(x,y) -> gcd[Ite]#(equal0(x,y),x,y) gcd[False][Ite]#(False(),x,y) -> gcd#(y,monus(y,x)) gcd[False][Ite]#(False(),x,y) -> monus#(y,x) gcd[False][Ite]#(True(),x,y) -> gcd#(monus(x,y),y) gcd[False][Ite]#(True(),x,y) -> monus#(x,y) gcd[Ite]#(False(),x,y) -> gcd[False][Ite]#(<(x,y),x,y) *** Step 1.b:6.a:1: PredecessorEstimation. MAYBE + Considered Problem: - Strict DPs: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)) gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) - Weak DPs: gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() monus(S(x'),S(x)) -> monus(x',x) - Signature: { c_2(gcd[Ite]#(equal0(x,y),x,y)) 2: gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) 3: gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) 4: gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) *** Step 1.b:6.a:2: SimplifyRHS. MAYBE + Considered Problem: - Strict DPs: gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) - Weak DPs: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() monus(S(x'),S(x)) -> monus(x',x) - Signature: { c_11(gcd#(y,monus(y,x)),monus#(y,x)) -->_1 gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)):3 2:S:gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)) -->_1 gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)):3 3:W:gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)) -->_1 gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)):4 4:W:gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) -->_1 gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y),monus#(x,y)):2 -->_1 gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x)),monus#(y,x)):1 Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified: gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x))) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y)) *** Step 1.b:6.a:3: NaturalMI. MAYBE + Considered Problem: - Strict DPs: gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x))) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y)) - Weak DPs: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() monus(S(x'),S(x)) -> monus(x',x) - Signature: { [12] y + [20] = c_12(gcd#(monus(x,y),y)) Following rules are (at-least) weakly oriented: gcd#(x,y) = [12] x + [12] y + [8] >= [8] x + [12] y + [8] = c_2(gcd[Ite]#(equal0(x,y),x,y)) gcd[False][Ite]#(False(),x,y) = [12] y + [8] >= [12] y + [8] = c_11(gcd#(y,monus(y,x))) gcd[Ite]#(False(),x,y) = [8] x + [12] y + [8] >= [8] x + [12] y + [8] = c_13(gcd[False][Ite]#(<(x,y),x,y)) <(x,0()) = [2] x + [2] >= [2] = False() <(0(),S(y)) = [18] >= [6] = True() <(S(x),S(y)) = [2] x + [4] >= [2] x + [2] = <(x,y) monus(S(x'),S(x)) = [0] >= [0] = monus(x',x) *** Step 1.b:6.a:4: Failure MAYBE + Considered Problem: - Strict DPs: gcd[False][Ite]#(False(),x,y) -> c_11(gcd#(y,monus(y,x))) - Weak DPs: gcd#(x,y) -> c_2(gcd[Ite]#(equal0(x,y),x,y)) gcd[False][Ite]#(True(),x,y) -> c_12(gcd#(monus(x,y),y)) gcd[Ite]#(False(),x,y) -> c_13(gcd[False][Ite]#(<(x,y),x,y)) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() monus(S(x'),S(x)) -> monus(x',x) - Signature: { c_3(monus#(x',x)) - Weak DPs: gcd#(x,y) -> gcd[Ite]#(equal0(x,y),x,y) gcd[False][Ite]#(False(),x,y) -> gcd#(y,monus(y,x)) gcd[False][Ite]#(False(),x,y) -> monus#(y,x) gcd[False][Ite]#(True(),x,y) -> gcd#(monus(x,y),y) gcd[False][Ite]#(True(),x,y) -> monus#(x,y) gcd[Ite]#(False(),x,y) -> gcd[False][Ite]#(<(x,y),x,y) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() monus(S(x'),S(x)) -> monus(x',x) - Signature: { [1] x + [0] = c_3(monus#(x',x)) Following rules are (at-least) weakly oriented: gcd#(x,y) = [1] x + [1] y + [0] >= [1] x + [1] y + [0] = gcd[Ite]#(equal0(x,y),x,y) gcd[False][Ite]#(False(),x,y) = [1] x + [1] y + [0] >= [1] y + [0] = gcd#(y,monus(y,x)) gcd[False][Ite]#(False(),x,y) = [1] x + [1] y + [0] >= [1] x + [0] = monus#(y,x) gcd[False][Ite]#(True(),x,y) = [1] x + [1] y + [0] >= [1] y + [0] = gcd#(monus(x,y),y) gcd[False][Ite]#(True(),x,y) = [1] x + [1] y + [0] >= [1] y + [0] = monus#(x,y) gcd[Ite]#(False(),x,y) = [1] x + [1] y + [0] >= [1] x + [1] y + [0] = gcd[False][Ite]#(<(x,y),x,y) monus(S(x'),S(x)) = [0] >= [0] = monus(x',x) *** Step 1.b:6.b:2: EmptyProcessor. WORST_CASE(?,O(1)) + Considered Problem: - Weak DPs: gcd#(x,y) -> gcd[Ite]#(equal0(x,y),x,y) gcd[False][Ite]#(False(),x,y) -> gcd#(y,monus(y,x)) gcd[False][Ite]#(False(),x,y) -> monus#(y,x) gcd[False][Ite]#(True(),x,y) -> gcd#(monus(x,y),y) gcd[False][Ite]#(True(),x,y) -> monus#(x,y) gcd[Ite]#(False(),x,y) -> gcd[False][Ite]#(<(x,y),x,y) monus#(S(x'),S(x)) -> c_3(monus#(x',x)) - Weak TRS: <(x,0()) -> False() <(0(),S(y)) -> True() <(S(x),S(y)) -> <(x,y) equal0(a,b) -> equal0[Ite](<(a,b),a,b) equal0[Ite](False(),a,b) -> False() equal0[Ite](True(),a,b) -> equal0[True][Ite](<(b,a),a,b) equal0[True][Ite](False(),a,b) -> False() equal0[True][Ite](True(),a,b) -> True() monus(S(x'),S(x)) -> monus(x',x) - Signature: {