We consider the following Problem:
Strict Trs:
{ minus(n__0(), Y) -> 0()
, minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, div(0(), n__s(Y)) -> 0()
, div(s(X), n__s(Y)) ->
if(geq(X, activate(Y)),
n__s(div(minus(X, activate(Y)), n__s(activate(Y)))),
n__0())
, if(true(), X, Y) -> activate(X)
, if(false(), X, Y) -> activate(Y)
, 0() -> n__0()
, s(X) -> n__s(X)
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
Arguments of following rules are not normal-forms:
{ div(s(X), n__s(Y)) ->
if(geq(X, activate(Y)),
n__s(div(minus(X, activate(Y)), n__s(activate(Y)))),
n__0())
, div(0(), n__s(Y)) -> 0()}
All above mentioned rules can be savely removed.
We consider the following Problem:
Strict Trs:
{ minus(n__0(), Y) -> 0()
, minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, if(true(), X, Y) -> activate(X)
, if(false(), X, Y) -> activate(Y)
, 0() -> n__0()
, s(X) -> n__s(X)
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{ minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {},
Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [1 0] [1]
n__0() = [0]
[0]
0() = [0]
[0]
n__s(x1) = [1 0] x1 + [0]
[0 0] [0]
activate(x1) = [1 0] x1 + [0]
[0 0] [1]
geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [1]
true() = [0]
[0]
false() = [0]
[0]
div(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [0]
[0 0] [0]
if(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [1]
[0 0] [0 0] [0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, if(true(), X, Y) -> activate(X)
, 0() -> n__0()
, s(X) -> n__s(X)
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, activate(X) -> X}
Weak Trs:
{ minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {if(true(), X, Y) -> activate(X)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {},
Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [1 0] [1]
n__0() = [0]
[0]
0() = [0]
[0]
n__s(x1) = [1 0] x1 + [0]
[0 0] [0]
activate(x1) = [1 0] x1 + [0]
[0 0] [1]
geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [1]
true() = [0]
[0]
false() = [0]
[0]
div(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [0]
[0 0] [0]
if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1]
[0 0] [0 0] [0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, 0() -> n__0()
, s(X) -> n__s(X)
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, activate(X) -> X}
Weak Trs:
{ if(true(), X, Y) -> activate(X)
, minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {0() -> n__0()}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {},
Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [1 0] [1]
n__0() = [0]
[0]
0() = [1]
[0]
n__s(x1) = [1 0] x1 + [0]
[0 0] [0]
activate(x1) = [1 0] x1 + [0]
[0 0] [1]
geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [1]
true() = [0]
[0]
false() = [0]
[0]
div(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [0]
[0 0] [0]
if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1]
[0 0] [0 0] [0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, s(X) -> n__s(X)
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, activate(X) -> X}
Weak Trs:
{ 0() -> n__0()
, if(true(), X, Y) -> activate(X)
, minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {s(X) -> n__s(X)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {},
Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [1 0] [1]
n__0() = [0]
[0]
0() = [0]
[0]
n__s(x1) = [1 0] x1 + [0]
[0 0] [0]
activate(x1) = [1 0] x1 + [0]
[0 0] [1]
geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [1]
true() = [0]
[0]
false() = [0]
[0]
div(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [2]
[0 0] [0]
if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1]
[0 0] [0 0] [0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, activate(X) -> X}
Weak Trs:
{ s(X) -> n__s(X)
, 0() -> n__0()
, if(true(), X, Y) -> activate(X)
, minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{ activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {},
Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [1 0] [0]
n__0() = [0]
[0]
0() = [0]
[0]
n__s(x1) = [1 0] x1 + [0]
[0 0] [0]
activate(x1) = [1 0] x1 + [1]
[0 0] [1]
geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [1]
true() = [0]
[0]
false() = [0]
[0]
div(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [0]
[0 0] [0]
if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1]
[0 0] [0 0] [0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, activate(X) -> X}
Weak Trs:
{ activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, s(X) -> n__s(X)
, 0() -> n__0()
, if(true(), X, Y) -> activate(X)
, minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {},
Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
minus(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
[0 0] [1 0] [0]
n__0() = [0]
[0]
0() = [0]
[0]
n__s(x1) = [1 0] x1 + [2]
[0 0] [0]
activate(x1) = [1 0] x1 + [0]
[0 1] [0]
geq(x1, x2) = [1 0] x1 + [1 0] x2 + [0]
[0 1] [0 0] [1]
true() = [0]
[0]
false() = [0]
[0]
div(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [2]
[0 0] [0]
if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1]
[0 0] [0 1] [0 1] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs:
{ geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, activate(X) -> X}
Weak Trs:
{ minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, s(X) -> n__s(X)
, 0() -> n__0()
, if(true(), X, Y) -> activate(X)
, minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component:
{geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {},
Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
minus(x1, x2) = [1 0] x1 + [1 0] x2 + [3]
[0 0] [1 0] [0]
n__0() = [0]
[0]
0() = [0]
[0]
n__s(x1) = [1 0] x1 + [3]
[0 0] [0]
activate(x1) = [1 0] x1 + [2]
[0 0] [1]
geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[1 0] [1 0] [3]
true() = [0]
[0]
false() = [0]
[0]
div(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [3]
[0 0] [0]
if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [3]
[0 0] [0 0] [0 0] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Strict Trs: {activate(X) -> X}
Weak Trs:
{ geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, s(X) -> n__s(X)
, 0() -> n__0()
, if(true(), X, Y) -> activate(X)
, minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The weightgap principle applies, where following rules are oriented strictly:
TRS Component: {activate(X) -> X}
Interpretation of nonconstant growth:
-------------------------------------
The following argument positions are usable:
Uargs(minus) = {1, 2}, Uargs(n__s) = {}, Uargs(activate) = {},
Uargs(geq) = {1, 2}, Uargs(div) = {}, Uargs(s) = {}, Uargs(if) = {}
We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
Interpretation Functions:
minus(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [0 0] [1]
n__0() = [0]
[0]
0() = [0]
[0]
n__s(x1) = [1 0] x1 + [2]
[0 0] [0]
activate(x1) = [1 0] x1 + [1]
[0 1] [1]
geq(x1, x2) = [1 0] x1 + [1 0] x2 + [1]
[0 0] [1 0] [1]
true() = [0]
[0]
false() = [0]
[0]
div(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
[0 0] [0 0] [0]
s(x1) = [1 0] x1 + [2]
[0 0] [0]
if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1]
[0 0] [0 1] [0 1] [1]
The strictly oriented rules are moved into the weak component.
We consider the following Problem:
Weak Trs:
{ activate(X) -> X
, geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, s(X) -> n__s(X)
, 0() -> n__0()
, if(true(), X, Y) -> activate(X)
, minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(O(1),O(1))
Proof:
We consider the following Problem:
Weak Trs:
{ activate(X) -> X
, geq(n__s(X), n__s(Y)) -> geq(activate(X), activate(Y))
, minus(n__s(X), n__s(Y)) -> minus(activate(X), activate(Y))
, activate(n__0()) -> 0()
, activate(n__s(X)) -> s(X)
, s(X) -> n__s(X)
, 0() -> n__0()
, if(true(), X, Y) -> activate(X)
, minus(n__0(), Y) -> 0()
, geq(X, n__0()) -> true()
, geq(n__0(), n__s(Y)) -> false()
, if(false(), X, Y) -> activate(Y)}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(O(1),O(1))
Proof:
Empty rules are trivially bounded
Hurray, we answered YES(?,O(n^1))