> By the way, this category membership assertion in DirectProductCategory
> 
>          if R has CancellationAbelianMonoid then CancellationAbelianMonoid
> 
> is clearly wrong with the implementation of multiplication in DirectProduct.
> 
> In DirectProduct(2,INT), take
> 
>   a := [1,0]
>   b := [0,1]
>   c := [0,2]
> 
> you have a * b = a * c = [0,0], but you clearly don't have b = c

)abbrev category CABMON CancellationAbelianMonoid
...
++ Description:
++ This is an \spadtype{AbelianMonoid} with the cancellation property,
++ i.e. \spad{ a+b = a+c => b=c }.
++ This is formalised by the partial subtraction operator,
++ which satisfies the axioms listed below:
++
++ Axioms:
++   \spad{c = a+b <=> c-b = a}
CancellationAbelianMonoid(): Category == AbelianMonoid with
    --operations
      subtractIfCan: (%,%) -> Union(%,"failed")
         ++ subtractIfCan(x, y) returns an element z such that \spad{z+y=x}
         ++ or "failed" if no such element exists.

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to