Martin Rubey
2007-06-16 22:15:30 UTC
Dear Ralf,
I just noticed yet another little complication concerning the isotypes of
Compose. Once more the algorithm for isotypes of F o G [U]:
eg., U={0,1,2,3,4,5,6,7,8,9}
* generate an isotype-partition p of the input set
eg., p={{0,1,2,3},{4,5},{6,7},{8,9}}
* generate for each block b of p the set of isotypes T of G[q], where q is a
representative of the sets in b.
eg., b={{4,5},{6,7},{8,9}}
q= {4,5}
eg., T(G[q]) = {a, b, c, d, e}
(of course each isotype a,b,... depends on q.)
* generate an n(b)-composition (! not an isotype, that was a mistake today
afternoon !) c of the set T, where n(b) is the multiplicity of b in p
eg., n(b)=3
a a a, a a b, a a c, ... a b c, ...., c d e
* coerce c into a multisetspecies m in n(b) variables such that equal of the
composition form a sort, by relabelling appropriately.
eg., c = a a b => ( {a(4,5), a(6,7)} | {b(8,9)} | {} )
c = a c c => ( {a(4,5)} | {} | {c(6,7) c(8,9)} )
c = b c d => ( {b(4,5)} | {c(6,7)} | {d(8,9)} )
* generate an isotype of F[m].
This last step is not well defined! It means that we need for every univariate
species a corresponding multivariate species, in the way I have defined them in
iso-experiment currently, or, in other words, I need the isotypes of
F(X+Y+Z+...).
This extension will be necessary also for multisort species: if F is a species
in, say, 2 sorts, I really need also the isotypes of F(X+Y+..., A+B+...) to be
able to do isotypes of composition.
Now, what is the right signature for isomorphismTypes in the univariate case?
Probably
isomorphismTypes: MultisetSpecies(L) -> %
but now L is not a MultiLabelType but rather just a LabelType, and
MultisetSpecies(L) should be the set species in an arbitrary number of sorts,
but all of LabelType L.
Huh.
Martin
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
I just noticed yet another little complication concerning the isotypes of
Compose. Once more the algorithm for isotypes of F o G [U]:
eg., U={0,1,2,3,4,5,6,7,8,9}
* generate an isotype-partition p of the input set
eg., p={{0,1,2,3},{4,5},{6,7},{8,9}}
* generate for each block b of p the set of isotypes T of G[q], where q is a
representative of the sets in b.
eg., b={{4,5},{6,7},{8,9}}
q= {4,5}
eg., T(G[q]) = {a, b, c, d, e}
(of course each isotype a,b,... depends on q.)
* generate an n(b)-composition (! not an isotype, that was a mistake today
afternoon !) c of the set T, where n(b) is the multiplicity of b in p
eg., n(b)=3
a a a, a a b, a a c, ... a b c, ...., c d e
* coerce c into a multisetspecies m in n(b) variables such that equal of the
composition form a sort, by relabelling appropriately.
eg., c = a a b => ( {a(4,5), a(6,7)} | {b(8,9)} | {} )
c = a c c => ( {a(4,5)} | {} | {c(6,7) c(8,9)} )
c = b c d => ( {b(4,5)} | {c(6,7)} | {d(8,9)} )
* generate an isotype of F[m].
This last step is not well defined! It means that we need for every univariate
species a corresponding multivariate species, in the way I have defined them in
iso-experiment currently, or, in other words, I need the isotypes of
F(X+Y+Z+...).
This extension will be necessary also for multisort species: if F is a species
in, say, 2 sorts, I really need also the isotypes of F(X+Y+..., A+B+...) to be
able to do isotypes of composition.
Now, what is the right signature for isomorphismTypes in the univariate case?
Probably
isomorphismTypes: MultisetSpecies(L) -> %
but now L is not a MultiLabelType but rather just a LabelType, and
MultisetSpecies(L) should be the set species in an arbitrary number of sorts,
but all of LabelType L.
Huh.
Martin
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/