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)