Termination w.r.t. Q of the following Term Rewriting System could be proven:

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

a(c(a(x1))) → c(a(c(x1)))
a(a(b(x1))) → a(d(b(x1)))
a(b(x1)) → b(a(a(x1)))
d(d(x1)) → a(d(b(x1)))
b(b(x1)) → b(c(x1))
a(d(c(x1))) → c(a(x1))
b(c(x1)) → a(a(a(x1)))

Q is empty.


QTRS
  ↳ QTRS Reverse
  ↳ DependencyPairsProof

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

a(c(a(x1))) → c(a(c(x1)))
a(a(b(x1))) → a(d(b(x1)))
a(b(x1)) → b(a(a(x1)))
d(d(x1)) → a(d(b(x1)))
b(b(x1)) → b(c(x1))
a(d(c(x1))) → c(a(x1))
b(c(x1)) → a(a(a(x1)))

Q is empty.

We have reversed the following QTRS:
The set of rules R is

a(c(a(x1))) → c(a(c(x1)))
a(a(b(x1))) → a(d(b(x1)))
a(b(x1)) → b(a(a(x1)))
d(d(x1)) → a(d(b(x1)))
b(b(x1)) → b(c(x1))
a(d(c(x1))) → c(a(x1))
b(c(x1)) → a(a(a(x1)))

The set Q is empty.
We have obtained the following QTRS:

a(c(a(x))) → c(a(c(x)))
b(a(a(x))) → b(d(a(x)))
b(a(x)) → a(a(b(x)))
d(d(x)) → b(d(a(x)))
b(b(x)) → c(b(x))
c(d(a(x))) → a(c(x))
c(b(x)) → a(a(a(x)))

The set Q is empty.

↳ QTRS
  ↳ QTRS Reverse
QTRS
      ↳ RFCMatchBoundsTRSProof
  ↳ DependencyPairsProof

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

a(c(a(x))) → c(a(c(x)))
b(a(a(x))) → b(d(a(x)))
b(a(x)) → a(a(b(x)))
d(d(x)) → b(d(a(x)))
b(b(x)) → c(b(x))
c(d(a(x))) → a(c(x))
c(b(x)) → a(a(a(x)))

Q is empty.

Termination of the TRS R could be shown with a Match Bound [6,7] of 4. This implies Q-termination of R.
The following rules were used to construct the certificate:

a(c(a(x))) → c(a(c(x)))
b(a(a(x))) → b(d(a(x)))
b(a(x)) → a(a(b(x)))
d(d(x)) → b(d(a(x)))
b(b(x)) → c(b(x))
c(d(a(x))) → a(c(x))
c(b(x)) → a(a(a(x)))

The certificate found is represented by the following graph.

The certificate consists of the following enumerated nodes:

108, 109, 110, 112, 111, 113, 114, 115, 117, 116, 119, 118, 120, 121, 123, 122, 125, 124, 127, 126, 129, 128, 131, 130, 133, 132, 135, 134, 137, 136, 153, 152, 155, 154, 160, 158, 175, 174, 184, 183

Node 108 is start node and node 109 is final node.

Those nodes are connect through the following edges:



Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

A(a(b(x1))) → D(b(x1))
B(b(x1)) → B(c(x1))
D(d(x1)) → B(x1)
A(a(b(x1))) → A(d(b(x1)))
D(d(x1)) → A(d(b(x1)))
B(c(x1)) → A(a(x1))
A(b(x1)) → A(x1)
B(c(x1)) → A(x1)
A(c(a(x1))) → A(c(x1))
B(c(x1)) → A(a(a(x1)))
A(b(x1)) → B(a(a(x1)))
A(b(x1)) → A(a(x1))
D(d(x1)) → D(b(x1))
A(d(c(x1))) → A(x1)

The TRS R consists of the following rules:

a(c(a(x1))) → c(a(c(x1)))
a(a(b(x1))) → a(d(b(x1)))
a(b(x1)) → b(a(a(x1)))
d(d(x1)) → a(d(b(x1)))
b(b(x1)) → b(c(x1))
a(d(c(x1))) → c(a(x1))
b(c(x1)) → a(a(a(x1)))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ QTRS Reverse
  ↳ DependencyPairsProof
QDP
      ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

A(a(b(x1))) → D(b(x1))
B(b(x1)) → B(c(x1))
D(d(x1)) → B(x1)
A(a(b(x1))) → A(d(b(x1)))
D(d(x1)) → A(d(b(x1)))
B(c(x1)) → A(a(x1))
A(b(x1)) → A(x1)
B(c(x1)) → A(x1)
A(c(a(x1))) → A(c(x1))
B(c(x1)) → A(a(a(x1)))
A(b(x1)) → B(a(a(x1)))
A(b(x1)) → A(a(x1))
D(d(x1)) → D(b(x1))
A(d(c(x1))) → A(x1)

The TRS R consists of the following rules:

a(c(a(x1))) → c(a(c(x1)))
a(a(b(x1))) → a(d(b(x1)))
a(b(x1)) → b(a(a(x1)))
d(d(x1)) → a(d(b(x1)))
b(b(x1)) → b(c(x1))
a(d(c(x1))) → c(a(x1))
b(c(x1)) → a(a(a(x1)))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs with 4 less nodes.

↳ QTRS
  ↳ QTRS Reverse
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
QDP
            ↳ UsableRulesProof
            ↳ UsableRulesProof
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

A(c(a(x1))) → A(c(x1))

The TRS R consists of the following rules:

a(c(a(x1))) → c(a(c(x1)))
a(a(b(x1))) → a(d(b(x1)))
a(b(x1)) → b(a(a(x1)))
d(d(x1)) → a(d(b(x1)))
b(b(x1)) → b(c(x1))
a(d(c(x1))) → c(a(x1))
b(c(x1)) → a(a(a(x1)))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
            ↳ UsableRulesProof
QDP
            ↳ UsableRulesProof
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

A(c(a(x1))) → A(c(x1))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
            ↳ UsableRulesProof
            ↳ UsableRulesProof
QDP
          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

A(c(a(x1))) → A(c(x1))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ QTRS Reverse
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ DependencyGraphProof
        ↳ AND
          ↳ QDP
QDP

Q DP problem:
The TRS P consists of the following rules:

B(c(x1)) → A(x1)
B(b(x1)) → B(c(x1))
B(c(x1)) → A(a(a(x1)))
A(b(x1)) → B(a(a(x1)))
A(a(b(x1))) → A(d(b(x1)))
A(b(x1)) → A(a(x1))
B(c(x1)) → A(a(x1))
A(d(c(x1))) → A(x1)
A(b(x1)) → A(x1)

The TRS R consists of the following rules:

a(c(a(x1))) → c(a(c(x1)))
a(a(b(x1))) → a(d(b(x1)))
a(b(x1)) → b(a(a(x1)))
d(d(x1)) → a(d(b(x1)))
b(b(x1)) → b(c(x1))
a(d(c(x1))) → c(a(x1))
b(c(x1)) → a(a(a(x1)))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.