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:

div(0, y) → 0
div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0
quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))

Q is empty.


QTRS
  ↳ DependencyPairsProof

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

div(0, y) → 0
div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0
quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))

Q is empty.

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

QUOT(x, 0, s(z)) → DIV(x, s(z))
QUOT(s(x), s(y), z) → QUOT(x, y, z)
DIV(x, y) → QUOT(x, y, y)

The TRS R consists of the following rules:

div(0, y) → 0
div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0
quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))

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

↳ QTRS
  ↳ DependencyPairsProof
QDP
      ↳ QDPOrderProof
      ↳ QDPOrderProof

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

QUOT(x, 0, s(z)) → DIV(x, s(z))
QUOT(s(x), s(y), z) → QUOT(x, y, z)
DIV(x, y) → QUOT(x, y, y)

The TRS R consists of the following rules:

div(0, y) → 0
div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0
quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


QUOT(s(x), s(y), z) → QUOT(x, y, z)
The remaining pairs can at least be oriented weakly.

QUOT(x, 0, s(z)) → DIV(x, s(z))
DIV(x, y) → QUOT(x, y, y)
Used ordering: Polynomial interpretation [25]:

POL(0) = 0   
POL(DIV(x1, x2)) = x1   
POL(QUOT(x1, x2, x3)) = x1   
POL(s(x1)) = 1 + x1   

The following usable rules [17] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ QDPOrderProof
QDP
          ↳ Instantiation
      ↳ QDPOrderProof

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

QUOT(x, 0, s(z)) → DIV(x, s(z))
DIV(x, y) → QUOT(x, y, y)

The TRS R consists of the following rules:

div(0, y) → 0
div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0
quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule DIV(x, y) → QUOT(x, y, y) we obtained the following new rules:

DIV(y_0, s(y_1)) → QUOT(y_0, s(y_1), s(y_1))



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ QDPOrderProof
        ↳ QDP
          ↳ Instantiation
QDP
              ↳ DependencyGraphProof
      ↳ QDPOrderProof

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

QUOT(x, 0, s(z)) → DIV(x, s(z))
DIV(y_0, s(y_1)) → QUOT(y_0, s(y_1), s(y_1))

The TRS R consists of the following rules:

div(0, y) → 0
div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0
quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))

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


The following pairs can be oriented strictly and are deleted.


QUOT(s(x), s(y), z) → QUOT(x, y, z)
The remaining pairs can at least be oriented weakly.

QUOT(x, 0, s(z)) → DIV(x, s(z))
DIV(x, y) → QUOT(x, y, y)
Used ordering: Matrix interpretation [3]:
Non-tuple symbols:
M( s(x1) ) =
/1\
\0/
+
/10\
\00/
·x1

M( 0 ) =
/0\
\0/

Tuple symbols:
M( QUOT(x1, ..., x3) ) = 0+
[1,0]
·x1+
[0,0]
·x2+
[0,0]
·x3

M( DIV(x1, x2) ) = 0+
[1,0]
·x1+
[0,1]
·x2


Matrix type:
We used a basic matrix type which is not further parametrizeable.


As matrix orders are CE-compatible, we used usable rules w.r.t. argument filtering in the order.
The following usable rules [17] were oriented: none



↳ QTRS
  ↳ DependencyPairsProof
    ↳ QDP
      ↳ QDPOrderProof
      ↳ QDPOrderProof
QDP

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

QUOT(x, 0, s(z)) → DIV(x, s(z))
DIV(x, y) → QUOT(x, y, y)

The TRS R consists of the following rules:

div(0, y) → 0
div(x, y) → quot(x, y, y)
quot(0, s(y), z) → 0
quot(s(x), s(y), z) → quot(x, y, z)
quot(x, 0, s(z)) → s(div(x, s(z)))

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