Certification Problem

Input (TPDB TRS_Standard/Transformed_CSR_04/Ex18_Luc06_GM)

The rewrite relation of the following TRS is considered.

a__f(f(a)) a__f(g(f(a))) (1)
mark(f(X)) a__f(mark(X)) (2)
mark(a) a (3)
mark(g(X)) g(X) (4)
a__f(X) f(X) (5)

Property / Task

Prove or disprove termination.

Answer / Result

Yes.

Proof (by AProVE @ termCOMP 2023)

1 Constant to Unary

Every constant is turned into a unary function symbol to obtain the TRS
a__f(f(a'(x))) a__f(g(f(a'(x)))) (6)
mark(f(X)) a__f(mark(X)) (2)
mark(a'(x)) a'(x) (7)
mark(g(X)) g(X) (4)
a__f(X) f(X) (5)

1.1 String Reversal

Since only unary symbols occur, one can reverse all terms and obtains the TRS
a'(f(a__f(x))) a'(f(g(a__f(x)))) (8)
f(mark(X)) mark(a__f(X)) (9)
a'(mark(x)) a'(x) (10)
g(mark(X)) g(X) (11)
a__f(X) f(X) (5)

1.1.1 Rule Removal

Using the linear polynomial interpretation over the naturals
[a'(x1)] = 1 · x1
[f(x1)] = 1 · x1
[a__f(x1)] = 1 · x1
[g(x1)] = 1 · x1
[mark(x1)] = 1 · x1 + 1
all of the following rules can be deleted.
a'(mark(x)) a'(x) (10)
g(mark(X)) g(X) (11)

1.1.1.1 Dependency Pair Transformation

The following set of initial dependency pairs has been identified.
a'#(f(a__f(x))) a'#(f(g(a__f(x)))) (12)
a'#(f(a__f(x))) f#(g(a__f(x))) (13)
f#(mark(X)) a__f#(X) (14)
a__f#(X) f#(X) (15)

1.1.1.1.1 Dependency Graph Processor

The dependency pairs are split into 1 component.