* 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:
{2,equal0/2,equal0[Ite]/3,equal0[True][Ite]/3,gcd/2,gcd[False][Ite]/3,gcd[Ite]/3,monus/2} / {0/0,False/0
,S/1,True/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {<,equal0,equal0[Ite],equal0[True][Ite],gcd
,gcd[False][Ite],gcd[Ite],monus} and constructors {0,False,S,True}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops 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:
{2,equal0/2,equal0[Ite]/3,equal0[True][Ite]/3,gcd/2,gcd[False][Ite]/3,gcd[Ite]/3,monus/2} / {0/0,False/0
,S/1,True/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {<,equal0,equal0[Ite],equal0[True][Ite],gcd
,gcd[False][Ite],gcd[Ite],monus} and constructors {0,False,S,True}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
monus(x,y){x -> S(x),y -> S(y)} =
monus(S(x),S(y)) ->^+ monus(x,y)
= C[monus(x,y) = monus(x,y){}]
WORST_CASE(Omega(n^1),?)