# OpenMath Content Dictionary: order1

Canonical URL:
https://www.win.tue.nl/SCIEnce/cds/order1.ocd
CD File:
order1.ocd
CD as XML Encoded OpenMath:
order1.omcd
Defines:
algebraic_integer, algebraic_number, is_Dedekind, is_maximal_order, is_nonzero_divisor, is_principal_ideal_domain, maximal_order, number_field, order, primitive_element, ring_integers
Date:
2009-07-02
Version:
1 (Revision 7)
Review Date:
Status:
experimental
Uses CD:
alg1, arith1, fieldname1, logic1, nums1, polyd1, quant1, relation1, ring1, ringname1, set1, setname1

This CD defines the basic functions and constructors for orders of number fields. Written by S. Lesseni (lesseni@math.tu-berlin.de).
```	A CD of basic functions for orders of number fields written for SCIEnce project. Note that all the rings used here will be considered unital.
The reference textbooks are:
(1) M. Pohst and H. Zassenhaus, Algorithmic Algebraic Number Theory, Cambridge
Univ. Press, 1989.
(2) H. Cohen, A course in Computational Algebraic Number Theory. Berlin, Springer-Verlag (1993).
```

## is_Dedekind

Role:
application
Description:
This symbol represents a unary boolean function. The argument should be a ring R. When evaluated on R, the function returns true if R is a Dedekind ring and false otherwise. Note that a ring R is a Dedekind ring if it is Noetherian, integrally closed (so integral) and such that every non-zero prime ideal is maximal.
Commented Mathematical property (CMP):
if R is a Dedekind ring and a subring of the rational field Q then R = Z.
Formal Mathematical property (FMP):

$\mathrm{is_Dedekind}\left(R\right)\wedge \mathrm{is_subring}\left(Q,R\right)⇒R=Z$
Example:
if the ring (R,+,0,-,*,1) is a principal ideal domain then (R,+,0,-,*,1) is a Dedekind ring.

$\forall R,\mathrm{plus},\mathrm{zero},\mathrm{minus},\mathrm{times},\mathrm{one}.\mathrm{is_principal_ideal_domain}\left(\mathrm{ring}\left(R,\mathrm{plus},\mathrm{zero},\mathrm{minus},\mathrm{times},\mathrm{one}\right)\right)⇒\mathrm{is_Dedekind}\left(\mathrm{ring}\left(R,\mathrm{plus},\mathrm{zero},\mathrm{minus},\mathrm{times},\mathrm{one}\right)\right)$
Signatures:
sts

 [Next: is_nonzero_divisor] [Last: primitive_element] [Top]

## is_nonzero_divisor

Role:
application
Description:
This symbol represents a boolean binary function. The first argument is a ring R, the second is an element b of R. When evaluated on R and b, the function returns true if b is a nonzero divisor in R.
Commented Mathematical property (CMP):
if x is a non-zero divisor in the ring R then x is in R and x is different from zero and for all non-zero y in R, x*y is different from zero or y*x is different from zero.
Formal Mathematical property (FMP):

$\mathrm{is_nonzero_divisor}\left(R,x\right)⇒x\in \mathrm{carrier}\left(R\right)\wedge x\ne \mathrm{zero}\left(R\right)\wedge \forall y.y\in \mathrm{carrier}\left(R\right)\wedge y\ne \mathrm{zero}\left(R\right)⇒\left(\left(\mathrm{multiplication}\left(R\right)\right)\left(x,y\right)\ne \mathrm{zero}\left(R\right)\right)\vee \left(\left(\mathrm{multiplication}\left(R\right)\right)\left(y,x\right)\ne \mathrm{zero}\left(R\right)\right)$
Example:

$\mathrm{is_nonzero_divisor}\left(Z,5\right)$
Signatures:
sts

 [Next: is_principal_ideal_domain] [Previous: is_Dedekind] [Top]

## is_principal_ideal_domain

