#17367: Classes of combinatorial structures
-------------------------------------+-------------------------------------
       Reporter:  elixyre            |        Owner:
           Type:  enhancement        |       Status:  needs_info
       Priority:  major              |    Milestone:  sage-6.9
      Component:  combinatorics      |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Jean-Baptiste      |    Reviewers:
  Priez                              |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  c13301a1fe97f639089a691bd0f75d78cc8aa6a0
  u/elixyre/class_of_combinatorial_structures|     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by elixyre):

 Hi Vincent,

 Thank you about your comments.

 Replying to [comment:17 vdelecroix]:
 > I strongly think that creating this category is useless


 This seems '''not''' totally useless to create a new category or I don't
 know how to do that easily using the category framework of sage.
 Let me ask you how to that in the following...

 > '''and''' I certainly understand that it is needed. What I propose is to
 not create a new category but make this featured sets with NN grading and
 finite slices available. What I would rather implement is:
 >  - making the grading set a parameter of the category `SetsWithGrading`
 (in your case it would be `NN`)

 The parameter ''grading set'' is already provided in the `SetsWithGrading`
 category.

 >  - adding an axiom `FiniteSlice` to `SetsWithGrading`

 I also wish to provide a category `GradedComponent` (or `Subset`) with
 methods `ambient` (which return the set with grading) and `grade` (why
 not). Where put this class:

 {{{#!python
 class SetsWithGrading(Category):
    ....
    class GradedComponent(Category):
       def super_category(self):
          return .???.
       class ParentMethods:
          def ambient(self):
             pass
          def grade(self):
             pass
 }}}

 It seems natural to have `GradedComponent` as a nested class of
 `SetWithGrading`, right? (There is no reason that it appears elsewhere.)

 At this point, if I use `FiniteSlice` as an axiom,  ''a priori'' this
 class `GradedComponent` should have `FiniteSets` (or better
 `FiniteEnumeratedSets`) as super category but without the axiom this only
 should have `Sets`. How do that (easily and properly)?

 So my opinion is `FiniteSlice` is not an axiom and the code of
 `GradedComponent` should be duplicate, one using `Sets` as super category
 and the other using `FiniteSets`.

 > That way, what you are trying to define would simply be
 > {{{
 > sage: SetsWithGrading(NN).FiniteSlices() & EnumeratedSets()
 > Join of Category of sets with grading Non negative integer semiring with
 finite slices
 >     and Category of enumerated sets
 > }}}
 > (.. the names are awful, but I hope that the plan is clear ...).

 If we have a finite sets (in sage), could we assume that it is an
 enumerated sets? (I suppose the answer is '''no''' but...)

--
Ticket URL: <http://trac.sagemath.org/ticket/17367#comment:19>
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