>> linear species.

>> They don't look like a big deal from the design point of view.  The only
>> thing that bothers me that there is a (ordinary) species of permutation and a
>> linear one and it would be a pity to call them by different names.
> 
> I think it would be a great thing if we'd be able to somehow transform 
> ordinary
> species into linear species.

I didn't dare to write it, but I had a similar idea even before I read 
Remark 5.1.5. (which basically says that one can define a linear species 
G from an ordinary species F by G[U, <] := F[U]).

Looks like a "coerce" ;-), but note that I would really make the type of 
G different from F. First, it is a different type mathematically:
F: B -> B, G: L -> B
(where B is the category of finite sets and bijections and L is the 
category of finite ordered sets and increasing bijections (isomorphisms 
of ordered sets).
And second, there is no point in exporting "isomorphism types" in 
LinearSpeciesCategory since "structures" agree with "isomorphismTypes".
(There is only one increasing bijection between two ordered n-sets.)

> As I said before, in the labelled case, this should be easy. 

There is no "unlabelled" case in a linear species context.

> Why should it be a problem to have Permutation by a CombinatorialSpecies and a
> LinearSpecies, by the way?

If I am not wrong, then Aldor should allow

   Permutation(L: LabelType): CombinatorialSpeciesCategory L == add ...

and

   Permutation(L: LabelType): LinearSpeciesCategory L == add ...

since each of the above "Permutation" has a different type.

There are two problems that I think will make this option not so well 
suited.

1) If the is a "import from Combinat" then both versions are in scope 
and if you then "import from Permutation(Integer)", it is not clear 
which one is meant. I don't even recall whether

import from Permutation(Integer)@LinearSpeciesCategory(Integer);

would work. (I guess not.)

2) The current Aldor compiler produces garbage with such a construction.

>> However, in order to make ranking/unranking corresponding to the 
>> generation of structures, I like to introduce an order on the set L of 
>> labels, ie.,
>>
>> define LabelType: Category == TotallyOrderedType with {
>>     ...
>> }
>>
>> Using this order, it is straightforward to say that
>>
>> structures set [1,2,3]
>>
>> and
>>
>> structures set [2,1,3]
>>
>> generate the same structures in the same order.
> 
> Yes that sounds reasonable.  It is probably better than introducing an
> OrderedSet (aka List...) as I proposed at the very beginning of this project.

Don't mix OrderedSet and List. [1,2,3,4] is a "OrderedSet" and [1,2,2,3] 
is a "List". The second does not fit into the first.

> By the way, couldn't we drop the "Species" from SetSpecies then?

A definite no. Because there is "Set" in LibAldor as well as in Axiom. 
What we are doing is something with a different semantics.

> I hope, it is always possible to give a set some order... (Not only in theory)

I don't understand your worries. What do you mean?

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