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)
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
→DP Problem 3
↳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)))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
...
→DP Problem 4
↳Size-Change Principle
→DP Problem 2
↳UsableRules
→DP Problem 3
↳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
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)))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
...
→DP Problem 5
↳Size-Change Principle
→DP Problem 3
↳UsableRules
IFMINUS(false, s(X), Y) -> MINUS(X, Y)
MINUS(s(X), Y) -> IFMINUS(le(s(X), Y), s(X), Y)
le(s(X), 0) -> false
le(0, Y) -> true
le(s(X), s(Y)) -> le(X, Y)
innermost
|
|
|
|
trivial
s(x1) -> s(x1)
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Usable Rules (Innermost)
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)))
innermost
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
...
→DP Problem 6
↳Negative Polynomial Order
QUOT(s(X), s(Y)) -> 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))
le(s(X), 0) -> false
le(0, Y) -> true
le(s(X), s(Y)) -> le(X, Y)
innermost
QUOT(s(X), s(Y)) -> 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))
le(s(X), 0) -> false
le(0, Y) -> true
le(s(X), s(Y)) -> le(X, Y)
POL( QUOT(x1, x2) ) = x1
POL( s(x1) ) = x1 + 1
POL( minus(x1, x2) ) = x1
POL( ifMinus(x1, ..., x3) ) = x2
POL( 0 ) = 0
POL( le(x1, x2) ) = 0
POL( false ) = 0
POL( true ) = 0
R
↳OC
→TRS2
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
...
→DP Problem 7
↳Dependency Graph
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))
le(s(X), 0) -> false
le(0, Y) -> true
le(s(X), s(Y)) -> le(X, Y)
innermost