Certification Problem

Input (TPDB TRS_Standard/Applicative_05/Ex8Polymorphic)

The rewrite relation of the following TRS is considered.

app(app(twice,f),x) app(f,app(f,x)) (1)
app(app(map,f),nil) nil (2)
app(app(map,f),app(app(cons,h),t)) app(app(cons,app(f,h)),app(app(map,f),t)) (3)
app(app(fmap,nil),x) nil (4)
app(app(fmap,app(app(cons,f),t_f)),x) app(app(cons,app(f,x)),app(app(fmap,t_f),x)) (5)

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(twice,f),x) app#(f,x) (6)
app#(app(twice,f),x) app#(f,app(f,x)) (7)
app#(app(map,f),app(app(cons,h),t)) app#(app(map,f),t) (8)
app#(app(map,f),app(app(cons,h),t)) app#(f,h) (9)
app#(app(map,f),app(app(cons,h),t)) app#(cons,app(f,h)) (10)
app#(app(map,f),app(app(cons,h),t)) app#(app(cons,app(f,h)),app(app(map,f),t)) (11)
app#(app(fmap,app(app(cons,f),t_f)),x) app#(fmap,t_f) (12)
app#(app(fmap,app(app(cons,f),t_f)),x) app#(app(fmap,t_f),x) (13)
app#(app(fmap,app(app(cons,f),t_f)),x) app#(f,x) (14)
app#(app(fmap,app(app(cons,f),t_f)),x) app#(cons,app(f,x)) (15)
app#(app(fmap,app(app(cons,f),t_f)),x) app#(app(cons,app(f,x)),app(app(fmap,t_f),x)) (16)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.