(0) Obligation:
Relative term rewrite system:
The relative TRS consists of the following R rules:
top(U(x, y)) → top(check(D(x, y)))
D(x, B) → U(x, B)
F(x, U(O(y), z)) → U(x, F(y, z))
F(x, U(N(y), z)) → U(x, F(y, z))
D(O(x), F(y, z)) → F(x, D(y, z))
D(N(x), F(y, z)) → F(x, D(y, z))
F(x, U(E, y)) → U(x, F(E, y))
D(E, F(x, y)) → F(E, D(x, y))
The relative TRS consists of the following S rules:
check(O(x)) → O(x)
check(D(x, y)) → D(check(x), y)
E → N(E)
check(F(x, y)) → F(x, check(y))
check(U(x, y)) → U(x, check(y))
check(O(x)) → O(check(x))
check(U(x, y)) → U(check(x), y)
check(F(x, y)) → F(check(x), y)
check(N(x)) → N(check(x))
check(D(x, y)) → D(x, check(y))
(1) RelTRSLoopFinderProof (COMPLETE transformation)
The following loop was found:
---------- Loop: ----------
top(check(D(x, B))) → top(D(check(x), B)) with rule check(D(x', y)) → D(check(x'), y) at position [0] and matcher [x' / x, y / B]
top(D(check(x), B)) → top(U(check(x), B)) with rule D(x', B) → U(x', B) at position [0] and matcher [x' / check(x)]
top(U(check(x), B)) → top(check(D(check(x), B))) with rule top(U(x', y)) → top(check(D(x', y))) at position [] and matcher [x' / check(x), y / B]
Now an instance of the first term with Matcher [x / check(x)] occurs in the last term at position [].
Context: []
Therefore, the relative TRS problem does not terminate.
(2) NO