1# GAP Declarations 2# This file was generated from 3# $Id: quiver.gd,v 1.4 2012/02/27 12:26:34 sunnyquiver Exp $ 4DeclareInfoClass( "InfoQuiver" ); 5 6DeclareCategory("IsPath", IsMultiplicativeElement); 7DeclareCategory("IsQuiverVertex", IsPath); 8DeclareRepresentation("IsQuiverVertexRep", IsComponentObjectRep, ["vertex_name","gen_pos"]); 9DeclareCategory("IsArrow", IsPath); 10DeclareRepresentation("IsArrowRep", IsComponentObjectRep, ["arrow_name","gen_pos"]); 11DeclareCategoryFamily("IsPath"); 12 13DeclareAttribute("SourceOfPath", IsPath); 14DeclareAttribute("TargetOfPath", IsPath); 15DeclareAttribute("LengthOfPath", IsPath); 16DeclareAttribute("WalkOfPath", IsPath); 17DeclareProperty("IsZeroPath", IsPath); 18 19DeclareAttribute("IncomingArrowsOfVertex", IsQuiverVertex, "mutable"); 20DeclareAttribute("OutgoingArrowsOfVertex", IsQuiverVertex, "mutable"); 21DeclareAttribute("InDegreeOfVertex", IsQuiverVertex, "mutable"); 22DeclareAttribute("OutDegreeOfVertex", IsQuiverVertex, "mutable"); 23DeclareAttribute("NeighborsOfVertex", IsQuiverVertex, "mutable" ); 24 25DeclareGlobalFunction( "Path" ); 26DeclareCategory("IsQuiver", IsSemigroup and IsRecord); 27DeclareRepresentation("IsQuiverRep", IsQuiver and IsComponentObjectRep,["pieces"]); 28DeclareRepresentation("IsQuiverIteratorRep", IsComponentObjectRep, ["quiver","position"]); 29 30# DeclareRepresentation( "IsQuiverEnumerator", 31# IsDomainEnumerator and IsComponentObjectRep, 32# [ "quiver" ] ) ; 33# 34DeclareRepresentation("IsQuiverEnumerator", IsComponentObjectRep, ["quiver"]); 35DeclareAttribute("VerticesOfQuiver", IsQuiver); 36DeclareAttribute("ArrowsOfQuiver", IsQuiver); 37DeclareAttribute("AdjacencyMatrixOfQuiver", IsQuiver); 38DeclareSynonymAttr( "GeneratorsOfQuiver", GeneratorsOfMagma); 39 40 41DeclareAttribute("NumberOfVertices", IsQuiver); 42DeclareAttribute("NumberOfArrows", IsQuiver); 43DeclareAttribute( "OrderingOfQuiver", IsQuiver); 44 45DeclareGlobalFunction("Quiver"); 46DeclareGlobalFunction("UniqueQuiverName"); 47DeclareOperation("OrderedBy",[IsQuiver, IsQuiverOrdering]); 48DeclareOperation("NextPath", [IsQuiver, IsObject]); 49DeclareOperation( "\[\]", [ IsQuiverEnumerator, IsPosInt ]); 50 51DeclareOperation( "QuiverContainingPath", [ IsPath ] ); 52DeclareOperation( "VertexIndex", [ IsQuiverVertex ] ); 53DeclareOperation( "ArrowIndex", [ IsArrow ] ); 54DeclareOperation( "GeneratorIndex", [ IsPath ] ); 55 56DeclareAttribute( "OppositeQuiver", IsQuiver ); 57DeclareOperation( "OppositePath", [ IsPath ] ); 58DeclareAttribute( "OppositeQuiverNameMap", IsQuiver ); 59 60DeclareOperation( "SeparatedQuiver", [ IsQuiver ] ); 61DeclareOperation( "DynkinQuiverAn", [ IS_INT, IsList ] ); 62DeclareOperation( "DynkinQuiverEn", [ IS_INT, IsList ] ); 63DeclareOperation( "DynkinQuiverDn", [ IS_INT, IsList ] ); 64DeclareOperation( "DynkinQuiver", [ IsString, IS_INT, IsList ] );