On 27/07/15 11:22, [email protected] wrote:
3) Some categories could have exactly the same signatures but differ
only in their axioms.
Can you give me an idea of where this might happen?
This isn't an obvious case.
Well I was thinking of something like AbelianGroup vs. Group but that’s
not an example in Axiom because the '*' operator is changed to '+' so
the signature changes. So I can't think of another example.
4) Axioms are operator specific and not for the whole category. For
instance the lattice category inherits a commutativity axiom for join
and another commutativity axiom for meet. There is not just one
commutativity axiom. For more 'numerical' categories I guess we would
assume a commutativity flag applies to * and that + is always
commutative but relying on assumptions like that does not seem to
generalise well.
Would this be covered by the current mechanism (using 'if' as in:
if $ has Monoid
x ** y == exp(y * log x)
Or perhaps we can re-think the 'if' and move the conditional cases
into their own categories. This would have the benefit of
simpliying the compiler and the inheritance machinery. It would
have the down side of expanding the category lattice.
When you are talking about the current mechanism is this: having an
empty category for each attribute? It seems to me that this would
require quite a lot of categories because we don't just need
commutativity but meet-commutativity, join-commutativity and so on.
Martin
_______________________________________________
Axiom-developer mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/axiom-developer