##############################################################################
##
#W  gp2act.gd                   GAP4 package `XMod'              Chris Wensley
#W                                                                 & Murat Alp
##
##  Declaration file for functions of the XMOD package.
##  This file declares methods for actor crossed squares of crossed modules. 
##  
#H  @(#)Id: "xmod/gap/gp2act.gd", v.2.11 2008/05/02 
##
#Y  Copyright (C) 2008, Chris Wensley and Murat Alp,  
#Y  School of Computer Science, Bangor University, U.K. 
#Y
#Y  This program is free software; you can redistribute it and/or
#Y  modify it under the terms of the GNU General Public License
#Y  as published by the Free Software Foundation; either version 2
#Y  of the License, or (at your option) any later version.
#Y
#Y  This program is distributed in the hope that it will be useful,
#Y  but WITHOUT ANY WARRANTY; without even the implied warranty of
#Y  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
#Y  See the GNU General Public License for more details.
#Y
#Y  You should have received a copy of the GNU General Public License along 
#Y  with this program; if not, write to the Free Software Foundation, Inc., 
#Y  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 

#############################################################################
##
#A  AutomorphismPermGroup( <obj> )
##
DeclareAttribute( "AutomorphismPermGroup", Is2dDomain );
DeclareAttribute( "GeneratingAutomorphisms", Is2dDomain );
DeclareAttribute( "AutoGroupIsomorphism", IsGroup );
DeclareProperty( "IsAutomorphismPermGroupOfXMod", IsGroup );
DeclareAttribute( "EmbedSourceAutos", IsAutomorphismPermGroupOfXMod );
DeclareAttribute( "EmbedRangeAutos", IsAutomorphismPermGroupOfXMod );
DeclareAttribute( "SourceProjection", IsAutomorphismPermGroupOfXMod );
DeclareAttribute( "RangeProjection", IsAutomorphismPermGroupOfXMod );
DeclareAttribute( "XModActedUpon", IsAutomorphismPermGroupOfXMod );

#############################################################################
##
#O  PermAutomorphismAsXModMorphism( <xmod>, <permaut> )
##
DeclareOperation( "PermAutomorphismAsXModMorphism", [ IsXMod, IsPerm ] );

#############################################################################
##
#A  WhiteheadXMod( <XM> )
#A  NorrieXMod( <XM> )
#A  LueXMod( <XM> )
##
DeclareAttribute( "WhiteheadXMod", IsXMod );
DeclareAttribute( "NorrieXMod", IsXMod );
DeclareAttribute( "LueXMod", IsXMod );

#############################################################################
##
#F  Actor( <args> )
#F  InnerActor( <args> )
#A  ActorXMod( <XM> )
#A  ActorCat1( <C> )
##
DeclareGlobalFunction( "Actor" );
DeclareGlobalFunction( "InnerActor" );
DeclareAttribute( "ActorXMod", IsXMod );
DeclareAttribute( "ActorCat1", IsCat1 );

#############################################################################
##
#A  InnerActorXMod( <XM> )
#A  InnerMorphism( <XM> )
##
DeclareAttribute( "InnerActorXMod", IsXMod );
DeclareAttribute( "InnerMorphism", IsXMod );

#############################################################################
##
#O  ImageAutomorphismDerivation( <mor>, <chi> )
##
DeclareOperation( "ImageAutomorphismDerivation", 
    [ IsXModMorphism, IsDerivation ] );

#############################################################################
##
#E  gp2act.gd . . . . . . . . . . . . . . . . . . . . . . . . . . . ends here
