* Step 1: Sum WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
f0(x1,0(),x3,x4,x5) -> 0()
f0(x1,S(x),x3,0(),x5) -> 0()
f0(x1,S(x'),x3,S(x),x5) -> f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) -> 0()
f1(x1,x2,x3,x4,S(x)) -> f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) -> 0()
f2(x1,x2,S(x),0(),0()) -> 0()
f2(x1,x2,S(x'),0(),S(x)) -> f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) -> 0()
f2(x1,x2,S(x''),S(x'),S(x)) -> f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,0()) -> 0()
f3(x1,x2,x3,x4,S(x)) -> f4(x1,x2,x4,x3,x)
f4(0(),x2,x3,x4,x5) -> 0()
f4(S(x),0(),x3,x4,0()) -> 0()
f4(S(x'),0(),x3,x4,S(x)) -> f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) -> 0()
f4(S(x''),S(x'),x3,x4,S(x)) -> f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) -> 0()
f5(x1,x2,x3,x4,S(x)) -> f6(x2,x1,x3,x4,x)
f6(x1,x2,x3,x4,0()) -> 0()
f6(x1,x2,x3,x4,S(x)) -> f0(x1,x2,x4,x3,x)
- Signature:
{f0/5,f1/5,f2/5,f3/5,f4/5,f5/5,f6/5} / {0/0,S/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,f3,f4,f5,f6} and constructors {0,S}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
f0(x1,0(),x3,x4,x5) -> 0()
f0(x1,S(x),x3,0(),x5) -> 0()
f0(x1,S(x'),x3,S(x),x5) -> f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) -> 0()
f1(x1,x2,x3,x4,S(x)) -> f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) -> 0()
f2(x1,x2,S(x),0(),0()) -> 0()
f2(x1,x2,S(x'),0(),S(x)) -> f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) -> 0()
f2(x1,x2,S(x''),S(x'),S(x)) -> f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,0()) -> 0()
f3(x1,x2,x3,x4,S(x)) -> f4(x1,x2,x4,x3,x)
f4(0(),x2,x3,x4,x5) -> 0()
f4(S(x),0(),x3,x4,0()) -> 0()
f4(S(x'),0(),x3,x4,S(x)) -> f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) -> 0()
f4(S(x''),S(x'),x3,x4,S(x)) -> f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) -> 0()
f5(x1,x2,x3,x4,S(x)) -> f6(x2,x1,x3,x4,x)
f6(x1,x2,x3,x4,0()) -> 0()
f6(x1,x2,x3,x4,S(x)) -> f0(x1,x2,x4,x3,x)
- Signature:
{f0/5,f1/5,f2/5,f3/5,f4/5,f5/5,f6/5} / {0/0,S/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,f3,f4,f5,f6} and constructors {0,S}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
none
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(0) = [3]
p(S) = [0]
p(f0) = [4] x4 + [3]
p(f1) = [4] x4 + [1] x5 + [0]
p(f2) = [1]
p(f3) = [0]
p(f4) = [0]
p(f5) = [5] x3 + [0]
p(f6) = [4] x3 + [0]
Following rules are strictly oriented:
f0(x1,S(x),x3,0(),x5) = [15]
> [3]
= 0()
f0(x1,S(x'),x3,S(x),x5) = [3]
> [0]
= f1(x',S(x'),x,S(x),S(x))
f2(x1,x2,S(x'),0(),S(x)) = [1]
> [0]
= f3(x1,x2,x',0(),x)
f2(x1,x2,S(x''),S(x'),S(x)) = [1]
> [0]
= f5(x1,x2,S(x''),x',x)
Following rules are (at-least) weakly oriented:
f0(x1,0(),x3,x4,x5) = [4] x4 + [3]
>= [3]
= 0()
f1(x1,x2,x3,x4,0()) = [4] x4 + [3]
>= [3]
= 0()
f1(x1,x2,x3,x4,S(x)) = [4] x4 + [0]
>= [1]
= f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) = [1]
>= [3]
= 0()
f2(x1,x2,S(x),0(),0()) = [1]
>= [3]
= 0()
f2(x1,x2,S(x'),S(x),0()) = [1]
>= [3]
= 0()
f3(x1,x2,x3,x4,0()) = [0]
>= [3]
= 0()
f3(x1,x2,x3,x4,S(x)) = [0]
>= [0]
= f4(x1,x2,x4,x3,x)
f4(0(),x2,x3,x4,x5) = [0]
>= [3]
= 0()
f4(S(x),0(),x3,x4,0()) = [0]
>= [3]
= 0()
f4(S(x'),0(),x3,x4,S(x)) = [0]
>= [0]
= f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) = [0]
>= [3]
= 0()
f4(S(x''),S(x'),x3,x4,S(x)) = [0]
>= [1]
= f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) = [5] x3 + [0]
>= [3]
= 0()
f5(x1,x2,x3,x4,S(x)) = [5] x3 + [0]
>= [4] x3 + [0]
= f6(x2,x1,x3,x4,x)
f6(x1,x2,x3,x4,0()) = [4] x3 + [0]
>= [3]
= 0()
f6(x1,x2,x3,x4,S(x)) = [4] x3 + [0]
>= [4] x3 + [3]
= f0(x1,x2,x4,x3,x)
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
f0(x1,0(),x3,x4,x5) -> 0()
f1(x1,x2,x3,x4,0()) -> 0()
f1(x1,x2,x3,x4,S(x)) -> f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) -> 0()
f2(x1,x2,S(x),0(),0()) -> 0()
f2(x1,x2,S(x'),S(x),0()) -> 0()
f3(x1,x2,x3,x4,0()) -> 0()
f3(x1,x2,x3,x4,S(x)) -> f4(x1,x2,x4,x3,x)
f4(0(),x2,x3,x4,x5) -> 0()
f4(S(x),0(),x3,x4,0()) -> 0()
f4(S(x'),0(),x3,x4,S(x)) -> f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) -> 0()
f4(S(x''),S(x'),x3,x4,S(x)) -> f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) -> 0()
f5(x1,x2,x3,x4,S(x)) -> f6(x2,x1,x3,x4,x)
f6(x1,x2,x3,x4,0()) -> 0()
f6(x1,x2,x3,x4,S(x)) -> f0(x1,x2,x4,x3,x)
- Weak TRS:
f0(x1,S(x),x3,0(),x5) -> 0()
f0(x1,S(x'),x3,S(x),x5) -> f1(x',S(x'),x,S(x),S(x))
f2(x1,x2,S(x'),0(),S(x)) -> f3(x1,x2,x',0(),x)
f2(x1,x2,S(x''),S(x'),S(x)) -> f5(x1,x2,S(x''),x',x)
- Signature:
{f0/5,f1/5,f2/5,f3/5,f4/5,f5/5,f6/5} / {0/0,S/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,f3,f4,f5,f6} and constructors {0,S}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
none
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(0) = [0]
p(S) = [1] x1 + [3]
p(f0) = [4] x4 + [3]
p(f1) = [4] x3 + [4]
p(f2) = [4] x3 + [2]
p(f3) = [4] x3 + [4] x4 + [0]
p(f4) = [4] x3 + [4] x4 + [1]
p(f5) = [4] x3 + [2]
p(f6) = [4] x3 + [0]
Following rules are strictly oriented:
f0(x1,0(),x3,x4,x5) = [4] x4 + [3]
> [0]
= 0()
f1(x1,x2,x3,x4,0()) = [4] x3 + [4]
> [0]
= 0()
f1(x1,x2,x3,x4,S(x)) = [4] x3 + [4]
> [4] x3 + [2]
= f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) = [2]
> [0]
= 0()
f2(x1,x2,S(x),0(),0()) = [4] x + [14]
> [0]
= 0()
f2(x1,x2,S(x'),S(x),0()) = [4] x' + [14]
> [0]
= 0()
f4(0(),x2,x3,x4,x5) = [4] x3 + [4] x4 + [1]
> [0]
= 0()
f4(S(x),0(),x3,x4,0()) = [4] x3 + [4] x4 + [1]
> [0]
= 0()
f4(S(x'),0(),x3,x4,S(x)) = [4] x3 + [4] x4 + [1]
> [4] x3 + [4] x4 + [0]
= f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) = [4] x3 + [4] x4 + [1]
> [0]
= 0()
f5(x1,x2,x3,x4,0()) = [4] x3 + [2]
> [0]
= 0()
f5(x1,x2,x3,x4,S(x)) = [4] x3 + [2]
> [4] x3 + [0]
= f6(x2,x1,x3,x4,x)
Following rules are (at-least) weakly oriented:
f0(x1,S(x),x3,0(),x5) = [3]
>= [0]
= 0()
f0(x1,S(x'),x3,S(x),x5) = [4] x + [15]
>= [4] x + [4]
= f1(x',S(x'),x,S(x),S(x))
f2(x1,x2,S(x'),0(),S(x)) = [4] x' + [14]
>= [4] x' + [0]
= f3(x1,x2,x',0(),x)
f2(x1,x2,S(x''),S(x'),S(x)) = [4] x'' + [14]
>= [4] x'' + [14]
= f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,0()) = [4] x3 + [4] x4 + [0]
>= [0]
= 0()
f3(x1,x2,x3,x4,S(x)) = [4] x3 + [4] x4 + [0]
>= [4] x3 + [4] x4 + [1]
= f4(x1,x2,x4,x3,x)
f4(S(x''),S(x'),x3,x4,S(x)) = [4] x3 + [4] x4 + [1]
>= [4] x3 + [2]
= f2(S(x''),x',x3,x4,x)
f6(x1,x2,x3,x4,0()) = [4] x3 + [0]
>= [0]
= 0()
f6(x1,x2,x3,x4,S(x)) = [4] x3 + [0]
>= [4] x3 + [3]
= f0(x1,x2,x4,x3,x)
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 4: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
f3(x1,x2,x3,x4,0()) -> 0()
f3(x1,x2,x3,x4,S(x)) -> f4(x1,x2,x4,x3,x)
f4(S(x''),S(x'),x3,x4,S(x)) -> f2(S(x''),x',x3,x4,x)
f6(x1,x2,x3,x4,0()) -> 0()
f6(x1,x2,x3,x4,S(x)) -> f0(x1,x2,x4,x3,x)
- Weak TRS:
f0(x1,0(),x3,x4,x5) -> 0()
f0(x1,S(x),x3,0(),x5) -> 0()
f0(x1,S(x'),x3,S(x),x5) -> f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) -> 0()
f1(x1,x2,x3,x4,S(x)) -> f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) -> 0()
f2(x1,x2,S(x),0(),0()) -> 0()
f2(x1,x2,S(x'),0(),S(x)) -> f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) -> 0()
f2(x1,x2,S(x''),S(x'),S(x)) -> f5(x1,x2,S(x''),x',x)
f4(0(),x2,x3,x4,x5) -> 0()
f4(S(x),0(),x3,x4,0()) -> 0()
f4(S(x'),0(),x3,x4,S(x)) -> f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) -> 0()
f5(x1,x2,x3,x4,0()) -> 0()
f5(x1,x2,x3,x4,S(x)) -> f6(x2,x1,x3,x4,x)
- Signature:
{f0/5,f1/5,f2/5,f3/5,f4/5,f5/5,f6/5} / {0/0,S/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,f3,f4,f5,f6} and constructors {0,S}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
none
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(0) = [0]
p(S) = [0]
p(f0) = [0]
p(f1) = [4] x2 + [0]
p(f2) = [0]
p(f3) = [0]
p(f4) = [6]
p(f5) = [0]
p(f6) = [0]
Following rules are strictly oriented:
f4(S(x''),S(x'),x3,x4,S(x)) = [6]
> [0]
= f2(S(x''),x',x3,x4,x)
Following rules are (at-least) weakly oriented:
f0(x1,0(),x3,x4,x5) = [0]
>= [0]
= 0()
f0(x1,S(x),x3,0(),x5) = [0]
>= [0]
= 0()
f0(x1,S(x'),x3,S(x),x5) = [0]
>= [0]
= f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) = [4] x2 + [0]
>= [0]
= 0()
f1(x1,x2,x3,x4,S(x)) = [4] x2 + [0]
>= [0]
= f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) = [0]
>= [0]
= 0()
f2(x1,x2,S(x),0(),0()) = [0]
>= [0]
= 0()
f2(x1,x2,S(x'),0(),S(x)) = [0]
>= [0]
= f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) = [0]
>= [0]
= 0()
f2(x1,x2,S(x''),S(x'),S(x)) = [0]
>= [0]
= f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,0()) = [0]
>= [0]
= 0()
f3(x1,x2,x3,x4,S(x)) = [0]
>= [6]
= f4(x1,x2,x4,x3,x)
f4(0(),x2,x3,x4,x5) = [6]
>= [0]
= 0()
f4(S(x),0(),x3,x4,0()) = [6]
>= [0]
= 0()
f4(S(x'),0(),x3,x4,S(x)) = [6]
>= [0]
= f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) = [6]
>= [0]
= 0()
f5(x1,x2,x3,x4,0()) = [0]
>= [0]
= 0()
f5(x1,x2,x3,x4,S(x)) = [0]
>= [0]
= f6(x2,x1,x3,x4,x)
f6(x1,x2,x3,x4,0()) = [0]
>= [0]
= 0()
f6(x1,x2,x3,x4,S(x)) = [0]
>= [0]
= f0(x1,x2,x4,x3,x)
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 5: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
f3(x1,x2,x3,x4,0()) -> 0()
f3(x1,x2,x3,x4,S(x)) -> f4(x1,x2,x4,x3,x)
f6(x1,x2,x3,x4,0()) -> 0()
f6(x1,x2,x3,x4,S(x)) -> f0(x1,x2,x4,x3,x)
- Weak TRS:
f0(x1,0(),x3,x4,x5) -> 0()
f0(x1,S(x),x3,0(),x5) -> 0()
f0(x1,S(x'),x3,S(x),x5) -> f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) -> 0()
f1(x1,x2,x3,x4,S(x)) -> f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) -> 0()
f2(x1,x2,S(x),0(),0()) -> 0()
f2(x1,x2,S(x'),0(),S(x)) -> f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) -> 0()
f2(x1,x2,S(x''),S(x'),S(x)) -> f5(x1,x2,S(x''),x',x)
f4(0(),x2,x3,x4,x5) -> 0()
f4(S(x),0(),x3,x4,0()) -> 0()
f4(S(x'),0(),x3,x4,S(x)) -> f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) -> 0()
f4(S(x''),S(x'),x3,x4,S(x)) -> f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) -> 0()
f5(x1,x2,x3,x4,S(x)) -> f6(x2,x1,x3,x4,x)
- Signature:
{f0/5,f1/5,f2/5,f3/5,f4/5,f5/5,f6/5} / {0/0,S/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,f3,f4,f5,f6} and constructors {0,S}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
none
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(0) = [0]
p(S) = [1]
p(f0) = [1] x4 + [3]
p(f1) = [1] x4 + [3] x5 + [0]
p(f2) = [3]
p(f3) = [2]
p(f4) = [6]
p(f5) = [1] x3 + [2]
p(f6) = [1] x3 + [0]
Following rules are strictly oriented:
f3(x1,x2,x3,x4,0()) = [2]
> [0]
= 0()
Following rules are (at-least) weakly oriented:
f0(x1,0(),x3,x4,x5) = [1] x4 + [3]
>= [0]
= 0()
f0(x1,S(x),x3,0(),x5) = [3]
>= [0]
= 0()
f0(x1,S(x'),x3,S(x),x5) = [4]
>= [4]
= f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) = [1] x4 + [0]
>= [0]
= 0()
f1(x1,x2,x3,x4,S(x)) = [1] x4 + [3]
>= [3]
= f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) = [3]
>= [0]
= 0()
f2(x1,x2,S(x),0(),0()) = [3]
>= [0]
= 0()
f2(x1,x2,S(x'),0(),S(x)) = [3]
>= [2]
= f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) = [3]
>= [0]
= 0()
f2(x1,x2,S(x''),S(x'),S(x)) = [3]
>= [3]
= f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,S(x)) = [2]
>= [6]
= f4(x1,x2,x4,x3,x)
f4(0(),x2,x3,x4,x5) = [6]
>= [0]
= 0()
f4(S(x),0(),x3,x4,0()) = [6]
>= [0]
= 0()
f4(S(x'),0(),x3,x4,S(x)) = [6]
>= [2]
= f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) = [6]
>= [0]
= 0()
f4(S(x''),S(x'),x3,x4,S(x)) = [6]
>= [3]
= f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) = [1] x3 + [2]
>= [0]
= 0()
f5(x1,x2,x3,x4,S(x)) = [1] x3 + [2]
>= [1] x3 + [0]
= f6(x2,x1,x3,x4,x)
f6(x1,x2,x3,x4,0()) = [1] x3 + [0]
>= [0]
= 0()
f6(x1,x2,x3,x4,S(x)) = [1] x3 + [0]
>= [1] x3 + [3]
= f0(x1,x2,x4,x3,x)
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 6: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
f3(x1,x2,x3,x4,S(x)) -> f4(x1,x2,x4,x3,x)
f6(x1,x2,x3,x4,0()) -> 0()
f6(x1,x2,x3,x4,S(x)) -> f0(x1,x2,x4,x3,x)
- Weak TRS:
f0(x1,0(),x3,x4,x5) -> 0()
f0(x1,S(x),x3,0(),x5) -> 0()
f0(x1,S(x'),x3,S(x),x5) -> f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) -> 0()
f1(x1,x2,x3,x4,S(x)) -> f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) -> 0()
f2(x1,x2,S(x),0(),0()) -> 0()
f2(x1,x2,S(x'),0(),S(x)) -> f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) -> 0()
f2(x1,x2,S(x''),S(x'),S(x)) -> f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,0()) -> 0()
f4(0(),x2,x3,x4,x5) -> 0()
f4(S(x),0(),x3,x4,0()) -> 0()
f4(S(x'),0(),x3,x4,S(x)) -> f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) -> 0()
f4(S(x''),S(x'),x3,x4,S(x)) -> f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) -> 0()
f5(x1,x2,x3,x4,S(x)) -> f6(x2,x1,x3,x4,x)
- Signature:
{f0/5,f1/5,f2/5,f3/5,f4/5,f5/5,f6/5} / {0/0,S/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,f3,f4,f5,f6} and constructors {0,S}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
none
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(0) = [0]
p(S) = [1] x1 + [4]
p(f0) = [1] x2 + [2] x4 + [0]
p(f1) = [1] x2 + [2] x3 + [3]
p(f2) = [1] x1 + [2] x3 + [3]
p(f3) = [1] x1 + [2] x3 + [2] x4 + [2]
p(f4) = [1] x1 + [2] x3 + [2] x4 + [3]
p(f5) = [1] x1 + [2] x3 + [2]
p(f6) = [1] x2 + [2] x3 + [2]
Following rules are strictly oriented:
f6(x1,x2,x3,x4,0()) = [1] x2 + [2] x3 + [2]
> [0]
= 0()
f6(x1,x2,x3,x4,S(x)) = [1] x2 + [2] x3 + [2]
> [1] x2 + [2] x3 + [0]
= f0(x1,x2,x4,x3,x)
Following rules are (at-least) weakly oriented:
f0(x1,0(),x3,x4,x5) = [2] x4 + [0]
>= [0]
= 0()
f0(x1,S(x),x3,0(),x5) = [1] x + [4]
>= [0]
= 0()
f0(x1,S(x'),x3,S(x),x5) = [2] x + [1] x' + [12]
>= [2] x + [1] x' + [7]
= f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) = [1] x2 + [2] x3 + [3]
>= [0]
= 0()
f1(x1,x2,x3,x4,S(x)) = [1] x2 + [2] x3 + [3]
>= [1] x2 + [2] x3 + [3]
= f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) = [1] x1 + [3]
>= [0]
= 0()
f2(x1,x2,S(x),0(),0()) = [2] x + [1] x1 + [11]
>= [0]
= 0()
f2(x1,x2,S(x'),0(),S(x)) = [2] x' + [1] x1 + [11]
>= [2] x' + [1] x1 + [2]
= f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) = [2] x' + [1] x1 + [11]
>= [0]
= 0()
f2(x1,x2,S(x''),S(x'),S(x)) = [2] x'' + [1] x1 + [11]
>= [2] x'' + [1] x1 + [10]
= f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,0()) = [1] x1 + [2] x3 + [2] x4 + [2]
>= [0]
= 0()
f3(x1,x2,x3,x4,S(x)) = [1] x1 + [2] x3 + [2] x4 + [2]
>= [1] x1 + [2] x3 + [2] x4 + [3]
= f4(x1,x2,x4,x3,x)
f4(0(),x2,x3,x4,x5) = [2] x3 + [2] x4 + [3]
>= [0]
= 0()
f4(S(x),0(),x3,x4,0()) = [1] x + [2] x3 + [2] x4 + [7]
>= [0]
= 0()
f4(S(x'),0(),x3,x4,S(x)) = [1] x' + [2] x3 + [2] x4 + [7]
>= [1] x' + [2] x3 + [2] x4 + [2]
= f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) = [1] x' + [2] x3 + [2] x4 + [7]
>= [0]
= 0()
f4(S(x''),S(x'),x3,x4,S(x)) = [1] x'' + [2] x3 + [2] x4 + [7]
>= [1] x'' + [2] x3 + [7]
= f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) = [1] x1 + [2] x3 + [2]
>= [0]
= 0()
f5(x1,x2,x3,x4,S(x)) = [1] x1 + [2] x3 + [2]
>= [1] x1 + [2] x3 + [2]
= f6(x2,x1,x3,x4,x)
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 7: WeightGap WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
f3(x1,x2,x3,x4,S(x)) -> f4(x1,x2,x4,x3,x)
- Weak TRS:
f0(x1,0(),x3,x4,x5) -> 0()
f0(x1,S(x),x3,0(),x5) -> 0()
f0(x1,S(x'),x3,S(x),x5) -> f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) -> 0()
f1(x1,x2,x3,x4,S(x)) -> f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) -> 0()
f2(x1,x2,S(x),0(),0()) -> 0()
f2(x1,x2,S(x'),0(),S(x)) -> f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) -> 0()
f2(x1,x2,S(x''),S(x'),S(x)) -> f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,0()) -> 0()
f4(0(),x2,x3,x4,x5) -> 0()
f4(S(x),0(),x3,x4,0()) -> 0()
f4(S(x'),0(),x3,x4,S(x)) -> f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) -> 0()
f4(S(x''),S(x'),x3,x4,S(x)) -> f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) -> 0()
f5(x1,x2,x3,x4,S(x)) -> f6(x2,x1,x3,x4,x)
f6(x1,x2,x3,x4,0()) -> 0()
f6(x1,x2,x3,x4,S(x)) -> f0(x1,x2,x4,x3,x)
- Signature:
{f0/5,f1/5,f2/5,f3/5,f4/5,f5/5,f6/5} / {0/0,S/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,f3,f4,f5,f6} and constructors {0,S}
+ Applied Processor:
WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
+ Details:
The weightgap principle applies using the following nonconstant growth matrix-interpretation:
We apply a matrix interpretation of kind constructor based matrix interpretation:
The following argument positions are considered usable:
none
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(0) = [0]
p(S) = [1] x1 + [2]
p(f0) = [4] x2 + [3] x4 + [1]
p(f1) = [4] x2 + [3] x3 + [3]
p(f2) = [4] x1 + [3] x3 + [2]
p(f3) = [4] x1 + [3] x3 + [3] x4 + [3]
p(f4) = [4] x1 + [3] x3 + [3] x4 + [2]
p(f5) = [4] x1 + [3] x3 + [2]
p(f6) = [4] x2 + [3] x3 + [1]
Following rules are strictly oriented:
f3(x1,x2,x3,x4,S(x)) = [4] x1 + [3] x3 + [3] x4 + [3]
> [4] x1 + [3] x3 + [3] x4 + [2]
= f4(x1,x2,x4,x3,x)
Following rules are (at-least) weakly oriented:
f0(x1,0(),x3,x4,x5) = [3] x4 + [1]
>= [0]
= 0()
f0(x1,S(x),x3,0(),x5) = [4] x + [9]
>= [0]
= 0()
f0(x1,S(x'),x3,S(x),x5) = [3] x + [4] x' + [15]
>= [3] x + [4] x' + [11]
= f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) = [4] x2 + [3] x3 + [3]
>= [0]
= 0()
f1(x1,x2,x3,x4,S(x)) = [4] x2 + [3] x3 + [3]
>= [4] x2 + [3] x3 + [2]
= f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) = [4] x1 + [2]
>= [0]
= 0()
f2(x1,x2,S(x),0(),0()) = [3] x + [4] x1 + [8]
>= [0]
= 0()
f2(x1,x2,S(x'),0(),S(x)) = [3] x' + [4] x1 + [8]
>= [3] x' + [4] x1 + [3]
= f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) = [3] x' + [4] x1 + [8]
>= [0]
= 0()
f2(x1,x2,S(x''),S(x'),S(x)) = [3] x'' + [4] x1 + [8]
>= [3] x'' + [4] x1 + [8]
= f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,0()) = [4] x1 + [3] x3 + [3] x4 + [3]
>= [0]
= 0()
f4(0(),x2,x3,x4,x5) = [3] x3 + [3] x4 + [2]
>= [0]
= 0()
f4(S(x),0(),x3,x4,0()) = [4] x + [3] x3 + [3] x4 + [10]
>= [0]
= 0()
f4(S(x'),0(),x3,x4,S(x)) = [4] x' + [3] x3 + [3] x4 + [10]
>= [4] x' + [3] x3 + [3] x4 + [3]
= f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) = [4] x' + [3] x3 + [3] x4 + [10]
>= [0]
= 0()
f4(S(x''),S(x'),x3,x4,S(x)) = [4] x'' + [3] x3 + [3] x4 + [10]
>= [4] x'' + [3] x3 + [10]
= f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) = [4] x1 + [3] x3 + [2]
>= [0]
= 0()
f5(x1,x2,x3,x4,S(x)) = [4] x1 + [3] x3 + [2]
>= [4] x1 + [3] x3 + [1]
= f6(x2,x1,x3,x4,x)
f6(x1,x2,x3,x4,0()) = [4] x2 + [3] x3 + [1]
>= [0]
= 0()
f6(x1,x2,x3,x4,S(x)) = [4] x2 + [3] x3 + [1]
>= [4] x2 + [3] x3 + [1]
= f0(x1,x2,x4,x3,x)
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 8: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
f0(x1,0(),x3,x4,x5) -> 0()
f0(x1,S(x),x3,0(),x5) -> 0()
f0(x1,S(x'),x3,S(x),x5) -> f1(x',S(x'),x,S(x),S(x))
f1(x1,x2,x3,x4,0()) -> 0()
f1(x1,x2,x3,x4,S(x)) -> f2(x2,x1,x3,x4,x)
f2(x1,x2,0(),x4,x5) -> 0()
f2(x1,x2,S(x),0(),0()) -> 0()
f2(x1,x2,S(x'),0(),S(x)) -> f3(x1,x2,x',0(),x)
f2(x1,x2,S(x'),S(x),0()) -> 0()
f2(x1,x2,S(x''),S(x'),S(x)) -> f5(x1,x2,S(x''),x',x)
f3(x1,x2,x3,x4,0()) -> 0()
f3(x1,x2,x3,x4,S(x)) -> f4(x1,x2,x4,x3,x)
f4(0(),x2,x3,x4,x5) -> 0()
f4(S(x),0(),x3,x4,0()) -> 0()
f4(S(x'),0(),x3,x4,S(x)) -> f3(x',0(),x3,x4,x)
f4(S(x'),S(x),x3,x4,0()) -> 0()
f4(S(x''),S(x'),x3,x4,S(x)) -> f2(S(x''),x',x3,x4,x)
f5(x1,x2,x3,x4,0()) -> 0()
f5(x1,x2,x3,x4,S(x)) -> f6(x2,x1,x3,x4,x)
f6(x1,x2,x3,x4,0()) -> 0()
f6(x1,x2,x3,x4,S(x)) -> f0(x1,x2,x4,x3,x)
- Signature:
{f0/5,f1/5,f2/5,f3/5,f4/5,f5/5,f6/5} / {0/0,S/1}
- Obligation:
innermost runtime complexity wrt. defined symbols {f0,f1,f2,f3,f4,f5,f6} and constructors {0,S}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(?,O(n^1))