(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 sequence

F(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