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