(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:
[ac, d, c] > [ag1, ah1, g1, h1]
mark1 > [ag1, ah1, g1, h1]

Status:
ag1: multiset
ah1: multiset
ac: multiset
d: multiset
c: multiset
mark1: multiset
g1: multiset
h1: 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 > h1
ac > d > ag1 > g1 > h1

Status:
ag1: multiset
ah1: multiset
ac: multiset
d: multiset
c: multiset
g1: multiset
h1: 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