R
↳Overlay and local confluence Check
R
↳OC
→TRS2
↳Dependency Pair Analysis
LE(s(x), s(y)) -> LE(x, y)
MINUS(s(x), y) -> IFMINUS(le(s(x), y), s(x), y)
MINUS(s(x), y) -> LE(s(x), y)
IFMINUS(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)))
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
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) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(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))))))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
...
→DP Problem 5
↳Size-Change Principle
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
LE(s(x), s(y)) -> LE(x, y)
none
innermost
|
|
trivial
s(x1) -> s(x1)
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
IFMINUS(false, s(x), y) -> MINUS(x, y)
MINUS(s(x), y) -> IFMINUS(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) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(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))))))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 6
↳Size-Change Principle
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
IFMINUS(false, s(x), y) -> MINUS(x, y)
MINUS(s(x), y) -> IFMINUS(le(s(x), y), s(x), y)
le(s(x), s(y)) -> le(x, y)
le(0, y) -> true
le(s(x), 0) -> false
innermost
|
|
|
|
trivial
s(x1) -> s(x1)
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Usable Rules (Innermost)
→DP Problem 4
↳UsableRules
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) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(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))))))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
...
→DP Problem 7
↳Negative Polynomial Order
→DP Problem 4
↳UsableRules
QUOT(s(x), s(y)) -> QUOT(minus(x, y), s(y))
le(s(x), s(y)) -> le(x, y)
le(0, y) -> true
le(s(x), 0) -> false
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
minus(0, y) -> 0
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(minus(x, y))
innermost
QUOT(s(x), s(y)) -> QUOT(minus(x, y), s(y))
le(s(x), s(y)) -> le(x, y)
le(0, y) -> true
le(s(x), 0) -> false
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
minus(0, y) -> 0
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(minus(x, y))
POL( QUOT(x1, x2) ) = x1
POL( s(x1) ) = x1 + 1
POL( minus(x1, x2) ) = x1
POL( le(x1, x2) ) = 0
POL( true ) = 0
POL( false ) = 0
POL( ifminus(x1, ..., x3) ) = x2
POL( 0 ) = 0
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
...
→DP Problem 8
↳Dependency Graph
→DP Problem 4
↳UsableRules
le(s(x), s(y)) -> le(x, y)
le(0, y) -> true
le(s(x), 0) -> false
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
minus(0, y) -> 0
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(minus(x, y))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳Usable Rules (Innermost)
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) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(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))))))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
...
→DP Problem 9
↳Negative Polynomial Order
LOG(s(s(x))) -> LOG(s(quot(x, s(s(0)))))
le(s(x), s(y)) -> le(x, y)
le(0, y) -> true
le(s(x), 0) -> false
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
minus(0, y) -> 0
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(minus(x, y))
innermost
LOG(s(s(x))) -> LOG(s(quot(x, s(s(0)))))
le(s(x), s(y)) -> le(x, y)
le(0, y) -> true
le(s(x), 0) -> false
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
minus(0, y) -> 0
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(minus(x, y))
POL( LOG(x1) ) = x1
POL( s(x1) ) = x1 + 1
POL( quot(x1, x2) ) = x1
POL( le(x1, x2) ) = 0
POL( true ) = 0
POL( false ) = 0
POL( 0 ) = 0
POL( minus(x1, x2) ) = x1
POL( ifminus(x1, ..., x3) ) = x2
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
...
→DP Problem 10
↳Dependency Graph
le(s(x), s(y)) -> le(x, y)
le(0, y) -> true
le(s(x), 0) -> false
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
minus(0, y) -> 0
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(minus(x, y))
innermost