{'fraction_non_alphanumeric': 0.05074116305587229, 'fraction_numerical': 0.005131128848346636, 'mean_word_length': 3.7690217391304346, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
FINITE SPACES AND SIMPLICIAL COMPLEXES

Finite simplicial complexes provide a general class of spaces that is sufficient for most purposes of basic algebraic topology. There are more general classes of spaces, in particular the finite CW complexes, that are more central to the modern development of the subject, but they give exactly the same collection of homotopy types. The relevant background on simplicial complexes will be recalled as we go along and can be found in most textbooks in algebraic topology (but not in my own book [6]). We write |K| for the geometric realization of K. We recall the definition of the homotopy groups πn(X,x) of a space X at x ∈ X. When n = 0, this is just the set of path components of X, with the component of x taken as a basepoint (and there is no group structure). When n = 1 it is the fundamental group of X at the point x. For all n ≥ 0, it can be described most simply by considering the standard sphere S with a chosen basepoint ∗. One considers all maps α : S −→ X such that f(∗) = x. One says that two such maps α and β are based homotopic if there is a based homotopy h : α ' β. Here a homotopy h is based if h(∗, t) = x for all t ∈ I. If n = 1, the map α is a loop at x, and we can compose loops to obtain a product which makes π1(X,x) a group. The homotopy class of the constant loop at x gives the identity element, and the loop α−1(t) = α(1− t) represents the inverse of the homotopy class of α. There is a similar product on the higher homotopy groups, but, in contrast to the fundamental group, the higher homotopy groups are Abelian. A map f : X −→ Y induces a function f∗ : πn(X,x) −→ πn(Y, f(x)). One just composes maps α and homotopies h as above with the map f . If n ≥ 1, f∗ is a homomorphism.