úÎ"Ê     Definition of rings  Addition Multiplication Compute additive inverse The additive identity The multiplicative identity  !"#$%Specification of rings. 2 Test that the arguments satisfy the ring axioms.  Subtraction  Summation Product Exponentiation       Definition of commutative rings & ASpecification of commutative rings. Test that multiplication is 4 commutative and that it satisfies the ring axioms.     2Ideals characterized by their list of generators. The zero ideal. Test if an ideal is principal. ''Evaluate the ideal at a certain point. Addition of ideals. Multiplication of ideals. (2Test if an operations compute the correct ideal. DThe operation should give a witness that the comuted ideal contains the same elements. I op J = K [ x_1, ..., x_n ] op [ y_1, ..., y_m ] = [ z_1, ..., z_l ] $z_k = a_k1 * x_1 + ... + a_kn * x_n $ = b_k1 * y_1 + ... + b_km * y_m )GCompute witnesses for two lists for the zero ideal. This is used when + computing the intersection of two ideals.    Strongly discrete rings EA ring is called strongly discrete if ideal membership is decidable. K Nothing correspond to that x is not in the ideal and Just is the witness. A Examples include all euclidean domains and the polynomial ring. HTest that the witness is actually a witness that the element is in the  ideal. Definition of integral domains *ISpecification of commutative rings. Test that there are no zero-divisors D commutative and that it satisfies the axioms of commutative rings.  Type synonym for integers. + Definition of fields ,JSpecification of fields. Test that the multiplicative inverses behave as @ expected and that it satisfies the axioms of integral domains.  Division  -      !"#$%&'()*+,-./012345constructive-algebra-0.1Algebra.Structures.Ring"Algebra.Structures.CommutativeRing Algebra.Ideal#Algebra.Structures.StronglyDiscrete!Algebra.Structures.IntegralDomain Algebra.ZAlgebra.Structures.FieldRing<+><*>negzeroonepropRing<->sumRing productRing<^>CommutativeRingpropCommutativeRingIdealId zeroIdeal isPrincipalevaladdIdmulIdStronglyDiscretememberpropStronglyDiscreteIntegralDomainpropIntegralDomainZFieldinv propField propAddAssocpropAddIdentity propAddInv propAddComm propMulAssoc propRightDist propLeftDistpropMulIdentity propMulCommfromId isSameIdealzeroIdealWitnessespropZeroDivisorspropIntegralDomainZ propMulInv