# Lecture 11: The Symbolic Method and the Combstruct Package

The symbolic method is a technique for automatically deriving functional equations for
generating functions that count combinatorial objects for natural descriptions of the objects.
Once the functional equation is obtained, the machinery of generating functions can be used
to analyze and generate objects. The method is the basis for Maple's combstruct package.
The combstruct package is a Maple package for generating and analyzing
combinatorial structures such as trees, partitions, permutations, combinations,
etc. It uses grammars to specify structures, and provides functions for
generating random structures, enumerating and counting structures, and exploring
properties of structures (e.g. height and ipl of trees) using attribute
grammars. The package relies heavily on generating functions.

### Background Material

### Reading

Make sure you carefully study the Maple worksheet for this lecture. Additional
materials to look at are:
- Use Maple Help as needed to understand Maple commands
- Introduction to the Combstruct Package and related worksheets in
the Maple Help pages

### Topics

- Review of Generating functions
- Review of grammars
- Overview of the symbolic method (relate operations on combinatorial objects to generating functions)
- Disjoint union
- Cartesian product
- Sequences
- Sets and multisets

- Overview of the combstruct package
- Specifying structures
- Generating structures
- Counting structures

- Attribute Grammars

### Maple worksheets and programs

- combstruct.mw - Maple worksheet illustrating the combstruct package.

Created: Nov. 12, 2006 by jjohnson@cs.drexel.edu