YES

The TRS could be proven terminating. The proof took 31 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (19ms).
 | – Problem 2 was processed with processor SubtermCriterion (1ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

mark#(c(X)) → a__c#(X)mark#(f(X)) → a__f#(mark(X))
a__h#(X) → a__c#(d(X))mark#(f(X)) → mark#(X)
a__f#(f(X)) → a__c#(f(g(f(X))))mark#(h(X)) → mark#(X)
mark#(h(X)) → a__h#(mark(X))

Rewrite Rules

a__f(f(X)) → a__c(f(g(f(X))))a__c(X) → d(X)
a__h(X) → a__c(d(X))mark(f(X)) → a__f(mark(X))
mark(c(X)) → a__c(X)mark(h(X)) → a__h(mark(X))
mark(g(X)) → g(X)mark(d(X)) → d(X)
a__f(X) → f(X)a__c(X) → c(X)
a__h(X) → h(X)

Original Signature

Termination of terms over the following signature is verified: f, g, d, c, a__c, mark, a__h, a__f, h

Strategy


The following SCCs where found

mark#(f(X)) → mark#(X)mark#(h(X)) → mark#(X)

Problem 2: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

mark#(f(X)) → mark#(X)mark#(h(X)) → mark#(X)

Rewrite Rules

a__f(f(X)) → a__c(f(g(f(X))))a__c(X) → d(X)
a__h(X) → a__c(d(X))mark(f(X)) → a__f(mark(X))
mark(c(X)) → a__c(X)mark(h(X)) → a__h(mark(X))
mark(g(X)) → g(X)mark(d(X)) → d(X)
a__f(X) → f(X)a__c(X) → c(X)
a__h(X) → h(X)

Original Signature

Termination of terms over the following signature is verified: f, g, d, c, a__c, mark, a__h, a__f, h

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

mark#(f(X)) → mark#(X)mark#(h(X)) → mark#(X)