                       CHANGES to the Gpd package

##############################################################################
1.04 -> 1.05  (21/11/2008)
 -  (21/11/08) Introduced TypeOfDomainWithObjects, 
               completed the change of parameter order to "<mag>,<obs>",
 -  (19/11/08) GapDoc relegated to "suggested other packages".
 -  (18/11/08) another massive change of function names (and filehames) 
               with Mapping -> Homomorphism (and ***map.* -> ***hom.*), 
 -  (17.11.08) IsMappingSinglePieceSinglePiece -> IsMappingFromSinglePiece, 
               MagmaMappingWithCommonRange -> MappingToSinglePiece, 
               MappingOfSinglePieces -> MappingFromSinglePiece, 
               MappingFromSinglePiece -> MagmaMappingFromSinglePiece, 
               MagmaMappingByPieces -> MappingByUnion, 
               IsSinglePiece now (IsMagmaWithObjects and IsSinglePieceDomain), 
               and similarly for IsDiscrete 
               and IsDirectProductWithCompleteGraph, 
               added global function GroupoidMapping, 
 -  (14/11/08) added InverseGeneralMapping method for 
                 IsGroupoidMapping and IsMappingSinglePieceSinglrPiece,
               omitted morgraph.gd(gi) and reinstated grpgraph, gpdgraph : 
               needed to replace \in by IsElementInGroupoid many times; 
               still a problem with \* for GraphOfGroupoidsWords

##############################################################################
1.03 -> 1.04  (13/11/2008)

