Termination Proof

Input TRS

Termination of the rewrite relation of the following TRS is considered.

a(a(plus,0),y) y
a(a(plus,a(s,x)),y) a(s,a(a(plus,x),y))
a(a(times,a(s,x)),y) a(a(plus,a(a(times,x),y)),y)
a(a(times,0),y) 0
a(a(map,f),a(a(cons,x),xs)) a(a(cons,a(f,x)),a(a(map,f),xs))
a(a(map,f),nil) nil

Proof

1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.

a#(a(plus,a(s,x)),y) a#(s,a(a(plus,x),y))
a#(a(plus,a(s,x)),y) a#(a(plus,x),y)
a#(a(plus,a(s,x)),y) a#(plus,x)
a#(a(times,a(s,x)),y) a#(a(plus,a(a(times,x),y)),y)
a#(a(times,a(s,x)),y) a#(plus,a(a(times,x),y))
a#(a(times,a(s,x)),y) a#(a(times,x),y)
a#(a(times,a(s,x)),y) a#(times,x)
a#(a(map,f),a(a(cons,x),xs)) a#(a(cons,a(f,x)),a(a(map,f),xs))
a#(a(map,f),a(a(cons,x),xs)) a#(cons,a(f,x))
a#(a(map,f),a(a(cons,x),xs)) a#(f,x)
a#(a(map,f),a(a(cons,x),xs)) a#(a(map,f),xs)

1.1 Dependency Graph Processor

The dependency pairs are split into 3 components.