Hi!

On Wed, Mar 11, 2015 at 03:22:32PM -0700, Volker Braun wrote:
> IMHO always assume constructive unless otherwise noted if you do
> things on the computer. You can pick elements of sets, elements of
> two sets (or other structure) can actually be distinguished, etc.
> There is no need to restrict ourselves to the usual pen&paper math
> nomenclature.

Thanks Volker for the feedback!

So at this point this leans toward what's in the current
implementation:

- Groups with with a distinguished finite set of generators:

        sage: Groups().FinitelyGenerated()
        Category of finitely generated groups 

  in fact a short hand for:

        sage: Groups().FinitelyGeneratedAsMagma()
        Category of finitely generated groups 

- Finite groups with a distinguished finite set of generators (which
  is different from just finite groups):

        sage: Groups().Finite().FinitelyGenerated()
        Category of finite finitely generated groups

- Rings with a distinguished finite set of *multiplicative* generators:

        sage: Rings().FinitelyGeneratedAsMagmas()
        Category of finitely-generated-as-magma rings

Does this sound acceptable to everyone?

The plan is to finalize this ticket for the Sage days next week, so
quick feedback would be appreciated.

> Why not have an Iterable() category for everything with __iter__?

Yup; in fact we have EnumeratedSets for parents with a distinguished
enumeration (implemented by __iter__ / rank / list)


A few more minor design points:

- All the finite permutation groups implemented in Sage come endowed
  with a distinguished set of generators. Do we want the category of
  finite permutation groups to be automatically a subcategory of
  finite finitely generated permutation groups? This would make the
  output a bit shorter:

        sage: DihedralGroup(3).category()
        Category of finite permutation groups

  instead of:

        sage: DihedralGroup(3).category()
        Category of finite finitely generated permutation groups

- As far as I know, all the finite fields implemented in Sage have
  __iter__ implemented.  Do we want to keep the category of finite
  fields as a subcategory of EnumeratedSets()?

  Or maybe a subcategory Monoids().FinitelyGenerated()? In this case,
  we would need to provide multiplicative generators. Is there an easy
  way to implement this generically for any finite field?

Cheers,
                                Nicolas
--
Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net>
http://Nicolas.Thiery.name/

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