Platform claims not to support CPU time, falling back to wall time.
Cannot find out cpu time on external processes, falling back to wall time!
proof of /home/fs5/ayamada/tpdb/relative/Mixed_relative_TRS/carbridge.trs
# AProVE Commit ID: 2b684c7cda508b1711f707cb42f127e64fe1df88 ffrohn 20140415 dirty
Termination of the given RelTRS could be proven:
(0) RelTRS
(1) RelTRSRRRProof [EQUIVALENT, 942 ms]
(2) RelTRS
(3) RelTRSRRRProof [EQUIVALENT, 278 ms]
(4) RelTRS
(5) RIsEmptyProof [EQUIVALENT, 0 ms]
(6) YES
----------------------------------------
(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:
top(left(car(x, y), z)) -> top(left(y, z))
top(right(x, car(y, z))) -> top(right(x, z))
bot -> car(new, bot)
----------------------------------------
(1) RelTRSRRRProof (EQUIVALENT)
We used the following monotonic ordering for rule removal:
Matrix interpretation [MATRO] to (N^2, +, *, >=, >) :
<<<
POL(top(x_1)) = [[0], [1]] + [[1, 1], [1, 0]] * x_1
>>>
<<<
POL(left(x_1, x_2)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 + [[1, 1], [0, 1]] * x_2
>>>
<<<
POL(car(x_1, x_2)) = [[0], [0]] + [[1, 0], [1, 1]] * x_1 + [[1, 1], [1, 1]] * x_2
>>>
<<<
POL(old) = [[0], [1]]
>>>
<<<
POL(right(x_1, x_2)) = [[0], [0]] + [[1, 0], [0, 0]] * x_1 + [[1, 1], [0, 0]] * x_2
>>>
<<<
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, 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(left(bot, car(old, x))) -> top(right(bot, car(old, x)))
Rules from S:
none
----------------------------------------
(2)
Obligation:
Relative term rewrite system:
The relative TRS consists of the following R rules:
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))
The relative TRS consists of the following S rules:
top(left(car(x, y), z)) -> top(left(y, z))
top(right(x, car(y, z))) -> top(right(x, z))
bot -> car(new, bot)
----------------------------------------
(3) RelTRSRRRProof (EQUIVALENT)
We used the following monotonic ordering for rule removal:
Polynomial interpretation [POLO]:
POL(bot) = 0
POL(car(x_1, x_2)) = x_1 + x_2
POL(left(x_1, x_2)) = x_1 + x_2
POL(new) = 0
POL(old) = 0
POL(right(x_1, x_2)) = 1 + x_1 + x_2
POL(top(x_1)) = x_1
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:
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
----------------------------------------
(4)
Obligation:
Relative term rewrite system:
R is empty.
The relative TRS consists of the following S rules:
top(left(car(x, y), z)) -> top(left(y, z))
top(right(x, car(y, z))) -> top(right(x, z))
bot -> car(new, bot)
----------------------------------------
(5) RIsEmptyProof (EQUIVALENT)
The TRS R is empty. Hence, termination is trivially proven.
----------------------------------------
(6)
YES