We consider the following Problem:
Strict Trs:
{ active(f(0())) -> mark(cons(0(), f(s(0()))))
, active(f(s(0()))) -> mark(f(p(s(0()))))
, active(p(s(X))) -> mark(X)
, mark(f(X)) -> active(f(mark(X)))
, mark(0()) -> active(0())
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(s(X)) -> active(s(mark(X)))
, mark(p(X)) -> active(p(mark(X)))
, f(mark(X)) -> f(X)
, f(active(X)) -> f(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)
, s(mark(X)) -> s(X)
, s(active(X)) -> s(X)
, p(mark(X)) -> p(X)
, p(active(X)) -> p(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
We consider the following Problem:
Strict Trs:
{ active(f(0())) -> mark(cons(0(), f(s(0()))))
, active(f(s(0()))) -> mark(f(p(s(0()))))
, active(p(s(X))) -> mark(X)
, mark(f(X)) -> active(f(mark(X)))
, mark(0()) -> active(0())
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(s(X)) -> active(s(mark(X)))
, mark(p(X)) -> active(p(mark(X)))
, f(mark(X)) -> f(X)
, f(active(X)) -> f(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)
, s(mark(X)) -> s(X)
, s(active(X)) -> s(X)
, p(mark(X)) -> p(X)
, p(active(X)) -> p(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{ f(mark(X)) -> f(X)
, f(active(X)) -> f(X)
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, s(mark(X)) -> s(X)
, s(active(X)) -> s(X)
, p(mark(X)) -> p(X)
, p(active(X)) -> p(X)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {},
Uargs(cons) = {1}, Uargs(s) = {1}, Uargs(p) = {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]
f(x1) = [1 0] x1 + [0]
[0 0] [1]
0() = [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]
s(x1) = [1 0] x1 + [0]
[0 0] [1]
p(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(f(0())) -> mark(cons(0(), f(s(0()))))
, active(f(s(0()))) -> mark(f(p(s(0()))))
, active(p(s(X))) -> mark(X)
, mark(f(X)) -> active(f(mark(X)))
, mark(0()) -> active(0())
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(s(X)) -> active(s(mark(X)))
, mark(p(X)) -> active(p(mark(X)))
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)}
Weak Trs:
{ f(mark(X)) -> f(X)
, f(active(X)) -> f(X)
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, s(mark(X)) -> s(X)
, s(active(X)) -> s(X)
, p(mark(X)) -> p(X)
, p(active(X)) -> p(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(p(s(X))) -> mark(X)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {},
Uargs(cons) = {1}, Uargs(s) = {1}, Uargs(p) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
active(x1) = [1 0] x1 + [1]
[0 1] [1]
f(x1) = [1 0] x1 + [0]
[1 0] [0]
0() = [0]
[0]
mark(x1) = [1 0] x1 + [1]
[0 0] [1]
cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[1 0] [0 0] [3]
s(x1) = [1 0] x1 + [1]
[0 0] [0]
p(x1) = [1 0] x1 + [0]
[0 0] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ active(f(0())) -> mark(cons(0(), f(s(0()))))
, active(f(s(0()))) -> mark(f(p(s(0()))))
, mark(f(X)) -> active(f(mark(X)))
, mark(0()) -> active(0())
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(s(X)) -> active(s(mark(X)))
, mark(p(X)) -> active(p(mark(X)))
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)}
Weak Trs:
{ active(p(s(X))) -> mark(X)
, f(mark(X)) -> f(X)
, f(active(X)) -> f(X)
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, s(mark(X)) -> s(X)
, s(active(X)) -> s(X)
, p(mark(X)) -> p(X)
, p(active(X)) -> p(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(0()) -> active(0())}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {},
Uargs(cons) = {1}, Uargs(s) = {1}, Uargs(p) = {1}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
active(x1) = [1 0] x1 + [1]
[0 1] [1]
f(x1) = [1 0] x1 + [0]
[0 1] [0]
0() = [0]
[1]
mark(x1) = [1 0] x1 + [3]
[0 1] [1]
cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 1] [3]
s(x1) = [1 0] x1 + [0]
[0 1] [0]
p(x1) = [1 0] x1 + [2]
[0 1] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ active(f(0())) -> mark(cons(0(), f(s(0()))))
, active(f(s(0()))) -> mark(f(p(s(0()))))
, mark(f(X)) -> active(f(mark(X)))
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(s(X)) -> active(s(mark(X)))
, mark(p(X)) -> active(p(mark(X)))
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)}
Weak Trs:
{ mark(0()) -> active(0())
, active(p(s(X))) -> mark(X)
, f(mark(X)) -> f(X)
, f(active(X)) -> f(X)
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, s(mark(X)) -> s(X)
, s(active(X)) -> s(X)
, p(mark(X)) -> p(X)
, p(active(X)) -> p(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(f(0())) -> mark(cons(0(), f(s(0()))))
, active(f(s(0()))) -> mark(f(p(s(0()))))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(active) = {1}, Uargs(f) = {1}, Uargs(mark) = {},
Uargs(cons) = {1}, Uargs(s) = {1}, Uargs(p) = {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] [0]
f(x1) = [1 0] x1 + [0]
[0 0] [1]
0() = [0]
[0]
mark(x1) = [1 0] x1 + [0]
[0 0] [0]
cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [0]
[0 0] [0]
p(x1) = [1 0] x1 + [0]
[0 0] [0]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ mark(f(X)) -> active(f(mark(X)))
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(s(X)) -> active(s(mark(X)))
, mark(p(X)) -> active(p(mark(X)))
, cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)}
Weak Trs:
{ active(f(0())) -> mark(cons(0(), f(s(0()))))
, active(f(s(0()))) -> mark(f(p(s(0()))))
, mark(0()) -> active(0())
, active(p(s(X))) -> mark(X)
, f(mark(X)) -> f(X)
, f(active(X)) -> f(X)
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, s(mark(X)) -> s(X)
, s(active(X)) -> s(X)
, p(mark(X)) -> p(X)
, p(active(X)) -> p(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(f) = {1}, Uargs(mark) = {},
Uargs(cons) = {1}, Uargs(s) = {1}, Uargs(p) = {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] [1]
f(x1) = [1 0] x1 + [0]
[0 0] [0]
0() = [0]
[0]
mark(x1) = [1 0] x1 + [0]
[0 1] [1]
cons(x1, x2) = [1 0] x1 + [0 1] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [0]
[0 1] [0]
p(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:
{ mark(f(X)) -> active(f(mark(X)))
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(s(X)) -> active(s(mark(X)))
, mark(p(X)) -> active(p(mark(X)))}
Weak Trs:
{ cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)
, active(f(0())) -> mark(cons(0(), f(s(0()))))
, active(f(s(0()))) -> mark(f(p(s(0()))))
, mark(0()) -> active(0())
, active(p(s(X))) -> mark(X)
, f(mark(X)) -> f(X)
, f(active(X)) -> f(X)
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, s(mark(X)) -> s(X)
, s(active(X)) -> s(X)
, p(mark(X)) -> p(X)
, p(active(X)) -> p(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
We consider the following Problem:
Strict Trs:
{ mark(f(X)) -> active(f(mark(X)))
, mark(cons(X1, X2)) -> active(cons(mark(X1), X2))
, mark(s(X)) -> active(s(mark(X)))
, mark(p(X)) -> active(p(mark(X)))}
Weak Trs:
{ cons(X1, mark(X2)) -> cons(X1, X2)
, cons(X1, active(X2)) -> cons(X1, X2)
, active(f(0())) -> mark(cons(0(), f(s(0()))))
, active(f(s(0()))) -> mark(f(p(s(0()))))
, mark(0()) -> active(0())
, active(p(s(X))) -> mark(X)
, f(mark(X)) -> f(X)
, f(active(X)) -> f(X)
, cons(mark(X1), X2) -> cons(X1, X2)
, cons(active(X1), X2) -> cons(X1, X2)
, s(mark(X)) -> s(X)
, s(active(X)) -> s(X)
, p(mark(X)) -> p(X)
, p(active(X)) -> p(X)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The problem is match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ active_0(2) -> 1
, f_0(2) -> 1
, 0_0() -> 2
, mark_0(2) -> 1
, cons_0(2, 2) -> 1
, s_0(2) -> 1
, p_0(2) -> 1}
Hurray, we answered YES(?,O(n^1))