Certification Problem

Input (TPDB TRS_Standard/AotoYamada_05/Ex1SimplyTyped)

The rewrite relation of the following TRS is considered.

app(id,x) x (1)
app(add,0) id (2)
app(app(add,app(s,x)),y) app(s,app(app(add,x),y)) (3)
app(app(map,f),nil) nil (4)
app(app(map,f),app(app(cons,x),xs)) app(app(cons,app(f,x)),app(app(map,f),xs)) (5)

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.
app#(app(add,app(s,x)),y) app#(s,app(app(add,x),y)) (6)
app#(app(add,app(s,x)),y) app#(app(add,x),y) (7)
app#(app(add,app(s,x)),y) app#(add,x) (8)
app#(app(map,f),app(app(cons,x),xs)) app#(app(cons,app(f,x)),app(app(map,f),xs)) (9)
app#(app(map,f),app(app(cons,x),xs)) app#(cons,app(f,x)) (10)
app#(app(map,f),app(app(cons,x),xs)) app#(f,x) (11)
app#(app(map,f),app(app(cons,x),xs)) app#(app(map,f),xs) (12)

1.1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.