Certification Problem

Input (TPDB TRS_Standard/CiME_04/append-hard)

The rewrite relation of the following TRS is considered.

is_empty(nil) true (1)
is_empty(cons(x,l)) false (2)
hd(cons(x,l)) x (3)
tl(cons(x,l)) l (4)
append(l1,l2) ifappend(l1,l2,is_empty(l1)) (5)
ifappend(l1,l2,true) l2 (6)
ifappend(l1,l2,false) cons(hd(l1),append(tl(l1),l2)) (7)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Switch to Innermost Termination

The TRS is overlay and locally confluent:

10

Hence, it suffices to show innermost termination in the following.

1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
append#(l1,l2) ifappend#(l1,l2,is_empty(l1)) (8)
append#(l1,l2) is_empty#(l1) (9)
ifappend#(l1,l2,false) hd#(l1) (10)
ifappend#(l1,l2,false) append#(tl(l1),l2) (11)
ifappend#(l1,l2,false) tl#(l1) (12)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.