0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDP
↳7 QDPOrderProof (⇔)
↳8 QDP
↳9 PisEmptyProof (⇔)
↳10 TRUE
↳11 QDP
↳12 QDPOrderProof (⇔)
↳13 QDP
↳14 PisEmptyProof (⇔)
↳15 TRUE
↳16 QDP
↳17 QDPOrderProof (⇔)
↳18 QDP
↳19 PisEmptyProof (⇔)
↳20 TRUE
↳21 QDP
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)
MIN(s(x), s(y)) → MIN(x, y)
MAX(s(x), s(y)) → MAX(x, y)
MINUS(s(x), s(y)) → MINUS(x, y)
GCD(s(x), s(y)) → GCD(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
GCD(s(x), s(y)) → MINUS(max(x, y), min(x, transform(y)))
GCD(s(x), s(y)) → MAX(x, y)
GCD(s(x), s(y)) → MIN(x, transform(y))
GCD(s(x), s(y)) → TRANSFORM(y)
GCD(s(x), s(y)) → MIN(x, y)
TRANSFORM(cons(x, y)) → CONS(cons(x, x), x)
TRANSFORM(cons(x, y)) → CONS(x, x)
TRANSFORM(s(x)) → TRANSFORM(x)
CONS(x, cons(y, s(z))) → CONS(y, x)
CONS(cons(x, z), s(y)) → TRANSFORM(x)
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)
CONS(x, cons(y, s(z))) → CONS(y, x)
CONS(cons(x, z), s(y)) → TRANSFORM(x)
TRANSFORM(cons(x, y)) → CONS(cons(x, x), x)
TRANSFORM(cons(x, y)) → CONS(x, x)
TRANSFORM(s(x)) → TRANSFORM(x)
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)
MINUS(s(x), s(y)) → MINUS(x, y)
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MINUS(s(x), s(y)) → MINUS(x, y)
s1 > MINUS1
MINUS1: multiset
s1: multiset
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)
MAX(s(x), s(y)) → MAX(x, y)
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MAX(s(x), s(y)) → MAX(x, y)
s1 > MAX1
MAX1: multiset
s1: multiset
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)
MIN(s(x), s(y)) → MIN(x, y)
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MIN(s(x), s(y)) → MIN(x, y)
s1 > MIN1
MIN1: multiset
s1: multiset
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)
GCD(s(x), s(y)) → GCD(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
min(x, 0) → 0
min(0, y) → 0
min(s(x), s(y)) → s(min(x, y))
max(x, 0) → x
max(0, y) → y
max(s(x), s(y)) → s(max(x, y))
minus(x, 0) → x
minus(s(x), s(y)) → s(minus(x, y))
gcd(s(x), s(y)) → gcd(minus(max(x, y), min(x, transform(y))), s(min(x, y)))
transform(x) → s(s(x))
transform(cons(x, y)) → cons(cons(x, x), x)
transform(cons(x, y)) → y
transform(s(x)) → s(s(transform(x)))
cons(x, y) → y
cons(x, cons(y, s(z))) → cons(y, x)
cons(cons(x, z), s(y)) → transform(x)