implement IsPrime3, IsMaximal3
We should implement functions like IsPrime3 which returns true3/false3 if it easy to calculate, or already calculated, and uncertain3 otherwise.
For example IsZeroDivisor(x) could simply return IsZero(x) if we already know that the ring "IsIntegralDomain", and only otherwise go through a more expensive computation.
I cannot see a way to do this easily with the "strict" boolean functions we have now.
(This possibly applies to all boolean functions, but that's excessive)
Functions: IsPrime3, IsMaximal3, IsField3, IsIntegralDomain3,...
#7 Updated by Anna Maria Bigatti almost 2 years ago
In a discussion with John Abbott and Mario Albert we got these points
in the case where a bool3 flag is in a class (abstract)
- make the bool3 function as member function? (but we already have the flag itself at that level; what if its private?)
- make the bool3 function as non-member function? (useful? neccesary?)
- make the bool function as member function: this fuction is supposed to set the related flag, and also other flags dependent on the result (e.g. IsPrime)
- make the bool function as non-member function.
- make the member-function actually computing and not reading/setting flags (e.g.
(this means I have to change the
IamMaximal code accordingly)