R
↳Dependency Pair Analysis
ACTIVE(f(g(X), Y)) -> F(X, f(g(X), Y))
ACTIVE(f(X1, X2)) -> F(active(X1), X2)
ACTIVE(f(X1, X2)) -> ACTIVE(X1)
ACTIVE(g(X)) -> G(active(X))
ACTIVE(g(X)) -> ACTIVE(X)
F(mark(X1), X2) -> F(X1, X2)
F(ok(X1), ok(X2)) -> F(X1, X2)
G(mark(X)) -> G(X)
G(ok(X)) -> G(X)
PROPER(f(X1, X2)) -> F(proper(X1), proper(X2))
PROPER(f(X1, X2)) -> PROPER(X1)
PROPER(f(X1, X2)) -> PROPER(X2)
PROPER(g(X)) -> G(proper(X))
PROPER(g(X)) -> PROPER(X)
TOP(mark(X)) -> TOP(proper(X))
TOP(mark(X)) -> PROPER(X)
TOP(ok(X)) -> TOP(active(X))
TOP(ok(X)) -> ACTIVE(X)
R
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
F(ok(X1), ok(X2)) -> F(X1, X2)
F(mark(X1), X2) -> F(X1, X2)
active(f(g(X), Y)) -> mark(f(X, f(g(X), Y)))
active(f(X1, X2)) -> f(active(X1), X2)
active(g(X)) -> g(active(X))
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
top(mark(X)) -> top(proper(X))
top(ok(X)) -> top(active(X))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 6
↳Size-Change Principle
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
F(ok(X1), ok(X2)) -> F(X1, X2)
F(mark(X1), X2) -> F(X1, X2)
none
innermost
|
|
|
|
trivial
mark(x1) -> mark(x1)
ok(x1) -> ok(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
G(ok(X)) -> G(X)
G(mark(X)) -> G(X)
active(f(g(X), Y)) -> mark(f(X, f(g(X), Y)))
active(f(X1, X2)) -> f(active(X1), X2)
active(g(X)) -> g(active(X))
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
top(mark(X)) -> top(proper(X))
top(ok(X)) -> top(active(X))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 7
↳Size-Change Principle
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
G(ok(X)) -> G(X)
G(mark(X)) -> G(X)
none
innermost
|
|
trivial
mark(x1) -> mark(x1)
ok(x1) -> ok(x1)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Usable Rules (Innermost)
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
ACTIVE(g(X)) -> ACTIVE(X)
ACTIVE(f(X1, X2)) -> ACTIVE(X1)
active(f(g(X), Y)) -> mark(f(X, f(g(X), Y)))
active(f(X1, X2)) -> f(active(X1), X2)
active(g(X)) -> g(active(X))
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
top(mark(X)) -> top(proper(X))
top(ok(X)) -> top(active(X))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳Size-Change Principle
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
ACTIVE(g(X)) -> ACTIVE(X)
ACTIVE(f(X1, X2)) -> ACTIVE(X1)
none
innermost
|
|
trivial
g(x1) -> g(x1)
f(x1, x2) -> f(x1, x2)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳Usable Rules (Innermost)
→DP Problem 5
↳UsableRules
PROPER(g(X)) -> PROPER(X)
PROPER(f(X1, X2)) -> PROPER(X2)
PROPER(f(X1, X2)) -> PROPER(X1)
active(f(g(X), Y)) -> mark(f(X, f(g(X), Y)))
active(f(X1, X2)) -> f(active(X1), X2)
active(g(X)) -> g(active(X))
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
top(mark(X)) -> top(proper(X))
top(ok(X)) -> top(active(X))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 9
↳Size-Change Principle
→DP Problem 5
↳UsableRules
PROPER(g(X)) -> PROPER(X)
PROPER(f(X1, X2)) -> PROPER(X2)
PROPER(f(X1, X2)) -> PROPER(X1)
none
innermost
|
|
trivial
g(x1) -> g(x1)
f(x1, x2) -> f(x1, x2)
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳Usable Rules (Innermost)
TOP(ok(X)) -> TOP(active(X))
TOP(mark(X)) -> TOP(proper(X))
active(f(g(X), Y)) -> mark(f(X, f(g(X), Y)))
active(f(X1, X2)) -> f(active(X1), X2)
active(g(X)) -> g(active(X))
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
top(mark(X)) -> top(proper(X))
top(ok(X)) -> top(active(X))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳Negative Polynomial Order
TOP(ok(X)) -> TOP(active(X))
TOP(mark(X)) -> TOP(proper(X))
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
active(g(X)) -> g(active(X))
active(f(X1, X2)) -> f(active(X1), X2)
active(f(g(X), Y)) -> mark(f(X, f(g(X), Y)))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
innermost
TOP(ok(X)) -> TOP(active(X))
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
active(g(X)) -> g(active(X))
active(f(X1, X2)) -> f(active(X1), X2)
active(f(g(X), Y)) -> mark(f(X, f(g(X), Y)))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
POL( TOP(x1) ) = x1
POL( ok(x1) ) = 1
POL( active(x1) ) = 0
POL( mark(x1) ) = 0
POL( proper(x1) ) = 0
POL( f(x1, x2) ) = x1
POL( g(x1) ) = x1
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳Neg POLO
...
→DP Problem 11
↳Usable Rules (Innermost)
TOP(mark(X)) -> TOP(proper(X))
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
active(g(X)) -> g(active(X))
active(f(X1, X2)) -> f(active(X1), X2)
active(f(g(X), Y)) -> mark(f(X, f(g(X), Y)))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
innermost
R
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳Neg POLO
...
→DP Problem 12
↳Modular Removal of Rules
TOP(mark(X)) -> TOP(proper(X))
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
f(mark(X1), X2) -> mark(f(X1, X2))
f(ok(X1), ok(X2)) -> ok(f(X1, X2))
proper(f(X1, X2)) -> f(proper(X1), proper(X2))
proper(g(X)) -> g(proper(X))
g(mark(X)) -> mark(g(X))
g(ok(X)) -> ok(g(X))
POL(proper(x1)) = x1 POL(g(x1)) = x1 POL(mark(x1)) = 1 + x1 POL(TOP(x1)) = x1 POL(ok(x1)) = x1 POL(f(x1, x2)) = x1 + x2
TOP(mark(X)) -> TOP(proper(X))
Innermost Termination of R successfully shown.
Duration:
0:00 minutes