0 CpxTRS
↳1 RcToIrcProof (BOTH BOUNDS(ID, ID), 13 ms)
↳2 CpxTRS
↳3 CpxTrsToCdtProof (BOTH BOUNDS(ID, ID), 0 ms)
↳4 CdtProblem
↳5 CdtLeafRemovalProof (BOTH BOUNDS(ID, ID), 0 ms)
↳6 CdtProblem
↳7 SIsEmptyProof (BOTH BOUNDS(ID, ID), 0 ms)
↳8 BOUNDS(1, 1)
gcd(x, 0) → x
gcd(0, y) → y
gcd(s(x), s(y)) → if(<(x, y), gcd(s(x), -(y, x)), gcd(-(x, y), s(y)))
As the TRS does not nest defined symbols, we have rc = irc.
gcd(x, 0) → x
gcd(0, y) → y
gcd(s(x), s(y)) → if(<(x, y), gcd(s(x), -(y, x)), gcd(-(x, y), s(y)))
Tuples:
gcd(z0, 0) → z0
gcd(0, z0) → z0
gcd(s(z0), s(z1)) → if(<(z0, z1), gcd(s(z0), -(z1, z0)), gcd(-(z0, z1), s(z1)))
S tuples:
GCD(z0, 0) → c
GCD(0, z0) → c1
GCD(s(z0), s(z1)) → c2(GCD(s(z0), -(z1, z0)), GCD(-(z0, z1), s(z1)))
K tuples:none
GCD(z0, 0) → c
GCD(0, z0) → c1
GCD(s(z0), s(z1)) → c2(GCD(s(z0), -(z1, z0)), GCD(-(z0, z1), s(z1)))
gcd
GCD
c, c1, c2
GCD(s(z0), s(z1)) → c2(GCD(s(z0), -(z1, z0)), GCD(-(z0, z1), s(z1)))
GCD(0, z0) → c1
GCD(z0, 0) → c
Tuples:none
gcd(z0, 0) → z0
gcd(0, z0) → z0
gcd(s(z0), s(z1)) → if(<(z0, z1), gcd(s(z0), -(z1, z0)), gcd(-(z0, z1), s(z1)))
gcd