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)
s1 > [true, gr, p1, false, and, eq, 0] > [cond12, cond22]
s1: multiset
cond12: [2,1]
true: multiset
cond22: [2,1]
gr: []
p1: [1]
false: multiset
and: []
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)
eq > [false, and, 0] > [cond11, cond21] > p1
eq > [false, and, 0] > gr1 > true
s1: multiset
cond11: [1]
true: multiset
cond21: [1]
gr1: multiset
p1: multiset
false: multiset
and: []
eq: multiset
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)