#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.

Reply via email to