We consider the following Problem:
Strict Trs:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(tail(cons(X, XS))) -> mark(XS)
, mark(zeros()) -> active(zeros())
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(0()) -> active(0())
, mark(tail(X)) -> active(tail(mark(X)))
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)
, tail(mark(X)) -> tail(X)
, tail(active(X)) -> tail(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
We consider the following Problem:
Strict Trs:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(tail(cons(X, XS))) -> mark(XS)
, mark(zeros()) -> active(zeros())
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(0()) -> active(0())
, mark(tail(X)) -> active(tail(mark(X)))
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)
, tail(mark(X)) -> tail(X)
, tail(active(X)) -> tail(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{ cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, tail(mark(X)) -> tail(X)
, tail(active(X)) -> tail(X)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(active) = {1}, Uargs(mark) = {}, Uargs(cons) = {1},
Uargs(tail) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
active(x1) = [1 0] x1 + [1]
[0 0] [1]
zeros() = [0]
[0]
mark(x1) = [1 0] x1 + [1]
[1 0] [1]
cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [1]
0() = [0]
[0]
tail(x1) = [1 0] x1 + [0]
[0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(tail(cons(X, XS))) -> mark(XS)
, mark(zeros()) -> active(zeros())
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(0()) -> active(0())
, mark(tail(X)) -> active(tail(mark(X)))
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)}
Weak Trs:
{ cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, tail(mark(X)) -> tail(X)
, tail(active(X)) -> tail(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{ mark(zeros()) -> active(zeros())
, mark(0()) -> active(0())}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(active) = {1}, Uargs(mark) = {}, Uargs(cons) = {1},
Uargs(tail) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
active(x1) = [1 2] x1 + [1]
[0 0] [1]
zeros() = [0]
[0]
mark(x1) = [1 0] x1 + [3]
[0 0] [1]
cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [3]
0() = [0]
[0]
tail(x1) = [1 0] x1 + [1]
[0 0] [3]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(tail(cons(X, XS))) -> mark(XS)
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(tail(X)) -> active(tail(mark(X)))
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)}
Weak Trs:
{ mark(zeros()) -> active(zeros())
, mark(0()) -> active(0())
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, tail(mark(X)) -> tail(X)
, tail(active(X)) -> tail(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {active(zeros()) -> mark(cons(0(), zeros()))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(active) = {1}, Uargs(mark) = {}, Uargs(cons) = {1},
Uargs(tail) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
active(x1) = [1 1] x1 + [0]
[0 0] [1]
zeros() = [2]
[0]
mark(x1) = [1 0] x1 + [1]
[0 0] [1]
cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
0() = [0]
[0]
tail(x1) = [1 0] x1 + [0]
[0 0] [3]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ active(tail(cons(X, XS))) -> mark(XS)
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(tail(X)) -> active(tail(mark(X)))
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)}
Weak Trs:
{ active(zeros()) -> mark(cons(0(), zeros()))
, mark(zeros()) -> active(zeros())
, mark(0()) -> active(0())
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, tail(mark(X)) -> tail(X)
, tail(active(X)) -> tail(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{ cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(active) = {1}, Uargs(mark) = {}, Uargs(cons) = {1},
Uargs(tail) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
active(x1) = [1 0] x1 + [0]
[0 1] [2]
zeros() = [0]
[0]
mark(x1) = [1 0] x1 + [0]
[0 1] [2]
cons(x1, x2) = [1 2] x1 + [0 2] x2 + [0]
[0 0] [0 0] [0]
0() = [0]
[0]
tail(x1) = [1 0] x1 + [0]
[0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ active(tail(cons(X, XS))) -> mark(XS)
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(tail(X)) -> active(tail(mark(X)))}
Weak Trs:
{ cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)
, active(zeros()) -> mark(cons(0(), zeros()))
, mark(zeros()) -> active(zeros())
, mark(0()) -> active(0())
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, tail(mark(X)) -> tail(X)
, tail(active(X)) -> tail(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {active(tail(cons(X, XS))) -> mark(XS)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(active) = {1}, Uargs(mark) = {}, Uargs(cons) = {1},
Uargs(tail) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
active(x1) = [1 0] x1 + [0]
[0 0] [0]
zeros() = [0]
[0]
mark(x1) = [1 0] x1 + [0]
[0 0] [0]
cons(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
[0 0] [0 0] [0]
0() = [0]
[0]
tail(x1) = [1 0] x1 + [2]
[0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(tail(X)) -> active(tail(mark(X)))}
Weak Trs:
{ active(tail(cons(X, XS))) -> mark(XS)
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)
, active(zeros()) -> mark(cons(0(), zeros()))
, mark(zeros()) -> active(zeros())
, mark(0()) -> active(0())
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, tail(mark(X)) -> tail(X)
, tail(active(X)) -> tail(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
We consider the following Problem:
Strict Trs:
{ mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(tail(X)) -> active(tail(mark(X)))}
Weak Trs:
{ active(tail(cons(X, XS))) -> mark(XS)
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)
, active(zeros()) -> mark(cons(0(), zeros()))
, mark(zeros()) -> active(zeros())
, mark(0()) -> active(0())
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, tail(mark(X)) -> tail(X)
, tail(active(X)) -> tail(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The problem is match-bounded by 3.
The enriched problem is compatible with the following automaton:
{ active_0(2) -> 1
, active_0(2) -> 3
, active_0(5) -> 1
, active_0(5) -> 3
, active_1(7) -> 1
, active_1(10) -> 8
, active_1(11) -> 8
, active_2(12) -> 1
, active_2(12) -> 3
, active_2(15) -> 13
, active_3(17) -> 8
, active_3(19) -> 18
, zeros_0() -> 2
, zeros_1() -> 11
, zeros_2() -> 16
, mark_0(2) -> 3
, mark_0(4) -> 1
, mark_0(5) -> 3
, mark_1(2) -> 8
, mark_1(5) -> 8
, mark_1(9) -> 1
, mark_1(9) -> 3
, mark_2(10) -> 13
, mark_2(14) -> 8
, mark_3(15) -> 18
, cons_0(2, 2) -> 4
, cons_0(2, 5) -> 4
, cons_0(5, 2) -> 4
, cons_0(5, 5) -> 4
, cons_1(2, 2) -> 7
, cons_1(2, 5) -> 7
, cons_1(5, 2) -> 7
, cons_1(5, 5) -> 7
, cons_1(8, 2) -> 7
, cons_1(8, 5) -> 7
, cons_1(10, 2) -> 7
, cons_1(10, 5) -> 7
, cons_1(10, 11) -> 9
, cons_1(11, 2) -> 7
, cons_1(11, 5) -> 7
, cons_2(10, 11) -> 12
, cons_2(13, 11) -> 12
, cons_2(14, 2) -> 7
, cons_2(14, 5) -> 7
, cons_2(15, 11) -> 12
, cons_2(15, 16) -> 14
, cons_2(17, 2) -> 7
, cons_2(17, 5) -> 7
, cons_3(15, 16) -> 17
, cons_3(18, 16) -> 17
, cons_3(19, 16) -> 17
, 0_0() -> 5
, 0_1() -> 10
, 0_2() -> 15
, 0_3() -> 19
, tail_0(2) -> 6
, tail_0(5) -> 6}
Hurray, we answered YES(?,O(n^1))