Contents

1 To Do
2 Introduction
3 Overview of the Combinat Files
 3.1 The include Subdirectory
 3.2 The src Subdirectory
  3.2.1 Species and Generating Series
  3.2.2 Tools for Polynomials and Power Products
  3.2.3 Tools for Small Integers
  3.2.4 Compatibility with Axiom
 3.3 The test Subdirectory
4 LATEX Style Customization
 4.1 Commands for Common Combinat Names
 4.2 Environments for Collaboration
 4.3 Mathematical Notation
  4.3.1 Common Sets
  4.3.2 Set Notation
  4.3.3 Math-Operators
  4.3.4 Functorial Composition
  4.3.5 Theorem-like Environments
5 User Customization of the Build Process
 5.1 Information about the Project
 5.2 Variants of the Libraries
 5.3 Adding New Directories
6 The Main Executable
7 Common Aldor Include File for Combinat
 7.1 Global Macros
 7.2 Support for Tracing Domain Instantiations
 7.3 Loading the Combinat Library
 7.4 Axiom-Aldor compatibility
8 Combinatorial Species
 8.1 Combinatorial Species and their Modelling in Aldor
 8.2 The Label Type
 8.3 The Aldor Category of Combinatorial Species
  8.3.1 Structures and Isomorphismtypes
 8.4 Basic Species
  8.4.1 The Empty Set Species
  8.4.2 The Singleton Species
  8.4.3 The Characteristic Species
  8.4.4 The Species of Linear Orders
  8.4.5 The Species of Cyclic Permutations
  8.4.6 The Species of Permutations
 8.5 Turn Some Existing Aldor Domains into Species
  8.5.1 The Set Species
 8.6 Restricted Species
 8.7 Drop Empty Structure from a Species
 8.8 The Species of Subsets
 8.9 Partition Species
  8.9.1 Restricted Growth Functions
  8.9.2 Generating Set Partitions
  8.9.3 Generating Integer Partitions
  8.9.4 The Number of Set Partitions
  8.9.5 The Number of Integer Partitions
 8.10 Addition of Species
 8.11 Product of Species
 8.12 Composition of Species
 8.13 Functorial Composition of Species
 8.14 Some Further Ideas
9 Formal Power Series
 9.1 FormalPowerSeriesCategory
  9.1.1 Constructor Functions
  9.1.2 Access Functions
  9.1.3 Coercion Functions
  9.1.4 Destructive Functions
  9.1.5 Arithmetic
 9.2 FormalPowerSeries
  9.2.1 Representation
  9.2.2 Initialization of the Representation
  9.2.3 Computation of an Approximate Order
  9.2.4 Zero Recognition
  9.2.5 Series Constructors
  9.2.6 Series Selector Functions
  9.2.7 Creating New Series for Recursive Use
  9.2.8 Series Addition
  9.2.9 Finite Sum
  9.2.10 Potentially Infinite Sum
  9.2.11 Series Multiplication
  9.2.12 Potentially Infinite Products
  9.2.13 Series Composition
  9.2.14 Series Differentiation
  9.2.15 Series Integration
  9.2.16 Series Exponentiation
 9.3 SeriesOrder
  9.3.1 Constructors
  9.3.2 Coercion
  9.3.3 Equality
  9.3.4 Arithmetic
10 Generating Series
 10.1 OrdinaryGeneratingSeries
 10.2 ExponentialGeneratingSeries
 10.3 CycleIndexSeries
  10.3.1 Definitions
  10.3.2 Implementation
11 Binomials and Multinomials
 11.1 The Multinomial Package
 11.2 Binomial Coefficients
 11.3 Multinomial Coefficients
12 Streams or Infinite Arrays
 12.1 The Representation of DataStream
 12.2 Constructor Functions of DataStream
 12.3 Selector Functions
 12.4 Access Functions
 12.5 Destructive Functions
 12.6 DataStream Modification
13 Infinite Lists
14 A Domain for Expressions of Species
 14.1 The Representation of SpeciesExpressions
15 A Very Simple Parser
16 A Simple Interpreter
 16.1 Functions from LabelType to CombinatorialSpecies
 16.2 Translating Grammars to Combinatorial Species
17 Sparse Indexed Structures
 17.1 IndexedFreeAdditiveCombinationType
 17.2 SparseAdditiveArray
 17.3 IndexedFreeArithmeticType
 17.4 SparseFiniteMonoidRing
18 SparseIndexedPowerProduct
19 SparseDistributedPolynomial
20 Hardcodes Primes That Fit Into 16 Bit
21 Functions on 32-bit Integers
22 Emulation of the Algebra Library API via Axiom
 22.1 Basic Axiom Types Extended
  22.1.1 ACCharacter
  22.1.2 ACString
  22.1.3 ACInteger
  22.1.4 ACMachineInteger
  22.1.5 ACSymbol
  22.1.6 ACList
 22.2 AC Integer Tools
 22.3 ACPrimitiveArray
 22.4 Array
 22.5 ACFraction
23 More Emulation of the Algebra Library API via Axiom
 23.1 Partial
 23.2 Generator
 23.3 Generator Exception
 23.4 Expressions
24 Test Basic Combinatorial Species
 24.1 Test EmptySetSpecies
 24.2 Test CharacteristicSetSpecies
 24.3 Test SetSpecies
 24.4 Test Subset
 24.5 Test Partition
 24.6 Test LinearOrder
 24.7 Test Cycle
 24.8 Test Permutation
 24.9 Test Two-Element Subsets
 24.10 Test Constructors
 24.11 Test Recursive Structures
 24.12 Test Composition
 24.13 Test Functorial Composition
25 Test Partition
 25.1 Test Restricted Growth Arrays
 25.2 Test Structures and Types
26 Test MultinomialTools
 26.1 An Auxiliary Naive Implementation
 26.2 Test binomial
 26.3 Test multinomial
27 Test DataStream
28 Test Formal Power Series
29 Test Generating Series
 29.1 Test FactorialStream
 29.2 Test Functorial Composition
 29.3 Test Cycle Index Variables
 29.4 Test Series with Polynomial Coefficients
30 Test CombinatorialUnionList and CombinatorialCrossList
 30.1 Test Grammar
31 Test Basic Polynomial-like Functions
 31.1 Test SparseAdditiveArray
 31.2 Test SparseFiniteMonoidRing
32 Test Sparse Indexed Power Products
33 Test Basic Polynomial Functions
34 Test Functions for Small Integers
 34.1 Test Integer Square Root
 34.2 Primality Test
 34.3 Factorization, Möbius and Euler Totient Function