> Augment(L: LabelType): LabelType with {
>         star: %;
>         star?: % -> Boolean;
>         label: % -> L;
>         coerce: L -> %;
> } == add {
>         Rep == Union(star: Boolean, label: L); import from Rep;

Would you mind to use

        Rep == Record(label: L);

Then

    star?(x: %): Boolean == nil? rep x;
    star: % == nil$Rep;

Unfortunately, I don't know yet how to let this work in Axiom.

> If one *really* needs to distinguish the different transcendental elements, 
> one
> could write them as *1, *2, etc.

Ah, but then what about allowing Derivative(F) to have an (optional) 
additional element with is by default newLabel()$ExtraLabels and have 
the user provide the *1, *2, etc?

> But then, we have the same problem in Plus:
> 
> %83 >> b := structures(set 
> ["a"])$(Plus(SingletonSpecies,SingletonSpecies))(String)

Yep. I'd call this a bug. Internally everything is correct, but the 
output is not isomorphic with the internal structure. :-(

Have you any preference how we should handle that? What's MuPAD-Combinat 
doing in that case?

>> Also that sounds a bit like introducing overhead. So I thought, it would be
>> better if (at least some) label domains know how to generate new labels that
>> have never been used before. That would for example allow Integer to be used
>> as LabelType with the restriction that the user should never use negative
>> integers as labels.
> 
> I think the approach using transcendental elements is better - it seems closer
> to the maths to me.

As I said. I am open and somehow I always prefer a clean design. Mine is 
certainly not the best.

Ralf

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Aldor-combinat-devel mailing list
Aldor-combinat-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel

Reply via email to