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 PisEmptyProof (⇔)
↳21 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)
perfectp1 > 0 > [s1, false, if3] > -1
perfectp1 > 0 > [s1, false, if3] > <=2
perfectp1 > 0 > true
perfectp1 > f4 > [s1, false, if3] > -1
perfectp1 > f4 > [s1, false, if3] > <=2
perfectp1 > f4 > true
-1: [1]
if3: [3,2,1]
true: []
f4: [4,1,2,3]
false: []
s1: [1]
perfectp1: [1]
0: []
<=2: [2,1]
-(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)
perfectp1 > 0 > [false, f4] > [s1, <=2, true, if3]
if3: [3,2,1]
true: []
f4: [4,3,1,2]
false: []
s1: [1]
perfectp1: [1]
0: []
<=2: [2,1]
-(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), 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)
perfectp1 > [0, f4] > F4 > s1
perfectp1 > [0, f4] > [<=, true, false] > s1
perfectp1 > [0, f4] > if3 > s1
F4: [4,3,1,2]
if3: [3,2,1]
<=: []
true: []
f4: [4,3,1,2]
false: []
s1: [1]
perfectp1: [1]
0: []
-(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)