#15801: Categories over a base ring category
-------------------------------+------------------------
       Reporter:  nthiery      |        Owner:
           Type:  enhancement  |       Status:  new
       Priority:  major        |    Milestone:  sage-6.2
      Component:  categories   |   Resolution:
       Keywords:               |    Merged in:
        Authors:               |    Reviewers:
Report Upstream:  N/A          |  Work issues:
         Branch:               |       Commit:
   Dependencies:  10963        |     Stopgaps:
-------------------------------+------------------------
Changes (by SimonKing):

 * dependencies:   => 10963


Comment:

 We want to build on top of #10963, right?

 Replying to [comment:4 nthiery]:
 > > One possible approach to solve that problem: The strict super-
 categories of a category with fixed base ring should ''all'' be categories
 with unspecified base rings. Hence, `Algebras(R)` should not have the
 super-categories `Rings()` and `Modules(R)`, but `Algebras(R.category())`.
 >
 > This sounds reasonable. A variant would be, for a category over base
 > ring C, to set {{{C(R).parent_class}}} explicitly to
 > {{{C(R.category()).parent_class}}}, bypassing the
 > {{{_make_named_class_key}}} business since it won't really be needed
 > anymore anyway (and similarly for the element class and so on).

 I think `_make_named_class_key` would still be make sense: We need to
 distinguish the element and parent classes of `Algebras(Fields())` from
 `Algebras(Rings())`, but probably not from `Algebras(QuotientFields())`.
 And in particular (when following your suggestion below) we would still
 want that `Modules(GF(5))` and `Modules(GF(7))` have the same parent and
 element classes.

 > I'd say that we certainly want {{{Algebras(R)}}} to be a subcategory
 > of {{{Modules(R)}}}, as tested by {{{is_subcategory}}}. But we could
 > imagine doing like for joins, and *not* put {{{Modules(R)}}} in
 > {{{Algebras(R).<all_>super_categories()}}}.

 Yes, but then one needs a category `FixedBase(R)` to be joined with! And I
 think that's not so nice, as pointed out in comment:1. Or so I thought.
 But:

 > In fact, maybe {{{Algebras(R)}}} should really be a join category:
 > that of {{{Algebras(Fields()) & Modules(R)}}}.

 Hmmm. Yes, in that case one wouldn't need an ugly `FixedBase(R)`
 category...

 > <ramble> Here Modules(R) would play a role similar to the category
 > with axiom {{{C().A()}}} associated to the category {{{C}}} defining
 > the axiom {{{A}}}. We would not have the option to define the analogue
 > of a ``category with axioms`` for a subcategory, but at this point I
 > don't foresee a use for it either.</ramble>

 Well, that's what I commented on at #10963: I was playing with the idea of
 an axiom `WithFixedBase`, accepting an argument, but Volker has cut the
 argument short `;-)`.

--
Ticket URL: <http://trac.sagemath.org/ticket/15801#comment:5>
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/groups/opt_out.

Reply via email to