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