\makelabel{prg:Copyright Notice}{{\setbox 0=\hbox {1}\vrule width 0pt height\ht 0}}
\makelabel{prg:About Programming in GAP}{1}
\makelabel{prg:Method Selection}{2}
\makelabel{prg:Operations and Methods}{2.1}
\makelabel{prg:Method Installation}{2.2}
\makelabel{prg:InstallMethod}{2.2.1}
\makelabel{prg:InstallOtherMethod}{2.2.2}
\makelabel{prg:Applicable Methods and Method Selection}{2.3}
\makelabel{prg:Partial Methods}{2.4}
\makelabel{prg:TryNextMethod}{2.4.1}
\makelabel{prg:Redispatching}{2.5}
\makelabel{prg:RedispatchOnCondition}{2.5.1}
\makelabel{prg:Immediate Methods}{2.6}
\makelabel{prg:InstallImmediateMethod}{2.6.1}
\makelabel{prg:Logical Implications}{2.7}
\makelabel{prg:InstallTrueMethod}{2.7.1}
\makelabel{prg:Operations and Mathematical Terms}{2.8}
\makelabel{prg:Creating New Objects}{3}
\makelabel{prg:Creating Categories}{3.1}
\makelabel{prg:NewCategory}{3.1.1}
\makelabel{prg:CategoryCollections}{3.1.2}
\makelabel{prg:CategoryFamily}{3.1.3}
\makelabel{prg:Creating Representations}{3.2}
\makelabel{prg:NewRepresentation}{3.2.1}
\makelabel{prg:Creating Attributes and Properties}{3.3}
\makelabel{prg:NewAttribute}{3.3.1}
\makelabel{prg:NewAttribute}{3.3.1}
\makelabel{prg:NewAttribute!mutable}{3.3.2}
\makelabel{prg:NewAttribute!mutable}{3.3.2}
\makelabel{prg:NewProperty}{3.3.3}
\makelabel{prg:Creating Other Filters}{3.4}
\makelabel{prg:NewFilter}{3.4.1}
\makelabel{prg:SetFilterObj}{3.4.2}
\makelabel{prg:ResetFilterObj}{3.4.2}
\makelabel{prg:Creating Operations}{3.5}
\makelabel{prg:NewOperation}{3.5.1}
\makelabel{prg:Creating Families}{3.6}
\makelabel{prg:NewFamily}{3.6.1}
\makelabel{prg:CollectionsFamily}{3.6.2}
\makelabel{prg:ElementsFamily}{3.6.3}
\makelabel{prg:Creating Types}{3.7}
\makelabel{prg:NewType}{3.7.1}
\makelabel{prg:Creating Objects}{3.8}
\makelabel{prg:Objectify}{3.8.1}
\makelabel{prg:ObjectifyWithAttributes}{3.8.2}
\makelabel{prg:Component Objects}{3.9}
\makelabel{prg:NamesOfComponents}{3.9.1}
\makelabel{prg:Positional Objects}{3.10}
\makelabel{prg:Implementing New List Objects}{3.11}
\makelabel{prg:Example -- Constructing Enumerators}{3.12}
\makelabel{prg:Example -- Constructing Iterators}{3.13}
\makelabel{prg:Arithmetic Issues in the Implementation of New Kinds of Lists}{3.14}
\makelabel{prg:External Representation}{3.15}
\makelabel{prg:ExtRepOfObj}{3.15.1}
\makelabel{prg:ObjByExtRep}{3.15.1}
\makelabel{prg:Mutability and Copying}{3.16}
\makelabel{prg:Global Variables in the Library}{3.17}
\makelabel{prg:BindGlobal}{3.17.1}
\makelabel{prg:DeclareAttribute}{3.17.2}
\makelabel{prg:DeclareCategory}{3.17.2}
\makelabel{prg:DeclareFilter}{3.17.2}
\makelabel{prg:DeclareProperty}{3.17.2}
\makelabel{prg:DeclareRepresentation}{3.17.2}
\makelabel{prg:DeclareOperation}{3.17.3}
\makelabel{prg:DeclareGlobalFunction}{3.17.3}
\makelabel{prg:InstallGlobalFunction}{3.17.4}
\makelabel{prg:DeclareGlobalVariable}{3.17.5}
\makelabel{prg:InstallValue}{3.17.6}
\makelabel{prg:InstallFlushableValue}{3.17.6}
\makelabel{prg:DeclareSynonym}{3.17.7}
\makelabel{prg:DeclareSynonymAttr}{3.17.8}
\makelabel{prg:FlushCaches}{3.17.9}
\makelabel{prg:Declaration and Implementation Part}{3.18}
\makelabel{prg:Examples of Extending the System}{4}
\makelabel{prg:Addition of a Method}{4.1}
\makelabel{prg:Extending the Range of Definition of an Existing Operation}{4.2}
\makelabel{prg:Enforcing Property Tests}{4.3}
\makelabel{prg:Adding a new Operation}{4.4}
\makelabel{prg:Adding a new Attribute}{4.5}
\makelabel{prg:Adding a new Representation}{4.6}
\makelabel{prg:Components versus Attributes}{4.7}
\makelabel{prg:Adding new Concepts}{4.8}
\makelabel{prg:Example: M-groups}{4.9}
\makelabel{prg:Example: Groups with a word length}{4.10}
\makelabel{prg:Example: Groups with a decomposition as semidirect product}{4.11}
\makelabel{prg:Creating Own Arithmetic Objects}{4.12}
\makelabel{prg:ArithmeticElementCreator}{4.12.1}
\makelabel{prg:An Example -- Residue Class Rings}{5}
\makelabel{prg:A First Attempt to Implement Elements of Residue Class Rings}{5.1}
\makelabel{prg:Why Proceed in a Different Way?}{5.2}
\makelabel{prg:A Second Attempt to Implement Elements of Residue Class Rings}{5.3}
\makelabel{prg:Compatibility of Residue Class Rings with Prime Fields}{5.4}
\makelabel{prg:Further Improvements in Implementing Residue Class Rings}{5.5}
\makelabel{prg:An Example -- Designing Arithmetic Operations}{6}
\makelabel{prg:New Arithmetic Operations vs. New Objects}{6.1}
\makelabel{prg:Designing new Multiplicative Objects}{6.2}
\makelabel{prg:Bibliography}{}
\setcitlab {Isa76}{Isa76}
\setcitlab {luksrakocziwright97}{LRW97}
\setcitlab {wielandt69}{Wie69}
\makelabel{prg:Index}{}
