A (homological, or lower index) spectral sequence page consists of:
1. A fixed integer r ≥0, the page number;
2. A sequence of modules {Erp,q} for p,q ∈ℤ;
3. A collection of homomorphisms {drp,q: Erp,q →Erp-r,q+r-1} for p,q ∈ℤ, r ≥0 such that drp,q drp+r,q-r+1 = 0 ;
4. A collection of isomorphisms Er+1p,q →ker drp,q / image drp+r,q-r+1.
Alternatively a (cohomological, or upper index) spectral sequence page consists of:
1’. A fixed integer r ≥0, the page number;
2’. A sequence of modules {Erp,q} for p,q ∈ℤ;
3’. A collection of homomorphisms {drp,q: Erp,q →Erp+r,q-r+1} for p,q ∈ℤ, r ≥0 such that drp,q drp-r,q+r-1 = 0 ;
4’. A collection of isomorphisms Er+1p,q →ker drp,q / image drp-r,q+r-1.
The type SpectralSequencePage is a data type for working with spectral sequences and spectral sequence pages.
The isomorphisms 4 and 4’ are not explicitly part of the data type, although they can be obtained by using the command homologyIsomorphism.
The object SpectralSequencePage is a type, with ancestor classes Page < MutableHashTable < HashTable < Thing.