Certification Problem

Input (TPDB TRS_Standard/AotoYamada_05/002)

The rewrite relation of the following TRS is considered.

app(app(filter,f),nil) nil (1)
app(app(filter,f),app(app(cons,y),ys)) app(app(app(filtersub,app(f,y)),f),app(app(cons,y),ys)) (2)
app(app(app(filtersub,true),f),app(app(cons,y),ys)) app(app(cons,y),app(app(filter,f),ys)) (3)
app(app(app(filtersub,false),f),app(app(cons,y),ys)) app(app(filter,f),ys) (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(filter,f),app(app(cons,y),ys)) app#(f,y) (5)
app#(app(filter,f),app(app(cons,y),ys)) app#(filtersub,app(f,y)) (6)
app#(app(filter,f),app(app(cons,y),ys)) app#(app(filtersub,app(f,y)),f) (7)
app#(app(filter,f),app(app(cons,y),ys)) app#(app(app(filtersub,app(f,y)),f),app(app(cons,y),ys)) (8)
app#(app(app(filtersub,true),f),app(app(cons,y),ys)) app#(filter,f) (9)
app#(app(app(filtersub,true),f),app(app(cons,y),ys)) app#(app(filter,f),ys) (10)
app#(app(app(filtersub,true),f),app(app(cons,y),ys)) app#(app(cons,y),app(app(filter,f),ys)) (11)
app#(app(app(filtersub,false),f),app(app(cons,y),ys)) app#(filter,f) (12)
app#(app(app(filtersub,false),f),app(app(cons,y),ys)) app#(app(filter,f),ys) (13)

1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.