>> shouldn't UTS(F, x, 0) export EuclideanDomain if F is
>> a Field?
At first I thought, how can we have a Euclidean algorithm without zero
detection? But then ... that's not the definition of a Euclidean domain.
All it needs is a Euclidean size function and a division step. As long
as divide(f, g) does not get (potential) zeros as input, that looks like
a computable problem to me.
Anyway, I still think it's potentially more dangerous than its gain.
> EuclideanDomain implies BasicType and this already
> is a lie.
Oh, now we enter a very dangerous field. In fact, currently UTS claims
BasicType. UTS itself already lies. We have probably lies all over the
place.
> So question is if after lying several times we want
> to keep lying, or if we want to clean up things.
Since long I am in favour of removing our lies. When we say Ring, we
actually mean a computable ring. So power series cannot claim to be of
category Ring. AFAIR, the aldor library tried something in the direction
of relaxing things. There are categories like
AdditiveType, LinearCombinationType, etc.
https://github.com/pippijn/aldor/blob/master/aldor/lib/aldor/src/arith/sal_arith.as
https://github.com/pippijn/aldor/blob/master/aldor/lib/aldor/src/arith/sal_lincomb.as
that just claim existence of operations, but without the respective
properties.
Yes, that makes the category structure a whole lot more complex.
However, I guess when we can come up with a nice naming convention such
a change should be doable and should be done. Clearly this will not
happen overnight, but that should be a longterm goal for FriCAS.
Ralf