The definition you gave is it: least fixed point of
X |-> 1 + T × X × X
Hmmm, good question. In Aldor-combinat (AC) we deal with combinatorial
species. They encode actual structures. The corresponding generating
series G(x) for binary trees given by your X above has to fulfil the
equation
G(x) = 1 + x * G(x) * G(x) (+)
As a quadratic formula it has at most 2 solutions. And only one of those
solution is a power series with only non-negative coefficients. Since I
don't know what it should mean to say "there are -5 trees with 3 nodes",
it is clear which solution I choose for the generating series.
Assuming that I understand a bit of the theory of species, then there is
only *one* solution to
X = 1 + T * X * X.
We are not yet dealing with "virtual species" which would allow negative
coefficients in the generating series.
The interesting bit about those inductive definition is that they come
with "fold" (reduce in Axiom-speak) for free.
Hmmm, lazyness is important here. Unfortunately the internal definition
of formal power series in AC does not allow to write equation (+) as
such. One first has to say (something like)
g: FormalPowerSeries Integer := new();
set!(g, 1+x*g*g);
where x corresponds to the inteterminate of "FormalPowerSeries Integer".
| Recently, Martin Rubey has done some work to make Aldor-combinat
| available for Axiom, but for the underlying compilation we still need
| the Aldor compiler. So, Gaby, I consider Aldor-combinat a testcase for
| the compiler-improvements branch. ;-)
OK, I don't feel it like a pressure :-) :-)
No. No pressure intended. It's just something to motivate you. ;-)
Ralf
_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer