(0) Obligation:

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

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(2) Obligation:

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

TIMES(x, plus(y, s(z))) → PLUS(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
TIMES(x, plus(y, s(z))) → TIMES(x, plus(y, times(s(z), 0)))
TIMES(x, plus(y, s(z))) → PLUS(y, times(s(z), 0))
TIMES(x, plus(y, s(z))) → TIMES(s(z), 0)
TIMES(x, plus(y, s(z))) → TIMES(x, s(z))
TIMES(x, s(y)) → PLUS(times(x, y), x)
TIMES(x, s(y)) → TIMES(x, y)
PLUS(s(x), s(y)) → PLUS(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))
PLUS(s(x), s(y)) → IF(gt(x, y), x, y)
PLUS(s(x), s(y)) → GT(x, y)
PLUS(s(x), s(y)) → IF(not(gt(x, y)), id(x), id(y))
PLUS(s(x), s(y)) → NOT(gt(x, y))
PLUS(s(x), s(y)) → ID(x)
PLUS(s(x), s(y)) → ID(y)
PLUS(s(x), x) → PLUS(if(gt(x, x), id(x), id(x)), s(x))
PLUS(s(x), x) → IF(gt(x, x), id(x), id(x))
PLUS(s(x), x) → GT(x, x)
PLUS(s(x), x) → ID(x)
PLUS(id(x), s(y)) → PLUS(x, if(gt(s(y), y), y, s(y)))
PLUS(id(x), s(y)) → IF(gt(s(y), y), y, s(y))
PLUS(id(x), s(y)) → GT(s(y), y)
NOT(x) → IF(x, false, true)
GT(s(x), s(y)) → GT(x, y)

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(3) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 16 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

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

GT(s(x), s(y)) → GT(x, y)

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(6) UsableRulesProof (EQUIVALENT transformation)

We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.

(7) Obligation:

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

GT(s(x), s(y)) → GT(x, y)

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

(8) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • GT(s(x), s(y)) → GT(x, y)
    The graph contains the following edges 1 > 1, 2 > 2

(9) TRUE

(10) Obligation:

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

PLUS(s(x), x) → PLUS(if(gt(x, x), id(x), id(x)), s(x))
PLUS(s(x), s(y)) → PLUS(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))
PLUS(id(x), s(y)) → PLUS(x, if(gt(s(y), y), y, s(y)))

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(11) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


PLUS(s(x), s(y)) → PLUS(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]:

POL(PLUS(x1, x2)) = 0A + 1A·x1 + 0A·x2

POL(s(x1)) = 5A + 2A·x1

POL(if(x1, x2, x3)) = -I + 0A·x1 + 1A·x2 + 0A·x3

POL(gt(x1, x2)) = 0A + 0A·x1 + 0A·x2

POL(id(x1)) = 4A + 0A·x1

POL(not(x1)) = 5A + 0A·x1

POL(true) = 5A

POL(false) = 0A

POL(zero) = 0A

The following usable rules [FROCOS05] were oriented:

id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

(12) Obligation:

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

PLUS(s(x), x) → PLUS(if(gt(x, x), id(x), id(x)), s(x))
PLUS(id(x), s(y)) → PLUS(x, if(gt(s(y), y), y, s(y)))

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(13) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


PLUS(s(x), x) → PLUS(if(gt(x, x), id(x), id(x)), s(x))
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO]:

POL(PLUS(x1, x2)) =
/0\
\0/
+
/11\
\00/
·x1 +
/00\
\00/
·x2

POL(s(x1)) =
/1\
\1/
+
/11\
\11/
·x1

POL(if(x1, x2, x3)) =
/0\
\0/
+
/00\
\00/
·x1 +
/10\
\01/
·x2 +
/10\
\01/
·x3

POL(gt(x1, x2)) =
/0\
\0/
+
/00\
\00/
·x1 +
/00\
\00/
·x2

POL(id(x1)) =
/0\
\0/
+
/10\
\01/
·x1

POL(true) =
/1\
\0/

POL(false) =
/0\
\1/

POL(zero) =
/0\
\0/

The following usable rules [FROCOS05] were oriented:

id(x) → x
if(true, x, y) → x
if(false, x, y) → y

(14) Obligation:

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

PLUS(id(x), s(y)) → PLUS(x, if(gt(s(y), y), y, s(y)))

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(15) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • PLUS(id(x), s(y)) → PLUS(x, if(gt(s(y), y), y, s(y)))
    The graph contains the following edges 1 > 1

