0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPSizeChangeProof (⇔)
↳7 TRUE
↳8 QDP
↳9 QDPSizeChangeProof (⇔)
↳10 TRUE
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 TRUE
minus(X, s(Y)) → pred(minus(X, Y))
minus(X, 0) → X
pred(s(X)) → X
le(s(X), s(Y)) → le(X, Y)
le(s(X), 0) → false
le(0, Y) → true
gcd(0, Y) → 0
gcd(s(X), 0) → s(X)
gcd(s(X), s(Y)) → if(le(Y, X), s(X), s(Y))
if(true, s(X), s(Y)) → gcd(minus(X, Y), s(Y))
if(false, s(X), s(Y)) → gcd(minus(Y, X), s(X))
MINUS(X, s(Y)) → PRED(minus(X, Y))
MINUS(X, s(Y)) → MINUS(X, Y)
LE(s(X), s(Y)) → LE(X, Y)
GCD(s(X), s(Y)) → IF(le(Y, X), s(X), s(Y))
GCD(s(X), s(Y)) → LE(Y, X)
IF(true, s(X), s(Y)) → GCD(minus(X, Y), s(Y))
IF(true, s(X), s(Y)) → MINUS(X, Y)
IF(false, s(X), s(Y)) → GCD(minus(Y, X), s(X))
IF(false, s(X), s(Y)) → MINUS(Y, X)
minus(X, s(Y)) → pred(minus(X, Y))
minus(X, 0) → X
pred(s(X)) → X
le(s(X), s(Y)) → le(X, Y)
le(s(X), 0) → false
le(0, Y) → true
gcd(0, Y) → 0
gcd(s(X), 0) → s(X)
gcd(s(X), s(Y)) → if(le(Y, X), s(X), s(Y))
if(true, s(X), s(Y)) → gcd(minus(X, Y), s(Y))
if(false, s(X), s(Y)) → gcd(minus(Y, X), s(X))
LE(s(X), s(Y)) → LE(X, Y)
minus(X, s(Y)) → pred(minus(X, Y))
minus(X, 0) → X
pred(s(X)) → X
le(s(X), s(Y)) → le(X, Y)
le(s(X), 0) → false
le(0, Y) → true
gcd(0, Y) → 0
gcd(s(X), 0) → s(X)
gcd(s(X), s(Y)) → if(le(Y, X), s(X), s(Y))
if(true, s(X), s(Y)) → gcd(minus(X, Y), s(Y))
if(false, s(X), s(Y)) → gcd(minus(Y, X), s(X))
Order:Homeomorphic Embedding Order
AFS:
s(x1) = s(x1)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none
MINUS(X, s(Y)) → MINUS(X, Y)
minus(X, s(Y)) → pred(minus(X, Y))
minus(X, 0) → X
pred(s(X)) → X
le(s(X), s(Y)) → le(X, Y)
le(s(X), 0) → false
le(0, Y) → true
gcd(0, Y) → 0
gcd(s(X), 0) → s(X)
gcd(s(X), s(Y)) → if(le(Y, X), s(X), s(Y))
if(true, s(X), s(Y)) → gcd(minus(X, Y), s(Y))
if(false, s(X), s(Y)) → gcd(minus(Y, X), s(X))
Order:Homeomorphic Embedding Order
AFS:
s(x1) = s(x1)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none
IF(true, s(X), s(Y)) → GCD(minus(X, Y), s(Y))
GCD(s(X), s(Y)) → IF(le(Y, X), s(X), s(Y))
IF(false, s(X), s(Y)) → GCD(minus(Y, X), s(X))
minus(X, s(Y)) → pred(minus(X, Y))
minus(X, 0) → X
pred(s(X)) → X
le(s(X), s(Y)) → le(X, Y)
le(s(X), 0) → false
le(0, Y) → true
gcd(0, Y) → 0
gcd(s(X), 0) → s(X)
gcd(s(X), s(Y)) → if(le(Y, X), s(X), s(Y))
if(true, s(X), s(Y)) → gcd(minus(X, Y), s(Y))
if(false, s(X), s(Y)) → gcd(minus(Y, X), s(X))
Order:Combined order from the following AFS and order.
minus(x1, x2) = x1
s(x1) = s(x1)
pred(x1) = x1
0 = 0
true = true
false = false
Recursive path order with status [RPO].
Quasi-Precedence:
trivial
s1: multiset
0: multiset
true: multiset
false: multiset
AFS:
minus(x1, x2) = x1
s(x1) = s(x1)
pred(x1) = x1
0 = 0
true = true
false = false
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
minus(X, s(Y)) → pred(minus(X, Y))
minus(X, 0) → X
pred(s(X)) → X