group1 http://www.openmath.org/cd/group1.ocd 2003-04-01 1999-05-10 3 0 experimental alg1 arith1 fns1 fns2 logic1 nums1 quant1 relation1 set1 setname1 A CD of basic functions for group theory Written by A. Solomon on 1998-11-19 Modified by David Carlisle 1998-04-28 Severely edited by Arjeh M. Cohen in 2003 group This symbol is a constructor for groups. It takes four arguments in the following order: a set to specify the elements in the group, a binary operation to specify the group operation, an element to specify the identity, and a unary operation to specify inverses of group elements. Both the binary and unary operations should act on elements of the set and return an element of the set. A group is closed under its operation. A groups operation is associative. A group has an identity element. Every element of a group has an inverse. This example represents the group which has as elements all positive and negative even numbers, the group operation is binary addition, inverses are the negative of the element and the identity is the zero element. 2 carrier This symbol represents a unary function, whose argument should be a group G (for instance constructed by group). When applied to G, its value should be the set of elements of G. The carrier of group(G,*,e,inverse) is G. multiplication This symbol represents a unary function, whose argument should be a group G. It returns the multiplication map on G. We allow for the map to be n-ary. The multiplication of group(G,*,inverse,e) is *. inversion This symbol represents a unary function, whose argument should be a group G. It returns the map sending an element of G to its inverse. The inversion of group(G,*,e,inverse) is inverse. identity This symbols represents a unary function, whose argument should be a group. It returns the identity element of the group. The identity of group(G,*,e,inverse) is e. is_commutative The unary boolean function whose value is true iff the argument is a commutative group. If is_commutative(G) then for all a,b in carrier(G) a*b = b*a is_subgroup The binary boolean function whose value is true iff the second argument is a subgroup of the second. If is_subgroup(G,H) then H is a nonempty set of elements of G and H is closed under multiplication and taking inverses. monoid This symbol is a unary function, whose argument should be a group G. When applied to G its value is the monoid underlying G. subgroup This symbol is a constructor symbol with one or two arguments. The first argument is a list or set, D, of group elements. The optional second argument is the group G containing D. It denotes the subgroup of G generated by D. This example represents the subgroup of the multiplicative group of the nonzero reals generated by the constants Pi and E: 1 power This is a symbol with three arguments. The first argument is a group G. Its second argument is an element g of G and the third argument is an integer k. It denotes the element g^k in G. 0 3 2 6 expression This symbol is a function with two arguments. Its first argument should be a group. The second should be an arithmetic expression A, whose operators are times and power, and whose leaves are members of the carrier of G. When applied to G and A, it denotes the element (of G) that is obtained from the leaves of A by applying the multiplication and the power map of G instead of the times and power from the CD arith1 appearing in A. The symbol alg1.one occurring in A will be interpreted as the identity of G. 0 63 9 normal_closure The binary function whose value is the set of conjugates of the elements of the second group by elements of the first, where multiplication between them is defined. n in the normal closure (A,B) implies there exists a in A and b in B s.t. n = b^(-1) a b is_normal If G, H are the group arguments, then IsNormal(G,H) returns true precisely when H is normal in G. That is, inverse(g)*h*g is defined and contained in H for all h in H and g in G. is_normal(G,H) implies that for all g in G and h in H then inverse(g)*h*g is in H.