Role:
application
Description:
The unary boolean function whose value is true if and only if the argument is a principal ideal domain. R is a principal ideal domain if R is a commutative ring without zero divisors and if every ideal of R is a principal ideal.
Commented Mathematical property (CMP):
is_principal_ideal_domain(R) then for all a, b in R a*b=b*a and a different from zero in R then a is a non-zero divisor in R and I an ideal of R then there exists x in R such that I is the principal ideal generated by x in R.
Formal Mathematical property (FMP):

$\mathrm{is_principal_ideal_domain}\left(R\right)⇒\forall a,b.a\in \mathrm{carrier}\left(R\right)\wedge b\in \mathrm{carrier}\left(R\right)⇒\left(\mathrm{multiplication}\left(R\right)\right)\left(a,b\right)=\left(\mathrm{multiplication}\left(R\right)\right)\left(b,a\right)\wedge \left(a\in \mathrm{carrier}\left(R\right)⇒\mathrm{is_nonzero_divisor}\left(R,a\right)\right)\wedge \left(\mathrm{is_ideal}\left(\mathrm{carrier}\left(R\right),I\right)⇒\exists x.x\in \mathrm{carrier}\left(R\right)⇒I=\mathrm{principal_ideal}\left(R,x\right)\right)$
Example:

$\mathrm{is_principal_ideal_domain}\left(Z\right)$
Signatures:
sts

 [Next: order] [Previous: is_nonzero_divisor] [Top]

## order

Role:
application
Description:
This is a binary function, whose first argument is a Dedekind ring R and the second is a polynomial f. When applied to R and f, it returns an order of f over the polynomial ring R: it is a ring A containing R, which is finitely generated R-module with no nilpotent non-zero ideal and as a R-module it is torsion-free. Note that the result is not unique. Also this function allows to compute an order of a polynomial over another polynomial ring. The idea behind this computation is to coerce f into the polynomial ring of R and then compute the order.
Example:

$\mathrm{order}\left(Z,\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(Z,1\right),\mathrm{SDMP}\left(\mathrm{term}\left(1,2\right),\mathrm{term}\left(3,0\right)\right)\right)\right)$
Signatures:
sts

 [Next: maximal_order] [Previous: is_principal_ideal_domain] [Top]

## maximal_order

Role:
application
Description:
This is a binary function, whose first argument is a Dedekind ring R and the second is a polynomial f. When applied to R and f, it returns the maximal order A among the orders of f (over the polynomial ring of R) in the quotient field of A. Note that the result is unique.
Example:

$\mathrm{maximal_order}\left(Z,\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(Z,1\right),\mathrm{SDMP}\left(\mathrm{term}\left(1,2\right),\mathrm{term}\left(3,0\right)\right)\right)\right)$
Signatures:
sts

 [Next: is_maximal_order] [Previous: order] [Top]

## is_maximal_order

Role:
application
Description:
The unary boolean function whose value is true if and only if the argument is a maximal order.
Example:

$\mathrm{is_maximal_order}\left(\mathrm{maximal_order}\left(Z,\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(Z,1\right),\mathrm{SDMP}\left(\mathrm{term}\left(1,2\right),\mathrm{term}\left(3,0\right)\right)\right)\right)\right)$
Signatures:
sts

 [Next: algebraic_integer] [Previous: maximal_order] [Top]

## algebraic_integer

Role:
application
Description:
This is a binary function. The first argument is an order O. The second argument should be a list L of elements of the Dedekind ring R, such that O is an order over the polynomial ring of R (cf. order). The length of L should be equal to the degree n of the polynomial generating the order O. When applied to O and L, it represents the element L[0] + L[1] b + L[2] b^2 + ... + L[n-1] b^(n-1) of O, where b stands for a primitive element of O.
Example:

