* Step 1: WeightGap WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
f(a()) -> b()
f(c()) -> d()
f(g(x,y)) -> g(f(x),f(y))
f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
g(x,x) -> h(e(),x)
- Signature:
{f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
- Obligation:
runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
+ 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:
uargs(g) = {1,2},
uargs(h) = {2}
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(a) = [0]
p(b) = [0]
p(c) = [0]
p(d) = [0]
p(e) = [0]
p(f) = [0]
p(g) = [1] x1 + [1] x2 + [5]
p(h) = [1] x2 + [0]
Following rules are strictly oriented:
g(x,x) = [2] x + [5]
> [1] x + [0]
= h(e(),x)
Following rules are (at-least) weakly oriented:
f(a()) = [0]
>= [0]
= b()
f(c()) = [0]
>= [0]
= d()
f(g(x,y)) = [0]
>= [5]
= g(f(x),f(y))
f(h(x,y)) = [0]
>= [5]
= g(h(y,f(x)),h(x,f(y)))
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 2: WeightGap WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
f(a()) -> b()
f(c()) -> d()
f(g(x,y)) -> g(f(x),f(y))
f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
- Weak TRS:
g(x,x) -> h(e(),x)
- Signature:
{f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
- Obligation:
runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
+ 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:
uargs(g) = {1,2},
uargs(h) = {2}
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(a) = [1]
p(b) = [2]
p(c) = [0]
p(d) = [2]
p(e) = [1]
p(f) = [5]
p(g) = [1] x1 + [1] x2 + [8]
p(h) = [1] x2 + [0]
Following rules are strictly oriented:
f(a()) = [5]
> [2]
= b()
f(c()) = [5]
> [2]
= d()
Following rules are (at-least) weakly oriented:
f(g(x,y)) = [5]
>= [18]
= g(f(x),f(y))
f(h(x,y)) = [5]
>= [18]
= g(h(y,f(x)),h(x,f(y)))
g(x,x) = [2] x + [8]
>= [1] x + [0]
= h(e(),x)
Further, it can be verified that all rules not oriented are covered by the weightgap condition.
* Step 3: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
f(g(x,y)) -> g(f(x),f(y))
f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
- Weak TRS:
f(a()) -> b()
f(c()) -> d()
g(x,x) -> h(e(),x)
- Signature:
{f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
- Obligation:
runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(g) = {1,2},
uargs(h) = {2}
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(a) = 1
p(b) = 1
p(c) = 1
p(d) = 0
p(e) = 0
p(f) = 3*x1 + x1^2
p(g) = 2 + x1 + x2
p(h) = 1 + x1 + x2
Following rules are strictly oriented:
f(g(x,y)) = 10 + 7*x + 2*x*y + x^2 + 7*y + y^2
> 2 + 3*x + x^2 + 3*y + y^2
= g(f(x),f(y))
Following rules are (at-least) weakly oriented:
f(a()) = 4
>= 1
= b()
f(c()) = 4
>= 0
= d()
f(h(x,y)) = 4 + 5*x + 2*x*y + x^2 + 5*y + y^2
>= 4 + 4*x + x^2 + 4*y + y^2
= g(h(y,f(x)),h(x,f(y)))
g(x,x) = 2 + 2*x
>= 1 + x
= h(e(),x)
* Step 4: NaturalPI WORST_CASE(?,O(n^2))
+ Considered Problem:
- Strict TRS:
f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
- Weak TRS:
f(a()) -> b()
f(c()) -> d()
f(g(x,y)) -> g(f(x),f(y))
g(x,x) -> h(e(),x)
- Signature:
{f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
- Obligation:
runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
+ Applied Processor:
NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just any strict-rules}
+ Details:
We apply a polynomial interpretation of kind constructor-based(mixed(2)):
The following argument positions are considered usable:
uargs(g) = {1,2},
uargs(h) = {2}
Following symbols are considered usable:
all
TcT has computed the following interpretation:
p(a) = 1
p(b) = 0
p(c) = 0
p(d) = 0
p(e) = 0
p(f) = x1 + 3*x1^2
p(g) = 1 + x1 + x2
p(h) = 1 + x1 + x2
Following rules are strictly oriented:
f(h(x,y)) = 4 + 7*x + 6*x*y + 3*x^2 + 7*y + 3*y^2
> 3 + 2*x + 3*x^2 + 2*y + 3*y^2
= g(h(y,f(x)),h(x,f(y)))
Following rules are (at-least) weakly oriented:
f(a()) = 4
>= 0
= b()
f(c()) = 0
>= 0
= d()
f(g(x,y)) = 4 + 7*x + 6*x*y + 3*x^2 + 7*y + 3*y^2
>= 1 + x + 3*x^2 + y + 3*y^2
= g(f(x),f(y))
g(x,x) = 1 + 2*x
>= 1 + x
= h(e(),x)
* Step 5: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
f(a()) -> b()
f(c()) -> d()
f(g(x,y)) -> g(f(x),f(y))
f(h(x,y)) -> g(h(y,f(x)),h(x,f(y)))
g(x,x) -> h(e(),x)
- Signature:
{f/1,g/2} / {a/0,b/0,c/0,d/0,e/0,h/2}
- Obligation:
runtime complexity wrt. defined symbols {f,g} and constructors {a,b,c,d,e,h}
+ Applied Processor:
EmptyProcessor
+ Details:
The problem is already closed. The intended complexity is O(1).
WORST_CASE(?,O(n^2))