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, 0, true, and, =2, rem]
prime1 > [false, prime1, divp] > [s1, 0, true, and, =2, rem]
=2: [2,1]
PRIME11: [1]
prime1: []
true: []
false: []
rem: []
s1: [1]
and: []
divp: []
prime1: [1]
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) → 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)