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 DependencyGraphProof (⇔)
↳16 TRUE
↳17 QDP
↳18 QDPOrderProof (⇔)
↳19 QDP
↳20 PisEmptyProof (⇔)
↳21 TRUE
↳22 QDP
↳23 QDPOrderProof (⇔)
↳24 QDP
↳25 PisEmptyProof (⇔)
↳26 TRUE
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))
LE(s(x), s(y)) → LE(x, y)
MINUS(s(x), y) → IF_MINUS(le(s(x), y), s(x), y)
MINUS(s(x), y) → LE(s(x), y)
IF_MINUS(false, s(x), y) → MINUS(x, y)
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
QUOT(s(x), s(y)) → MINUS(x, y)
LOG(s(s(x))) → LOG(s(quot(x, s(s(0)))))
LOG(s(s(x))) → QUOT(x, s(s(0)))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))
LE(s(x), s(y)) → LE(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
LE(s(x), s(y)) → LE(x, y)
LE1 > [0, true, false]
s1 > le > [0, true, false]
LE1: [1]
s1: [1]
le: []
0: multiset
true: multiset
false: multiset
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))
MINUS(s(x), y) → IF_MINUS(le(s(x), y), s(x), y)
IF_MINUS(false, s(x), y) → MINUS(x, y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
IF_MINUS(false, s(x), y) → MINUS(x, y)
[s1, log1] > 0 > [MINUS2, IFMINUS2, false] > le1
[s1, log1] > 0 > true
MINUS2: multiset
s1: [1]
IFMINUS2: multiset
le1: multiset
false: multiset
0: multiset
true: multiset
log1: [1]
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
MINUS(s(x), y) → IF_MINUS(le(s(x), y), s(x), y)
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
QUOT(s(x), s(y)) → QUOT(minus(x, y), s(y))
log1 > [QUOT1, s1] > [le1, 0, true, false]
QUOT1: [1]
s1: multiset
le1: [1]
0: multiset
true: multiset
false: multiset
log1: multiset
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))
LOG(s(s(x))) → LOG(s(quot(x, s(s(0)))))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
LOG(s(s(x))) → LOG(s(quot(x, s(s(0)))))
LOG1 > [s1, 0, false] > true
le > [s1, 0, false] > true
log1 > [s1, 0, false] > true
LOG1: multiset
s1: [1]
0: multiset
le: multiset
true: multiset
false: multiset
log1: multiset
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
minus(0, y) → 0
minus(s(x), y) → if_minus(le(s(x), y), s(x), y)
if_minus(true, s(x), y) → 0
if_minus(false, s(x), y) → s(minus(x, y))
quot(0, s(y)) → 0
quot(s(x), s(y)) → s(quot(minus(x, y), s(y)))
log(s(0)) → 0
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))
le(0, x0)
le(s(x0), 0)
le(s(x0), s(x1))
minus(0, x0)
minus(s(x0), x1)
if_minus(true, s(x0), x1)
if_minus(false, s(x0), x1)
quot(0, s(x0))
quot(s(x0), s(x1))
log(s(0))
log(s(s(x0)))