(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
f(h(x), y) → h(f(y, f(x, h(a))))
Q is empty.
(1) DependencyPairsProof (EQUIVALENT transformation)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
(2) Obligation:
Q DP problem:
The TRS P consists of the following rules:
F(h(x), y) → F(y, f(x, h(a)))
F(h(x), y) → F(x, h(a))
The TRS R consists of the following rules:
f(h(x), y) → h(f(y, f(x, h(a))))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(3) MNOCProof (EQUIVALENT transformation)
We use the modular non-overlap check [LPAR04] to enlarge Q to all left-hand sides of R.
(4) Obligation:
Q DP problem:
The TRS P consists of the following rules:
F(h(x), y) → F(y, f(x, h(a)))
F(h(x), y) → F(x, h(a))
The TRS R consists of the following rules:
f(h(x), y) → h(f(y, f(x, h(a))))
The set Q consists of the following terms:
f(h(x0), x1)
We have to consider all minimal (P,Q,R)-chains.
(5) ForwardInstantiation (EQUIVALENT transformation)
By forward instantiating [JAR06] the rule
F(
h(
x),
y) →
F(
x,
h(
a)) we obtained the following new rules [LPAR04]:
F(h(h(y_0)), x1) → F(h(y_0), h(a))
(6) Obligation:
Q DP problem:
The TRS P consists of the following rules:
F(h(x), y) → F(y, f(x, h(a)))
F(h(h(y_0)), x1) → F(h(y_0), h(a))
The TRS R consists of the following rules:
f(h(x), y) → h(f(y, f(x, h(a))))
The set Q consists of the following terms:
f(h(x0), x1)
We have to consider all minimal (P,Q,R)-chains.
(7) MNOCProof (EQUIVALENT transformation)
We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set.
(8) Obligation:
Q DP problem:
The TRS P consists of the following rules:
F(h(x), y) → F(y, f(x, h(a)))
F(h(h(y_0)), x1) → F(h(y_0), h(a))
The TRS R consists of the following rules:
f(h(x), y) → h(f(y, f(x, h(a))))
Q is empty.
We have to consider all (P,Q,R)-chains.
(9) NonTerminationLoopProof (EQUIVALENT transformation)
We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by narrowing to the left:
s =
F(
f(
f(
h(
x),
y''),
y'),
y) evaluates to t =
F(
y,
f(
f(
y',
f(
f(
y'',
f(
x,
h(
a))),
h(
a))),
h(
a)))
Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Matcher: [y'' / y''', x / x', x' / x'', x'' / x''', y''' / f(f(y'', f(x, h(a))), h(a)), x''' / a]
- Semiunifier: [y' / h(x''), y / f(f(h(x'), y'''), h(x'''))]
Rewriting sequenceF(f(f(h(x), y''), h(x'')), f(f(h(x'), y'''), h(x'''))) →
F(
f(
h(
f(
y'',
f(
x,
h(
a)))),
h(
x'')),
f(
f(
h(
x'),
y'''),
h(
x''')))
with rule
f(
h(
x1),
y'''') →
h(
f(
y'''',
f(
x1,
h(
a)))) at position [0,0] and matcher [
x1 /
x,
y'''' /
y'']
F(f(h(f(y'', f(x, h(a)))), h(x'')), f(f(h(x'), y'''), h(x'''))) →
F(
h(
f(
h(
x''),
f(
f(
y'',
f(
x,
h(
a))),
h(
a)))),
f(
f(
h(
x'),
y'''),
h(
x''')))
with rule
f(
h(
x'1),
y') →
h(
f(
y',
f(
x'1,
h(
a)))) at position [0] and matcher [
x'1 /
f(
y'',
f(
x,
h(
a))),
y' /
h(
x'')]
F(h(f(h(x''), f(f(y'', f(x, h(a))), h(a)))), f(f(h(x'), y'''), h(x'''))) →
F(
f(
f(
h(
x'),
y'''),
h(
x''')),
f(
f(
h(
x''),
f(
f(
y'',
f(
x,
h(
a))),
h(
a))),
h(
a)))
with rule
F(
h(
x),
y) →
F(
y,
f(
x,
h(
a)))
Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence
All these steps are and every following step will be a correct step w.r.t to Q.
(10) NO