The
1st
component contains the
pair
count#(node(x0,x1),y1) |
→ |
if#(false,isEmpty(left(node(x0,x1))),right(node(x0,x1)),node(left(left(node(x0,x1))),node(right(left(node(x0,x1))),right(node(x0,x1)))),y1,inc(y1)) |
(27) |
if#(false,false,n,m,x,y) |
→ |
count#(m,x) |
(23) |
if#(false,true,n,m,x,y) |
→ |
count#(n,y) |
(24) |
1.1.1.1.1.1.1.1 Rewriting Processor
We rewrite the right hand side of the pair
resulting in
1.1.1.1.1.1.1.1.1 Rewriting Processor
We rewrite the right hand side of the pair
resulting in
1.1.1.1.1.1.1.1.1.1 Rewriting Processor
We rewrite the right hand side of the pair
resulting in
1.1.1.1.1.1.1.1.1.1.1 Rewriting Processor
We rewrite the right hand side of the pair
resulting in
1.1.1.1.1.1.1.1.1.1.1.1 Rewriting Processor
We rewrite the right hand side of the pair
resulting in
1.1.1.1.1.1.1.1.1.1.1.1.1 Narrowing Processor
We consider all narrowings of the pair
below position
2
to get the following set of pairs
count#(node(empty,y1),y2) |
→ |
if#(false,true,y1,node(left(empty),node(right(empty),y1)),y2,inc(y2)) |
(33) |
count#(node(node(x0,x1),y1),y2) |
→ |
if#(false,false,y1,node(left(node(x0,x1)),node(right(node(x0,x1)),y1)),y2,inc(y2)) |
(34) |
1.1.1.1.1.1.1.1.1.1.1.1.1.1 Usable Rules Processor
We restrict the rewrite rules to the following usable rules of the DP problem.
left(node(l,r)) |
→ |
l |
(4) |
right(node(l,r)) |
→ |
r |
(6) |
inc(0) |
→ |
s(0) |
(7) |
inc(s(x)) |
→ |
s(inc(x)) |
(8) |
left(empty) |
→ |
empty |
(3) |
right(empty) |
→ |
empty |
(5) |
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Innermost Lhss Removal Processor
We restrict the innermost strategy to the following left hand sides.
left(empty) |
left(node(x0,x1)) |
right(empty) |
right(node(x0,x1)) |
inc(0) |
inc(s(x0)) |
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Rewriting Processor
We rewrite the right hand side of the pair
resulting in
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Usable Rules Processor
We restrict the rewrite rules to the following usable rules of the DP problem.
right(empty) |
→ |
empty |
(5) |
inc(0) |
→ |
s(0) |
(7) |
inc(s(x)) |
→ |
s(inc(x)) |
(8) |
left(node(l,r)) |
→ |
l |
(4) |
right(node(l,r)) |
→ |
r |
(6) |
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Rewriting Processor
We rewrite the right hand side of the pair
resulting in
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Usable Rules Processor
We restrict the rewrite rules to the following usable rules of the DP problem.
right(node(l,r)) |
→ |
r |
(6) |
inc(0) |
→ |
s(0) |
(7) |
inc(s(x)) |
→ |
s(inc(x)) |
(8) |
right(empty) |
→ |
empty |
(5) |
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Innermost Lhss Removal Processor
We restrict the innermost strategy to the following left hand sides.
right(empty) |
right(node(x0,x1)) |
inc(0) |
inc(s(x0)) |
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Rewriting Processor
We rewrite the right hand side of the pair
resulting in
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Usable Rules Processor
We restrict the rewrite rules to the following usable rules of the DP problem.
inc(0) |
→ |
s(0) |
(7) |
inc(s(x)) |
→ |
s(inc(x)) |
(8) |
right(node(l,r)) |
→ |
r |
(6) |
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Rewriting Processor
We rewrite the right hand side of the pair
resulting in
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Usable Rules Processor
We restrict the rewrite rules to the following usable rules of the DP problem.
inc(0) |
→ |
s(0) |
(7) |
inc(s(x)) |
→ |
s(inc(x)) |
(8) |
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Innermost Lhss Removal Processor
We restrict the innermost strategy to the following left hand sides.
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Instantiation Processor
We instantiate the pair
to the following set of pairs
if#(false,true,z0,node(empty,node(empty,z0)),z1,y_0) |
→ |
count#(z0,y_0) |
(39) |
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Reduction Pair Processor
Using the linear polynomial interpretation over the naturals
[if#(x1,...,x6)] |
= |
-1 + 2 · x2 + 2 · x4 + x5 + x6
|
[inc(x1)] |
= |
1 |
[0] |
= |
0 |
[s(x1)] |
= |
-2 + x1
|
[false] |
= |
2 |
[count#(x1, x2)] |
= |
2 + 2 · x1 + x2
|
[node(x1, x2)] |
= |
1 + 2 · x1 + x2
|
[empty] |
= |
0 |
[true] |
= |
0 |
the
pairs
if#(false,false,n,m,x,y) |
→ |
count#(m,x) |
(23) |
if#(false,true,z0,node(empty,node(empty,z0)),z1,y_0) |
→ |
count#(z0,y_0) |
(39) |
could be deleted.
1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1 Dependency Graph Processor
The dependency pairs are split into 0
components.