interpretations
Execution Time (secs) | - |
Answer | YES(?,O(n^2)) |
Input | SK90 2.19 |
YES(?,O(n^2))
We are left with following problem, upon which TcT provides the
certificate YES(?,O(n^2)).
Strict Trs:
{ sqr(0()) -> 0()
, sqr(s(x)) -> s(+(sqr(x), double(x)))
, sqr(s(x)) -> +(sqr(x), s(double(x)))
, +(x, 0()) -> x
, +(x, s(y)) -> s(+(x, y))
, double(0()) -> 0()
, double(s(x)) -> s(s(double(x))) }
Obligation:
innermost runtime complexity
Answer:
YES(?,O(n^2))
The following argument positions are usable:
Uargs(sqr) = {}, Uargs(s) = {1}, Uargs(+) = {1, 2},
Uargs(double) = {}
TcT has computed following constructor-restricted polynomial
interpretation.
[sqr](x1) = 2 + x1 + 3*x1^2
[0]() = 0
[s](x1) = 2 + x1
[+](x1, x2) = 3 + x1 + 2*x2
[double](x1) = 3 + 3*x1
This order satisfies following ordering constraints
[sqr(0())] = 2
>
= [0()]
[sqr(s(x))] = 16 + 13*x + 3*x^2
> 13 + 7*x + 3*x^2
= [s(+(sqr(x), double(x)))]
[sqr(s(x))] = 16 + 13*x + 3*x^2
> 15 + 7*x + 3*x^2
= [+(sqr(x), s(double(x)))]
[+(x, 0())] = 3 + x
> x
= [x]
[+(x, s(y))] = 7 + x + 2*y
> 5 + x + 2*y
= [s(+(x, y))]
[double(0())] = 3
>
= [0()]
[double(s(x))] = 9 + 3*x
> 7 + 3*x
= [s(s(double(x)))]
Hurray, we answered YES(?,O(n^2))
lmpo
Execution Time (secs) | - |
Answer | YES(?,ELEMENTARY) |
Input | SK90 2.19 |
YES(?,ELEMENTARY)
We are left with following problem, upon which TcT provides the
certificate YES(?,ELEMENTARY).
Strict Trs:
{ sqr(0()) -> 0()
, sqr(s(x)) -> +(sqr(x), s(double(x)))
, double(0()) -> 0()
, double(s(x)) -> s(s(double(x)))
, +(x, 0()) -> x
, +(x, s(y)) -> s(+(x, y))
, sqr(s(x)) -> s(+(sqr(x), double(x))) }
Obligation:
innermost runtime complexity
Answer:
YES(?,ELEMENTARY)
The input was oriented with the instance of 'Lightweight Multiset
Path Order' as induced by the safe mapping
safe(sqr) = {}, safe(0) = {}, safe(s) = {1}, safe(+) = {1},
safe(double) = {}
and precedence
sqr > +, sqr > double .
Following symbols are considered recursive:
{sqr, +, double}
The recursion depth is 2.
For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:
Strict DPs:
Weak DPs :
Strict Trs:
{ sqr(0();) -> 0()
, sqr(s(; x);) -> +(s(; double(x;)); sqr(x;))
, double(0();) -> 0()
, double(s(; x);) -> s(; s(; double(x;)))
, +(0(); x) -> x
, +(s(; y); x) -> s(; +(y; x))
, sqr(s(; x);) -> s(; +(double(x;); sqr(x;))) }
Weak Trs :
Hurray, we answered YES(?,ELEMENTARY)
mpo
Execution Time (secs) | - |
Answer | YES(?,PRIMREC) |
Input | SK90 2.19 |
YES(?,PRIMREC)
We are left with following problem, upon which TcT provides the
certificate YES(?,PRIMREC).
Strict Trs:
{ sqr(0()) -> 0()
, sqr(s(x)) -> +(sqr(x), s(double(x)))
, double(0()) -> 0()
, double(s(x)) -> s(s(double(x)))
, +(x, 0()) -> x
, +(x, s(y)) -> s(+(x, y))
, sqr(s(x)) -> s(+(sqr(x), double(x))) }
Obligation:
innermost runtime complexity
Answer:
YES(?,PRIMREC)
The input was oriented with the instance of'multiset path orders'
as induced by the precedence
sqr > s, sqr > +, sqr > double, + > s, double > s .
Hurray, we answered YES(?,PRIMREC)
popstar
Execution Time (secs) | 0.172 |
Answer | YES(?,POLY) |
Input | SK90 2.19 |
YES(?,POLY)
We are left with following problem, upon which TcT provides the
certificate YES(?,POLY).
Strict Trs:
{ sqr(0()) -> 0()
, sqr(s(x)) -> +(sqr(x), s(double(x)))
, double(0()) -> 0()
, double(s(x)) -> s(s(double(x)))
, +(x, 0()) -> x
, +(x, s(y)) -> s(+(x, y))
, sqr(s(x)) -> s(+(sqr(x), double(x))) }
Obligation:
innermost runtime complexity
Answer:
YES(?,POLY)
The input was oriented with the instance of 'Polynomial Path Order'
as induced by the safe mapping
safe(sqr) = {}, safe(0) = {}, safe(s) = {1}, safe(+) = {1},
safe(double) = {}
and precedence
sqr > +, sqr > double .
Following symbols are considered recursive:
{sqr, +, double}
The recursion depth is 2.
For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:
Strict DPs:
Weak DPs :
Strict Trs:
{ sqr(0();) -> 0()
, sqr(s(; x);) -> +(s(; double(x;)); sqr(x;))
, double(0();) -> 0()
, double(s(; x);) -> s(; s(; double(x;)))
, +(0(); x) -> x
, +(s(; y); x) -> s(; +(y; x))
, sqr(s(; x);) -> s(; +(double(x;); sqr(x;))) }
Weak Trs :
Hurray, we answered YES(?,POLY)
popstar-ps
Execution Time (secs) | 0.246 |
Answer | YES(?,POLY) |
Input | SK90 2.19 |
YES(?,POLY)
We are left with following problem, upon which TcT provides the
certificate YES(?,POLY).
Strict Trs:
{ sqr(0()) -> 0()
, sqr(s(x)) -> +(sqr(x), s(double(x)))
, double(0()) -> 0()
, double(s(x)) -> s(s(double(x)))
, +(x, 0()) -> x
, +(x, s(y)) -> s(+(x, y))
, sqr(s(x)) -> s(+(sqr(x), double(x))) }
Obligation:
innermost runtime complexity
Answer:
YES(?,POLY)
The input was oriented with the instance of 'Polynomial Path Order
(PS)' as induced by the safe mapping
safe(sqr) = {}, safe(0) = {}, safe(s) = {1}, safe(+) = {1},
safe(double) = {}
and precedence
sqr > +, sqr > double .
Following symbols are considered recursive:
{sqr, +, double}
The recursion depth is 2.
For your convenience, here are the oriented rules in predicative
notation, possibly applying argument filtering:
Strict DPs:
Weak DPs :
Strict Trs:
{ sqr(0();) -> 0()
, sqr(s(; x);) -> +(s(; double(x;)); sqr(x;))
, double(0();) -> 0()
, double(s(; x);) -> s(; s(; double(x;)))
, +(0(); x) -> x
, +(s(; y); x) -> s(; +(y; x))
, sqr(s(; x);) -> s(; +(double(x;); sqr(x;))) }
Weak Trs :
Hurray, we answered YES(?,POLY)