#16340: Infrastructure for modelling full subcategories
-------------------------------------+-------------------------------------
Reporter: nthiery | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.4
Component: categories | Resolution:
Keywords: full | Merged in:
subcategories, homset | Reviewers: Darij Grinberg,
Authors: Nicolas M. ThiƩry | Travis Scrimshaw
Report Upstream: N/A | Work issues:
Branch: | Commit:
public/categories/full_subcategories-16340|
60aa128d42ee140fb268423a924fd0e80aab7329
Dependencies: | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by nthiery):
Hi,
I just fixed some small typos, and reverted the change to
`CoxeterGroups.is_structure_category()` as we discussed.
Time for a checkpoint on the current status.
== Permutation groups ==
Looking back at Travis change, I would want to also revert the change
to `PermutationGroups()`, to let it be a structure category. Indeed,
permutation groups come with a distinguished action, and Wikipedia
states that this action should be preserved by isomorphisms:
http://en.wikipedia.org/wiki/Permutation_group#Permutation_isomorphic_groups
Do you agree?
== additional_structure w.r.t. full_super_categories ==
As discussed above, I believe that having the developer implement
`additional_structure` rather than `full_super_categories` is more
concise and involves less duplication. And also gives more information
(which category define additional structure) which could be further
refined (e.g. "Magmas()" defines "*"), if deemed useful in later
iterations.
Is this acceptable for everyone?
== additional_structure w.r.t is_structure_category ==
Do we have a consensus that the "additional_structure / structure"
language is better than "is_structure_category /
all_structure_super_categories"? And that for now we can specify that
`C.additional_structure()` shall return `C` or `None`?
If yes, I can implement this change shortly.
== Default for axioms ==
Currently, axiom categories define no additional structure by default.
To be 100% foolproof even when defining new axioms, one could change
that so an axiom category `C().A()` would by default define additional
structure if and only if `C` is the category defining the axiom `A`.
It would be a relatively small change. The cost is that all but two of
our current axioms would need to have an "additional_structure"
method. I also need to check whether it's easy to detect if `C` is
the category defining `A`.
Something similar could probably be done for functorial constructions,
but we need more data and thinking to do it right and the current
default is safe in the mean time.
== Anything else? ==
Cheers,
Nicolas
--
Ticket URL: <http://trac.sagemath.org/ticket/16340#comment:48>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.