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))
prime > prime1 > s1 > PRIME12 > rem2
prime > prime1 > false > rem2
prime > prime1 > true > rem2
prime > prime1 > not1 > rem2
divp > 0 > rem2
PRIME12: [1,2]
s1: [1]
prime: []
0: []
false: []
prime1: []
true: []
not1: [1]
divp: []
rem2: [1,2]
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)