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
f(nil) → nil
f(.(nil, y)) → .(nil, f(y))
f(.(.(x, y), z)) → f(.(x, .(y, z)))
g(nil) → nil
g(.(x, nil)) → .(g(x), nil)
g(.(x, .(y, z))) → g(.(.(x, y), z))
f(nil) → nil
f(.(nil, y)) → .(nil, f(y))
f(.(.(x, y), z)) → f(.(x, .(y, z)))
g(nil) → nil
g(.(x, nil)) → .(g(x), nil)
g(.(x, .(y, z))) → g(.(.(x, y), z))
f(nil)
f(.(nil, x0))
f(.(.(x0, x1), x2))
g(nil)
g(.(x0, nil))
g(.(x0, .(x1, x2)))
F(.(nil, y)) → F(y)
F(.(.(x, y), z)) → F(.(x, .(y, z)))
G(.(x, nil)) → G(x)
G(.(x, .(y, z))) → G(.(.(x, y), z))
f(nil) → nil
f(.(nil, y)) → .(nil, f(y))
f(.(.(x, y), z)) → f(.(x, .(y, z)))
g(nil) → nil
g(.(x, nil)) → .(g(x), nil)
g(.(x, .(y, z))) → g(.(.(x, y), z))
f(nil)
f(.(nil, x0))
f(.(.(x0, x1), x2))
g(nil)
g(.(x0, nil))
g(.(x0, .(x1, x2)))
G(.(x, .(y, z))) → G(.(.(x, y), z))
G(.(x, nil)) → G(x)
f(nil) → nil
f(.(nil, y)) → .(nil, f(y))
f(.(.(x, y), z)) → f(.(x, .(y, z)))
g(nil) → nil
g(.(x, nil)) → .(g(x), nil)
g(.(x, .(y, z))) → g(.(.(x, y), z))
f(nil)
f(.(nil, x0))
f(.(.(x0, x1), x2))
g(nil)
g(.(x0, nil))
g(.(x0, .(x1, x2)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
G(.(x, .(y, z))) → G(.(.(x, y), z))
G(.(x, nil)) → G(x)
[G1, nil] > .2
G1: [1]
.2: [2,1]
nil: multiset
f(nil) → nil
f(.(nil, y)) → .(nil, f(y))
f(.(.(x, y), z)) → f(.(x, .(y, z)))
g(nil) → nil
g(.(x, nil)) → .(g(x), nil)
g(.(x, .(y, z))) → g(.(.(x, y), z))
f(nil)
f(.(nil, x0))
f(.(.(x0, x1), x2))
g(nil)
g(.(x0, nil))
g(.(x0, .(x1, x2)))
F(.(.(x, y), z)) → F(.(x, .(y, z)))
F(.(nil, y)) → F(y)
f(nil) → nil
f(.(nil, y)) → .(nil, f(y))
f(.(.(x, y), z)) → f(.(x, .(y, z)))
g(nil) → nil
g(.(x, nil)) → .(g(x), nil)
g(.(x, .(y, z))) → g(.(.(x, y), z))
f(nil)
f(.(nil, x0))
f(.(.(x0, x1), x2))
g(nil)
g(.(x0, nil))
g(.(x0, .(x1, x2)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(.(.(x, y), z)) → F(.(x, .(y, z)))
F(.(nil, y)) → F(y)
[F1, nil] > .2
.2: [1,2]
nil: multiset
F1: multiset
f(nil) → nil
f(.(nil, y)) → .(nil, f(y))
f(.(.(x, y), z)) → f(.(x, .(y, z)))
g(nil) → nil
g(.(x, nil)) → .(g(x), nil)
g(.(x, .(y, z))) → g(.(.(x, y), z))
f(nil)
f(.(nil, x0))
f(.(.(x0, x1), x2))
g(nil)
g(.(x0, nil))
g(.(x0, .(x1, x2)))