TRS
↳Dependency Pair Analysis
TOP(free(x)) -> TOP(check(new(x)))
TOP(free(x)) -> CHECK(new(x))
TOP(free(x)) -> NEW(x)
NEW(free(x)) -> NEW(x)
OLD(free(x)) -> OLD(x)
CHECK(free(x)) -> CHECK(x)
CHECK(new(x)) -> NEW(check(x))
CHECK(new(x)) -> CHECK(x)
CHECK(old(x)) -> OLD(check(x))
CHECK(old(x)) -> CHECK(x)
TRS
↳DPs
→DP Problem 1
↳Usable Rules (Innermost)
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
NEW(free(x)) -> NEW(x)
top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)
innermost
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 6
↳Modular Removal of Rules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
NEW(free(x)) -> NEW(x)
none
innermost
POL(NEW(x1)) = x1 POL(free(x1)) = x1
NEW(free(x)) -> NEW(x)
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳Usable Rules (Innermost)
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
OLD(free(x)) -> OLD(x)
top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)
innermost
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 7
↳Modular Removal of Rules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
OLD(free(x)) -> OLD(x)
none
innermost
POL(free(x1)) = x1 POL(OLD(x1)) = x1
OLD(free(x)) -> OLD(x)
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳Usable Rules (Innermost)
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
CHECK(free(x)) -> CHECK(x)
top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)
innermost
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 8
↳Modular Removal of Rules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
CHECK(free(x)) -> CHECK(x)
none
innermost
POL(free(x1)) = x1 POL(CHECK(x1)) = x1
CHECK(free(x)) -> CHECK(x)
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳Usable Rules (Innermost)
→DP Problem 5
↳UsableRules
CHECK(old(x)) -> CHECK(x)
CHECK(new(x)) -> CHECK(x)
top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)
innermost
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 9
↳Modular Removal of Rules
→DP Problem 5
↳UsableRules
CHECK(old(x)) -> CHECK(x)
CHECK(new(x)) -> CHECK(x)
none
innermost
POL(old(x1)) = x1 POL(CHECK(x1)) = x1 POL(new(x1)) = x1
CHECK(old(x)) -> CHECK(x)
CHECK(new(x)) -> CHECK(x)
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳Usable Rules (Innermost)
TOP(free(x)) -> TOP(check(new(x)))
top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)
innermost
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳Modular Removal of Rules
TOP(free(x)) -> TOP(check(new(x)))
check(old(x)) -> old(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(x)
check(free(x)) -> free(check(x))
old(serve) -> free(serve)
old(free(x)) -> free(old(x))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
check(old(x)) -> old(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(x)
check(free(x)) -> free(check(x))
old(serve) -> free(serve)
old(free(x)) -> free(old(x))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
POL(serve) = 0 POL(old(x1)) = 1 + x1 POL(free(x1)) = x1 POL(check(x1)) = x1 POL(TOP(x1)) = x1 POL(new(x1)) = x1
old(serve) -> free(serve)
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳MRR
...
→DP Problem 11
↳Modular Removal of Rules
TOP(free(x)) -> TOP(check(new(x)))
check(old(x)) -> old(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(x)
check(free(x)) -> free(check(x))
old(free(x)) -> free(old(x))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
check(old(x)) -> old(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(x)
new(free(x)) -> free(new(x))
old(free(x)) -> free(old(x))
new(serve) -> free(serve)
check(free(x)) -> free(check(x))
POL(serve) = 0 POL(old(x1)) = 2·x1 POL(free(x1)) = 1 + x1 POL(check(x1)) = x1 POL(TOP(x1)) = 1 + x1 POL(new(x1)) = 1 + x1
old(free(x)) -> free(old(x))
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳MRR
...
→DP Problem 12
↳Modular Removal of Rules
TOP(free(x)) -> TOP(check(new(x)))
check(old(x)) -> old(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(x)
check(free(x)) -> free(check(x))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
check(old(x)) -> old(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(x)
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
check(free(x)) -> free(check(x))
POL(serve) = 0 POL(old(x1)) = 1 + x1 POL(free(x1)) = 2·x1 POL(check(x1)) = 2·x1 POL(TOP(x1)) = x1 POL(new(x1)) = x1
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳MRR
...
→DP Problem 13
↳Narrowing Transformation
TOP(free(x)) -> TOP(check(new(x)))
check(new(x)) -> new(check(x))
check(free(x)) -> free(check(x))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
innermost
three new Dependency Pairs are created:
TOP(free(x)) -> TOP(check(new(x)))
TOP(free(x'')) -> TOP(new(check(x'')))
TOP(free(free(x''))) -> TOP(check(free(new(x''))))
TOP(free(serve)) -> TOP(check(free(serve)))
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳MRR
...
→DP Problem 14
↳Negative Polynomial Order
TOP(free(serve)) -> TOP(check(free(serve)))
TOP(free(free(x''))) -> TOP(check(free(new(x''))))
TOP(free(x'')) -> TOP(new(check(x'')))
check(new(x)) -> new(check(x))
check(free(x)) -> free(check(x))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
innermost
TOP(free(serve)) -> TOP(check(free(serve)))
check(new(x)) -> new(check(x))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
check(free(x)) -> free(check(x))
POL( TOP(x1) ) = x1
POL( free(x1) ) = x1
POL( serve ) = 1
POL( check(x1) ) = 0
POL( new(x1) ) = x1
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳MRR
...
→DP Problem 15
↳Semantic Labelling
TOP(free(free(x''))) -> TOP(check(free(new(x''))))
TOP(free(x'')) -> TOP(new(check(x'')))
check(new(x)) -> new(check(x))
check(free(x)) -> free(check(x))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
innermost
TOP(x0) = 1 free(x0) = x0 new(x0) = x0 check(x0) = 1 serve = 0
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳MRR
...
→DP Problem 16
↳Modular Removal of Rules
TOP1(free1(x'')) -> TOP1(new1(check1(x'')))
TOP1(free1(free1(x''))) -> TOP1(check1(free1(new1(x''))))
check0(new0(x)) -> new1(check0(x))
check0(free0(x)) -> free1(check0(x))
new0(free0(x)) -> free0(new0(x))
new0(serve) -> free0(serve)
new1(free1(x)) -> free1(new1(x))
check1(new1(x)) -> new1(check1(x))
check1(free1(x)) -> free1(check1(x))
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
new1(free1(x)) -> free1(new1(x))
check1(free1(x)) -> free1(check1(x))
check1(new1(x)) -> new1(check1(x))
POL(free_1(x1)) = x1 POL(check_1(x1)) = x1 POL(TOP_1(x1)) = 1 + x1 POL(new_1(x1)) = x1
TRS
↳DPs
→DP Problem 1
↳UsableRules
→DP Problem 2
↳UsableRules
→DP Problem 3
↳UsableRules
→DP Problem 4
↳UsableRules
→DP Problem 5
↳UsableRules
→DP Problem 10
↳MRR
...
→DP Problem 17
↳Modular Removal of Rules
TOP1(free1(free1(x''))) -> TOP1(check1(free1(new1(x''))))
TOP1(free1(x'')) -> TOP1(new1(check1(x'')))
new1(free1(x)) -> free1(new1(x))
check1(free1(x)) -> free1(check1(x))
check1(new1(x)) -> new1(check1(x))
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
new1(free1(x)) -> free1(new1(x))
check1(free1(x)) -> free1(check1(x))
check1(new1(x)) -> new1(check1(x))
POL(free_1(x1)) = 1 + x1 POL(check_1(x1)) = x1 POL(TOP_1(x1)) = 1 + x1 POL(new_1(x1)) = x1
TOP1(free1(free1(x''))) -> TOP1(check1(free1(new1(x''))))
TOP1(free1(x'')) -> TOP1(new1(check1(x'')))
Innermost Termination of R successfully shown.
Duration:
0:15 minutes