A quick reply, for a better reply I need to know some more things:
1. Question:
It seems that it is perfectly alright for $rat to put *anything* on the
DISREP property of a genvar symbol, discarding its previous value?
Is this really true?
2. Question:
How is the varlist genvar genvar-plist correspondence supposed to work?
I see lots of functions (in hayat.lisp) putting stuff on the DISREP
property of genvars, and rat3e/pdisrep reads this property.
In fact, it is ($ratdisrep ($rat e *var*)) at the very beginning of
fpolysum (which is in turn called by maxima-substitute, taylor2, and so
on) which puts a $L on the DISREP property and makes varlist, genvar and
the DISREP properties look as follows:
(I made a list (varlist (genv1 DISREP-prop1) (genv2 DISREP-prop2) ...))
("fpolysum"
($D ((%SUM SIMP)
((MTIMES SIMP) ((%SUM SIMP) ((MEXPT SIMP) $L $K) $L 1 $
((MEXPT SIMP) $M $K))
$K 1 $INF)
$M)
((#:D21809 $L) (#:|'SUM(('SUM(L^K,L,1,D))*M^K,K,1,INF)21808|
(#:M21808 $M)))
I find this very strange: following the varlist / genvar correspondence, I
believed that #:D21809 should correspond to $L, but ratdisrepd will read
$L, it doesn't read the varlist...
In fact, I don't think this is a bug. To judge, I would have to know how
disreping works: It does not seem that the varlist is read...
(I think I have to give up)
Thanks anyway, Martin
----------------------------------------------------------
> also note that there are sticky parts involving
> rational forms where the kernels are subtlely dependent
>
> e.g. exp(x), exp(y), exp((x+y)/2) should not have 3 gensyms.
what do you mean with "sticky parts"?