33
Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The first section is devoted to the main mathematical notions employed in this work. The Kenzo system, a Common Lisp program developed by Francis Sergeraert and some coworkers devoted to perform computations in Algebraic Topology, is presented in Section 1.2. Finally, the deduction machinery employed in this memoir, the ACL2 system, is briefly introduced in Section 1.3. 1.1 Mathematical preliminaries Algebraic Topology is a vast and complex subject, in particular mixing Algebra and (combinatorial) Topology. Algebraic Topology consists in trying to use as much as possible “algebraic” methods to attack topological problems. For instance, one can define some special groups associated with a topological space, in a way that respects the relation of homeomorphism of spaces. This allows us to study properties about topological spaces by means of statements about groups, which are often easier to prove. 1.1.1 Homological Algebra The following basic definitions can be found, for instance, in [Mac63]. Definition 1.1. Let R be a ring with a unit element 1 6= 0. A left R-module M is an additive abelian group together with a map p : R × M M , denoted by p(r, m) rm, such that for every r, r 0 R and m, m 0 M (r + r 0 )m = rm + r 0 m r(m + m 0 )= rm + rm 0 (rr 0 )m = r(r 0 m) 1m = m 5

Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

  • Upload
    others

  • View
    39

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

Chapter 1

Preliminaries

In this chapter we introduce some preliminaries that we will use in the rest of thismemoir. The first section is devoted to the main mathematical notions employed in thiswork. The Kenzo system, a Common Lisp program developed by Francis Sergeraert andsome coworkers devoted to perform computations in Algebraic Topology, is presentedin Section 1.2. Finally, the deduction machinery employed in this memoir, the ACL2system, is briefly introduced in Section 1.3.

1.1 Mathematical preliminaries

Algebraic Topology is a vast and complex subject, in particular mixing Algebra and(combinatorial) Topology. Algebraic Topology consists in trying to use as much aspossible “algebraic” methods to attack topological problems. For instance, one candefine some special groups associated with a topological space, in a way that respectsthe relation of homeomorphism of spaces. This allows us to study properties abouttopological spaces by means of statements about groups, which are often easier to prove.

1.1.1 Homological Algebra

The following basic definitions can be found, for instance, in [Mac63].

Definition 1.1. Let R be a ring with a unit element 1 6= 0. A left R-module M is anadditive abelian group together with a map p : R×M →M , denoted by p(r,m) ≡ rm,such that for every r, r′ ∈ R and m,m′ ∈M

(r + r′)m = rm+ r′m

r(m+m′) = rm+ rm′

(rr′)m = r(r′m)

1m = m

5

Page 2: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

6 Chapter 1 Preliminaries

A similar definition is given for a right R-module.

For R = Z (the integer ring), a Z-module M is simply an abelian group. The mapp : Z×M →M is given by

p(n,m) =

m+

n· · · +m if n > 00 if n = 0

(−m)+n· · · +(−m) if n < 0

Definition 1.2. Let R be a ring and M and N be R-modules. An R-module morphismα : M → N is a function from M to N such that for every m,m′ ∈M and r ∈ R

α(m+m′) = α(m) + α(m′)

α(rm) = rα(m)

α(0M) = 0N

Definition 1.3. Given a ring R, a graded module M is a family of left R-modules(Mn)n∈Z.

Definition 1.4. Given a pair of graded modules M and M ′, a graded module mor-phism f of degree k between them is a family of module morphisms (fn)n∈Z such thatfn : Mn → M ′

n+k for all n ∈ Z.

Definition 1.5. Given a graded module M , a differential (dn)n∈Z is a family of moduleendomorphisms of M of degree −1 such that dn−1 dn = 0 for all n ∈ Z.

From the previous definitions, the notion of chain complex can be defined. Chaincomplexes are the central notion in Homological Algebra and can be used as an algebraicmeans to study properties of topological spaces in several dimensions.

Definition 1.6. A chain complex C∗ is a family of pairs (Cn, dn)n∈Z where (Cn)n∈Z is agraded module and (dn)n∈Z is a differential of C∗.

The module Cn is called the module of n-chains. The image Bn = Im dn+1 ⊆ Cn isthe (sub)module of n-boundaries. The kernel Zn = Ker dn ⊆ Cn is the (sub)module ofn-cycles.

In many situations the ring R is the integer ring, R = Z. In this case, a chaincomplex C∗ is given by a graded abelian group Cnn∈Z and a graded group morphismof degree -1, dn : Cn → Cn−1n∈Z, satisfying dn−1 dn = 0 for all n. From now on inthis memoir, we will work with R = Z.

Let us present some examples of chain complexes.

Example 1.7. • The unit chain complex has a unique non null component, namelya Z-module in degree 0 generated by a unique generator and the differential is thenull map.

Page 3: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.1 Mathematical preliminaries 7

• A chain complex to model the circle is defined as follows. This chain complex hastwo non null components, namely a Z-module in degree 0 generated by a uniquegenerator and a Z-module in degree 1 generated by another generator; and thedifferential is the null map.

• The diabolo chain complex has associated three chain groups:

– C0, the free Z-module on the set s0, s1, s2, s3, s4, s5.– C1, the free Z-module on the set s01, s02, s12, s23, s34, s35, s45.– C2, the free Z-module on the set s345.

and the differential is provided by:

– d0(si) = 0,

– d1(sij) = sj − si,– d2(sijk) = sjk − sik + sij.

and it is extended by linearity to the combinations c =∑m

i=1 λixi ∈ Cn.

We can construct chain complexes from other ones, applying constructors such asthe direct sum or the tensor product.

Definition 1.8. Let C∗ = (Cn, dCn)n∈Z and D∗ = (Dn, dDn)n∈Z be chain complexes.The direct sum of C∗ and D∗ is the chain complex C∗ ⊕ D∗ = (Mn, dn)n∈Z such that,Mn = (Cn, Dn) and the differential map is defined on the generators (x, y) with x ∈ Cnand y ∈ Dn by dn((x, y)) = (dCn(x), dDn(y)) for all n ∈ Z. The notion of direct sum canbe generalized to a collection of chain complexes.

Definition 1.9. Let M be a right R-module, and N a left R-module. The tensor productM ⊗R N is the abelian group generated by the symbols m ⊗ n for every m ∈ M andn ∈ N , subject to the relations

(m+m′)⊗ n = m⊗ n+m′ ⊗ nm⊗ (n+ n′) = m⊗ n+m⊗ n′

mr ⊗ n = m⊗ rn

for all r ∈ R, m,m′ ∈M , and n, n′ ∈ N .

If R = Z (the integer ring), then M and N are abelian groups and their tensorproduct will be denoted simply by M ⊗N .

Definition 1.10. Let C∗ = (Cn, dCn)n∈Z and D∗ = (Dn, dDn)n∈Z be chain complexes ofright and left Z-modules respectively. The tensor product C∗⊗D∗ is the chain complexof Z-modules C∗ ⊗D∗ = ((C∗ ⊗D∗)n, dn)n∈Z with

(C∗ ⊗D∗)n =⊕p+q=n

(Cp ⊗Dq)

Page 4: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

8 Chapter 1 Preliminaries

where the differential map is defined on the generators x ⊗ y with x ∈ Cp and y ∈ Dq,according to the Koszul rule for the signs, by

dn(x⊗ y) = dCp(x)⊗ y + (−1)px⊗ dDq(y)

Let us present now, one of the most important invariants used in Homological Al-gebra. Given a chain complex C∗ = (Cn, dn)n∈Z, the identities dn−1 dn = 0 mean theinclusion relations Bn ⊆ Zn: every boundary is a cycle (the converse in general is nottrue). Thus the next definition makes sense.

Definition 1.11. Let C∗ = (Cn, dn)n∈Z be a chain complex of R-modules. For eachdegree n ∈ Z, the n-homology module of C∗ is defined as the quotient module

Hn(C∗) =ZnBn

It is worth noting that the homology groups of a space X are the ones of its as-sociated chain complex C∗(X); the way of constructing the chain complex associatedwith a space X is explained, for instance, in [Mau96]. In an intuitive sense, homologygroups measure “n-dimensional holes” in topological spaces. H0 measures the number ofconnected components of a space. The homology groups Hn measure higher dimensionalconnectedness. For instance, the n-sphere, Sn, has exactly one n-dimensional hole andno m-dimensional holes if m 6= n.

Moreover, it is worth noting that homology groups are an invariant, see [Mau96].That is to say, if two topological spaces are homeomorphic, this means that their ho-mology groups are isomorphic.

Let us finish this section with some additional definitions related to chain complexes.

Definition 1.12. A chain complex C∗ = (Cn, dn)n∈Z is acyclic if Hn(C∗) = 0 for all n,that is to say, if Zn = Bn for every n ∈ Z.

Definition 1.13. Let C∗ = (Cn, dCn)n∈Z andD∗ = (Dn, dDn)n∈Z be two chain complexes,a chain complex morphism between them is a family of module morphisms (fn)n∈Z ofdegree 0 between (Cn)n∈Z and (Dn)n∈Z such that d′n fn = fn−1 dn for each n ∈ Z.

