We consider the following Problem:
Strict Trs:
{ sum(cons(s(n), x), cons(m, y)) -> sum(cons(n, x), cons(s(m), y))
, sum(cons(0(), x), y) -> sum(x, y)
, sum(nil(), y) -> y
, weight(cons(n, cons(m, x))) ->
weight(sum(cons(n, cons(m, x)), cons(0(), x)))
, weight(cons(n, nil())) -> n}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^2))
Proof:
We consider the following Problem:
Strict Trs:
{ sum(cons(s(n), x), cons(m, y)) -> sum(cons(n, x), cons(s(m), y))
, sum(cons(0(), x), y) -> sum(x, y)
, sum(nil(), y) -> y
, weight(cons(n, cons(m, x))) ->
weight(sum(cons(n, cons(m, x)), cons(0(), x)))
, weight(cons(n, nil())) -> n}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^2))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{weight(cons(n, cons(m, x))) ->
weight(sum(cons(n, cons(m, x)), cons(0(), x)))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(sum) = {}, Uargs(cons) = {}, Uargs(s) = {},
Uargs(weight) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
sum(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [1]
cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[1 0] [0 0] [3]
s(x1) = [0 0] x1 + [0]
[0 0] [0]
0() = [0]
[0]
nil() = [0]
[0]
weight(x1) = [1 1] x1 + [1]
[0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ sum(cons(s(n), x), cons(m, y)) -> sum(cons(n, x), cons(s(m), y))
, sum(cons(0(), x), y) -> sum(x, y)
, sum(nil(), y) -> y
, weight(cons(n, nil())) -> n}
Weak Trs:
{weight(cons(n, cons(m, x))) ->
weight(sum(cons(n, cons(m, x)), cons(0(), x)))}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^2))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{sum(cons(s(n), x), cons(m, y)) -> sum(cons(n, x), cons(s(m), y))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(sum) = {}, Uargs(cons) = {}, Uargs(s) = {},
Uargs(weight) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
sum(x1, x2) = [0 1] x1 + [1 0] x2 + [0]
[1 0] [0 0] [0]
cons(x1, x2) = [0 1] x1 + [0 0] x2 + [0]
[1 0] [0 1] [0]
s(x1) = [1 0] x1 + [1]
[0 1] [0]
0() = [0]
[0]
nil() = [0]
[0]
weight(x1) = [1 1] x1 + [1]
[0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ sum(cons(0(), x), y) -> sum(x, y)
, sum(nil(), y) -> y
, weight(cons(n, nil())) -> n}
Weak Trs:
{ sum(cons(s(n), x), cons(m, y)) -> sum(cons(n, x), cons(s(m), y))
, weight(cons(n, cons(m, x))) ->
weight(sum(cons(n, cons(m, x)), cons(0(), x)))}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^2))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {sum(nil(), y) -> y}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(sum) = {}, Uargs(cons) = {}, Uargs(s) = {},
Uargs(weight) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
sum(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
[0 0] [0 1] [1]
cons(x1, x2) = [1 0] x1 + [0 1] x2 + [0]
[0 0] [0 1] [1]
s(x1) = [0 0] x1 + [0]
[0 0] [0]
0() = [0]
[0]
nil() = [0]
[1]
weight(x1) = [1 0] x1 + [0]
[1 0] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ sum(cons(0(), x), y) -> sum(x, y)
, weight(cons(n, nil())) -> n}
Weak Trs:
{ sum(nil(), y) -> y
, sum(cons(s(n), x), cons(m, y)) -> sum(cons(n, x), cons(s(m), y))
, weight(cons(n, cons(m, x))) ->
weight(sum(cons(n, cons(m, x)), cons(0(), x)))}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^2))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {weight(cons(n, nil())) -> n}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(sum) = {}, Uargs(cons) = {}, Uargs(s) = {},
Uargs(weight) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
sum(x1, x2) = [0 0] x1 + [1 0] x2 + [1]
[0 0] [0 1] [1]
cons(x1, x2) = [1 0] x1 + [0 2] x2 + [0]
[0 1] [0 1] [2]
s(x1) = [0 0] x1 + [0]
[0 0] [0]
0() = [3]
[0]
nil() = [0]
[1]
weight(x1) = [1 0] x1 + [0]
[0 1] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs: {sum(cons(0(), x), y) -> sum(x, y)}
Weak Trs:
{ weight(cons(n, nil())) -> n
, sum(nil(), y) -> y
, sum(cons(s(n), x), cons(m, y)) -> sum(cons(n, x), cons(s(m), y))
, weight(cons(n, cons(m, x))) ->
weight(sum(cons(n, cons(m, x)), cons(0(), x)))}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^2))
Proof:
We consider the following Problem:
Strict Trs: {sum(cons(0(), x), y) -> sum(x, y)}
Weak Trs:
{ weight(cons(n, nil())) -> n
, sum(nil(), y) -> y
, sum(cons(s(n), x), cons(m, y)) -> sum(cons(n, x), cons(s(m), y))
, weight(cons(n, cons(m, x))) ->
weight(sum(cons(n, cons(m, x)), cons(0(), x)))}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^2))
Proof:
The following argument positions are usable:
Uargs(sum) = {}, Uargs(cons) = {}, Uargs(s) = {},
Uargs(weight) = {1}
We have the following constructor-based EDA-non-satisfying and IDA(2)-non-satisfying matrix interpretation:
Interpretation Functions:
sum(x1, x2) = [0 0 1] x1 + [1 0 0] x2 + [0]
[0 0 0] [0 2 0] [0]
[0 0 0] [0 0 2] [1]
cons(x1, x2) = [1 1 0] x1 + [1 2 0] x2 + [0]
[0 0 1] [0 0 1] [1]
[0 0 0] [0 0 1] [1]
s(x1) = [0 0 0] x1 + [0]
[0 0 0] [0]
[0 0 0] [0]
0() = [0]
[0]
[0]
nil() = [1]
[0]
[1]
weight(x1) = [2 0 0] x1 + [0]
[1 0 0] [0]
[2 1 0] [0]
Hurray, we answered YES(?,O(n^2))