The rewrite relation of the following TRS is considered.
|
append(@l1,@l2) |
→ |
append#1(@l1,@l2) |
(1) |
|
append#1(::(@x,@xs),@l2) |
→ |
::(@x,append(@xs,@l2)) |
(2) |
|
append#1(nil,@l2) |
→ |
@l2 |
(3) |
|
subtrees(@t) |
→ |
subtrees#1(@t) |
(4) |
|
subtrees#1(leaf) |
→ |
nil |
(5) |
|
subtrees#1(node(@x,@t1,@t2)) |
→ |
subtrees#2(subtrees(@t1),@t1,@t2,@x) |
(6) |
|
subtrees#2(@l1,@t1,@t2,@x) |
→ |
subtrees#3(subtrees(@t2),@l1,@t1,@t2,@x) |
(7) |
|
subtrees#3(@l2,@l1,@t1,@t2,@x) |
→ |
::(node(@x,@t1,@t2),append(@l1,@l2)) |
(8) |
The evaluation strategy is innermost.
|
append#1(::(@x,@xs),@l2) |
→ |
::(@x,append(@xs,@l2)) |
(2) |
|
append#1(nil,@l2) |
→ |
@l2 |
(3) |
|
subtrees#1(leaf) |
→ |
nil |
(5) |
|
subtrees#1(node(@x,@t1,@t2)) |
→ |
subtrees#2(subtrees(@t1),@t1,@t2,@x) |
(6) |
|
subtrees#2(@l1,@t1,@t2,@x) |
→ |
subtrees#3(subtrees(@t2),@l1,@t1,@t2,@x) |
(7) |
|
subtrees#3(@l2,@l1,@t1,@t2,@x) |
→ |
::(node(@x,@t1,@t2),append(@l1,@l2)) |
(8) |
There are no rules in the TRS. Hence, it is terminating.