Definition 1.14. Let C∗ = (Cn, dn)n∈Z be a chain complex. A chain complexD∗ = (Dn , d

′n)n∈Z is a chain subcomplex of C∗ if

• Dn is a submodule of Cn, for all n ∈ Z

• d′n = dn |D∗

The condition d′n = dn |D∗ means that the boundary operator of the chain subcomplexis just the differential operator of the larger chain complex restricted to its domain. Wedenote D∗ ⊂ C∗ if D∗ is a chain subcomplex of C∗.

Page 5: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.1 Mathematical preliminaries 9

Definition 1.15. A short exact sequence is a sequence of modules:

0← C ′′j←− C

i←− C ′ ← 0

which is exact, that is, the map i is injective, the map j is surjective and Im i = Ker j.

From now on in this memoir, we will work with non-negative chain complexes, thatis to say, Cnn∈Z such that Cn = 0 if n < 0. A non-negative chain complex C∗ will bedenoted by C∗ = Cnn∈N. Moreover, the chain complexes we work with are supposedto be free.

Definition 1.16. A chain complex C∗ = (Cn, dn)n∈N of Z-modules is said to be free ifCn is a free Z-module (a Z-module which admits a basis) for each n ∈ N.

1.1.2 Simplicial Topology

1.1.2.1 Simplicial Sets

Simplicial sets were first introduced by Eilenberg and Zilber [EZ50], who called themsemi-simplicial complexes. They can be used to express some topological propertiesof spaces by means of combinatorial notions. A good reference for the definitions andresults of this section is [May67].

Definition 1.17. A simplicial set K, is a union K =⋃q≥0

Kq, where the Kq are disjoints

sets, together with functions:

∂qi : Kq → Kq−1, q > 0, i = 0, . . . , q,ηqi : Kq → Kq+1, q ≥ 0, i = 0, . . . , q,

subject to the relations:

(1) ∂q−1i ∂qj = ∂q−1j−1∂qi if i < j,

(2) ηq+1i ηqj = ηq+1

j ηqi−1 if i > j,

(3) ∂q+1i ηqj = ηq−1j−1∂

qi if i < j,

(4) ∂q+1i ηqi = identity = ∂q+1

i+1 ηqi ,

(5) ∂q+1i ηqj = ηq−1j ∂qi−1 if i > j + 1.

The ∂qi and ηqi are called face and degeneracy operators respectively.

The elements of Kq are called q-simplexes. A simplex x is called degenerate if x = ηiyfor some simplex y and some degeneracy operator ηi; otherwise x is called non degenerate.

An example of a simplicial set, that can be useful to clarify some notions, is thestandard simplicial set of dimension m, ∆[m].

Page 6: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

10 Chapter 1 Preliminaries

3

0

2

1

Figure 1.1: non degenerate simplexes of the standard simplicial set ∆[3]

Definition 1.18. For m ≥ 0, the standard simplicial set of dimension m, ∆[m], is asimplicial set built as follows. An n-simplex of ∆[m] is any (n+ 1)-tuple (a0, . . . , an) ofintegers such that 0 ≤ a0 ≤ · · · ≤ an ≤ m, and the face and degeneracy operators aredefined as

∂i(a0, . . . , an) = (a0, . . . , ai−1, ai+1, . . . , an)

ηi(a0, . . . , an) = (a0, . . . , ai−1, ai, ai, ai+1 . . . , an)

In Definition 1.18 the super-indexes in the degeneracy and face maps have beenskipped, since they can be inferred from the context. It is a usual practice and will befreely used in the sequel, both for degeneracy and for face maps.

Example 1.19. Figure 1.19 shows the non degenerate simplexes of the standard sim-plicial set ∆[3]:

• 0-simplexes (vertices): (0), (1), (2), (3);

• non degenerate 1-simplexes (edges): (0 1), (0 2), (0 3), (1 2), (1 3), (2 3);

• non degenerate 2-simplexes (triangles): (0 1 2), (0 1 3), (0 2 3), (1 2 3); and

• non degenerate 3-simplex (filled tetrahedra): (0 1 2 3).

It is worth noting that there is not any non degenerate n-simplex with n > 3.

Once we have presented the non degenerate simplexes, let us introduce the behaviorof the face and degeneracy maps. For instance, if we apply the face and degeneracymaps over the 2-simplex (0 1 2) (for the rest of simplexes is analogous) we will obtain:

∂i((0 1 2)) =

(1 2) if i = 0(0 2) if i = 1(0 1) if i = 2

ηi((0 1 2)) =

(0 0 1 2) if i = 0(0 1 1 2) if i = 1(0 1 2 2) if i = 2

Page 7: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.1 Mathematical preliminaries 11

Let us note that the face operator applied over the 2-simplex (0 1 2) produces sim-plexes with geometrical meaning (that are the three edges of the simplex (0 1 2)). Onthe contrary, the simplexes obtained from applying the degeneracy operator do not haveany geometrical meaning.

In the rest of the memoir a non degenerate simplex will be called geometric simplex,to stress that only these simplexes really have a geometrical meaning; the degeneratesimplexes can be understood as formal artifacts introduced for technical (combinatorial)reasons. This becomes clear in the following discussion.

The next essential result, which follows from the commuting properties of degeneracymaps in the definition of simplicial sets provides a way to represent any simplex of asimplicial set in a unique manner.

Proposition 1.20. Let K be a simplicial set. Any n-simplex x ∈ Kn can be expressedin a unique way as a (possibly) iterated degeneracy of a non degenerate simplex y in thefollowing way:

x = ηjk . . . ηj1y

with y ∈ Kr, k = n− r ≥ 0, and 0 ≤ j1 < · · · < jk < n.

This proposition allows us to encode all the elements (simplexes) of any simplicialset in a generic way, by means of a structure called abstract simplex. More concretely,an abstract simplex is a pair (dgop gmsm) consisting of a sequence of degeneracymaps dgop (which will be called a degeneracy operator) and a geometric simplex gmsm.The indexes in a degeneracy operator dgop must be in a strictly decreasing order. Forinstance, if σ is a non degenerate simplex, and σ′ is the degenerate simplex η1η2σ, thecorresponding abstract simplexes are respectively (∅ σ) and (η3η1 σ), as η1η2 = η3η1,due to equality (2) in Definition 1.17.

In a similar way that we defined chain subcomplex we can define the notion ofsimplicial subcomplex.

Definition 1.21. Let K = (Kn, ∂i, ηi)n∈Z be a simplicial set. L = (Ln)n∈Z is a simplicialsubcomplex of K if

• Ln ⊂ Kn for all n ∈ Z

• (Ln, ∂i|Ln , ηi|Ln)n∈Z is a simplicial set

Let us show now, other examples of simplicial sets that are (simplicial) models ofwell-known topological spaces. The following list comes from the simplicial sets thatwill appear frequently in the rest of the memoir.

Definition 1.22. For m ≥ 1, the sphere of dimension m, Sm, is a simplicial set built asfollows. There are just two geometric simplexes: a 0-simplex, let us denote it by ?, andan m-simplex, let us denote it by sm. The faces of sm are the degeneracies of ?; that isto say ∂i(sm) = ηm−1ηm−2 . . . η0? for all 0 ≤ i ≤ m.

Page 8: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

12 Chapter 1 Preliminaries

Definition 1.23. Let m1, . . . ,mn natural numbers such that mi ≥ 1 for all 1 ≤ i ≤ n,the wedge of spheres of dimensions m1, . . . ,mn, Sm1 ∨ . . .∨Smn , is a simplicial set builtas follows. It has the following geometric simplexes: in dimension 0 a 0-simplex, let usdenote it by ?, and in dimension p as many simplexes as the number of mj, 1 ≤ i ≤ n,such that mj = p. The faces of every p-simplex are the degeneracies of ?; that is to say,let x a p-simplex, then ∂i(x) = ηp−1ηp−2 . . . η0? for all 0 ≤ i ≤ p.

Definition 1.24. For n > 0, p > 1 and n > 2p − 4, the Moore space of dimensionsp, n, M(Z/pZ, n), is a simplicial set built as follows. There are just three geometricsimplexes: a 0-simplex, let us denote it by ?, an n-simplex, let us denote it by Mn, andan n + 1-simplex, let us denote it by Mn′. The faces of Mn are the degeneracies of ?;moreover, p of the faces of Mn′ are identified with Mn and the rest are the degeneraciesof ?.

Definition 1.25. The real projective plane, P∞R, is a simplicial set built as follows.In dimension n, this simplicial set has only one geometric simplex, namely the integern. The faces of this non degenerate simplex n are given by the following formulas:∂0n = ∂nn = n− 1 and for i 6= 0 and i 6= n, ∂in = ηi−1(n− 2).

The real projective plane n-dimensional, P nR, is a simplicial set analogous to themodel of P∞R but without simplexes in dimensions m ≥ n.

We can also construct simplicial models of truncated real projective planes. Letn > 1, P∞R/P n−1R is a simplicial set analogous to the model of P∞R but withoutsimplexes in dimensions 1 ≤ m < n. The faces of the n-simplex n are the degeneraciesof the 0-simplex 0.

Let n > 1 and l ≥ n, P lR/P n−1R is a simplicial set analogous to the model of P lRbut without simplexes in dimensions 1 ≤ m < n.

