Certification Problem

Input (TPDB TRS_Standard/AotoYamada_05/026)

The rewrite relation of the following TRS is considered.

app(app(map,f),nil) nil (1)
app(app(map,f),app(app(cons,x),xs)) app(app(cons,app(f,x)),app(app(map,f),xs)) (2)
app(app(app(comp,f),g),x) app(f,app(g,x)) (3)
app(twice,f) app(app(comp,f),f) (4)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by ttt2 @ termCOMP 2023)

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
app#(app(map,f),app(app(cons,x),xs)) app#(app(map,f),xs) (5)
app#(app(map,f),app(app(cons,x),xs)) app#(f,x) (6)
app#(app(map,f),app(app(cons,x),xs)) app#(cons,app(f,x)) (7)
app#(app(map,f),app(app(cons,x),xs)) app#(app(cons,app(f,x)),app(app(map,f),xs)) (8)
app#(app(app(comp,f),g),x) app#(g,x) (9)
app#(app(app(comp,f),g),x) app#(f,app(g,x)) (10)
app#(twice,f) app#(comp,f) (11)
app#(twice,f) app#(app(comp,f),f) (12)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.