(16) TRUE

(17) Obligation:

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

TIMES(x, plus(y, s(z))) → TIMES(x, s(z))
TIMES(x, s(y)) → TIMES(x, y)
TIMES(x, plus(y, s(z))) → TIMES(x, plus(y, times(s(z), 0)))

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(18) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


TIMES(x, plus(y, s(z))) → TIMES(x, s(z))
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]:

POL(TIMES(x1, x2)) = 0A + -I·x1 + 0A·x2

POL(plus(x1, x2)) = 1A + 1A·x1 + 1A·x2

POL(s(x1)) = -I + 0A·x1

POL(times(x1, x2)) = 0A + -I·x1 + 0A·x2

POL(0) = 0A

POL(if(x1, x2, x3)) = 0A + -I·x1 + 0A·x2 + 0A·x3

POL(gt(x1, x2)) = -I + 0A·x1 + -I·x2

POL(not(x1)) = 2A + 0A·x1

POL(id(x1)) = -I + 0A·x1

POL(zero) = 0A

POL(true) = 0A

POL(false) = 0A

The following usable rules [FROCOS05] were oriented:

times(x, 0) → 0
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y

(19) Obligation:

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

TIMES(x, s(y)) → TIMES(x, y)
TIMES(x, plus(y, s(z))) → TIMES(x, plus(y, times(s(z), 0)))

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(20) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule TIMES(x, plus(y, s(z))) → TIMES(x, plus(y, times(s(z), 0))) at position [1] we obtained the following new rules [LPAR04]:

TIMES(y0, plus(s(times(s(y2), 0)), s(y2))) → TIMES(y0, plus(if(gt(times(s(y2), 0), times(s(y2), 0)), id(times(s(y2), 0)), id(times(s(y2), 0))), s(times(s(y2), 0))))
TIMES(y0, plus(zero, s(y2))) → TIMES(y0, times(s(y2), 0))
TIMES(y0, plus(y1, s(y2))) → TIMES(y0, plus(y1, 0))

(21) Obligation:

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

TIMES(x, s(y)) → TIMES(x, y)
TIMES(y0, plus(s(times(s(y2), 0)), s(y2))) → TIMES(y0, plus(if(gt(times(s(y2), 0), times(s(y2), 0)), id(times(s(y2), 0)), id(times(s(y2), 0))), s(times(s(y2), 0))))
TIMES(y0, plus(zero, s(y2))) → TIMES(y0, times(s(y2), 0))
TIMES(y0, plus(y1, s(y2))) → TIMES(y0, plus(y1, 0))

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(22) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule TIMES(y0, plus(zero, s(y2))) → TIMES(y0, times(s(y2), 0)) at position [1] we obtained the following new rules [LPAR04]:

TIMES(y0, plus(zero, s(y1))) → TIMES(y0, 0)

(23) Obligation:

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

TIMES(x, s(y)) → TIMES(x, y)
TIMES(y0, plus(s(times(s(y2), 0)), s(y2))) → TIMES(y0, plus(if(gt(times(s(y2), 0), times(s(y2), 0)), id(times(s(y2), 0)), id(times(s(y2), 0))), s(times(s(y2), 0))))
TIMES(y0, plus(y1, s(y2))) → TIMES(y0, plus(y1, 0))
TIMES(y0, plus(zero, s(y1))) → TIMES(y0, 0)

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(24) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(25) Obligation:

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

TIMES(x, s(y)) → TIMES(x, y)
TIMES(y0, plus(s(times(s(y2), 0)), s(y2))) → TIMES(y0, plus(if(gt(times(s(y2), 0), times(s(y2), 0)), id(times(s(y2), 0)), id(times(s(y2), 0))), s(times(s(y2), 0))))
TIMES(y0, plus(y1, s(y2))) → TIMES(y0, plus(y1, 0))

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(26) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule TIMES(y0, plus(y1, s(y2))) → TIMES(y0, plus(y1, 0)) at position [1] we obtained the following new rules [LPAR04]:

TIMES(y0, plus(s(0), s(y2))) → TIMES(y0, plus(if(gt(0, 0), id(0), id(0)), s(0)))
TIMES(y0, plus(zero, s(y2))) → TIMES(y0, 0)

(27) Obligation:

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