The four above definitions are related to simplicial models of initial topological spaces.Moreover, we also have models for topological constructors that are applied to somespaces to obtain new ones.

Definition 1.26. Given two simplicial sets K and L, the Cartesian product K ×L is asimplicial set with n-simplexes:

(K × L)n = Kn × Ln

and for all (x, y) ∈ Kn × Ln the face and degeneracy operators are defined as follows:

∂i(x, y) = (∂ix, ∂iy) for 0 ≤ i ≤ n

ηi(x, y) = (ηix, ηiy) for 0 ≤ i ≤ n

Let K be a simplicial set and ? ∈ K0 a chosen 0-simplex (called the base point). Wewill also denote by ? the degenerate simplexes ηn−1 . . . η0? ∈ Kn for every n.

Page 9: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.1 Mathematical preliminaries 13

Definition 1.27. A simplicial set K is said to be reduced (or 0-reduced) if K has onlyone 0-simplex. Given m ≥ 1, K is m-reduced if it is reduced and there are not anydegenerate simplexes ∀n, 0 < n ≤ m.

Definition 1.28. Given a reduced simplicial set X with 0-simplex k0, the suspensionΣ(X) is a simplicial defined as follows. Σ(X)0 = b0; Σ(X)n = consists of all symbols(i, x), i ≥ 1, x ∈ Xn−i, modulo the identification (i, kn) = ηn+iηn+i−1 . . . ηnb0 = bn+i,where kn = ηnηn−1 . . . η0k0. The face and degeneracy operators on Σ(X) are defined by:

ηi . . . η0(j, x) = (i+ j, x)

ηi+1(1, x) = (1, ηix)

∂0(1, x) = bn, x ∈ Xn

∂1(1, x) = b0, x ∈ X0

∂i+1(1, x) = (1, ∂ix), x ∈ Xn, n > 0

We define inductively Σn(X) = Σ(Σn−1(X)) for all n ≥ 1, Σ0(X) = X.

If we impose some condition on the sets of simplicial sets we will obtain new kindsof simplicial objects.

Definition 1.29. An (abelian) simplicial group G is a simplicial set where each Gn

is an (abelian, respectively) group and the face and degeneracy operators are groupmorphisms.

Examples of simplicial groups are provided as follows.

Definition 1.30. Given a reduced simplicial set X, the loop space simplicial version ofX, G(X), is a simplicial group defined as follows: Gn(X) is the free group generated byXn+1 with the relations η0x;x ∈ Xn. If en is the identity element of Gn(X), we havethe canonical application τ : Xn+1 → Gn(X) defined by:

τ(y) =

en if exists x ∈ Xn such that y = η0x,y otherwise.

If ∂, η are the face and degeneracy operators of X, we define the face and degeneracyoperators, denoted by ∂, η, over the generators of Gn(X) as follows:

∂0τ(x) = [τ(∂0x)]−1τ(∂1x)

∂iτ(x) = τ(∂i+1x) if i > 0

ηiτ(x) = τ(ηi+1x) if i ≥ 0

In the sequel, we will denote G(X) as Ω(X). We define inductively Ωn(X) =Ω(Ωn−1(X)) for all n ≥ 1, Ω0(X) = X.

Page 10: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

14 Chapter 1 Preliminaries

An important example of abelian simplicial groups is the model for an EilenbergMacLane space.

Definition 1.31. An Eilenberg MacLane space of type (π, n) is a simplicial group Kwith base point e0 ∈ K0 such that πn(K) = π and πi(K) = 0 if i 6= n (where πn(K)is the n-th homotopy group, that is, the set of homotopy classes of continuous mapsf : Sn → K that map a chosen base point a ∈ Sn to the base point e0, a more detaileddescription and results about homotopy groups can be found in [Hat02]). The simplicialgroup K is called a K(π, n) if it is an Eilenberg MacLane space of type (π, n) and inaddition it is minimal.

In order to construct the spaces K(π, n)’s several methods can be used, although theresults are necessarily isomorphic [May67]. Let us consider the following one.

Let π be an abelian group. First of all, we construct an abelian simplicial groupK = K(π, 0) given by Kn = π for all n ≥ 0, and with face and degeneracy operators∂i : Kn = π → Kn−1 = π and ηi : Kn = π → Kn+1 = π, 0 ≤ i ≤ n, equal to the identitymap of the group π. This abelian simplicial group is the Eilenberg MacLane space oftype (π, 0). For n ≥ 0, we build recursively K(π, n) by means of the classifying spaceconstructor.

Definition 1.32. Let G be an abelian simplicial group. The classifying space of G,written B(G), is the abelian simplicial group built as follows. The n-simplexes of B(G)are the elements of the Cartesian product:

B(G)n = Gn−1 ×Gn−2 × · · · ×G0.

In this way B(G)0 is the group which has only one element that we denote by [ ]. Forn ≥ 1, an element of B(G)n has the form [gn−1, . . . , g0] with gi ∈ Gi. The face anddegeneracy operators are given by

η0[ ] = [e0]

∂i[g0] = [ ], i = 0, 1

∂0[gn−1, . . . , g0] = [gn−2, . . . , g0]

∂i[gn−1, . . . , g0] = [∂i−1gn−1, . . . , ∂1gn−i+1, ∂0gn−i + gn−i−1, gn−i−2, . . . , g0], 0 < i ≤ n

η0[gn−1, . . . , g0] = [en, gn−1, . . . , g0]

ηi[gn−1, . . . , g0] = [ηi−1gn−1, . . . , η0gn−i, en−i, gn−i−1, . . . , g0], 0 < i ≤ n

where en denotes the null element of the abelian group Gn.

We define inductively Bn(G) = B(Bn−1(G)) for all n ≥ 1, B0(G) = G.

Theorem 1.33. [May67] Let π be an abelian group and K(π, 0) as explained before.Then Bn(K) is a K(π, n).

Page 11: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.1 Mathematical preliminaries 15

1.1.2.2 Link between Homological Algebra and Simplicial Topology

Up to now, we have given a brief introduction to Simplicial Topology and HomologicalAlgebra; let us present now the link between these two subjects that will allow us tocompute the homology groups of simplicial sets.

Definition 1.34. Let K be a simplicial set, we define the chain complex associatedwith K, C∗(K) = (Cn(K), dn)n∈N, in the following way:

• Cn(K) = Z[Kn] is the free Z-module generated by Kn. Therefore an n-chainc ∈ Cn(K) is a combination c =

∑mi=1 λixi with λi ∈ Z and xi ∈ Kn for 1 ≤ i ≤ m;

• the differential map dn : Cn(K)→ Cn−1(K) is given by

dn(x) =n∑i=0

(−1)i∂i(x) for x ∈ Kn

and it is extended by linearity to the combinations c =∑m

i=1 λixi ∈ Cn(K).

The following statement is an immediate consequence of the previous definition.

Proposition 1.35. Let X, Y simplicial sets, where X is a simplicial subcomplex of Y ,then C∗(X) is a chain subcomplex of C∗(Y ).

From the link between simplicial sets and chain complexes we can define the homologygroups of a simplicial set as follows.

Definition 1.36. Given a simplicial set K, the n-homology group of K, Hn(K), is then-homology group of the chain complex C∗(K):

Hn(K) = Hn(C∗(K))

To sum up, when we want to study properties of a compact topological space whichadmits a triangulation, we can proceed as follows. We can associate a simplicial model Kwith a topological space X which admits a triangulation. Subsequently, the chain com-plex C∗(K) associated with K can be constructed. Afterwards, properties of this chaincomplex are computed; for instance, homology groups. Eventually, we can interpret theproperties of the chain complex as properties of the topological space X.

1.1.3 Effective Homology

As we have seen, a central problem in our context consists in computing homologygroups of topological spaces. By definition, the homology group of a space X is theone of its associated chain complex C∗(X). If C∗(X) can be described as a graded

Page 12: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

16 Chapter 1 Preliminaries

free abelian group with finitely many generators at each degree; then, computing eachhomology group can be translated to a problem of diagonalizing certain integer matrices(see [Veb31]). So, we can assert that homology groups are computable in this finite typecase.

However, things are more interesting when a space X is not of finite type (in thepreviously invoked sense) but it is known that its homology groups are of finite type.Then, it is natural to study if these homology groups are computable. The effectivehomology method, introduced in [Ser87] and [Ser94], provides a framework where thiscomputability question can be handled.

In this subsection, we present some definitions and fundamental results about theeffective homology method. More details can be found in [RS02] and [RS06].

In the context of effective homology, we can distinguish two different kinds of objects:effective and locally effective chain complexes.

Definition 1.37. An effective chain complex is a free chain complex of Z-modulesC∗ = (Cn, dn)n∈N where each group Cn is finitely generated and:

• an algorithm returns a (distinguished) Z-basis in each degree n, and

• an algorithm provides the differential maps dn.

If a chain complex C∗ = (Cn, dn)n∈N is effective, the differential maps dn : Cn → Cn−1can be expressed as finite integer matrices, and then it is possible to know everythingabout C∗: we can compute the subgroups Ker dn and Im dn+1, we can determine whetheran n-chain c ∈ Cn is a cycle or a boundary, and in the last case, we can obtain z ∈ Cn+1

