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
↳17 QDP
↳18 QDPOrderProof (⇔)
↳19 QDP
↳20 PisEmptyProof (⇔)
↳21 TRUE
↳22 QDP
↳23 QDPOrderProof (⇔)
↳24 QDP
↳25 PisEmptyProof (⇔)
↳26 TRUE
↳27 QDP
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
LOG(x, s(s(y))) → COND(le(x, s(s(y))), x, y)
LOG(x, s(s(y))) → LE(x, s(s(y)))
COND(false, x, y) → DOUBLE(log(x, square(s(s(y)))))
COND(false, x, y) → LOG(x, square(s(s(y))))
COND(false, x, y) → SQUARE(s(s(y)))
LE(s(u), s(v)) → LE(u, v)
DOUBLE(s(x)) → DOUBLE(x)
SQUARE(s(x)) → PLUS(square(x), double(x))
SQUARE(s(x)) → SQUARE(x)
SQUARE(s(x)) → DOUBLE(x)
PLUS(n, s(m)) → PLUS(n, m)
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
PLUS(n, s(m)) → PLUS(n, m)
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PLUS(n, s(m)) → PLUS(n, m)
s1 > PLUS1
s1: multiset
PLUS1: [1]
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
DOUBLE(s(x)) → DOUBLE(x)
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DOUBLE(s(x)) → DOUBLE(x)
s1 > DOUBLE1
DOUBLE1: multiset
s1: multiset
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
SQUARE(s(x)) → SQUARE(x)
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
SQUARE(s(x)) → SQUARE(x)
s1 > SQUARE1
SQUARE1: multiset
s1: multiset
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
LE(s(u), s(v)) → LE(u, v)
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
LE(s(u), s(v)) → LE(u, v)
trivial
s1: multiset
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))
COND(false, x, y) → LOG(x, square(s(s(y))))
LOG(x, s(s(y))) → COND(le(x, s(s(y))), x, y)
log(x, s(s(y))) → cond(le(x, s(s(y))), x, y)
cond(true, x, y) → s(0)
cond(false, x, y) → double(log(x, square(s(s(y)))))
le(0, v) → true
le(s(u), 0) → false
le(s(u), s(v)) → le(u, v)
double(0) → 0
double(s(x)) → s(s(double(x)))
square(0) → 0
square(s(x)) → s(plus(square(x), double(x)))
plus(n, 0) → n
plus(n, s(m)) → s(plus(n, m))
log(x0, s(s(x1)))
cond(true, x0, x1)
cond(false, x0, x1)
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
double(0)
double(s(x0))
square(0)
square(s(x0))
plus(x0, 0)
plus(x0, s(x1))