Format of module definition files:

Module definition files are free format. That is, fields are separated by white space (spaces, tabs and/or newlines) and the number and nature of such characters does not matter so long as it is positive.

That said, it is convenient for the humans who may read it to have the number of generators on a line by itself at the start, followed by a paragraph (line or lines) listing the degrees of the generators, then followed by the lines giving the values of the squaring operations. If there are a lot of these it is convenient to break them into paragraphs, one for all the operations on each generator.

The generators MUST be ordered so that the degrees are nondecreasing. The program sortDef will reorder a definition to accomplish this, and tell you the translation between the old and new generators.

However, the order in which the Sq^r's are defined does not matter.

Data Description
n dimension over GF(2)
d0 d1 ... d(n-1) degrees of the generators (in nondecreasing order)
Then repeat as necessary:
g r k g1 g2 ... gk where g and g1,...,gk are generator numbers (0 to n-1), and this line means that Sq^r(g) is the sum g1 + ... + gk

Repeat these for each nonzero Sq^r (not just for r a power of two). Any Sq^r's not mentioned are assumed 0. Before computing with such a definition, its consistency is checked by the 'newmodule' script, using the programs 'consistency' or 'newconsistency'.

Running newconsistency repeatedly is an easy way to fill in the Sq^r which are missing after creating a file in which the Sq^{2^i} have been defined. Since the Sq^{2^i} generate, there is only one way to do this.

Samples:

Cofiber(2) [2 generators, of degrees 0 and 1, with a Sq^1 from degree 0 to degree 1]
----------
2
0 1

0 1 1 1

Cofiber(eta) [2 generators, of degrees 0 and 2, with a Sq^2 from degree 0 to degree 2]
------------
2
0 2

0 2 1 1

Cofiber(2) smash Cofiber(2) [with its 'natural' basis]
---------------------------
4
0 1 1 2

0 1 2 1 2
0 2 1 3
1 1 1 3
2 1 1 3

Cofiber(2) smash Cofiber(2) [with a different basis in degree 1]
---------------------------
4
0 1 1 2

0 1 1 1
0 2 1 3
2 1 1 3

RP^10, Real projective space of dimension 10
--------------------------------------------
10
1 2 3 4 5 6 7 8 9 10 

0 1 1 1

1 2 1 3

2 1 1 3
2 2 1 4
2 3 1 5

3 4 1 7

4 1 1 5
4 4 1 8
4 5 1 9

5 2 1 7
5 4 1 9

6 1 1 7
6 2 1 8
6 3 1 9

8 1 1 9

End of samples.

Back