such that c = dn+1(z). In particular an elementary algorithm computes its homologygroups using, for example, the Smith Normal Form technique (for details, see [Veb31]).

Definition 1.38. A locally effective chain complex is a free chain complex of Z-modulesC∗ = (Cn, dn)n∈N where each group Cn can have infinite nature, but there exists algo-rithms such that ∀x ∈ Cn, we can compute dn(x).

In this case, no global information is available. For example, it is not possible ingeneral to compute the subgroups Ker dn and Im dn+1, which can have infinite nature.

In general, we can talk of locally effective objects when only “local” computationsare possible. For instance, we can consider a locally effective simplicial set; the set ofn-simplexes can be infinite, but we can compute the faces of any specific n-simplex.

The effective homology technique consists in combining locally effective objects witheffective chain complexes. In this way, we will be able to compute homology groups oflocally effective objects.

The following notion is one of the fundamental notions in the effective homologymethod, since it will allow us to obtain homology groups of locally effective chain com-plexes in some situations.

Page 13: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.1 Mathematical preliminaries 17

Definition 1.39. A reduction ρ (also called contraction) between two chain complexesC∗ and D∗, denoted in this memoir by ρ : C∗⇒⇒D∗, is a triple ρ = (f, g, h)

C∗

h f

++ D∗g

kk

where f and g are chain complex morphisms, h is a graded group morphism of degree +1,and the following relations are satisfied:

1) f g = IdD∗ ;

2) dC h+ h dC = IdC∗ −g f ;

3) f h = 0; h g = 0; h h = 0.

The importance of reductions lies in the following fact. Let C∗⇒⇒D∗ be a reduction,then C∗ is the direct sum of D∗ and an acyclic chain complex; therefore the gradedhomology groups H∗(C∗) and H∗(D∗) are canonically isomorphic.

Very frequently, the small chain complex D∗ is effective; so, we can compute itshomology groups by means of elementary operations with integer matrices. On the otherhand, in many situations the big chain complex C∗ is locally effective and therefore itshomology groups cannot directly be determined. However, if we know a reduction fromC∗ over D∗ and D∗ is effective, then we are able to compute the homology groups of C∗by means of those of D∗.

Given a chain complex C∗, a trivial reduction ρ = (f, g, h) : C∗⇒⇒C∗ can be con-structed, where f and g are identity maps and h = 0.

As we see in the next proposition, the composition of two reductions can be easilyconstructed.

Proposition 1.40. Let ρ = (f, g, h) : C∗⇒⇒D∗ and ρ′ = (f ′, g′, h′) : D∗⇒⇒E∗ be tworeductions. Another reduction ρ′′ = (f ′′, g′′, h′′) : C∗⇒⇒E∗ is defined by:

f ′′ = f ′ fg′′ = g g′

h′′ = h+ g h′ f

Another important notion that provides a connection between locally effective ho-mology chain complexes and effective chain complexes is the notion of equivalence.

Definition 1.41. A strong chain equivalence (from now on, equivalence) ε between twochain complexes C∗ and D∗, denoted by ε : C∗⇐⇐⇒⇒D∗, is a triple (B∗, ρ1, ρ2) where B∗is a chain complex, and ρ1 and ρ2 are reductions from B∗ over C∗ and D∗ respectively:

B∗ρ1

uuρ2

!) !)C∗ D∗

Page 14: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

18 Chapter 1 Preliminaries

Very frequently, D∗ is effective; so, we can compute its homology groups by meansof elementary operations with integer matrices. On the other hand, in many situationsboth C∗ and B∗ are locally effective and therefore their homology groups cannot directlybe determined. However, if we know a reduction from B∗ over C∗, a reduction from B∗over D∗, and D∗ is effective, then we are able to compute the homology groups of C∗ bymeans of those of D∗.

Once we have introduced the notion of equivalence, it is possible to give the definitionof object with effective homology, which is the fundamental idea of the effective homologytechnique. These objects will allow us to compute homology groups of locally effectiveobjects by means of effective chain complexes.

Definition 1.42. An object with effective homology X is a quadruple (X,C∗(X), HC∗, ε)where:

• X is a locally effective object;

• C∗(X) is a (locally effective) chain complex associated with X, that allows us tostudy the homological nature of X;

• HC∗ is an effective chain complex;

• ε is an equivalence ε : C∗(X)⇐⇐⇒⇒HC∗.

Then, the graded homology groups H∗(X) and H∗(HC∗) are canonically isomorphic,then we are able to compute the homology groups of X by means of those of HC∗.

The main problem now is the following one: given a chain complex C∗ = (Cn, dn)n∈N,is it possible to determine its effective homology? We must distinguish three cases:

• First of all, if a chain complex C∗ is by chance effective, then we can choose thetrivial effective homology: ε is the equivalence C∗⇐⇐C∗⇒⇒C∗, where the twocomponents ρ1 and ρ2 are both the trivial reduction on C∗.

• In some cases, some theoretical results are available providing an equivalence be-tween some chain complex C∗ and an effective chain complex. Typically, theEilenberg MacLane space K(Z, 1) has the homotopy type of the circle S1 and areduction C∗(K(Z, 1))⇒⇒C∗(S

1) can be built.

• The most important case: let X1, . . . , Xn be objects with effective homology andΦ a constructor that produces a new space X = Φ(X1, . . . , Xn) (for example, theCartesian product of two simplicial sets, the classifying space of a simplicial group,etc). In natural “reasonable” situations, there exists an effective homology ver-sion of Φ that allows us to deduce a version with effective homology of X, theresult of the construction, from versions with effective homology of the argumentsX1, . . . , Xn. For instance, given two simplicial sets K and L with effective homol-ogy, then the Cartesian product K × L is an object with effective homology too;this is obtained by means of the Eilenberg-Zilber Theorem, see [RS06].

Page 15: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.1 Mathematical preliminaries 19

Two of the most basic (in the sense of fundamental) results in the effective homologymethod are the two perturbation lemmas. The main idea of both lemmas is that givena reduction, if we perturb one of the chain complexes then it is possible to perturb theother one so that we obtain a new reduction between the perturbed chain complexes.The first theorem (the Easy Perturbation Lemma) is very easy, but it can be useful. TheBasic Perturbation Lemma is not trivial at all. It was discovered by Shih Weishu [Shi62],although the abstract modern form was given by Ronnie Brown [Bro67].

Definition 1.43. Let C∗ = (Cn, dn)n∈N be a chain complex. A perturbation δ of thedifferential d is a collection of group morphisms δ = δn : Cn → Cn−1n∈N such that thesum d+ δ is also a differential, that is to say, (d+ δ) (d+ δ) = 0.

The perturbation δ produces a new chain complex C ′∗ = (Cn, dn + δn)n∈N; it is theperturbed chain complex.

Theorem 1.44 (Easy Perturbation Lemma, EPL). Let C∗ = (Cn, dCn)n∈N and D∗ =(Dn, dDn)n∈N be two chain complexes, ρ = (f, g, h) : C∗⇒⇒D∗ a reduction, and δD aperturbation of dD. Then a new reduction ρ′ = (f ′, g′, h′) : C ′∗⇒⇒D′∗ can be constructedwhere:

1) C ′∗ is the chain complex obtained from C∗ by replacing the old differential dC bya perturbed differential dC + g δD f ;

2) the new chain complex D′∗ is obtained from the chain complex D∗ only by replacingthe old differential dD by dD + δD;

3) f ′ = f ;

4) g′ = g;

5) h′ = h.

The perturbation δD of the small chain complex D∗ is naturally transferred (usingthe reduction ρ) to the big chain complex C∗, obtaining in this way a new reduction ρ′

between the perturbed chain complexes. On the other hand, if we consider a perturbationdC of the top chain complex C∗, in general it is not possible to perturb the small chaincomplex D∗ so that there exists a reduction between the perturbed chain complexes. Aswe will see, we need an additional hypothesis.

Theorem 1.45 (Basic Perturbation Lemma, BPL). [Bro67] Let us consider a reductionρ = (f, g, h) : C∗⇒⇒D∗ between two chain complexes C∗ = (Cn, dCn)n∈N and D∗ =(Dn, dDn)n∈N, and δC a perturbation of dC . Furthermore, the composite function h δCis assumed locally nilpotent, in other words, given x ∈ C∗ there exists m ∈ N such that(h δC)m(x) = 0. Then a new reduction ρ′ = (f ′, g′, h′) : C ′∗⇒⇒D′∗ can be constructedwhere:

Page 16: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

20 Chapter 1 Preliminaries

1) C ′∗ is the chain complex obtained from the chain complex C∗ by replacing the olddifferential dC by dC + δC ;

2) the new chain complex D′∗ is obtained from D∗ by replacing the old differential dDby dD + δD, with δD = f δC φ g = f ψ δC g;

3) f ′ = f ψ = f (IdC∗ −δC φ h);

4) g′ = φ g;

5) h′ = φ h = h ψ;

with the operators φ and ψ defined by

φ =∞∑i=0

(−1)i(h δC)i

ψ =∞∑i=0

