Dear list,

Let's for sanity's sake suppose that == among all vertex labels of
FinitePosets is an equivalence relation. Let's moreover suppose that
hashing respects this equivalence relation.

Then the problem seems to be that in the unique representation
(an_integer_labelled_hasse_diagram, list_of_vertex_labels)
of FinitePoset the internal mapping from vertex labels to integers is
exposed.

It seems to me that this can be fixed by
A) getting rid of the exposure of the internal mapping,
or
B) by making the internal mapping unique given the Hasse diagram
labelled using the actual vertex labels.

Option A probably involves using a vertex label labelled Hasse diagram
in the unique representation. The issue then becomes implementing that.

This could perhaps be an object storing a set, an integer labelled Hasse
diagram, and a map from the set to the integers. Then equality of such
objects is equality of the sets together with equality of the integer
labelled Hasse diagrams after the appropriate permutation. Coming up
with a good hash function for such objects might be hard.

Option B can be done by
i) requiring that the occurring vertex labels have a total ordering
or
ii) making up a total ordering of the occurring vertex labels and
storing it globally.


There're probably more options, but I hope this helps.


Regards,

Erik Massop

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to