YES
0 QTRS
↳1 Overlay + Local Confluence (⇔, 0 ms)
↳2 QTRS
↳3 DependencyPairsProof (⇔, 0 ms)
↳4 QDP
↳5 DependencyGraphProof (⇔, 0 ms)
↳6 QDP
↳7 UsableRulesProof (⇔, 0 ms)
↳8 QDP
↳9 QReductionProof (⇔, 0 ms)
↳10 QDP
↳11 UsableRulesReductionPairsProof (⇔, 0 ms)
↳12 QDP
↳13 PisEmptyProof (⇔, 0 ms)
↳14 YES
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
DEL(.(x, .(y, z))) → =1(x, y)
F(true, x, y, z) → DEL(.(y, z))
F(false, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(x, u)
=1(.(x, y), .(u, v)) → =1(y, v)
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
F(false, x, y, z) → DEL(.(y, z))
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
F(false, x, y, z) → DEL(.(y, z))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
F(false, x, y, z) → DEL(.(y, z))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
The following rules are removed from R:
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
F(false, x, y, z) → DEL(.(y, z))
Used ordering: POLO with Polynomial interpretation [POLO]:
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
POL(.(x1, x2)) = 2 + 2·x1 + 2·x2
POL(=(x1, x2)) = 2 + x1 + 2·x2
POL(DEL(x1)) = x1
POL(F(x1, x2, x3, x4)) = 2 + x1 + x2 + 2·x3 + 2·x4
POL(and(x1, x2)) = 2 + 2·x1 + x2
POL(false) = 2
POL(nil) = 1
POL(true) = 2
POL(u) = 1
POL(v) = 0
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))