(−1)i(δC h)i = IdC∗ −δC φ h,

the convergence of these series being ensured by the local nilpotency of the compositionsh δC and δC h.

It is worth noting that the effective homology method is not only a theoretical methodbut it has also been implemented in a software system called Kenzo [DRSS98]. In thissystem, the BPL is a central result and has been intensively used.

1.2 The Kenzo system

Kenzo is a 16000 lines program written in Common Lisp [Gra96], devoted to SymbolicComputation in Algebraic Topology. It was developed by Francis Sergeraert and someco-workers, and is www-available (see [DRSS98] for documentation and details). It workswith the main mathematical structures used in Simplicial Algebraic Topology, [HW67],(chain complexes, differential graded algebras, simplicial sets, morphisms between theseobjects, reductions and so on) and has obtained some results (for example, homologygroups of iterated loop spaces of a loop space modified by a cell attachment, see [Ser92])which have not been confirmed nor refuted by any other means.

The fundamental idea of the Kenzo system is the notion of object with effectivehomology combined with functional programming . By using functional programming,some Algebraic Topology concepts are encoded in the form of algorithms. In addition,not only known algorithms were implemented but also new methods were developed totransform the main “tools” of Algebraic Topology, mainly the spectral sequences (whichare not algorithmic in the traditional organization), into actual computing methods.

Page 17: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.2 The Kenzo system 21

The computation process in the Kenzo system requires a great amount of algebraicstructures and equivalences to be built, and thus a lot of resources.

This section is devoted to present some important features of Kenzo that will berelevant onward.

1.2.1 Kenzo mathematical structures

The data structures of the Kenzo system are organized in two layers. As algebraicallymodeled in [LPR03, DLR07], the first layer is composed of algebraic data structures(chain complexes, simplicial sets, and so on) and the second one of standard data struc-tures (lists, trees, and so on) which are representing elements of data from the firstlayer.

Here we give an overview of how mathematical structures (the first layer) are repre-sented in the Kenzo system, using object oriented (CLOS ) and functional programmingfeatures simultaneously.

Most often, an object of some type in mathematics is a structure with several com-ponents, frequently of functional nature. Let us consider the case of a user who wantsto handle groups; this simple particular case is sufficient to understand how CLOS givesthe right tools to process mathematical structures.

We can define a GRP class whose instances correspond to concrete groups as follows.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (DEFCLASS GRP ()((elements :type list :initarg :elements :reader elements)(mult :type function :initarg :mult :reader mult1)(inv :type function :initarg :inv :reader inv1)(nullel :type function :initarg :nullel :reader nullel)(cmpr :type function :initarg :cmpr :reader cmpr1))) z

#<STANDARD-CLASS GRP>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

In this organization, a group is made of five slots which represent a list of the elementsof the group (elements), the product of two elements of the group (mult), the inverseof an element of the group (inv), the identity element of the group (nullel) and acomparison test (cmpr) between the elements of the group. It is worth noting that mult,inv, nullel and cmpr slots are functional slots.

The most important difference between the mathematical definition and its imple-mentation is that no axiomatic information appears in CLOS. Kenzo, being a system forcomputing, does not need any information about the properties of the operations, onlytheir behavior is relevant. As a consequence of this, abelian groups can be implementedin Common Lisp similarly to groups, even when their mathematical definitions differ.

Let us construct now the group Z/2Z; that is to say, the cyclic group of dimension2. In our context we define the comparison, the product and the inverse functions with

Page 18: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

22 Chapter 1 Preliminaries

kenzo-object

chain-complex

coalgebra algebra

simplicial-set hopf-algebra

kan

simplicial-group

ab-simplicial-group

reduction

equivalence

morphism

simplicial-mrph

Figure 1.2: Kenzo class diagram

the help of the mod function, a predefined Lisp function.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (MAKE-INSTANCE ’GRP:elements ’(0 1):mult #’(lambda (g1 g2) (mod (+ g1 g2) 2)):inv #’(lambda (g) (mod (- 2 g) 2)):nullel #’(lambda () 0):cmpr #’(lambda (g1 g2) (= 0 (mod (- g1 g2) 2)))) z

#<GROUP @ #x26f4bc12>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

In this way, we can define mathematical structures in Common Lisp using objectoriented (CLOS ) and functional programming features. The interested reader can con-sult [Ser01] where a detailed explanation about how defining mathematical structuresin Common Lisp is presented.

The previously explained organization is moved to the Kenzo context in order todefine the main mathematical structures used in Simplicial Algebraic Topology, [HW67].Figure 1.2 shows the Kenzo class diagram where each class corresponds to the respectivemathematical structure.

The lefthand part of the class diagram is made of the main mathematical categoriesthat are used in combinatorial Algebraic Topology. As we said previously, a chaincomplex is a graded differential module; an algebra is a chain complex with a compatiblemultiplicative structure, the same for a coalgebra but with comultiplicative structure. If

Page 19: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.2 The Kenzo system 23

a multiplicative and a comultiplicative structures are added and if they are compatiblewith each other in a natural sense, then it is a Hopf algebra, and so on. The righthandpart of the class diagram is made of the operations over the mathematical structuresof the lefthand. It is worth noting that all the mathematical structures in the Kenzosystem are graded structures.

The following class definition corresponds to the simplest algebraic structure imple-mented in Kenzo, free chain complexes:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(DEFCLASS CHAIN-COMPLEX ()((cmpr :type cmprf :initarg :cmpr :reader cmpr1)(basis :type basis :initarg :basis :reader basis1);; BaSe GeNerator(bsgn :type gnrt :initarg :bsgn :reader bsgn);; DiFFeRential(dffr :type morphism :initarg :dffr :reader dffr1);; GRound MoDule(grmd :type chain-complex :initarg :grmd :reader grmd);; EFfective HoMology(efhm :type homotopy-equivalence :initarg :efhm :reader efhm);; IDentification NuMber(idnm :type fixnum :initform (incf *idnm-counter*) :reader idnm);; ORiGiN(orgn :type list :initarg :orgn :reader orgn)))

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

The relevant slots are cmpr, a function coding the equality between the generatorsof the chain complex; basis, the function defining the basis of each group of n-chains,or the keyword :locally-effective if the chain complex is not effective; dffr, thedifferential morphism, which is an instance of the class MORPHISM; efhm, which storesinformation about the effective homology of the chain complex; and orgn, is used tokeep record of information about the object.

The class CHAIN-COMPLEX is extended by inheritance with new slots, obtaining moreelaborate structures. For instance, extending it with an aprd (algebra product) slot, weobtain the ALGEBRA class. Multiple inheritance is also available; for example, the classSIMPLICIAL-GROUP is obtained by inheritance from the classes KAN and HOPF-ALGEBRA.

It is worth emphasizing here that simplicial sets have also been implemented as asubclass of CHAIN-COMPLEX. To be precise, the class SIMPLICIAL-SET inherits from theclass COALGEBRA, which is a direct subclass of CHAIN-COMPLEX, with a slot cprd (thecoproduct). The class SIMPLICIAL-SET has then one slot of its own: face, a Lispfunction computing any face of a simplex of the simplicial set. The basis is in this case(when working with effective objects) a function associating to each dimension n the listof non degenerate n-simplexes, and the differential map of the associated chain complexis given by the alternate sum of the faces, where the degenerate simplexes are cancelled.

Page 20: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

24 Chapter 1 Preliminaries

1.2.2 Kenzo way of working

In Kenzo there is a one higher-level objective: compute groups associated with topolog-ical spaces. This main objective can be broken in two actions: (1) computing groups,and (2) constructing spaces. Note that the second task is necessary to carry out the firstone.

When a user has decided to construct a space in Kenzo, he should decide which typehe wants to build: a simplicial set, a simplicial group and so on; namely, an object ofone of the types of the lefthand part of the class diagram of Figure 1.2. Therefore, theuser has to construct an instance of one of those classes.

As this task can be quite difficult for a non expert user, Kenzo provides usefulfunctions to create interesting objects of regular usage, which belong to four types:chain complexes, simplicial sets, simplicial groups and abelian simplicial groups.

These functions can be split in two different kinds: (1) functions to construct ini-tial spaces and, (2) functions to construct spaces from other ones applying topologicalconstructors.

The following elements, gathered by the types of the constructed object, representthe main spaces that can be constructed in Kenzo from scratch (that is to say, whichbelong to the first kind):

• Chain Complexes:

– Unit chain complex : the zcc function, with no arguments, constructs the unitchain complex, see Example 1.7.

– Circle: the circle function, with no arguments, constructs the circle chaincomplex, see Example 1.7.

• Simplicial Sets:

– Standard simplicial set : the delta function, with a natural number n asargument, constructs ∆[n], see Definition 1.18.

– Sphere: the sphere function, with a natural number n as argument, constructsSn, see Definition 1.22.

– Sphere Wedge: the sphere-wedge function, with a sequence of natural num-bers n1, . . . , nk as arguments, constructs Sn1 ∨ . . . ∨ Snk, see Definition 1.23.

– Moore space: the moore function, with two natural number n, p as arguments,constructs M(Z/nZ, p), see Definition 1.24.

– Projective space: the r-proj-space function has two optional arguments kand l. If neither k and l are provided, then the function constructs P∞R. Ifk is provided but l is not, then the function constructs P∞R/P k−1R. If bothk and l are provided, then the function constructs P lR/P k−1R. In the lattercase, if k = 1, then the function constructs P lR; see Definition 1.25.

Page 21: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.2 The Kenzo system 25

– Finite simplicial set : the build-finite-ss function, with a list of lists asargument, constructs a simplicial set, see [DRSS98].

• Abelian Simplicial Group:

– Eilenberg MacLane space type (Z, n): the k-z function, with a natural numbern as argument, constructs K(Z, n), see Definition 1.31.

– Eilenberg MacLane space type (Z/2Z, n): the k-z2 function, with a naturalnumber n as argument, constructs K(Z/2Z, n), see Definition 1.31.

On the contrary, the following elements, gathered by types, represent the main spacesthat can be constructed in Kenzo from other spaces applying topological constructors(that is to say, which belong to the second kind):

• Chain Complexes:

– Tensor Product : the tnsr-prdc function, with two chain complexes C∗, D∗as arguments, constructs the tensor product C∗ ⊗D∗, see Definition 1.10.

• Simplicial Sets:

– Cartesian product : the crts-prdc function, with two simplicial sets K, L asarguments, constructs the Cartesian product K × L, see Definition 1.26.

– Suspension: the suspension function, with a simplicial set X and a naturalnumber n as arguments, constructs the suspension Σn(X), see Definition 1.28.

• Simplicial Group:

– Loop space: the loop-space function, with a simplicial set X and a naturalnumber n as arguments, constructs the loop space Ωn(X), see Definition 1.30.

– Classifying space: the classifying function, with a simplicial group X, con-structs the classifying space B(X), see Definition 1.32.

Eventually, once we have constructed some spaces in our Kenzo session, the Kenzouser can perform computations. Namely, the homology function with a chain complex X(or an instance of one of its subclasses: simplicial set, simplicial group and so on) and anatural number n as arguments computes Hn(X).

To sum up, a simplification of the way of working with Kenzo is as follows. As a firststep, the user constructs some initial spaces by means of some built-in Kenzo functions(as spheres, Moore spaces, Eilenberg MacLane spaces and so on); then, in a second step,he constructs new spaces by applying topological constructions (as Cartesian products,loop spaces, and so on); as a third, and final, step, the user asks Kenzo for computingthe homology groups of the spaces. Let us remark that this kind of interaction does notfully cover all the Kenzo capabilities, but it is just a simplification.

Page 22: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

26 Chapter 1 Preliminaries

1.2.3 Kenzo in action

Let us show a didactic example to illustrate the interaction with the Kenzo program. Thehomology group H5(Ω

3(M(Z/2Z, 4))) is “in principle” reachable thanks to old methods,see [CM95], but experience shows even the most skilful topologists meet some difficultiesto determine it, see [RS02]. With the Kenzo program, you construct the Moore spaceM(Z/2Z, 4) in the following way:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (setf m4 (moore 2 4)) z[K1 Simplicial-Set]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A Kenzo display must be read as follows. The initial > is the Lisp promptof this Common Lisp implementation. The user types out a Lisp statement, here(setf m4 (moore 2 4)) and the maltese cross z (in fact not visible on the user screen)marks in this text the end of the Lisp statement, just to help the reader: the right num-ber of closing parentheses is reached. The Return key then asks Lisp to evaluate theLisp statement. Here the Moore space M(Z/2Z, 4) is constructed by the Kenzo functionmoore, taking into account of the arguments 2 and 4, and this Moore space is assignedto the Lisp symbol m4 for later use. Also evaluating a Lisp statement returns an object,the result of the evaluation, in this case the Lisp object implementing the Moore space,displayed as [K1 Simplicial-Set], that is, the Kenzo object #1, a Simplicial-Set. Theinternal structure of this object, made of a rich set of data, in particular many functionalcomponents, is not displayed. The identification number printed by Kenzo allows theuser to recover the whole object by means of a function called simply k (for instance, theevaluation of (k 1) returns the Moore space M(Z/2Z, 4), in our running example). Inaddition, another function (called orgn and which is one of the slots of the Chain-Complex

class) allows the user to obtain the origin of the object (i.e. from which function andwith which arguments has been produced), and thus the printed information is enoughto get a complete control of the different objects built with Kenzo.

