Certification Problem

Input (TPDB TRS_Standard/SK90/4.30)

The rewrite relation of the following TRS is considered.

f(nil) nil (1)
f(.(nil,y)) .(nil,f(y)) (2)
f(.(.(x,y),z)) f(.(x,.(y,z))) (3)
g(nil) nil (4)
g(.(x,nil)) .(g(x),nil) (5)
g(.(x,.(y,z))) g(.(.(x,y),z)) (6)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Rule Removal

Using the linear polynomial interpretation over the naturals
[f(x1)] = 2 + 1 · x1
[nil] = 0
[.(x1, x2)] = 1 · x1 + 1 · x2
[g(x1)] = 1 · x1
all of the following rules can be deleted.
f(nil) nil (1)

1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[f(x1)] = 2 · x1
[.(x1, x2)] = 1 · x1 + 1 · x2
[nil] = 1
[g(x1)] = 1 · x1
all of the following rules can be deleted.
f(.(nil,y)) .(nil,f(y)) (2)

1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[f(x1)] = 2 · x1
[.(x1, x2)] = 1 · x1 + 1 · x2
[g(x1)] = 1 + 1 · x1
[nil] = 1
all of the following rules can be deleted.
g(nil) nil (4)

1.1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[f(x1)] = 2 · x1
[.(x1, x2)] = 1 · x1 + 1 · x2
[g(x1)] = 2 + 2 · x1
[nil] = 2
all of the following rules can be deleted.
g(.(x,nil)) .(g(x),nil) (5)

1.1.1.1.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.1.1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
f#(.(.(x,y),z)) f#(.(x,.(y,z))) (7)
g#(.(x,.(y,z))) g#(.(.(x,y),z)) (8)

1.1.1.1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 2 components.