##############################################################################
##
#W  gpd2obj.gd                 GAP4 package `XMod'               Chris Wensley
##
#H  @(#)$Id: "xmod/gap/gpd2obj.gd", v 2.12 2008/11/21 
##
##  Declaration file for functions of the XMOD package.
##
Revision.("xmod/gap/gpd2obj_gd") :=
              "@(#)$Id: gpd2obj.gd, v 2.12 2008/11/21 gap Exp $";

#############################################################################
## 
#P  Is2dDomainWithObjects( <obj> )
#R  IsPreXModWithObjectsObj( <obj> )
##    A pre-crossed module of groupoids is a morphism preserving an action
#R  IsPreCat1WithObjectsObj( <obj> )
##    A pre-cat1-groupoid is a pair of endomorphisms with a common image
##
DeclareProperty( "Is2dDomainWithObjects", Is2dDomain ); 
DeclareRepresentation( "IsPreXModWithObjectsObj", 
    Is2dDomainWithObjects and IsAttributeStoringRep, 
    [ "objects", "boundary", "action" ] );
DeclareRepresentation( "IsPreCat1WithObjectsObj", 
    Is2dDomainWithObjects and IsAttributeStoringRep,
    [ "objects", "tailMap", "headMap", "rangeEmbedding" ] );

#############################################################################
##
#O  PreXModWithObjectsObj( <obs>, <bdy>, <act> )
##
DeclareOperation( "PreXModWithObjectsObj",
    [ IsHomogeneousList, IsGroupoidHomomorphism, IsGroupoidHomomorphism ] );

############################################################################## 
## 
#E  gpd2obj.gd . . . . . . . . . . . . . . . . . . . . . . . . . . . ends here 
## 