problem: need to redefine PieceImages in light of DefaultGroupoidMappingRep ? 
         need elements for this new submagma representation 

 -  (13/11/08) deleted lots of examples which do not work at present 
               added GNU General Public License declaration,
               moved some XMod utilities to gpd/gap/util.gd(gi),
 -  (07/11/08) started chapters in the manual for magmas with objects; 
               got rid of the PosRep representation (not being used); 
               redefined IsSemigroupMappingWithObjects, 
               IsMonoidMappingWithObjects and IsGroupoidMapping; 
               added property IsConstantOnObjects for mappings 
               (this just returns true at the moment!)
 -  (14/10/08) added new methods for MultiplicativeElementWithObjects; 
               added property IsMappingSinglePieceSinglePiece; 
 -  (13/10/08) started to construct submagmas with objects using 
               a generating array of lists of elements:- 
               added representation IsSubmagmaWithObjectsTableRep, 
               and operations IsSubmagmaWithObjectsGeneratingTable, 
               SubmagmaWithObjectsElementsTable, 
               and SubmagmaWithObjectsByElementsTable; 
 -  (10/10/08) Functions coming from preprint 08.05 :- 
               : IsDefaultGroupoidMappingRep, 
               : GroupoidMappingOfSinglePieces, 
               : MappingPermObjectsImages, 
               : GroupoidMappingByObjectImages, 
               : GroupoidMappingByGroupHom, 
               : GroupoidMappingByRayProds, 
 -  (10/10/08) should IeEndomorphismWithObjects be IsEndoGeneralMapping ?? 
               introduced IsDefaultGroupoidMappingRep; 
               added attribute ImagesOfRays; 
               added operation MappingPermObjectsImages; 
               renamed MappingOfSinglePiecesNew 
               as MappingOfSinglePiecesGeneratorsImages  -  is it needed?
 -  (09/10/08) found there is a problem in LeftCosetsNC  !!!!!!!!!!!!!!!! 
               converted "Morphism" to "Mapping" throughout: 
               this includes replacing "mor" by "map" in filenames;  
               replaced "IsMagmaMappingWithObjects" 
                   with "IsSemigroupMappingWithObjects"; 
               found lots of "Constituents" in the library, 
               so changed "Constituents" to "Pieces"; 
 -  (06/10/08) added Display for MagmaWithObjects; 
               converted Iterator from Groupoid to MagmaWithObjects; 
               problems with Group(mor1a,mor1b) in mwomor.g
 -  (03/10/08) added SubgroupoidBySubgroup; 
               rewrote attribute GeneratorsOfMagmaWithObjects 
               called by operation GeneratorsOfGroupoid; 
               removed test for U to be wide in G for (Right/Left)Coset, 
               and at the same time introduced attribute SuperDomain; 
               wondered whether to introduce category IsPermWithObjects? 
 -  (25/09/08) new method for FullSubgroupoid; 
               changed IsSubgroupoid to an Operation from GlobalFunction 
               and split into a collection of methods; 
               fixed bug in \= for groupoids;  
 -  (24/09/08) new category IsDomainWithObjects >= IsMagmaWithObjects 
               and global function DomainWithObjects 
               ApplyToSingleObject -> DomainWithSingleObject 
               ObjectMagma(s) -> ObjectDomain(s) . . . needs to be checked? 
               SubmagmaWithObjects -> SubdomainWithObjects, etc. 
 -  (18/09/08) New function HomsetCosetsGroupoidCoset 
               used for RightCoset( sgpd, e ) and LeftCoset( sgpd, e )
               but more work needed when there are several constituents. 
 -  (12/09/08) SingleConstituentGroupoidWithRays now a subgroupoid of an 
               IsDirectProductWithCompleteGraph and with the same objects. 
               RootGroup is now stored as .magma
               HomsetCosetsRep now has a sixth parameter - the rays. 
               ObjectStar, ObjectCostar, Homset all edited , 
               UnionHomsets removed as not needed. 
 -  (10/09/08) IsWideSubgroupoid now an operation, not a property. 
 -  (03/09/08) SetParent for Submagma : Magma now AttributeStoring
 -  (01/09/08) Converted old IsSubgroupoid to IsSubmagmaWithObjects etc. 
 -  (04/04/08) Replaced GpdBuildManual() by file makedocrel.g
 -  (20/03/08) Functions renamed as follows:
     : ObjectsOfGroupoid -> ObjectList
     : ConstituentsOfGroupoid -> Constituents
     : GroupoidByUnion(NC) -> UnionOfConstituents(NC)
     : GroupAsGroupoid -> ApplyToSingleObject 
     : IsGroupoidRep -> IsConstituentsRep 
     : IsStandardConnectedGroupoid -> IsDirectProductWithCompleteGraph
     : IsConnectedGroupoidRep -> IsGroupoidWithObjectsCompRep 
     : IsConnectedGroupoidWithRaysRep -> IsSingleConstituentRaysRep
     : ConnectedGroupoid(NC) -> SingleConstituentGroupoid 
     : ConnectedGroupoidWithRays(NC) -> SingleConstituentGroupoidWithRays(NC) 
     : ConnectedGroupoidByGenerators -> SingleConstituentGroupoidByGenerators 
     : GroupElement -> Arrow 
     : Tail -> Arrowtail 
     : Head -> Arrowhead
 -  (14/03/08) Started new files: mathcat.gd and mathcat.gi
               initially with small bits taken from: gpd.gd and gpd.gi. 
               Tried to add some digraph functions there . . . 
               but these should be in files: digraph.gp and digraph.gi.
 -  (13/03/08) Since 'component' is used in ComponentObjectRep, etc., 
               changed ComponentsOf... to ConstituentsOf... 
 -  (11/03/08) MathCat now a Category, and not a Property 
 -  (11/03/08) Revised: IsPermGroupoid, IsFpGroupoid, IsPcGroupoid 
 -  (11/03/08) Revised: PrintObj and ViewObj 
 -  (11/03/08) Replaced test for IsPcGroupoid with IsPolycyclicGroup(g) 
 -  (06/03/08) Need: ConnectedGroupoidByGenerators( gens ) etc.
 -  (06/03/08) Method for GeneratorsOfGroupoid in the non-connected case. 
 -  (05/03/08) Expanded conjugation operator, e1^e2, following preprint 07.10 

##############################################################################
1.01 -> 1.03  (08/10/2007)

 -  Started this CHANGES file. 
 -  Now using GAPDoc-1.0.
 -  Fixed some bugs in the example files. 
 -  New versions of MorphismToConnectedGroupoid, MorphismOfConnectedGroupoids
      have been started, but are not called and require further revision. 
 -  Created a test file:  gpd_manual.tst  called by  testall.g 
 -  Started to reintroduce connected groupoids with variable object groups: 
      added: IsGroupoidWithConstantGroup, ConnectedGroupoidWithRays(NC). 
      Note: many of the other functions do not yet work with these groupoids. 

##############################################################################

   HISTORY up to version 1.01
   ==========================

   07/05/97  package GraphGpd started: tree and connected groupoids  

   12/12/00  version 1.001 published in Emma Moore's thesis

   30/01/04  version 1.002 prepared for GAP 4.4

   05/04/06  version 1.003 now has documentation in GAPDoc format,
             some names changed to avoid conflict with other packages.

   05/04/06  package extensively rewritten and renamed Gpd:
             version 1.01 submited as a deposited package

##############################################################################
