id summary reporter owner description type status priority milestone component resolution keywords cc merged author reviewer upstream work_issues branch commit dependencies stopgaps
2430 is_EuclideanDomain() gives wrong answers cremona "In 2.10.2 and 2.10.3.rc2:
{{{
sage: is_EuclideanDomain(ZZ)
False
}}}
I looked to whether any of Sage's rings would ever return True for this function, and came up with pAdicRingGeneric and no others:
{{{
sage: is_EuclideanDomain(pAdicRing(7))
True
}}}
So this idea (to have !EuclideanDomains as a class) just has not been properly implemented.
As a start we could make rings which are certainly Euclidean (e,g, ZZ and univariate polynomials over a field) be derived from !EuclideanDomain instead of !PrincipalIdealDomain as they are now.
That would not be a complete solution, since (for example) some rings of integers of number fields are Euclidean, though it is not easy to say which; and there is no functionality to answer the question ""is R Euclidean"" except to see if R's class is (derived from) !EuclideanDomain, which for rings of integers it never will be!
One other puzzling -- and inconsistent -- thing is that !EuclideanDomainElement has a broader scope than !EuclideanDomain:
{{{
sage: is_EuclideanDomain(ZZ)
False
sage: is_EuclideanDomainElement(ZZ(1))
True
sage: is_EuclideanDomain(R)
False
sage: is_EuclideanDomainElement(x)
True
}}}
" defect closed major sage-duplicate/invalid/wontfix commutative algebra wontfix