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))
[PRIME11, s1, prime1] > [0, false, prime12, true, divp2, =2, rem]
not1 > [0, false, prime12, true, divp2, =2, rem]
PRIME11: [1]
s1: [1]
prime1: [1]
0: []
false: []
prime12: [2,1]
true: []
not1: [1]
divp2: [2,1]
=2: [2,1]
rem: []
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)