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.