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
↳18 QDPOrderProof (⇔)
↳19 QDP
↳20 QDPOrderProof (⇔)
↳21 QDP
↳22 PisEmptyProof (⇔)
↳23 TRUE
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)
-1(s(x), s(y)) → -1(x, y)
<=1(s(x), s(y)) → <=1(x, y)
PERFECTP(s(x)) → F(x, s(0), s(x), s(x))
F(s(x), 0, z, u) → F(x, u, -(z, s(x)), u)
F(s(x), 0, z, u) → -1(z, s(x))
F(s(x), s(y), z, u) → IF(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
F(s(x), s(y), z, u) → <=1(x, y)
F(s(x), s(y), z, u) → F(s(x), -(y, x), z, u)
F(s(x), s(y), z, u) → -1(y, x)
F(s(x), s(y), z, u) → F(x, u, z, u)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)
<=1(s(x), s(y)) → <=1(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
<=1(s(x), s(y)) → <=1(x, y)
<=2 > true
<=2 > false
perfectp1 > 0
perfectp1 > f4 > s1
perfectp1 > f4 > true
perfectp1 > f4 > false
perfectp1 > f4 > if2
<=^11: [1]
s1: multiset
0: multiset
<=2: [1,2]
true: multiset
false: multiset
if2: multiset
perfectp1: multiset
f4: [3,1,4,2]
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)
-1(s(x), s(y)) → -1(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
-1(s(x), s(y)) → -1(x, y)
-^11 > if2
<= > true > if2
<= > false > if2
perfectp1 > 0 > if2
perfectp1 > f4 > s1 > if2
perfectp1 > f4 > true > if2
perfectp1 > f4 > false > if2
-^11: multiset
s1: multiset
0: multiset
<=: []
true: multiset
false: multiset
if2: multiset
perfectp1: multiset
f4: [1,4,3,2]
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)
F(s(x), s(y), z, u) → F(s(x), -(y, x), z, u)
F(s(x), 0, z, u) → F(x, u, -(z, s(x)), u)
F(s(x), s(y), z, u) → F(x, u, z, u)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(s(x), 0, z, u) → F(x, u, -(z, s(x)), u)
F(s(x), s(y), z, u) → F(x, u, z, u)
F3 > s1 > <=2 > true
F3 > s1 > false
F3 > s1 > f4 > true
F3 > s1 > f4 > if2
perfectp1 > 0 > s1 > <=2 > true
perfectp1 > 0 > s1 > false
perfectp1 > 0 > s1 > f4 > true
perfectp1 > 0 > s1 > f4 > if2
F3: multiset
s1: multiset
0: multiset
<=2: multiset
true: multiset
false: multiset
if2: multiset
perfectp1: multiset
f4: [4,1,2,3]
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
F(s(x), s(y), z, u) → F(s(x), -(y, x), z, u)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(s(x), s(y), z, u) → F(s(x), -(y, x), z, u)
s1 > F1 > 0
s1 > f4 > <=1 > true > 0
s1 > f4 > <=1 > false > 0
s1 > f4 > if3 > 0
perfectp1 > f4 > <=1 > true > 0
perfectp1 > f4 > <=1 > false > 0
perfectp1 > f4 > if3 > 0
F1: multiset
s1: [1]
0: multiset
<=1: multiset
true: multiset
false: multiset
if3: multiset
perfectp1: multiset
f4: [1,2,3,4]
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)