special word | as a rational function |
---|---|
see | see[z] = z |
from | from[z] = 1-z |
apply | apply[z] = 1/z |
with | with[z] = 1/(1-z) |
note | note[z] = z/(z-1) |
over | over[z] = (z-1)/z |
as | as[z] = -1 |
in | in[z] = 1 |
k[l][z] = k[l[z]], for k,l scalars
[k l][z] = k[z] l[z], for k,l scalars
origin | | | (is asimilated with a variable) | ||
a | variable | | | ||
a ◦ b | a, b terms | | | (map) | |
a • b | a, b terms | | | (unmap) | |
a > b | a, b terms | | | (fi) | |
a < b | a, b terms | | | (fox) | |
λ a. b | a, b terms | | | (abstraction) | |
a b | b, b terms | | | (application) |
command | algebraic form | functional form | graphical form |
---|---|---|---|
from e see a as b; |
map
b = e ◦ a; |
from e see a as b; |
|
see a from e as b; |
abstraction
b = λ e. a; |
see a from e as b; |
|
as b from e see a; |
application
a = b e; |
apply b over e as a; |
|
see a as b from e; |
fi
e = a > b; |
note a with b as e; |
|
from e as b see a; |
unmap
a = e • b; |
over e apply b as a; |
|
as b see a from e; |
fox
e = b < a; |
with b note a as e; |
|
in e as a free b;
in e free b as a;
in a as b;
in a;
as a;
free a;
apply b over e as a;
(apply as) (as b from e see a);
b = a; | is replaced by | in a as b; |
command | algebraic form | replace by |
---|---|---|
from e see a as b; | b = e ◦ a; | in (e ◦ a) as b; |
see a from e as b; | b = λ e. a; | in (λ e. a) as b; |
as b from e see a; | a = b e; | in (b e) as a; |
see a as b from e; | e = a > b; | in (a > b) as e; |
from e as b see a; | a = e • b; | in (e • b) as a; |
as b see a from e; | e = b < a; | in (b < a) as e; |
LHS pattern | action |
---|---|
in a as b; | delete the command, replace b by a |
LHS pattern | action |
---|---|
see a from e as b; | delete the command, replace b by λ e. a |
for[ε] a see[ε] b as[ε] e; |
for[μ] e see[μ] c as[μ] d; |
for[ε] u see[ε] w as[ε] c; |
LHS pattern | RHS pattern | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
|
from[μ] origin see[μ] T as (μ T);
from[ε] u see[ε] w as[ε] c;
from[ε] (μ u) see[ε] (μ w) as[ε] (μ c);
LHS pattern | RHS pattern | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
|
LHS pattern | RHS pattern | |
---|---|---|
from[μ] e see[μ] a as[μ] b; | μ → 1 | in e; in a as b; |
μ → 0 | in a; in e as b; | |
μ → ∞ | in e free a as b; | |
see[μ] a from[μ] e as[μ] b; | μ → 1 | as e; in a as b; |
μ → 0 | in a as e free b; | |
μ → ∞ | as b; in a as e; | |
as[μ] b from[μ] e see[μ] a; | μ → 1 | in e; in b as a; |
μ → 0 | in b free e as a; | |
μ → ∞ | as b; in e as a; | |
see[μ] a as[μ] b from[μ] e; | μ → 1 | in a free b as e; |
μ → 0 | in a; in b as e; | |
μ → ∞ | in b; in a as e; | |
from[μ] e as[μ] b see[μ] a; | μ → 1 | in e as b free a; |
μ → 0 | as a; in e as b; | |
μ → ∞ | as b; in e as a; | |
as[μ] b see[μ] a from[μ] e; | μ → 1 | as e; in b as a; |
μ → 0 | as a; in b as e; | |
μ → ∞ | in b; as a free e; |
And the SHUFFLE which finishes the dist1 rewrite is in the next figure. The right column of the figure shows the rewrite in terms of D nodes (dilations) and the column from the left shows the rewrite A-FOE from chemlambda, which is a particular dist1 rewrite.