0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 QDP
↳7 QDPOrderProof (⇔)
↳8 QDP
↳9 PisEmptyProof (⇔)
↳10 TRUE
prime(0) → false
prime(s(0)) → false
prime(s(s(x))) → prime1(s(s(x)), s(x))
prime1(x, 0) → false
prime1(x, s(0)) → true
prime1(x, s(s(y))) → and(not(divp(s(s(y)), x)), prime1(x, s(y)))
divp(x, y) → =(rem(x, y), 0)
prime(0) → false
prime(s(0)) → false
prime(s(s(x))) → prime1(s(s(x)), s(x))
prime1(x, 0) → false
prime1(x, s(0)) → true
prime1(x, s(s(y))) → and(not(divp(s(s(y)), x)), prime1(x, s(y)))
divp(x, y) → =(rem(x, y), 0)
prime(0)
prime(s(0))
prime(s(s(x0)))
prime1(x0, 0)
prime1(x0, s(0))
prime1(x0, s(s(x1)))
divp(x0, x1)
PRIME(s(s(x))) → PRIME1(s(s(x)), s(x))
PRIME1(x, s(s(y))) → DIVP(s(s(y)), x)
PRIME1(x, s(s(y))) → PRIME1(x, s(y))
prime(0) → false
prime(s(0)) → false
prime(s(s(x))) → prime1(s(s(x)), s(x))
prime1(x, 0) → false
prime1(x, s(0)) → true
prime1(x, s(s(y))) → and(not(divp(s(s(y)), x)), prime1(x, s(y)))
divp(x, y) → =(rem(x, y), 0)
prime(0)
prime(s(0))
prime(s(s(x0)))
prime1(x0, 0)
prime1(x0, s(0))
prime1(x0, s(s(x1)))
divp(x0, x1)
PRIME1(x, s(s(y))) → PRIME1(x, s(y))
prime(0) → false
prime(s(0)) → false
prime(s(s(x))) → prime1(s(s(x)), s(x))
prime1(x, 0) → false
prime1(x, s(0)) → true
prime1(x, s(s(y))) → and(not(divp(s(s(y)), x)), prime1(x, s(y)))
divp(x, y) → =(rem(x, y), 0)
prime(0)
prime(s(0))
prime(s(s(x0)))
prime1(x0, 0)
prime1(x0, s(0))
prime1(x0, s(s(x1)))
divp(x0, x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PRIME1(x, s(s(y))) → PRIME1(x, s(y))
prime1 > [prime12, true, and, not1] > [PRIME11, s1, divp] > [0, false, =]
PRIME11: multiset
s1: multiset
prime1: multiset
0: multiset
false: multiset
prime12: multiset
true: multiset
and: multiset
not1: multiset
divp: multiset
=: multiset
prime(0) → false
prime(s(0)) → false
prime(s(s(x))) → prime1(s(s(x)), s(x))
prime1(x, 0) → false
prime1(x, s(0)) → true
prime1(x, s(s(y))) → and(not(divp(s(s(y)), x)), prime1(x, s(y)))
divp(x, y) → =(rem(x, y), 0)
prime(0) → false
prime(s(0)) → false
prime(s(s(x))) → prime1(s(s(x)), s(x))
prime1(x, 0) → false
prime1(x, s(0)) → true
prime1(x, s(s(y))) → and(not(divp(s(s(y)), x)), prime1(x, s(y)))
divp(x, y) → =(rem(x, y), 0)
prime(0)
prime(s(0))
prime(s(s(x0)))
prime1(x0, 0)
prime1(x0, s(0))
prime1(x0, s(s(x1)))
divp(x0, x1)