YES Termination proof of carbridge.trs

(0) Obligation:

Relative term rewrite system:
The relative TRS consists of the following R rules:

top(left(car(x, y), car(old, z))) → top(right(y, car(old, z)))
top(left(car(x, car(old, y)), z)) → top(right(car(old, y), z))
top(right(x, car(y, car(old, z)))) → top(left(x, car(old, z)))
top(right(car(old, x), car(y, z))) → top(left(car(old, x), z))
top(left(bot, car(old, x))) → top(right(bot, car(old, x)))
top(right(car(old, x), bot)) → top(left(car(old, x), bot))

The relative TRS consists of the following S rules:

botcar(new, bot)
top(right(x, car(y, z))) → top(right(x, z))
top(left(car(x, y), z)) → top(left(y, z))

(1) RelTRSRRRProof (EQUIVALENT transformation)

We used the following monotonic ordering for rule removal:
Matrix interpretation [MATRO] to (N^2, +, *, >=, >) :

POL(top(x1)) =
/0\
\0/
+
/10\
\10/
·x1

POL(left(x1, x2)) =
/0\
\0/
+
/11\
\01/
·x1 +
/11\
\00/
·x2

POL(car(x1, x2)) =
/0\
\0/
+
/10\
\01/
·x1 +
/11\
\11/
·x2

POL(old) =
/1\
\1/

POL(right(x1, x2)) =
/1\
\1/
+
/11\
\00/
·x1 +
/10\
\01/
·x2

POL(bot) =
/0\
\0/

POL(new) =
/0\
\0/
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:

top(left(car(x, car(old, y)), z)) → top(right(car(old, y), z))
top(right(x, car(y, car(old, z)))) → top(left(x, car(old, z)))
top(right(car(old, x), car(y, z))) → top(left(car(old, x), z))
top(right(car(old, x), bot)) → top(left(car(old, x), bot))
Rules from S:
none


(2) Obligation:

Relative term rewrite system:
The relative TRS consists of the following R rules:

top(left(car(x, y), car(old, z))) → top(right(y, car(old, z)))
top(left(bot, car(old, x))) → top(right(bot, car(old, x)))

The relative TRS consists of the following S rules:

botcar(new, bot)
top(right(x, car(y, z))) → top(right(x, z))
top(left(car(x, y), z)) → top(left(y, z))

(3) RelTRSRRRProof (EQUIVALENT transformation)

We used the following monotonic ordering for rule removal:
Matrix interpretation [MATRO] to (N^2, +, *, >=, >) :

POL(top(x1)) =
/0\
\1/
+
/11\
\11/
·x1

POL(left(x1, x2)) =
/1\
\1/
+
/10\
\10/
·x1 +
/10\
\00/
·x2

POL(car(x1, x2)) =
/0\
\0/
+
/10\
\11/
·x1 +
/11\
\00/
·x2

POL(old) =
/1\
\1/

POL(right(x1, x2)) =
/0\
\0/
+
/10\
\10/
·x1 +
/10\
\00/
·x2

POL(bot) =
/1\
\0/

POL(new) =
/0\
\0/
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:

top(left(car(x, y), car(old, z))) → top(right(y, car(old, z)))
top(left(bot, car(old, x))) → top(right(bot, car(old, x)))
Rules from S:
none


(4) Obligation:

Relative term rewrite system:
R is empty.
The relative TRS consists of the following S rules:

botcar(new, bot)
top(right(x, car(y, z))) → top(right(x, z))
top(left(car(x, y), z)) → top(left(y, z))

(5) RIsEmptyProof (EQUIVALENT transformation)

The TRS R is empty. Hence, termination is trivially proven.

(6) YES