0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 PisEmptyProof (⇔)
↳11 TRUE
↳12 QDP
↳13 QDPOrderProof (⇔)
↳14 QDP
↳15 PisEmptyProof (⇔)
↳16 TRUE
↳17 QDP
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
FACT(s(x)) → *1(s(x), fact(p(s(x))))
FACT(s(x)) → FACT(p(s(x)))
FACT(s(x)) → P(s(x))
*1(s(x), y) → +1(*(x, y), y)
*1(s(x), y) → *1(x, y)
+1(x, s(y)) → +1(x, y)
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
+1(x, s(y)) → +1(x, y)
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
+1(x, s(y)) → +1(x, y)
[+^11, s1]
s1: [1]
+^11: [1]
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
*1(s(x), y) → *1(x, y)
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
*1(s(x), y) → *1(x, y)
s1 > *^12
*^12: [2,1]
s1: [1]
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))
FACT(s(x)) → FACT(p(s(x)))
p(s(x)) → x
fact(0) → s(0)
fact(s(x)) → *(s(x), fact(p(s(x))))
*(0, y) → 0
*(s(x), y) → +(*(x, y), y)
+(x, 0) → x
+(x, s(y)) → s(+(x, y))
p(s(x0))
fact(0)
fact(s(x0))
*(0, x0)
*(s(x0), x1)
+(x0, 0)
+(x0, s(x1))