It is then possible to construct the third loop space of the Moore space,Ω3(M(Z/2Z, 4)), as a simplicial group.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (setf o3m4 (loop-space m4 3)) z[K30 Simplicial-Group]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

The combinatorial version of the loop space is highly infinite: it is a combinatorialversion of the space of continuos maps S3 → M(Z/2Z, 4), but functionally encoded asa small set of functions in a Simplicial-Group object.

Eventually, the user can compute the fifth homology group of this space.

Page 23: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.2 The Kenzo system 27

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (homology o3m4 5) zHomology in dimension 5:Component Z/2ZComponent Z/2ZComponent Z/2ZComponent Z/2ZComponent Z/2Z---done---. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

This result must be interpreted as stating H5(Ω3(M(Z/2Z, 4))) = Z5

2. In this way,Kenzo computes the homology groups of complicated spaces. This is due to the Kenzoimplementation of the effective homology method which is explained in the followingsubsection.

1.2.4 Effective Homology in Kenzo

As we have previously said, the central idea of the Kenzo system is the notion of ob-ject with effective homology. In this subsection, we are going to show how this notionexplained in Subsection 1.1.3 is used in Kenzo.

As we stated in Subsection 1.1.3, the main problem is the following one: given anobject, determine its effective homology version. Three cases have been distinguished.

First of all, let an object X if the chain complex C∗(X) is by chance ef-fective, then we can choose the trivial effective homology: ε is the equivalenceC∗(X)⇐⇐C∗(X)⇒⇒C∗(X), where both reductions are the trivial reduction on C∗. Thissituation happens, for instance, in the case of the sphere S3 (we consider a fresh Kenzosession).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (setf s3 (sphere 3)) z[K1 Simplicial-Set]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

We can ask for the effective homology of S3 as follows:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (efhm s3) z[K9 Homotopy-Equivalence K1 <= K1 => K1]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

An homotopy equivalence is automatically constructed by Kenzo where both re-ductions are the trivial reduction on C∗(S

3) (let us note that the K1 object not onlyrepresents the simplicial set S3 but also the chain complex C∗(S

3) due to the heritagerelationship between simplicial sets and chain complexes). In this case, the effectivehomology technique does not provide any additional tool to the computation of the ho-mology groups of S3. On the contrary, we will see the power of this technique when the

Page 24: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

28 Chapter 1 Preliminaries

initial space X is locally effective.

The second feasible situation happened when given a locally effective object X sometheoretical result was available providing an equivalence between the chain complexC∗(X) and an effective chain complex.

According to Subsubsection 1.1.2.1, a simplicial model of the Eilenberg MacLanespace K(Z, 1) is defined by K(Z, 1)n = Zn; an infinite number of simplexes is requiredin every dimension n ≥ 1; that is, we have a locally effective object. This does notprevent such an object from being installed and handled by Kenzo.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (setf kz1 (k-z 1)) z[K10 Abelian-Simplicial-Group]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

The k-z Kenzo function construct the standard Eilenberg MacLane space. In ordi-nary mathematical notation (as seen in Subsubsection 1.1.2.1), a 3-simplex of kz1 couldbe for example [3, 5,−5], denoted by (3 5 − 5) in Kenzo. The faces of this simplex canbe determined as follows.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (dotimes (i 4) (print (face kz1 i 3 ’(3 5 -5)))) z<AbSm - (5 -5)><AbSm - (8 -5)><AbSm 1 (3)><AbSm - (3 5)>nil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

The faces are computed as explained in Subsubsection 1.1.2.1. Then, local compu-tations are possible, so, the object kz1 is locally effective. But no global informationis available. For example, if we try to obtain the list on non degenerate simplexes indimension 3, we obtain an error.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (basis kz1 3) zError: The object [K10 Abelian-Simplicial-Group] is locally-effective. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

This basis in fact is Z3, an infinite set whose element list cannot be explicitly storednor displayed. So, the homology groups of kz1 cannot be elementarily computed. How-ever, K(Z, 1) has the homotopy type of the circle S1 and the Kenzo program knows thisfact.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (efhm kz1) z[K31 Homotopy-Equivalence K10 <= K10 => K25]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A reduction K10 = K(Z, 1)⇒⇒ K25 is constructed by Kenzo. What is K25?

Page 25: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.2 The Kenzo system 29

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (orgn (k 25)) z(circle). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

K25 is the expected object, the circle S1 which is an effective chain complex; so wecan compute its homology groups by means of tradicional methods. Therefore, we cancompute the homology groups of the space K(Z, 1) by means of the effective homologymethod.

Eventually, the last situation happened when given X1, . . . , Xn objects with effectivehomology and Φ a constructor that produced a new space X = Φ(X1, . . . , Xn), wewanted to compute the effective homology version of X. Let us present an example.

