0 QTRS
↳1 AAECC Innermost (⇔)
↳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
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
eq(0, 0)
eq(s(x0), 0)
eq(0, s(x0))
eq(s(x0), s(x1))
and(true, true)
and(false, x0)
and(x0, false)
COND1(true, x, y, z) → COND2(gr(y, z), x, y, z)
COND1(true, x, y, z) → GR(y, z)
COND2(true, x, y, z) → COND2(gr(y, z), p(x), p(y), z)
COND2(true, x, y, z) → GR(y, z)
COND2(true, x, y, z) → P(x)
COND2(true, x, y, z) → P(y)
COND2(false, x, y, z) → COND1(and(eq(x, y), gr(x, z)), x, y, z)
COND2(false, x, y, z) → AND(eq(x, y), gr(x, z))
COND2(false, x, y, z) → EQ(x, y)
COND2(false, x, y, z) → GR(x, z)
GR(s(x), s(y)) → GR(x, y)
EQ(s(x), s(y)) → EQ(x, y)
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
eq(0, 0)
eq(s(x0), 0)
eq(0, s(x0))
eq(s(x0), s(x1))
and(true, true)
and(false, x0)
and(x0, false)
EQ(s(x), s(y)) → EQ(x, y)
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
eq(0, 0)
eq(s(x0), 0)
eq(0, s(x0))
eq(s(x0), s(x1))
and(true, true)
and(false, x0)
and(x0, false)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
EQ(s(x), s(y)) → EQ(x, y)
EQ1 > false
s1 > false
p1 > 0 > true > gr1 > false
eq > true > gr1 > false
EQ1: [1]
s1: multiset
true: multiset
gr1: [1]
p1: multiset
false: multiset
eq: []
0: multiset
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
eq(0, 0)
eq(s(x0), 0)
eq(0, s(x0))
eq(s(x0), s(x1))
and(true, true)
and(false, x0)
and(x0, false)
GR(s(x), s(y)) → GR(x, y)
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
eq(0, 0)
eq(s(x0), 0)
eq(0, s(x0))
eq(s(x0), s(x1))
and(true, true)
and(false, x0)
and(x0, false)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
GR(s(x), s(y)) → GR(x, y)
GR1 > false
s1 > false
p1 > 0 > true > gr1 > false
eq > true > gr1 > false
GR1: [1]
s1: multiset
true: multiset
gr1: [1]
p1: multiset
false: multiset
eq: []
0: multiset
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
eq(0, 0)
eq(s(x0), 0)
eq(0, s(x0))
eq(s(x0), s(x1))
and(true, true)
and(false, x0)
and(x0, false)
COND2(true, x, y, z) → COND2(gr(y, z), p(x), p(y), z)
COND2(false, x, y, z) → COND1(and(eq(x, y), gr(x, z)), x, y, z)
COND1(true, x, y, z) → COND2(gr(y, z), x, y, z)
cond1(true, x, y, z) → cond2(gr(y, z), x, y, z)
cond2(true, x, y, z) → cond2(gr(y, z), p(x), p(y), z)
cond2(false, x, y, z) → cond1(and(eq(x, y), gr(x, z)), x, y, z)
gr(0, x) → false
gr(s(x), 0) → true
gr(s(x), s(y)) → gr(x, y)
p(0) → 0
p(s(x)) → x
eq(0, 0) → true
eq(s(x), 0) → false
eq(0, s(x)) → false
eq(s(x), s(y)) → eq(x, y)
and(true, true) → true
and(false, x) → false
and(x, false) → false
cond1(true, x0, x1, x2)
cond2(true, x0, x1, x2)
cond2(false, x0, x1, x2)
gr(0, x0)
gr(s(x0), 0)
gr(s(x0), s(x1))
p(0)
p(s(x0))
eq(0, 0)
eq(s(x0), 0)
eq(0, s(x0))
eq(s(x0), s(x1))
and(true, true)
and(false, x0)
and(x0, false)