YES Termination w.r.t. Q proof of AProVE_07_thiemann09.ari

(0) Obligation:

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

minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(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:

MINUS(minus(x, y), z) → MINUS(x, plus(y, z))
MINUS(minus(x, y), z) → PLUS(y, z)
MINUS(s(x), s(y)) → MINUS(x, y)
PLUS(s(x), y) → PLUS(x, s(y))
PLUS(s(x), y) → PLUS(y, x)
DIV(x, y) → QUOT(x, y, 0)
QUOT(s(x), s(y), z) → QUOT(minus(p(ack(0, x)), y), s(y), s(z))
QUOT(s(x), s(y), z) → MINUS(p(ack(0, x)), y)
QUOT(s(x), s(y), z) → P(ack(0, x))
QUOT(s(x), s(y), z) → ACK(0, x)
ACK(0, x) → PLUS(x, s(0))
ACK(s(x), 0) → ACK(x, s(0))
ACK(s(x), s(y)) → ACK(x, ack(s(x), y))
ACK(s(x), s(y)) → ACK(s(x), y)

The TRS R consists of the following rules:

minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(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 4 SCCs with 6 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

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

PLUS(s(x), y) → PLUS(y, x)
PLUS(s(x), y) → PLUS(x, s(y))

The TRS R consists of the following rules:

minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(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:

PLUS(s(x), y) → PLUS(y, x)
PLUS(s(x), y) → PLUS(x, s(y))

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

(8) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

PLUS(s(x), y) → PLUS(y, x)
PLUS(s(x), y) → PLUS(x, s(y))


Used ordering: Knuth-Bendix order [KBO] with precedence:
s1 > PLUS2

and weight map:

s_1=1
PLUS_2=0

The variable weight is 1

(9) Obligation:

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

(10) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(11) YES

(12) Obligation:

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

ACK(s(x), s(y)) → ACK(x, ack(s(x), y))
ACK(s(x), 0) → ACK(x, s(0))
ACK(s(x), s(y)) → ACK(s(x), y)

The TRS R consists of the following rules:

minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))

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

(13) 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:

  • ACK(s(x), 0) → ACK(x, s(0))
    The graph contains the following edges 1 > 1

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

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

(14) YES

(15) Obligation:

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

MINUS(s(x), s(y)) → MINUS(x, y)
MINUS(minus(x, y), z) → MINUS(x, plus(y, z))

The TRS R consists of the following rules:

minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))

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

(16) 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.

(17) Obligation:

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

MINUS(s(x), s(y)) → MINUS(x, y)
MINUS(minus(x, y), z) → MINUS(x, plus(y, z))

The TRS R consists of the following rules:

plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))

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

(18) 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:

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

  • MINUS(minus(x, y), z) → MINUS(x, plus(y, z))
    The graph contains the following edges 1 > 1

(19) YES

(20) Obligation:

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

QUOT(s(x), s(y), z) → QUOT(minus(p(ack(0, x)), y), s(y), s(z))

The TRS R consists of the following rules:

minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))

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

(21) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


QUOT(s(x), s(y), z) → QUOT(minus(p(ack(0, x)), y), s(y), s(z))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation:
POL( QUOT(x1, ..., x3) ) = max{0, x1 - 1}

POL( minus(x1, x2) ) = x1

POL( p(x1) ) = max{0, x1 - 2}

POL( ack(x1, x2) ) = x2 + 2

POL( 0 ) = 0

POL( s(x1) ) = x1 + 2

POL( plus(x1, x2) ) = x1 + x2


The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
p(s(x)) → x
p(0) → 0
minus(s(x), s(y)) → minus(x, y)
minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))

(22) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

minus(minus(x, y), z) → minus(x, plus(y, z))
minus(0, y) → 0
minus(x, 0) → x
minus(s(x), s(y)) → minus(x, y)
plus(0, y) → y
plus(s(x), y) → plus(x, s(y))
plus(s(x), y) → s(plus(y, x))
zero(s(x)) → false
zero(0) → true
p(s(x)) → x
p(0) → 0
div(x, y) → quot(x, y, 0)
quot(s(x), s(y), z) → quot(minus(p(ack(0, x)), y), s(y), s(z))
quot(0, s(y), z) → z
ack(0, x) → s(x)
ack(0, x) → plus(x, s(0))
ack(s(x), 0) → ack(x, s(0))
ack(s(x), s(y)) → ack(x, ack(s(x), y))

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

(23) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(24) YES