For example, have a look at sage/combinat/free_module.py lines 1170-1175.
Yes. In your case it will be one of .Finite() or .Finite().Enumerated()
or .Enumerated()
sage: m=FreeModule(GF(2),2)
sage: c=m.category()
sage: c.Finite()
Category of finite finite dimensional vector spaces with basis over (finite fields and subquotients of monoids and quotients of semigroups)
sage: c.Enumerated()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-35-aa8dfe4741d2> in <module>()
----> 1 c.Enumerated()
AttributeError: 'JoinCategory_with_category' object has no attribute 'Enumerated'
sage: c.Finite().Enumerated()
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-36-37828baa94f6> in <module>()
----> 1 c.Finite().Enumerated()
AttributeError: 'JoinCategory_with_category' object has no attribute 'Enumerated'
Output of join categories definitely could use some love.
A first improvement could be to use:
Category of X an enumerated sets.
should be trivial to implement.
On 2016-09-01 01:47, Kwankyu Lee wrote:
> I am playing with an experimental implementation of "enumerated" axiom.
From what I guess is, that this axiom implies an implementation of
__getitem__, correct?
Does it also imply something on the index set (e.g. natural numbers) of
this object? Or does it only mean an enumeration is possible by some
index set?
> This is rather ugly. I guess that this is caused partially by that the
> "finite" axiom does not imply "enumerated" axiom
Side-question: Would it be SageMath-technically possible that one axiom
implies another?
> which is legitimate.
Why? (I understand the following: From a mathematical point of view,
there is no need to print the "enumerated" when already a "finite" is
there. From a more technical point of view, "finite" does not mean
SageMath provides a way to enumerate it, i.e., that __getitem__ is
implemented)