1. Concrete Categories  A concrete object is a pair (X, TX) consisting of a set X and a notation TX ; X is called the carrier and TX the structure of (X, TX) respectively. In the following we often write X for a concrete object (X, TX).  Definition 1.1. A concrete category A is a system consisting of a class of concrete objects, and for each pair of concrete objects (X, TX) and (Y, TY) in A, a set of functions from Y to X, each is called a morphism from Y to X. These morphisms satisfy the following conditions:  (a) Suppose (X, TX), (Y, TY) and (Z, TZ) are three concrete objects in A. If f: Y --> X and g: Z --> Y are two morphisms, then fg: Z --> X is a morphism.  (b) If (X, TX) is a concrete object and t: X --> S is a bijection from the carrier X to a set S, there is a unique structure TS on S such that t and its inverse t-1 are morphisms between (X, TX) and (S, TS).  Let A be a concrete category. A concrete object in A is simply called an object. A morphism f: (Y, TY) --> (X, TX) of objects is called surjective (resp, injective, resp. bijective) if the function f: Y --> X is so. A bijective function f: Y --> X is an isomorphism if f and its inverse f-1 are both morphisms. We say two objects are isomorphic if there is an isomorphism between them.  Proposition 1.2. (a) If (X, TX) is an object in A, the identity function 1X: X --> X is a morphism from (X, TX) to itself.  (b) If (X, TX) and (X, SX) are two objects in A and the identity function 1X: X --> X is a morphism from (X, TX) to (X, SX) and from (X, SX) to (X, TX), then TX = SX.  Proof. (a) Let f: X --> Y be a bijection. Then by (1.1.b) there is a unique A -structure TY on Y such that f and f-1 are morphisms between (Y, TY) and (X, TX). By (1.1.a) the composition 1X = f-1f: X --> X is a morphism from (X, TX) to itself.  (b) Under the assumption 1X: X --> X is a morphisms among (X, TX) and (X, SX). But it is also a morphism among (X, TX) and (X, TX) by (a). By the uniqueness of TX in (1.1.b) we have TX = SX.  Remark 1.3. It follows from (1.1) and (1.2) that any concrete category A together with the morphisms forms a category in the usual sense. There is a natural faithful functor FA from A to the category Set of sets sending each object to its carrier, called the structural functor on A.  Example 1.3.1. The category Set is naturally a concrete category with the identity functor Set --> Set as the structural functor. Here for each set X there is a unique structure on it, and any function of sets is a morphism.  Example 1.3.2. A class D of objects in a concrete category A is called isomorphically closed if any object which is isomorphic to an object D is in D. Any such class with the morphisms between them is a concrete category, denoted also by D , called a concrete subcategory of D.  Suppose X is an object in A.  Definition 1.4. (a) A subset S of X is called a free generating set of X if for any function t: S --> Y from S to an object Y there is a unique morphism X --> Y whose restriction on S is t.  (b) If S is a free generating set of X then we say that X is a free object on S.  (c) An object is called free if it has a free generating set.  (d) We say A has free objects if the free objects on any set exists.  (e) A concrete category is called free if any object is free.  Proposition 1.5. Suppose X and Y are two free objects with S and T as free generating sets respectively. If t: S --> T is a bijection of sets, then t induces an isomorphism from X to Y.  Proof. Since by definition the generating set T is a subset of Y, t: S --> T may be viewed as a function to Y, which then induces a morphism u: X --> Y as S is a generating set of X. Similarly f-1: T --> S induces a morphism v: Y --> X. The composition vu: X --> X then sends S bijectively into itself. But the identity morphism 1X: X --> X also sends S bijectively to itself. By the definition of a generating set this implies that vu = 1X. Similarly we have uv = 1Y. Thus u is a bijective morphism, therefore an isomorphism by (1.2.b).  It follows from (1.5) that the free object on a set S is uniquely determined up to an isomorphism. We shall write Z[S] for the free object on a set S .  Example 1.5.1. Suppose X is an object and the free object Z[X] on the set X exists, then the identity X --> X determines a morphism d: Z[X] --> X , called the canonical morphism.  Remark 1.6. (a) An object 0 is the free object on the empty set iff for any object X there is a unique morphism from 0 to X (i.e. 0 is the initial of the category A).  (b) An object X is the free object on a singleton iff the structure functor FA on A is represented by X (i.e. FA is equivalent to hom (X, ~)).  Definition 1.7. Suppose f, g: Y --> X is a pair of functions from a set Y to an object X. A coequalizer of f, g is a morphism k: X --> K of objects such that kf = kg , which has the universal property that, if m: X --> M is another morphism of objects with mf = mg, then there is a unique morphism n: K --> M such that m = nk.  The coequalizer of a pair of functions, if exists, is uniquely determined up to an isomorphism.  Definition 1.8. Suppose s: Y --> X is a function from an object Y to a set X. A function g: X --> G from X to an object G is called a generic extension of s if gs is a morphism of objects, and any function h: X --> H from the set X to an object H such that hs is a morphism factors through g uniquely.  Clearly a generic extension of s: Y --> X , if exists, is uniquely determined up to an isomorphism.  Proposition 1.9. Suppose A has free objects. Then the following conditions are equivalent:  (a) Any pair of functions from a set to an object has a surjective coequalizer.  (b) Any pair of parallel morphisms of objects has a surjective coequalizer.  (c) Any surjective function s: Y --> X from an object to a set has a surjective generic extension g: X --> G (and the composition gs is a coequalizer).  Proof Clearly (a) implies (b).  Assume (b) is satisfied. Consider a surjective function s: Y --> X from an object Y to a set X. Let u, v: C = Y × X Y --> Y be the projections of the equivalence relation on the set Y determined by the surjective function s. Let u', v': Z[C] --> Y be the morphisms determined by u and v. Then by (b) the pair u', v' has a surjective coequalizer q: Y --> Z. Then we have qu' = qv', which implies that qu = qv. Since s: Y --> X is the coequalizer of u, v in the category of sets, we have a function g: X --> Z such that q = gs. Since q is surjective, g is surjective. If g': X --> Z' is a function to an object Z' such that g's is a morphism, then g'su' = g'sv', so there is a function t: Z --> Z' such that g's = tq. Thus g's = tgs. Since s is surjective we have g' =tg. Thus g' factors through g. This shows that g is a surjective generic extension of f, and q = gs is a coequalizer. This proves that (b) implies (c).  Finally we show that (c) implies (a). Suppose u, v: Y --> X is a pair of functions from a set Y to an object X. Let s: X --> Z be the coequalizer of u, v in the category of sets. Then s is a surjective function. Let g: Z --> W be the surjective generic extension of s. Then gs is a morphism and we have gsu =gsv. Suppose t: X --> W' is another morphism of objects such that tu = tv. Then t factors through s by a function r: Z --> W' (i.e. t = rs ). Now by the definition of a generic extension we have a morphism r': W --> W' such that r = r'g. Thus t = r'gs, and r' is unique as gs is surjective. This shows that gs is the coequalizer of u, v.  Proposition 1.10. Consider the following three conditions for A:  (a) Any surjective morphism is a coequalizer.  (b) A function f: Y --> X of objects is a morphism if there is a surjective morphism g: Z --> Y such that fg is a morphism.  (c) Any bijective morphism is an isomorphism.  Then (a) implies (b) and (b) implies (c). If A has free objects and any pair of parallel morphisms has a surjective coequalizer, then (c) implies (a).  Proof. First assume any surjective morphism in A is a coequalizer. Consider a function f: Y --> X of objects. Suppose there is a surjective morphism g: Z --> Y such that fg is a morphism. Then by assumption the surjective morphism g is the coequalizer of a pair of parallel morphisms (u, v), for which gu = gv, and therefore (fg)u = (fg)v. By the definition of a coequalizer there is a morphism d: Y --> X such that fg = dg. Since g is surjective we have f = d, thus d is a morphism. This shows that (a) implies (b). Next assume (b) holds. Consider a bijective morphism f: Y --> X. Since f-1f is the identity morphism of Y, f-1 is a morphism by (b). Thus f is an isomorphism. This shows that (b) implies (c).  Finally we show that (c) implies (a) under the assumptions that A has free object and any pair of morphisms has a surjective coequalizer. Consider a surjective morphism f: Y --> X. According to (1.9) the surjective function f has a surjective generic extension g: X --> G such that gf is a coequalizer. But f is already a morphism, thus by the definition of a generic extension there is a morphism r: G --> X such that rg = 1X. Thus g is injective, therefore a bijection. By (c) this means that g: X --> G is an isomorphism. Thus f = g-1gf is also a coequalizer. 