0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 PisEmptyProof (⇔)
↳9 TRUE
↳10 QDP
↳11 QDPOrderProof (⇔)
↳12 QDP
↳13 PisEmptyProof (⇔)
↳14 TRUE
f(0) → true
f(1) → false
f(s(x)) → f(x)
if(true, s(x), s(y)) → s(x)
if(false, s(x), s(y)) → s(y)
g(x, c(y)) → c(g(x, y))
g(x, c(y)) → g(x, if(f(x), c(g(s(x), y)), c(y)))
F(s(x)) → F(x)
G(x, c(y)) → G(x, y)
G(x, c(y)) → G(x, if(f(x), c(g(s(x), y)), c(y)))
G(x, c(y)) → IF(f(x), c(g(s(x), y)), c(y))
G(x, c(y)) → F(x)
G(x, c(y)) → G(s(x), y)
f(0) → true
f(1) → false
f(s(x)) → f(x)
if(true, s(x), s(y)) → s(x)
if(false, s(x), s(y)) → s(y)
g(x, c(y)) → c(g(x, y))
g(x, c(y)) → g(x, if(f(x), c(g(s(x), y)), c(y)))
F(s(x)) → F(x)
f(0) → true
f(1) → false
f(s(x)) → f(x)
if(true, s(x), s(y)) → s(x)
if(false, s(x), s(y)) → s(y)
g(x, c(y)) → c(g(x, y))
g(x, c(y)) → g(x, if(f(x), c(g(s(x), y)), c(y)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(s(x)) → F(x)
f1 > [0, true] > [s1, g1, c]
f1 > false > [s1, g1, c]
1 > false > [s1, g1, c]
if3 > [s1, g1, c]
F1: [1]
s1: multiset
f1: [1]
0: multiset
true: multiset
1: multiset
false: multiset
if3: multiset
g1: multiset
c: multiset
f(0) → true
f(1) → false
f(s(x)) → f(x)
if(true, s(x), s(y)) → s(x)
if(false, s(x), s(y)) → s(y)
g(x, c(y)) → c(g(x, y))
g(x, c(y)) → g(x, if(f(x), c(g(s(x), y)), c(y)))
f(0) → true
f(1) → false
f(s(x)) → f(x)
if(true, s(x), s(y)) → s(x)
if(false, s(x), s(y)) → s(y)
g(x, c(y)) → c(g(x, y))
g(x, c(y)) → g(x, if(f(x), c(g(s(x), y)), c(y)))
G(x, c(y)) → G(s(x), y)
G(x, c(y)) → G(x, y)
f(0) → true
f(1) → false
f(s(x)) → f(x)
if(true, s(x), s(y)) → s(x)
if(false, s(x), s(y)) → s(y)
g(x, c(y)) → c(g(x, y))
g(x, c(y)) → g(x, if(f(x), c(g(s(x), y)), c(y)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
G(x, c(y)) → G(s(x), y)
G(x, c(y)) → G(x, y)
G2 > [c1, s]
[f, true, false] > [c1, s]
0 > [c1, s]
1 > [c1, s]
g2 > [c1, s]
G2: [1,2]
c1: [1]
s: multiset
f: multiset
0: multiset
true: multiset
1: multiset
false: multiset
g2: [2,1]
f(0) → true
f(1) → false
f(s(x)) → f(x)
if(true, s(x), s(y)) → s(x)
if(false, s(x), s(y)) → s(y)
g(x, c(y)) → c(g(x, y))
g(x, c(y)) → g(x, if(f(x), c(g(s(x), y)), c(y)))
f(0) → true
f(1) → false
f(s(x)) → f(x)
if(true, s(x), s(y)) → s(x)
if(false, s(x), s(y)) → s(y)
g(x, c(y)) → c(g(x, y))
g(x, c(y)) → g(x, if(f(x), c(g(s(x), y)), c(y)))