TIMES(x, s(y)) → TIMES(x, y)
TIMES(y0, plus(s(times(s(y2), 0)), s(y2))) → TIMES(y0, plus(if(gt(times(s(y2), 0), times(s(y2), 0)), id(times(s(y2), 0)), id(times(s(y2), 0))), s(times(s(y2), 0))))
TIMES(y0, plus(s(0), s(y2))) → TIMES(y0, plus(if(gt(0, 0), id(0), id(0)), s(0)))
TIMES(y0, plus(zero, s(y2))) → TIMES(y0, 0)

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(28) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes.

(29) Obligation:

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

TIMES(x, s(y)) → TIMES(x, y)
TIMES(y0, plus(s(times(s(y2), 0)), s(y2))) → TIMES(y0, plus(if(gt(times(s(y2), 0), times(s(y2), 0)), id(times(s(y2), 0)), id(times(s(y2), 0))), s(times(s(y2), 0))))

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(30) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


TIMES(y0, plus(s(times(s(y2), 0)), s(y2))) → TIMES(y0, plus(if(gt(times(s(y2), 0), times(s(y2), 0)), id(times(s(y2), 0)), id(times(s(y2), 0))), s(times(s(y2), 0))))
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]:

POL(TIMES(x1, x2)) =
/0A\
|-I|
\0A/
+
/-I-I-I\
|-I-I-I|
\-I-I-I/
·x1 +
/-I-I0A\
|-I-I-I|
\-I-I0A/
·x2

POL(s(x1)) =
/0A\
|1A|
\-I/
+
/0A0A-I\
|-I-I0A|
\-I-I0A/
·x1

POL(plus(x1, x2)) =
/-I\
|0A|
\-I/
+
/0A0A1A\
|0A0A0A|
\0A0A-I/
·x1 +
/0A-I1A\
|0A0A0A|
\0A-I0A/
·x2

POL(times(x1, x2)) =
/0A\
|0A|
\-I/
+
/-I-I-I\
|-I-I-I|
\-I-I-I/
·x1 +
/0A-I-I\
|0A-I0A|
\-I-I-I/
·x2

POL(0) =
/0A\
|-I|
\-I/

POL(if(x1, x2, x3)) =
/-I\
|0A|
\0A/
+
/0A0A-I\
|0A0A0A|
\-I-I-I/
·x1 +
/0A-I-I\
|0A0A0A|
\-I-I0A/
·x2 +
/0A-I0A\
|0A0A-I|
\-I-I0A/
·x3

POL(gt(x1, x2)) =
/-I\
|-I|
\-I/
+
/0A-I0A\
|0A-I0A|
\0A0A0A/
·x1 +
/0A0A-I\
|0A-I-I|
\0A0A-I/
·x2

POL(id(x1)) =
/0A\
|0A|
\0A/
+
/0A0A0A\
|-I0A0A|
\-I-I0A/
·x1

POL(not(x1)) =
/0A\
|0A|
\0A/
+
/0A0A0A\
|0A0A0A|
\-I0A0A/
·x1

POL(zero) =
/0A\
|0A|
\-I/

POL(true) =
/0A\
|-I|
\-I/

POL(false) =
/0A\
|0A|
\-I/

The following usable rules [FROCOS05] were oriented:

times(x, 0) → 0
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

(31) Obligation:

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

TIMES(x, s(y)) → TIMES(x, y)

The TRS R consists of the following rules:

times(x, plus(y, s(z))) → plus(times(x, plus(y, times(s(z), 0))), times(x, s(z)))
times(x, 0) → 0
times(x, s(y)) → plus(times(x, y), x)
plus(s(x), s(y)) → s(s(plus(if(gt(x, y), x, y), if(not(gt(x, y)), id(x), id(y)))))
plus(s(x), x) → plus(if(gt(x, x), id(x), id(x)), s(x))
plus(zero, y) → y
plus(id(x), s(y)) → s(plus(x, if(gt(s(y), y), y, s(y))))
id(x) → x
if(true, x, y) → x
if(false, x, y) → y
not(x) → if(x, false, true)
gt(s(x), zero) → true
gt(zero, y) → false
gt(s(x), s(y)) → gt(x, y)

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

(32) UsableRulesProof (EQUIVALENT transformation)

We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.

(33) Obligation:

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

TIMES(x, s(y)) → TIMES(x, y)

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

(34) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • TIMES(x, s(y)) → TIMES(x, y)
    The graph contains the following edges 1 >= 1, 2 > 2

(35) TRUE