blob: c6486505627b3f66f26c6d8d3739122f6702b037 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// Rules
dup(a1,a2) >< (int i):xs => a1~(i:xs1), a2~(i:xs2), dup(xs1,xs2)~xs;
dup(a1,a2) >< [] => a1~[], a2~[];
inc(r) >< (int i):xs => r~(i+1):w, inc(w)~xs;
inc(r) >< [] => r~[];
// Nets
dup(r,w)~r1, inc(r1) ~ (0:w);
// r,w << dup(r1), r1 << inc(0:w)
// +-----+ +-----+ +---+
// r ----| | r1 | | | |
// | dup |--->---| inc |---><---| 0 |----+
// +---| | | | | | |
// | +-----+ +-----+ +---+ |
// | |
// +-----------------------------------------+
// w
|