YES

The TRS could be proven terminating. The proof took 21 ms.

The following DP Processors were used


Problem 1 was processed with processor SubtermCriterion (1ms).
 | – Problem 2 was processed with processor DependencyGraph (0ms).

Problem 1: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

append#(l1, l2)ifappend#(l1, l2, l1)ifappend#(l1, l2, cons(x, l))append#(l, l2)

Rewrite Rules

is_empty(nil)trueis_empty(cons(x, l))false
hd(cons(x, l))xtl(cons(x, l))l
append(l1, l2)ifappend(l1, l2, l1)ifappend(l1, l2, nil)l2
ifappend(l1, l2, cons(x, l))cons(x, append(l, l2))

Original Signature

Termination of terms over the following signature is verified: append, tl, ifappend, true, false, hd, is_empty, nil, cons

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

ifappend#(l1, l2, cons(x, l))append#(l, l2)

Problem 2: DependencyGraph



Dependency Pair Problem

Dependency Pairs

append#(l1, l2)ifappend#(l1, l2, l1)

Rewrite Rules

is_empty(nil)trueis_empty(cons(x, l))false
hd(cons(x, l))xtl(cons(x, l))l
append(l1, l2)ifappend(l1, l2, l1)ifappend(l1, l2, nil)l2
ifappend(l1, l2, cons(x, l))cons(x, append(l, l2))

Original Signature

Termination of terms over the following signature is verified: append, ifappend, tl, false, true, hd, is_empty, cons, nil

Strategy


There are no SCCs!