(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

a__g(X) → a__h(X)
a__cd
a__h(d) → a__g(c)
mark(g(X)) → a__g(X)
mark(h(X)) → a__h(X)
mark(c) → a__c
mark(d) → d
a__g(X) → g(X)
a__h(X) → h(X)
a__cc

Q is empty.

(1) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Recursive path order with status [RPO].
Quasi-Precedence:
[ag1, ah1, g1, h1] > [ac, d, c, mark1]

Status:
c: multiset
ac: multiset
ah1: [1]
g1: [1]
ag1: [1]
h1: [1]
mark1: multiset
d: multiset

With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

mark(g(X)) → a__g(X)
mark(h(X)) → a__h(X)
mark(c) → a__c
mark(d) → d


(2) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

a__g(X) → a__h(X)
a__cd
a__h(d) → a__g(c)
a__g(X) → g(X)
a__h(X) → h(X)
a__cc

Q is empty.

(3) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Recursive path order with status [RPO].
Quasi-Precedence:
ac > d > ag1 > ah1 > c > g1
ac > d > ag1 > ah1 > h1 > g1

Status:
c: multiset
ac: multiset
ah1: multiset
g1: multiset
h1: multiset
ag1: [1]
d: multiset

With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

a__g(X) → a__h(X)
a__cd
a__h(d) → a__g(c)
a__g(X) → g(X)
a__h(X) → h(X)
a__cc


(4) Obligation:

Q restricted rewrite system:
R is empty.
Q is empty.

(5) RisEmptyProof (EQUIVALENT transformation)

The TRS R is empty. Hence, termination is trivially proven.

(6) TRUE