$\mathrm{algebraic_integer}\left(\mathrm{order}\left(Z,\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(Z,1\right),\mathrm{SDMP}\left(\mathrm{term}\left(1,2\right),\mathrm{term}\left(3,0\right)\right)\right)\right),\left(7,2\right)\right)$
Signatures:
sts

 [Next: number_field] [Previous: is_maximal_order] [Top]

## number_field

Role:
application
Description:
This symbol is a constructor for number fields. It takes two arguments in the following order: a ring R and a monic irreducible univariate polynomial f. If the ring R is Z (or Q), it returns the absolute number field. Otherwise it returns the relative number field over the number field whose ring of integers is R. This symbol is intended to be used in upcoming CDs for e.g. describing discriminants of number fields, or Galois groups, unit groups, class groups, regulators, etc.; all useful number theoretical notions.
Example:

$\mathrm{number_field}\left(Z,\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(Z,1\right),\mathrm{SDMP}\left(\mathrm{term}\left(2,1\right),\mathrm{term}\left(0,1\right)\right)\right)\right)$
Example:

$\mathrm{number_field}\left(\mathrm{ring_integers}\left(\mathrm{number_field}\left(\mathbb{Z},\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(\mathbb{Z},1\right),\mathrm{SDMP}\left(\mathrm{term}\left(1,2\right),\mathrm{term}\left(2,0\right)\right)\right)\right)\right),\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(Z,1\right),\mathrm{SDMP}\left(\mathrm{term}\left(1,2\right),\mathrm{term}\left(3,0\right)\right)\right)\right)$
Signatures:
sts

 [Next: algebraic_number] [Previous: algebraic_integer] [Top]

## algebraic_number

Role:
application
Description:
This is a binary function. The first argument is a number field F. The second argument should be a list L of elements of Q in case of an absolute number field F. Otherwise the second argument is a list L of elements of the number field whose ring of integers is the ring R over which F is defined (cf. number_field). The length of the list L should be equal to the degree n of F. When applied to F and L, it represents the element L[0] + L[1] b + L[2] b^2 + ... + L[n-1] ^(b-1) of F, where b stands for a primitive element of F.
Example:

$\mathrm{algebraic_number}\left(\mathrm{order}\left(Z,\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(Z,1\right),\mathrm{SDMP}\left(\mathrm{term}\left(1,2\right),\mathrm{term}\left(1,0\right)\right)\right),\left(123,0\right)\right)\right)$
Signatures:
sts

 [Next: ring_integers] [Previous: number_field] [Top]

## ring_integers

Role:
application
Description:
This is a unary function, whose argument is a number field K. When applied to K, it returns the ring of integers of K. It is the Dedekind ring of K.
Commented Mathematical property (CMP):
if A is the ring of integers of the number field K then A is a subring of K and A is a Dedekind ring.
Formal Mathematical property (FMP):

$A=\mathrm{ring_integers}\left(K\right)⇒\mathrm{is_subring}\left(K,A\right)\wedge \mathrm{is_Dedekind}\left(A\right)$
Example:

$\mathrm{ring_integers}\left(\mathrm{number_field}\left(\mathbb{Z},\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(\mathbb{Z},1\right),\mathrm{SDMP}\left(\mathrm{term}\left(1,2\right),\mathrm{term}\left(2,0\right)\right)\right)\right)\right)$
Signatures:
sts

 [Next: primitive_element] [Previous: algebraic_number] [Top]

## primitive_element

Role:
application
Description:
This is a unary function, whose argument is a number field K. It returns a primitive element of K. Note that the result is not unique.
Example:

$\mathrm{primitive_element}\left(\mathrm{number_field}\left(\mathbb{Z},\mathrm{DMP}\left(\mathrm{poly_ring_d}\left(\mathbb{Z},1\right),\mathrm{SDMP}\left(\mathrm{term}\left(1,2\right),\mathrm{term}\left(2,0\right)\right)\right)\right)\right)$
Signatures:
sts

 [First: is_Dedekind] [Previous: ring_integers] [Top]