f(true, x, y, z) → g(gt(x, y), x, y, z)
g(true, x, y, z) → f(gt(x, z), x, s(y), z)
g(true, x, y, z) → f(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
g(true, x0, x1, x2)
gt(s(x0), s(x1))
gt(s(x0), 0)
f(true, x0, x1, x2)
↳ QTRS
↳ DependencyPairsProof
f(true, x, y, z) → g(gt(x, y), x, y, z)
g(true, x, y, z) → f(gt(x, z), x, s(y), z)
g(true, x, y, z) → f(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
g(true, x0, x1, x2)
gt(s(x0), s(x1))
gt(s(x0), 0)
f(true, x0, x1, x2)
G(true, x, y, z) → GT(x, z)
G(true, x, y, z) → F(gt(x, z), x, s(y), z)
F(true, x, y, z) → G(gt(x, y), x, y, z)
GT(s(u), s(v)) → GT(u, v)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
F(true, x, y, z) → GT(x, y)
f(true, x, y, z) → g(gt(x, y), x, y, z)
g(true, x, y, z) → f(gt(x, z), x, s(y), z)
g(true, x, y, z) → f(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
g(true, x0, x1, x2)
gt(s(x0), s(x1))
gt(s(x0), 0)
f(true, x0, x1, x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
G(true, x, y, z) → GT(x, z)
G(true, x, y, z) → F(gt(x, z), x, s(y), z)
F(true, x, y, z) → G(gt(x, y), x, y, z)
GT(s(u), s(v)) → GT(u, v)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
F(true, x, y, z) → GT(x, y)
f(true, x, y, z) → g(gt(x, y), x, y, z)
g(true, x, y, z) → f(gt(x, z), x, s(y), z)
g(true, x, y, z) → f(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
g(true, x0, x1, x2)
gt(s(x0), s(x1))
gt(s(x0), 0)
f(true, x0, x1, x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
GT(s(u), s(v)) → GT(u, v)
f(true, x, y, z) → g(gt(x, y), x, y, z)
g(true, x, y, z) → f(gt(x, z), x, s(y), z)
g(true, x, y, z) → f(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
g(true, x0, x1, x2)
gt(s(x0), s(x1))
gt(s(x0), 0)
f(true, x0, x1, x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
GT(s(u), s(v)) → GT(u, v)
gt(0, x0)
g(true, x0, x1, x2)
gt(s(x0), s(x1))
gt(s(x0), 0)
f(true, x0, x1, x2)
gt(0, x0)
g(true, x0, x1, x2)
gt(s(x0), s(x1))
gt(s(x0), 0)
f(true, x0, x1, x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
GT(s(u), s(v)) → GT(u, v)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
G(true, x, y, z) → F(gt(x, z), x, s(y), z)
F(true, x, y, z) → G(gt(x, y), x, y, z)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
f(true, x, y, z) → g(gt(x, y), x, y, z)
g(true, x, y, z) → f(gt(x, z), x, s(y), z)
g(true, x, y, z) → f(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
g(true, x0, x1, x2)
gt(s(x0), s(x1))
gt(s(x0), 0)
f(true, x0, x1, x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
G(true, x, y, z) → F(gt(x, z), x, s(y), z)
F(true, x, y, z) → G(gt(x, y), x, y, z)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
g(true, x0, x1, x2)
gt(s(x0), s(x1))
gt(s(x0), 0)
f(true, x0, x1, x2)
g(true, x0, x1, x2)
f(true, x0, x1, x2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
G(true, x, y, z) → F(gt(x, z), x, s(y), z)
F(true, x, y, z) → G(gt(x, y), x, y, z)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
G(true, s(x0), y1, 0) → F(true, s(x0), s(y1), 0)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), s(y1), s(x1))
G(true, 0, y1, x0) → F(false, 0, s(y1), x0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ NonInfProof
G(true, s(x0), y1, 0) → F(true, s(x0), s(y1), 0)
F(true, x, y, z) → G(gt(x, y), x, y, z)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
G(true, 0, y1, x0) → F(false, 0, s(y1), x0)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), s(y1), s(x1))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ NonInfProof
G(true, s(x0), y1, 0) → F(true, s(x0), s(y1), 0)
F(true, x, y, z) → G(gt(x, y), x, y, z)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), s(y1), s(x1))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, 0, y1, x0) → F(false, 0, y1, s(x0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ NonInfProof
G(true, 0, y1, x0) → F(false, 0, y1, s(x0))
G(true, s(x0), y1, 0) → F(true, s(x0), s(y1), 0)
F(true, x, y, z) → G(gt(x, y), x, y, z)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), s(y1), s(x1))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ NonInfProof
G(true, s(x0), y1, 0) → F(true, s(x0), s(y1), 0)
F(true, x, y, z) → G(gt(x, y), x, y, z)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), s(y1), s(x1))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
F(true, 0, x0, y2) → G(false, 0, x0, y2)
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ NonInfProof
G(true, s(x0), y1, 0) → F(true, s(x0), s(y1), 0)
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
F(true, 0, x0, y2) → G(false, 0, x0, y2)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), s(y1), s(x1))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ NonInfProof
G(true, s(x0), y1, 0) → F(true, s(x0), s(y1), 0)
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), s(y1), s(x1))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
F(true, s(z0), s(x1), s(0)) → G(gt(z0, x1), s(z0), s(x1), s(0))
F(true, s(z0), s(z1), 0) → G(gt(z0, z1), s(z0), s(z1), 0)
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
F(true, s(z0), s(z1), s(z2)) → G(gt(z0, z1), s(z0), s(z1), s(z2))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ NonInfProof
G(true, s(x0), y1, 0) → F(true, s(x0), s(y1), 0)
F(true, s(z0), s(x1), s(0)) → G(gt(z0, x1), s(z0), s(x1), s(0))
F(true, s(z0), s(z1), 0) → G(gt(z0, z1), s(z0), s(z1), 0)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
F(true, s(z0), s(z1), s(z2)) → G(gt(z0, z1), s(z0), s(z1), s(z2))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), s(y1), s(x1))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(s(z1)), 0)
G(true, s(z0), 0, 0) → F(true, s(z0), s(0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ NonInfProof
F(true, s(z0), s(x1), s(0)) → G(gt(z0, x1), s(z0), s(x1), s(0))
F(true, s(z0), s(z1), 0) → G(gt(z0, z1), s(z0), s(z1), 0)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(s(z1)), 0)
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
F(true, s(z0), s(z1), s(z2)) → G(gt(z0, z1), s(z0), s(z1), s(z2))
G(true, s(z0), 0, 0) → F(true, s(z0), s(0), 0)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), s(y1), s(x1))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
G(true, s(z0), 0, s(x2)) → F(gt(z0, x2), s(z0), s(0), s(x2))
G(true, s(z0), s(z1), s(0)) → F(gt(z0, 0), s(z0), s(s(z1)), s(0))
G(true, s(z0), s(z1), s(z2)) → F(gt(z0, z2), s(z0), s(s(z1)), s(z2))
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(s(z1)), s(s(z2)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ NonInfProof
G(true, s(z0), 0, s(x2)) → F(gt(z0, x2), s(z0), s(0), s(x2))
F(true, s(z0), s(z1), 0) → G(gt(z0, z1), s(z0), s(z1), 0)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
G(true, s(z0), s(z1), s(z2)) → F(gt(z0, z2), s(z0), s(s(z1)), s(z2))
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(s(z1)), 0)
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
F(true, s(z0), s(z1), s(z2)) → G(gt(z0, z1), s(z0), s(z1), s(z2))
G(true, s(z0), 0, 0) → F(true, s(z0), s(0), 0)
F(true, s(z0), s(x1), s(0)) → G(gt(z0, x1), s(z0), s(x1), s(0))
G(true, s(z0), s(z1), s(0)) → F(gt(z0, 0), s(z0), s(s(z1)), s(0))
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(s(z1)), s(s(z2)))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(z1), s(0))
G(true, s(z0), 0, 0) → F(true, s(z0), 0, s(0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ NonInfProof
G(true, s(z0), 0, s(x2)) → F(gt(z0, x2), s(z0), s(0), s(x2))
F(true, s(z0), s(z1), 0) → G(gt(z0, z1), s(z0), s(z1), 0)
G(true, s(z0), s(z1), s(z2)) → F(gt(z0, z2), s(z0), s(s(z1)), s(z2))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(s(z1)), 0)
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
F(true, s(z0), s(z1), s(z2)) → G(gt(z0, z1), s(z0), s(z1), s(z2))
G(true, s(z0), 0, 0) → F(true, s(z0), 0, s(0))
G(true, s(z0), 0, 0) → F(true, s(z0), s(0), 0)
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(z1), s(0))
F(true, s(z0), s(x1), s(0)) → G(gt(z0, x1), s(z0), s(x1), s(0))
G(true, s(z0), s(z1), s(0)) → F(gt(z0, 0), s(z0), s(s(z1)), s(0))
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(s(z1)), s(s(z2)))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
F(true, s(z0), 0, s(0)) → G(true, s(z0), 0, s(0))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ NonInfProof
G(true, s(z0), 0, s(x2)) → F(gt(z0, x2), s(z0), s(0), s(x2))
F(true, s(z0), s(z1), 0) → G(gt(z0, z1), s(z0), s(z1), 0)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
G(true, s(z0), s(z1), s(z2)) → F(gt(z0, z2), s(z0), s(s(z1)), s(z2))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(s(z1)), 0)
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
F(true, s(z0), s(z1), s(z2)) → G(gt(z0, z1), s(z0), s(z1), s(z2))
G(true, s(z0), 0, 0) → F(true, s(z0), s(0), 0)
G(true, s(z0), 0, 0) → F(true, s(z0), 0, s(0))
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(z1), s(0))
F(true, s(z0), s(x1), s(0)) → G(gt(z0, x1), s(z0), s(x1), s(0))
F(true, s(z0), 0, s(0)) → G(true, s(z0), 0, s(0))
G(true, s(z0), s(z1), s(0)) → F(gt(z0, 0), s(z0), s(s(z1)), s(0))
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(s(z1)), s(s(z2)))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ NonInfProof
G(true, s(z0), 0, s(x2)) → F(gt(z0, x2), s(z0), s(0), s(x2))
F(true, s(z0), s(x1), s(0)) → G(gt(z0, x1), s(z0), s(x1), s(0))
G(true, s(z0), s(z1), s(0)) → F(gt(z0, 0), s(z0), s(s(z1)), s(0))
G(true, s(z0), s(z1), s(z2)) → F(gt(z0, z2), s(z0), s(s(z1)), s(z2))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(s(z1)), s(s(z2)))
F(true, s(z0), s(z1), s(z2)) → G(gt(z0, z1), s(z0), s(z1), s(z2))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
G(true, s(z0), s(z1), s(z2)) → F(gt(z0, z2), s(z0), s(z1), s(s(z2)))
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(z1), s(s(s(z2))))
G(true, s(z0), s(z1), s(0)) → F(gt(z0, 0), s(z0), s(z1), s(s(0)))
G(true, s(z0), 0, s(s(z1))) → F(gt(z0, s(z1)), s(z0), 0, s(s(s(z1))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ NonInfProof
G(true, s(z0), s(z1), s(z2)) → F(gt(z0, z2), s(z0), s(z1), s(s(z2)))
G(true, s(z0), 0, s(x2)) → F(gt(z0, x2), s(z0), s(0), s(x2))
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(z1), s(s(s(z2))))
G(true, s(z0), s(z1), s(z2)) → F(gt(z0, z2), s(z0), s(s(z1)), s(z2))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
G(true, s(z0), 0, s(s(z1))) → F(gt(z0, s(z1)), s(z0), 0, s(s(s(z1))))
F(true, s(z0), s(z1), s(z2)) → G(gt(z0, z1), s(z0), s(z1), s(z2))
F(true, s(z0), s(x1), s(0)) → G(gt(z0, x1), s(z0), s(x1), s(0))
G(true, s(z0), s(z1), s(0)) → F(gt(z0, 0), s(z0), s(z1), s(s(0)))
G(true, s(z0), s(z1), s(0)) → F(gt(z0, 0), s(z0), s(s(z1)), s(0))
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(s(z1)), s(s(z2)))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ NonInfProof
F(true, s(z0), s(z1), 0) → G(gt(z0, z1), s(z0), s(z1), 0)
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(s(z1)), 0)
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
POL(0) = 0
POL(F(x1, x2, x3, x4)) = -1 - x1 + x2 - x3
POL(G(x1, x2, x3, x4)) = -1 - x1 + x2 - x3
POL(c) = -1
POL(false) = 1
POL(gt(x1, x2)) = 0
POL(s(x1)) = 2 + x1
POL(true) = 0
The following pairs are in Pbound:
G(true, x, y, z) → F(gt(x, z), x, s(y), z)
The following rules are usable:
F(true, x, y, z) → G(gt(x, y), x, y, z)
gt(u, v) → gt(s(u), s(v))
false → gt(0, v)
true → gt(s(u), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ QDP
F(true, x, y, z) → G(gt(x, y), x, y, z)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
F(true, 0, x0, y2) → G(false, 0, x0, y2)
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ NonInfProof
↳ QDP
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
F(true, 0, x0, y2) → G(false, 0, x0, y2)
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ QDP
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, 0, y1, x0) → F(false, 0, y1, s(x0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ NonInfProof
↳ QDP
G(true, 0, y1, x0) → F(false, 0, y1, s(x0))
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ NonInfProof
↳ QDP
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
G(true, s(x0), y1, 0) → F(true, s(x0), y1, s(0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(z1), s(0))
G(true, s(z0), 0, 0) → F(true, s(z0), 0, s(0))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ NonInfProof
↳ QDP
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(z1), s(0))
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(x0), 0, y2) → G(true, s(x0), 0, y2)
G(true, s(z0), 0, 0) → F(true, s(z0), 0, s(0))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
F(true, s(z0), 0, s(0)) → G(true, s(z0), 0, s(0))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ NonInfProof
↳ QDP
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(z1), s(0))
F(true, s(z0), 0, s(0)) → G(true, s(z0), 0, s(0))
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
G(true, s(z0), 0, 0) → F(true, s(z0), 0, s(0))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ NonInfProof
↳ QDP
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(z1), s(0))
F(true, s(x0), s(x1), y2) → G(gt(x0, x1), s(x0), s(x1), y2)
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
F(true, s(z0), s(z1), s(0)) → G(gt(z0, z1), s(z0), s(z1), s(0))
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ NonInfProof
↳ QDP
G(true, s(z0), s(z1), 0) → F(true, s(z0), s(z1), s(0))
F(true, s(z0), s(z1), s(0)) → G(gt(z0, z1), s(z0), s(z1), s(0))
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ NonInfProof
↳ QDP
G(true, s(x0), y1, s(x1)) → F(gt(x0, x1), s(x0), y1, s(s(x1)))
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(z1), s(s(s(z2))))
G(true, s(z0), 0, s(s(z1))) → F(gt(z0, s(z1)), s(z0), 0, s(s(s(z1))))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ NonInfProof
↳ QDP
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(z1), s(s(s(z2))))
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
G(true, s(z0), 0, s(s(z1))) → F(gt(z0, s(z1)), s(z0), 0, s(s(s(z1))))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ NonInfProof
↳ QDP
G(true, s(z0), s(z1), s(s(z2))) → F(gt(z0, s(z2)), s(z0), s(z1), s(s(s(z2))))
F(true, s(z0), s(x1), s(s(z2))) → G(gt(z0, x1), s(z0), s(x1), s(s(z2)))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ NonInfProof
↳ QDP
F(true, s(z0), 0, s(s(z2))) → G(true, s(z0), 0, s(s(z2)))
G(true, s(z0), 0, s(s(z1))) → F(gt(z0, s(z1)), s(z0), 0, s(s(s(z1))))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
POL(0) = 2
POL(F(x1, x2, x3, x4)) = -1 - x1 + x2 + 2·x3 - x4
POL(G(x1, x2, x3, x4)) = -1 - x1 + x2 + 2·x3 - x4
POL(c) = -2
POL(false) = 0
POL(gt(x1, x2)) = 0
POL(s(x1)) = 1 + x1
POL(true) = 0
The following pairs are in Pbound:
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
The following rules are usable:
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
gt(u, v) → gt(s(u), s(v))
false → gt(0, v)
true → gt(s(u), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
F(true, x, y, z) → G(gt(x, y), x, y, z)
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
G(true, x, y, z) → F(gt(x, z), x, s(y), z)
G(true, x, y, z) → F(gt(x, z), x, y, s(z))
gt(0, v) → false
gt(s(u), 0) → true
gt(s(u), s(v)) → gt(u, v)
gt(0, x0)
gt(s(x0), s(x1))
gt(s(x0), 0)