The Cartesian product of two locally effective simplicial sets produces another locallyeffective simplicial set.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (setf kz1xkz1 (crts-prdc kz1 kz1)) z[K15 Simplicial-Set]> (basis kz1xkz1 3) zError: The object [K15 Simplicial-Set] is locally-effective. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

So, the homology groups of kz1xkz1 cannot be elementarily computed. However,Kenzo is able to construct an equivalence between this object and an effective chaincomplex.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (efhm kz1xkz1) z[K63 Homotopy-Equivalence K15 <= K53 => K43]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

An equivalence K15 = K(Z, 1) × K(Z, 1)⇐⇐ K53 ⇒⇒ K43 is constructed by Kenzo.What is K43?

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (orgn (k 43)) z(TNSR-PRDC (circle) (circle)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

The object K43 is the tensor product of two circles C∗(S1) ⊗ C∗(S1) (the reduction

is obtained from the Eilenberg-Zilber Theorem, see [RS06]), an effective chain complex;so we can compute its homology groups by means of tradicional methods. Therefore,we can compute the homology groups of the space K(Z, 1) ×K(Z, 1) by means of theeffective homology method.

It is worth noting that a Kenzo user does not need to explicitly construct the equiva-lence to compute the homology groups of a locally effective object. This task is automat-ically performed by the Kenzo system which constructs the necessary objects withoutany additional help.

Page 26: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

30 Chapter 1 Preliminaries

For instance, let us consider a fresh Kenzo session where we have constructed thespace Ω3(M(Z/2Z, 4)), the example of the previous subsection:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (setf m4 (moore 2 4)) z[K1 Simplicial-Set]> (setf o3m4 (loop-space m4 3)) z[K30 Simplicial-Group]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

At this moment, we can check the number of objects constructed in Kenzo (thisinformation is stored in a global variable called *idnm-counter*).

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> *idnm-counter* z41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Subsequently, after computing the third homology, we ask again the number of ob-jects constructed in Kenzo and we obtain the following result.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (homology o3m4 3) zHomology in dimension 3 :Component Z/4ZComponent Z/2Z> *idnm-counter* z404. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

This means that Kenzo has constructed 363 intermediary objects in order to computethe homology groups of Ω3(M(Z/2Z, 4)); namely, in order to construct an equivalencebetween the locally effective object Ω3(M(Z/2Z, 4)) and an effective chain complex.

1.2.5 Memoization in Kenzo

The Kenzo program is certainly a functional system. It is frequent that several thousandsof functions are present in memory, each one being dynamically defined from other ones,which in turn are defined from other ones, and so on. In this quite original situation, thesame calculations are frequently asked again. To avoid repeating these calculations, itis better to store the results and to systematically examine for each calculation whetherthe result is already available (memoization strategy).

As a consequence, the state of a space evolves after it has been used in a computation(of a homology group, for instance). Thus, the time needed to compute, let us say, ahomology group, depends on the concrete state of the space involved in the calculation (inthe more explicit case, to re-calculate the homology group of a space could be negligiblein time, even if in the first occasion this was very time consuming).

Let us shown an example, of the Kenzo memoization. We want to compute the fifth

Page 27: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.2 The Kenzo system 31

homology group of the space Ω3(S4 × S4) in a fresh Kenzo session and see how muchtime this computation takes (using the time function); therefore, we proceed as usual.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (setf s4 (sphere 4)) z[K1 Simplicial-Set]> (setf s4xs4 (crts-prdc s4 s4)) z[K6 Simplicial-Set]> (setf o3s4xs4 (loop-space s4xs4 3)) z[K35 Simplicial-Group]> (time (homology o3s4xs4 5)) z;; some lines skipped; real time 1,139,750 msec (00:18:59.750). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

The first time that we compute H5(Ω3(S4 × S4)), Kenzo takes almost 20 minutes to

obtain the result. However, if we ask again for the same computation:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (time (homology o3s4xs4 5)) z;; some lines skipped; real time 262,484 msec (00:04:22.484). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

in this case Kenzo only needs 4 minutes. It is worth noting that Kenzo does not store thefinal result (that is to say, the group H5(Ω

3(S4 × S4))) but intermediary computationsrelated to the differential of the generators of the space. Then, when a Kenzo user asksa computation previously computed, Kenzo does not simply look up and returned it,but it uses some previously stored computations to calculate the result faster.

Moreover, it is very important not to have several copies of the same function; oth-erwise it is impossible for one copy to guess some calculation has already been done byanother copy. This is a very important question in Kenzo, so that the following ideahas been used. Each Kenzo object has a rigorous definition, stored as a list in the orgn

slot of the object (orgn stands for origin of the object). This is the main reason ofthe top class kenzo-object: making this process easier. The actual definition of thekenzo-object class is:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(DEFCLASS KENZO-OBJECT ()((idnm :type fixnum :initform (incf *idnm-counter*) :reader idnm)(orgn :type list :initarg :orgn :reader orgn))) z

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Then, when any kenzo-object is to be considered, its definition is constructedand the program firstly looks at *k-list* (a list which stores the already constructedkenzo-object instances) whether some object corresponding to this definition alreadyexists; if yes, no kenzo-object is constructed, the already existing one is simply returned.Look at this small example where we construct the second loop space of S3, then thefirst loop space, and then again the second loop space. In fact the initial constructionof the second loop space required the first loop space, and examining the identification

Page 28: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

32 Chapter 1 Preliminaries

number K?? of these objects shows that when the first loop space is later asked for,Kenzo is able to return the already existing one.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (setf s3 (sphere 3)) z[K372 Simplicial-Set]> (setf o2s3 (loop-space s3 2)) z[K380 Simplicial-Group]> (setf os3 (loop-space s3 1)) z[K374 Simplicial-Group]> (setf o2s3-2 (loop-space s3 2)) z[K380 Simplicial-Group]> (eq o2s3 o2s3-2) zT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

The last statement shows the symbols o2s3 and o2s3-2 points to the same machineaddress. In this way we are sure any kenzo-object has no duplicate, so that the memoryprocess for the values of numerous functions cannot miss an already computed result.

1.2.6 Reduction degree

Working with Kenzo, a constructor for the space X has associated a number g(X) ∈ Z.When, we apply an operation O over the space X, a set of rules are used to computeg(O(X)). We will call reduction degree of X to this number, g(X), which is attached toour concrete representation of the spaces. This number is a lower bound of the simplyconnectedness degree; that is to say, the homotopy groups of the space X are null at leastfrom 1 to g(X). We list as follows the set of rules for the initial spaces and topologicaloperators which are going to be employed in this memoir.

Tensor product (X ⊗ Y ): g(X ⊗ Y ) = ming(X), g(Y ).

Suspension (Σn(X)): g(Σn(X)) =

g(X) + n if g(X) ≥ 0g(X) if g(X) < 0

Sphere (Sn): g(Sn) = n− 1.

Moore space (M(Z/pZ, n)): g(M(Z/pZ, n)) = n− 1.

Standard simplicial set (∆n): g(∆n) = 0.

Sphere wedge (Sn1 ∨ Sn2 ∨ . . . ∨ Snk):

g(Sn1 ∨ Sn2 ∨ . . . ∨ Snk) = ming(Sn1), g(Sn2), . . . , g(Snk).

Projective space (P∞R) : g(P∞R) = 0.

Projective space (P∞R/P nR) : g(P∞R/P nR) = n− 1.

Page 29: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.2 The Kenzo system 33

Projective space (P lR) : g(P lR) = 0.

Projective space (P lR/P nR) : g(P lR/P nR) = n− 1.

K(Z, n) : g(K(Z, n)) = n− 1.

K(Z/2Z, n) : g(K(Z/2Z, n)) = n− 1.

Loop space (Ωn(X)): g(Ωn(X)) = g(X)− n.

Cartesian product (X × Y ): g(X × Y ) = ming(X), g(Y ).

Classifying space (Bn(X)): g(Bn(X)) =

g(X) + n if g(X) ≥ 0g(X) if g(X) < 0

The reduction degree of a space X provides us information about the capabilitiesof the Kenzo system to obtain the homology groups of X. When g(X) < 0, a Kenzoattempt to compute the homology groups of X will raise in an error; otherwise the Kenzosystem can compute the homology groups of X.

For instance, the reduction degree of Ω2S2 is −1; then, let us show what happens ifwe try to compute the third homology group of this space.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

> (setf s2 (sphere 2)) z[K1 Simplicial-Set]> (setf o2s2 (loop-space s2 2)) z[K18 Simplicial-Group]> (homology o2s2 3) zError: ‘NIL’ is not of the expected type ‘NUMBER’[condition type: TYPE-ERROR]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

As we can see an error is produced; then, the Kenzo system cannot compute thehomology groups for Ω2(S2).

1.2.7 Homotopy groups in Kenzo

Up to now, we have been working with one of the most important algebraic invariantsin Algebraic Topology: homology groups. We can wonder what happens with the othermain algebraic invariant: homotopy groups.

The n-homotopy group of a topological space X with a base point x0 is defined asthe set of homotopy classes of continuous maps f : Sn → X that map a chosen basepoint a ∈ Sn to the base point x0 ∈ X. A more detailed description and results abouthomotopy groups can be found in [Hat02, May67].

Homotopy groups were defined by Hurewicz in [Hur35] and [Hur36] as a generaliza-tion of the fundamental group [Poi95]. It is worth noting that except in special cases,

Page 30: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

34 Chapter 1 Preliminaries

homotopy groups are hard to be computed. For instance, whereas the homology groupsof spheres are easily computed, computing their homotopy groups remains as a difficultsubject, see [Tod62, Mah67, Rav86].

For the general case, Edgar Brown published in [Bro57] a theoretical algorithm for thecomputation of homotopy groups of simply connected spaces such that their homologygroups are of finite type. However Brown himself explained that his “algorithm” hasnot practical use.

An interesting algorithm based on the effective homology theory was developed byP. Real, see [Rea94]. In that paper, an algorithm that computes the homotopy groupsof a 1-reduced simplicial set was explained. Here, we just state the algorithm.

Algorithm 1.46 ([Rea94]).Input: a 1-reduced simplicial set with effective homology X and a natural number nsuch that n ≥ 1.Output: the n-th homotopy group of the underlying simplicial set X.

This algorithm is based on the Whitehead tower process [Hat02], a method whichallows one to reach any homotopy group of a 1-reduced simplicial set.

It is worth noting that Kenzo, in spite of not providing a function called homotopy, likein the case of homology groups, implements all the necessary tools to use the algorithmpresented in [Rea94]. A detailed explanation about how to use this method in Kenzo wasexplained in Chapter 21 of the Kenzo documentation [DRSS98]. However, it is worthnoting that in the current Kenzo version, homotopy groups of a 1-reduced simplicialset X can only be computed if the first non null homology group of X is Z or Z/2Z;this is due to the fact that the algorithm presented in [Rea94] needs the calculationof homology groups of Eilenberg-MacLane spaces K(G, n), and in the original Kenzodistribution only the homology of spaces K(Z, n) and K(Z/2Z, n) are built-in.

1.3 ACL2

The ACL2 Theorem Prover has been used to verify the correctness of some Kenzoprograms, which will be presented in chapters 5 and 6. This section is devoted toprovide a brief description of ACL2. In spite of being a glimpse introduction to thissystem, this description provides enough information to read the sections dedicated toACL2 topics. A complete description of ACL2 can be found in [KMM00b, KM].

In addition, an interesting ACL2 feature, that will be really important in our devel-opments, is described in this section, too. Some other necessary concepts about ACL2will be introduced later on for a better understanding of this memoir.

Page 31: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.3 ACL2 35

1.3.1 Basics on ACL2

Information in this section has been mainly extracted from [KMM00b].

ACL2 stands for A Computational Logic for Applicative Common Lisp. ACL2 is aprogramming language, a logic and a theorem prover. Thus, the system constitutes anenvironment in which algorithms can be defined and executed, and their properties canbe formally specified and proved with the assistance of a mechanical theorem prover.

The first version of ACL2 was developed by B. Boyer and J S. Moore in 1989, usingthe functional programming language Common Lisp. ACL2 is the successor to theNqthm [BM97] (or Boyer-Moore) logic and proof system and its Pc-Nqthm interactiveenhancement. ACL2 was born as response to the problems Nqthm users faced in applyingthat system to large-scale proof projects. Namely, the main drawback of the Nqthmappears when the logic specification were used not only for reasoning about the modelingsystem but also for executing. The main difference between ACL2 and Nqthm lies inthe chance of executing the models of the ACL2 logic in Common Lisp.

ACL2 and Nqthm have already shown their effectiveness for implementing (non-trivial) large proofs in mathematics. One of these examples can be found in [Kau00],where the Fundamental Theorem of Calculus is formalized; another development can befound in [BM84], where a mechanical proof of the unsolvability of the halting problemis implemented; other examples of theorems certified with ACL2 and Nqthm are: theGauss’s Law of Quadratic Reciprocity [Rus92], the Church-Rosser theorem for lambdacalculus [Sha88], the Godel’s incompleteness theorem [Sha94], and so on.

Besides, ACL2 has been used for a variety of important formal methods projectsof industrial and commercial interest, including (for example) the verification of theRTL code which implements elementary floating point operations of the AMD Athlonprocessor [Rus98] and ROM microcode programs of CAP digital signal processor ofMotorola [BKM96].

More references about these and other developments related to ACL2 and Nqthmare www-available at [KM, BM97].

After this brief historical introduction, let us devote some lines to explain the pro-gramming language, the logic and the theorem prover of ACL2.

As a programming language, ACL2 is an extension of an applicative subset of Com-mon Lisp. The logic considers every function defined in the programming language asa first-order function in the mathematical sense. For that reason, the programminglanguage is restricted to the applicative subset of Common Lisp. This means, for ex-ample, that there is no side-effects, no global variables, no destructive updates and allthe functions must be total and terminate. Even with these restrictions, there is a closeconnection between ACL2 and Common Lisp: ACL2 primitives that are also CommonLisp primitives behave exactly in the same way, and this means that, in general, ACL2programs can be executed in any compliant Common Lisp.

Page 32: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

36 Chapter 1 Preliminaries

The ACL2 logic is a first-order logic, in which formulas are written in prefix notation;they are quantifier free and the variables in them are implicitly universally quantified.The logic includes axioms for propositional logic (with connectives implies, and, . . .),equality (equal) and properties related to a subset of primitive Common Lisp functions.Rules of inference include those for propositional logic, equality and instantiation ofvariables. The logic also provides a principle of proof by induction that allows the userto prove a conjecture splitting it into cases and inductively assuming some instances ofthe conjecture that are smaller with respect to some well founded measure.

An interesting feature of ACL2 is that the same language is used to define programsand to specify properties of those programs. Every time a function is defined with defun,in addition to define a program, it is also introduced as an axiom in the logic. Theoremsand lemmas are stated in ACL2 by the defthm command, and this command also startsa proof attempt in the ACL2 theorem prover. In the ACL2 jargon a file containingdefinitions and statements that have been certified as admissible by the system is calleda book.

The main proof techniques used by ACL2 in a proof attempt are simplification andinduction. The theorem prover is automatic in the sense that once defthm is invoked, theuser can no longer interact with the system. However, in a deeper sense the system isinteractive: very often non-trivial proofs are not found by the system in a first attemptand then it is needed to guide the prover by adding lemmas, suggested by a preconceivedhand proof or by inspection of failed proofs. These lemmas are then used as rewrite rulesin subsequent proof attempts. This kind of interaction with the system is called “TheMethod” by ACL2 authors.

In the following subsection, an introduction to an interesting ACL2 feature, that willbe critical in our developments, is presented.

1.3.2 ACL2 encapsulates

In this subsection, an introduction to the ACL2 encapsulates is given. Encapsulates area powerful tool which allow the structural development of theories. The encapsulationfacility is much more general than sketched here, see [KMM00b, KMM00a, BGKM91,KM01]. They will be used, in this memoir, in Section 4.3 and onward.

The encapsulate principle allows the introduction of function symbols in ACL2, with-out a complete specification of them, but just assuming some properties which partiallydefine them. To be admissible and to preserve the consistency, there must exist somefunctions (called “local witness”) verifying the properties assumed as axioms. Once thisis proved, the local witness definitions can be neglected, and the function symbols in-troduced with the encapsulate principle are partially specified by means of the assumedproperties. Then, we can assume a property described by the formula F for the functionsf1, . . ., fn if:

Page 33: Chapter 1 Preliminaries - Unirioja...Chapter 1 Preliminaries In this chapter we introduce some preliminaries that we will use in the rest of this memoir. The rst section is devoted

1.3 ACL2 37

• f1, . . ., fn are new function symbols.

• There exist admissible definitions of n functions whose names are f1, . . ., fn suchthat the formula F can be proved for those functions.

If the encapsulate is admissible, the function symbols f1, . . ., fn are added to theACL2 language and the formula F is added as axiom to the logic. It is worth noting thatthe local witness are only used to ensure the admissibility of the encapsulate, since theaxioms associated with their definitions are not kept.

In order to clarify this ACL2 mechanism an example will be presented. Let ussuppose that we want to assume the existence of a binary function which is associativeand commutative. The ACL2 command in charge of this task is the following one.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(encapsulate; the signatures(((op * *) => *))

; the witnesses(local (defun op (a b) (+ a b)))

; the axioms(defthm op-associative(equal (op (op x y) z) (op x (op y z))))

(defthm op-commutative(equal (op x y) (op y x))))

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

The first expression is a list with the arity description of the functions which areintroduced with the encapsulate principle (called signature). In this case, we indicatethat op is a function with two arguments which returns a unique value. The localwitnesses are defined using defun, but they are declared as local by means of local.The properties assumed over the encapsulate functions are stated by means of defthm.The encapsulate can contain definitions and properties declared as local; however, oncethe admissibility of the encapsulate has been proved, just the non local definitions andproperties are added to the ACL2 logic.

The functions defined by means of an encapsulate cannot be executed, since its partialspecification can be not enough to deduce the value for every input. However, thereexists a great advantage from the verification point of view; due to the fact that we areformalizing and verifying a generic result which can be instantiated for concrete caseslater on. This issue will be presented in Subsection 6.1.1.