document: in their papers @xcite , @xcite , @xcite , ozsvth and szab constructed a decorated topological quantum field theory ( tqft ) in @xmath0 dimensions , called heegaard floer theory . 
   ( strictly speaking , the axioms of a tqft need to be altered slightly . ) in its simplest version ( called hat ) , to a closed , connected , oriented three - manifold @xmath1 and a @xmath2 structure @xmath3 on @xmath1 one associates a vector space @xmath4 over the field @xmath5 also , to a connected , oriented four - dimensional cobordism from @xmath6 to @xmath7 decorated with a @xmath2 structure @xmath8 , one associates a map @xmath9    the maps @xmath10 can be used to detect exotic smooth structures on @xmath11-manifolds with boundary . 
   for example , this can be seen by considering the nucleus @xmath12 of the elliptic surface @xmath13 i.e. a regular neighborhood of a cusp fiber and a section , cf . @xcite . 
   let @xmath14 be the result of a log transform with multiplicity @xmath15 ( @xmath16 , odd ) on a regular fiber @xmath17 , cf . 
   * section 3.3 ) . 
   then @xmath18 and @xmath19 are homeomorphic 4-manifolds ( with @xmath20 ) , having as boundary the brieskorn sphere @xmath21 however , they are not diffeomorphic : this can be shown using the donaldson or seiberg - witten invariants ( see @xcite , @xcite , @xcite ) , but also by comparing the hat heegaard floer invariants @xmath22 and @xmath23 , where @xmath24 and @xmath25 are the cobordisms from @xmath26 to @xmath27 obtained by deleting a @xmath11-ball from @xmath18 and @xmath19 , respectively . indeed , the arguments of fintushel - stern @xcite and szab - stipsicz @xcite can be easily adapted to show that @xmath24 and @xmath25 have different hat heegaard floer invariants ; one needs to use the computation of @xmath28 due to ozsvth - szab @xcite , and the rational blow - down formula of roberts @xcite . 
   ( it is worth noting that the maps @xmath29 give no nontrivial information for closed 4-manifolds , cf . 
   @xcite ; exotic structures on those can be detected with the mixed heegaard floer invariants of @xcite . ) 
   the original definitions of the vector spaces @xmath30 and the maps @xmath29 involved counting pseudoholomorphic disks and triangles in symmetric products of riemann surfaces ; the riemann surfaces are related to the three - manifolds and cobordisms involved via heegaard diagrams . in @xcite , sarkar and the third author showed that every three - manifold admits a heegaard diagram that is nice in the following sense : the curves split the diagram into elementary domains , all but one of which are bigons or rectangles . using such a diagram , holomorphic disks in the symmetric product can be counted combinatorially , and the result is a combinatorial description of @xmath31 for any @xmath32 as well as of the hat version of heegaard floer homology of null homologous knots and links in any three - manifold @xmath1 . a similar result was obtained in @xcite for all versions of the heegaard floer homology of knots and links in the three - sphere . 
   the goal of this paper is to give a combinatorial procedure for calculating the ranks of the maps @xmath33 when @xmath24 is a cobordism between @xmath6 and @xmath7 with the property that the induced maps @xmath34 and @xmath35 are surjective . 
   note that this case includes all cobordisms for which @xmath36 is torsion , as well as all those consisting of only 2-handle additions . 
   roughly , the computation of the ranks of @xmath33 goes as follows . 
   the cobordism @xmath24 is decomposed into a sequence of one - handle additions , two - handle additions , and three - handle additions . using the homological hypotheses on the cobordism and the @xmath37-action on the heegaard floer groups we reduce the problem to the case of a cobordism map corresponding to two - handle additions only . then , given a cobordism made of two - handles , we show that it can be represented by a multi - pointed triple heegaard diagram of a special form , in which all elementary domains that do not contain basepoints are bigons , triangles , or rectangles . in such diagrams 
   all holomorphic triangles of maslov index zero can be counted algorithmically , thus giving a combinatorial description of the map on @xmath38    we remark that in order to turn @xmath30 into a fully combinatorial tqft ( at least for cobordisms satisfying our hypothesis ) , one ingredient is missing : naturality . 
   given two different nice diagrams for a three - manifold , the results of @xcite show that the resulting groups @xmath30 are isomorphic . 
   however , there is not yet a combinatorial description of this isomorphism . 
   thus , while the results of this paper give an algorithmic procedure for computing the rank of a map @xmath39 the map itself is determined combinatorially only up to automorphisms of the image and the target . 
   in fact , if one were to establish naturality , then one could automatically remove the assumption on the maps on @xmath40 , and compute @xmath33 for any @xmath24 , simply by composing the maps induced by the two - handle additions ( computed in this paper ) with the ones induced by the one- and three - handle additions , which are combinatorial by definition , cf . 
   @xcite . 
   the paper is organized as follows . in section  [ sec : 
   triangles ] , we define a multi - pointed triple heegaard diagram to be nice if all non - punctured elementary domains are bigons , triangles , or rectangles , and show that in a nice diagram holomorphic triangles can be counted combinatorially . below ) in @xcite , using slightly different methods . ] 
   we then turn to the description of the map induced by two - handle additions . 
   for the sake of clarity , in section  [ sec : two ] we explain in detail the case of adding a single two - handle : we show that its addition can be represented by a nice triple heegaard diagram with a single basepoint and , therefore , the induced map on @xmath30 admits a combinatorial description . 
   we then explain how to modify the arguments to work in the case of several two - handle additions . 
   this modification uses triple heegaard diagrams with several basepoints . in section  [ sec : last ] , we discuss the additions of one- and three - handles , and put the various steps together . finally , in section  [ sec : example ] we present the example of @xmath41 surgery on the trefoil .    throughout the paper 
   all homology groups are taken with coefficients in @xmath42 unless otherwise noted . 
   we would like to thank peter ozsvth and zoltn szab for helpful conversations and encouragement . 
   in particular , several key ideas in the proof were suggested to us by peter ozsvth . 
   this work was done while the third author was an exchange graduate student at columbia university . 
   he is grateful to the columbia math department for its hospitality . 
   he would also like to thank his advisors , robion kirby and peter ozsvth , for their continuous guidance and support . 
   finally , we would like to thank the referees for many helpful comments , and particularly for finding a critical error in section [ sec : last ] of a previous version of this paper . 
   the goal of this section is to show that under an appropriate condition ( `` niceness '' ) on triple heegaard diagrams , the counts of holomorphic triangles in the symmetric product are combinatorial . 
   we start by reviewing some facts from heegaard floer theory . a triple heegaard diagram @xmath43 consists of a surface @xmath44 of genus @xmath45 
   together with three @xmath46-tuples of pairwise disjoint embedded curves @xmath47 @xmath48 in @xmath44 such that the span of each @xmath46-tuple of curves in @xmath49 is @xmath45-dimensional . 
   if we forget one set of curves ( for example @xmath50 ) , the result is an ( ordinary ) heegaard diagram @xmath51    by the condition on the spans , @xmath52 , @xmath53 and @xmath54 each has @xmath55 connected components . by a multi - pointed triple heegaard diagram @xmath56 , 
   then , we mean a triple heegaard diagram @xmath57 as above together with a set @xmath58 of @xmath55 points in @xmath44 so that exactly one @xmath59 lies in each connected component of @xmath52 , @xmath53 and @xmath54 .    to a heegaard diagram @xmath60 
   one can associate a three - manifold @xmath61 . to a triple heegaard diagram @xmath62 , in addition to the three - manifolds @xmath61 , @xmath63 and @xmath64 
   , one can associate a four - manifold @xmath65 such that @xmath66 ; see  @xcite . 
   associated to a three - manifold @xmath1 is the heegaard floer homology group @xmath31 . 
   this was defined using a heegaard diagram with a single basepoint in  @xcite . in  @xcite , ozsvth and szab associated to the data @xmath67 , called a multi - pointed heegaard diagram , a floer homology group @xmath68 by counting holomorphic disks in @xmath69 with boundary on the tori @xmath70 and @xmath71 it is not hard to show that @xmath72 ( here , @xmath73 is the @xmath74-torus , and @xmath75 means ordinary ( singular ) homology . ) the decomposition is not canonical : it depends on a choice of paths in @xmath44 connecting @xmath59 to @xmath76 for @xmath77 . 
   the heegaard floer homology groups decompose as a direct sum over @xmath2-structures on @xmath61 , @xmath78 more generally , there is a decomposition @xmath79    associated to the triple heegaard diagram @xmath80 together with a @xmath2-structure @xmath8 on @xmath65 , is a map @xmath81 the definition involves counting holomorphic triangles in @xmath82 with boundary on @xmath83 , @xmath84 and @xmath85 , cf . 
   @xcite and  @xcite . 
   two triple heegaard diagrams are called _ strongly equivalent _ if they differ by a sequence of isotopies and handleslides . 
   it follows from ( * ? ? ? 
   * proposition 8.14 ) , the associativity theorem ( * ? ? ? 
   * theorem 8.16 ) , and the definition of the handleslide isomorphisms that strongly equivalent triple heegaard diagrams induce the same map on homology . 
   call a @xmath86-pointed triple heegaard diagram _ split _ if it is obtained from a singly - pointed heegaard triple diagram @xmath87 by attaching ( by connect sum ) @xmath74 spheres with one basepoint and three isotopic curves ( one alpha , one beta and one gamma ) each , to the component of @xmath88 containing @xmath89 . 
   we call @xmath87 the _ reduction _ of the split diagram . 
   the following lemma is a variant of  ( * ? ? ? 
   * proposition 3.3 ) . 
   [ lemma : splitdiagrams ] every triple heegaard diagram @xmath80 is strongly equivalent to a split one . 
   reorder the alpha circles so that @xmath90 are linearly independent . 
   let @xmath91 be the connected component of @xmath52 containing @xmath92 . 
   since @xmath90 are linearly independent , one of the curves @xmath93 , @xmath94 , must appear in the boundary of @xmath91 with multiplicity exactly @xmath95 . by handlesliding this curve over the other boundary components of @xmath91 
   , we can arrange that the resulting @xmath93 bounds a disk containing only @xmath92 . 
   repeat this process with the other @xmath59 , @xmath96 , being sure to use a different alpha curve in the role of @xmath93 at each step . 
   we reorder the curves @xmath97 so that @xmath93 encircles @xmath98 . 
   now repeat the entire process for the beta and gamma curves . finally , choose a path @xmath99 in @xmath44 from @xmath59 to @xmath76 for each @xmath100 . 
   move the configuration @xmath101 along the path @xmath99 by handlesliding ( around @xmath93 , @xmath102 or @xmath103 ) the other alpha , beta and gamma curves that are encountered along the path @xmath99 . 
   the result is a split triple heegaard diagram . 
   note that its reduction is obtained from the original diagram @xmath80 by simply forgetting some of the curves and basepoints . 
   the maps from   are compatible with the isomorphism  , in the following sense . given a triple heegaard diagram @xmath80 , let @xmath87 be the reduction of a split diagram strongly equivalent to @xmath80 . 
   then the following diagram commutes : @xmath104^ { } \ar[d]^{\cong } &    \hf\left(y_{\alpha,\gamma } , { \mathfrak{t}}|_{y_{\alpha,\gamma}}\right)\otimes    h_*\left(t^k\right)\ar[d]^{\cong}\\    \hf(\sigma,\alphas,\betas,{\mathbf{z}},{\mathfrak{t}}|_{y_{\alpha,\beta } } )    \otimes\hf(\sigma,\betas,\gammas,{\mathbf{z } } , { \mathfrak{t}}|_{y_{\beta,\gamma } } )    \ar[r]^(.62){{\hat{f}}_{\sigma,\alphas,\betas,\gammas,{\mathbf{z}},{\mathfrak{t } } } } &    \hf(\sigma,\alphas,\gammas,{\mathbf{z}},{\mathfrak{t}}|_{y_{\alpha,\gamma } } ) .   } 
   \ ] ] here , the map in the first row is @xmath105 on the @xmath30-factors and the usual intersection product @xmath106 on the @xmath75-factors . 
   the vertical isomorphisms are induced by the strong equivalence . the proof that the diagram commutes follows from the same ideas as in @xcite : each of the @xmath74 spherical pieces in the split diagram contributes a @xmath107 to the @xmath108 factors above 
   ; moreover , a local computation shows that the triangles induce intersection product maps @xmath109 which tensored together give the intersection product on @xmath110    it is tempting to assert that the map @xmath111 induced by a singly - pointed triple heegaard diagram depends only on @xmath65 and @xmath8 . 
   however , this seems not to be known . 
   fix a triple heegaard diagram @xmath112 as above . 
   the complement of the @xmath113 curves in @xmath44 has several connected components , which we denote by @xmath114 and call _ elementary domains_.    the _ euler measure _ of an elementary domain @xmath115 is @xmath116    a _ domain _ in @xmath44 is a two - chain @xmath117 with @xmath118 its euler measure is simply @xmath119    as mentioned above , the maps @xmath120 induced by the triple heegaard diagram @xmath121 are defined by counting holomorphic triangles in @xmath122 with respect to a suitable almost complex structure . according to the cylindrical formulation from @xcite , 
   this is equivalent to counting certain holomorphic embeddings @xmath123 where @xmath124 is a riemann surface ( henceforth called the source ) with some marked points on the boundary ( which we call corners ) , and @xmath125 is a fixed disk with three marked points on the boundary . 
   the maps @xmath126 are required to satisfy certain boundary conditions , and to be generically @xmath46-to-@xmath95 when post - composed with the projection @xmath127 more generally , we will consider such holomorphic maps @xmath128 which are generically @xmath129-to-@xmath95 when post - composed with @xmath130 these correspond to holomorphic triangles in @xmath131 where @xmath129 can be any positive integer . 
   we will be interested in the discussion of the index from @xcite . 
   although this discussion was carried - out in the case @xmath132 , @xmath133 , it applies equally well in the case of arbitrary @xmath74 and @xmath129 with only notational changes .    in the cylindrical formulation , 
   one works with an almost complex structure on @xmath134 so that the projection @xmath135 is holomorphic , and the fibers of @xmath136 are holomorphic . 
   it follows that for @xmath137 holomorphic , @xmath138 is a holomorphic branched cover . 
   the map @xmath139 need not be holomorphic , but since the fibers are holomorphic , @xmath139 is a branched map . 
   fix a model for @xmath125 in which the three marked points are @xmath140 corners , and a conformal structure on @xmath44 with respect to which the intersections between alpha , beta and gamma curves are all right angles . 
   since @xmath126 is holomorphic , the conformal structure on @xmath124 is induced via @xmath138 from the conformal structure on @xmath125 . 
   it makes sense , therefore , to talk about branch points of @xmath139 on the boundary and at the corners , as well as in the interior . 
   generically , while there may be branch points of @xmath139 on the boundary of @xmath124 , there will not be branch points at the corners . 
   suppose @xmath128 is as above . 
   denote by @xmath141 the projection to @xmath142 there is an associated domain @xmath143 in @xmath144 where the coefficient of @xmath145 in @xmath143 is the local multiplicity of @xmath146 at any point in @xmath147 by @xcite , the _ index _ of the linearized @xmath148 operator at the holomorphic map @xmath126 is given by @xmath149 for simplicity , we call this the index of @xmath150    note that , by the riemann - hurwitz formula : @xmath151 where @xmath152 is the ramification index ( number of branch points counted with multiplicity ) of @xmath153 ( here , branch points along the boundary count as half an interior branch point . ) from and we get an alternate formula for the index : @xmath154    note that it is not obvious how to compute @xmath155 from @xmath143 . 
   a combinatorial formula for the index , purely in terms of @xmath143 , was found by sarkar in @xcite . 
   however , we will not use it here . 
   fix a multi - pointed triple heegaard diagram @xmath156 . 
   recall that a domain is a linear combination of connected components of @xmath157 . 
   the _ support _ of a domain is the union of those components with nonzero coefficients . 
   if the support of a domain @xmath158 contains at least one @xmath59 then @xmath158 is called _ punctured _ ; otherwise it is called _ 
   unpunctured_.    [ def : nice ] an elementary domain is called * good * if it is a bigon , a triangle , or a rectangle , and * bad * otherwise . 
   the multi - pointed triple heegaard diagram @xmath56 is called * nice * if every unpunctured elementary domain is good . 
   this is parallel to the definition of nice heegaard diagrams ( with just two sets of curves ) from @xcite . 
   a multi - pointed heegaard diagram @xmath159 is called _ nice _ if , among the connected components of @xmath160 all unpunctured ones are either bigons or squares . 
   note that a bigon , a triangle , and a rectangle have euler measure @xmath161 and @xmath162 respectively . 
   since @xmath163 is additive , every unpunctured positive domain ( not necessarily elementary ) in a nice diagram must have nonnegative euler measure . 
   a quick consequence of this is the following :    [ lemma : forget ] if @xmath80 is a nice triple heegaard diagram , then if we forget one set of curves ( for example , @xmath50 ) , the resulting heegaard diagram @xmath159 is also nice .    in order to define the triangle 
   maps it is necessary to assume the triple heegaard diagram is weakly admissible in the sense of  ( * ? ? ? 
   * definition 8.8 ) . 
   in fact , nice diagrams are automatically weakly admissible , cf . 
   corollary  [ lemma : admissible ] below . 
   our goal is to give a combinatorial description of the holomorphic triangle counts for nice triple diagrams . 
   [ easternorthodox ] let @xmath164 be a nice multi - pointed triple heegaard diagram . fix a generic almost complex structure @xmath165 on @xmath134 as in ( * ? ? ? 
   * section 10.2 ) . 
   let @xmath166 be a @xmath165-holomorphic map of the kind occurring in the definition of @xmath167 . 
   in particular , assume @xmath126 is an embedding , of index zero , and such that the image of @xmath146 is an unpunctured domain . then @xmath124 is a disjoint union of @xmath129 triangles , and the restriction of @xmath146 to each component of @xmath124 is an embedding . 
   since the image of @xmath146 is unpunctured and positive , we have @xmath168 by , we get @xmath169    this means that at least one component of @xmath124 is topologically a disk . 
   let @xmath170 be such a component . 
   it is a polygon with @xmath171 vertices . 
   we will show that @xmath172 and that @xmath173 is an embedding . 
   let us first show that @xmath170 is a triangle . 
   the index of the @xmath174 operator at a disconnected curve is the sum of the indices of its restrictions to each connected component . 
   therefore , in order for an index zero holomorphic curve to exist generically , the indices at every connected component , and in particular at @xmath175 must be zero . 
   applying to @xmath176 we get @xmath177    if @xmath178 then by we have @xmath179 hence , the map @xmath146 has no interior branch points . if @xmath180 then @xmath170 is mapped locally diffeomorphically by @xmath139 to @xmath44 . 
   the image must have negative euler measure , which is a contradiction . 
   so , suppose @xmath181 . 
   the preimages of the alpha , beta , and gamma curves cut @xmath170 into several connected components . without loss of generality , assume that the boundary branch point is mapped to an alpha circle . 
   then , along the corresponding edge of @xmath170 there is a valence three vertex @xmath182 , as shown in figure  [ figure : hexagon ] . 
   let @xmath183 denote the edge in the interior of @xmath170 meeting @xmath182 . since there is only one boundary branch point , the other intersection point of the edge @xmath183 with @xmath184 is along the preimage of a beta or gamma circle . 
   it follows that one of the connected components @xmath185 of @xmath186 is a hexagon or heptagon . smoothing the vertex @xmath182 of @xmath185 we obtain a pentagon or hexagon which is mapped locally diffeomorphically by @xmath139 to @xmath44 . 
   the image , then , has negative euler measure , again a contradiction .    therefore , @xmath172 so @xmath170 is a triangle . furthermore , by , @xmath187 which means that there are no ( interior or boundary ) branch points at all 
   thus , just as in the hypothetical hexagon case above , the preimages of the alpha , beta , and gamma curves must cut @xmath170 into 2-gons , 3-gons , and 4-gons , all of which have nonnegative euler measure . 
   since the euler measure of @xmath170 is @xmath188 there can be no bigons ; in fact , @xmath170 must be cut into several rectangles and exactly one triangle . 
   it is easy to see that the only possible tiling of @xmath170 of this type is as in figure  [ fig : tiling ] , with several parallel preimages of segments on the alpha curves , several parallel beta segments , and several parallel gamma segments . 
   we call the type of a segment ( @xmath189 , @xmath190 or @xmath191 ) its color . 
   the tiling consists of one triangle and six different types of rectangles , according to the coloring of their edges in clockwise order ( namely , @xmath192 , @xmath193 , @xmath194 , @xmath195 , @xmath196 , and @xmath197 ) . 
   we claim that the images of the interiors of each of these rectangles by @xmath146 are disjoint .    because of the coloring scheme 
   , only rectangles of the same type can have the same image . 
   suppose that two different @xmath192 rectangles from @xmath170 have the same image in @xmath142 ( the cases @xmath193 , @xmath194 are exactly analogous . ) 
   let @xmath198 and @xmath199 be the two rectangles ; suppose that @xmath198 is closer to the central triangle than @xmath200 and @xmath199 is closer to the @xmath189 boundary of @xmath201 because of the way the rectangles are colored , the upper edge of @xmath198 must have the same image as the upper edge of @xmath202 hence the @xmath192 rectangle right above @xmath198 has the same image as the one right above @xmath202 iterating this argument , at some point we get that the central triangle has the same image as some @xmath192 rectangle , which is impossible . 
   now suppose that two different @xmath195 rectangles , @xmath198 and @xmath200 have the same image . 
   ( the cases @xmath196 and @xmath197 are exactly analogous . ) 
   there are two cases , according to whether the upper edge of @xmath198 has the same image as the upper edge of @xmath200 or as the lower edge of @xmath202    suppose first that the upper edge of @xmath198 has the same image as the upper edge of @xmath199 . by the _ 
   @xmath190-height _ of @xmath203 we mean the minimal number of beta arcs that an arc in @xmath204 starting in @xmath203 , going right , and ending at a gamma arc must cross . ( the diagram is positioned in the plane as in figure  [ fig : tiling ] . ) 
   since @xmath139 is a local homeomorphism , and @xmath198 and @xmath199 have the same image , it is clear that the @xmath190-height of @xmath198 and the @xmath190-height of @xmath199 are equal . by the _ 
   @xmath189-height _ of @xmath203 we mean the minimal number of alpha arcs that an arc in @xmath205 starting in @xmath206 going up , and ending at a gamma arc must cross . 
   again , it is clear that the @xmath189-heights of @xmath198 and @xmath199 must be equal . but 
   this implies that @xmath198 and @xmath199 are equal .    now , suppose that the upper edge of @xmath198 has the same image as the lower edge of @xmath199 . 
   there is a unique rectangle @xmath91 in @xmath124 with boundary contained in @xmath207 , containing @xmath198 and @xmath199 , and with one corner the same as a corner of @xmath198 and the opposite corner the same as a corner of @xmath199 . 
   it is easy to see that @xmath139 maps antipodal points on the boundary of @xmath91 to the same point in @xmath44 . 
   it follows that @xmath208 is a two - fold covering map . 
   but then @xmath139 must have a branch point somewhere inside @xmath91  a contradiction . 
   see figure  [ fig : grid ] . 
   finally , suppose some arc @xmath209 on @xmath210 has the same image as some other arc @xmath211 in @xmath124 . 
   if @xmath211 is in the interior of @xmath124 then any rectangle ( or triangle ) adjacent to @xmath209 has the same image as some rectangle ( or triangle ) adjacent to @xmath211 . 
   we have already ruled this out . if @xmath211 is on @xmath210 , then either any rectangle ( or triangle ) adjacent to @xmath209 has the same image as some rectangle ( or triangle ) adjacent to @xmath211 or there is a branch point somewhere on @xmath210 . 
   we have already ruled out both of these cases . 
   we have thus established that @xmath170 is an embedded triangle . by forgetting @xmath170 
   , we obtain a holomorphic map to @xmath212 still of index zero , but such that its post - composition with @xmath135 is generically @xmath213-to-@xmath95 rather than @xmath129-to-@xmath214 the result then follows by induction on @xmath215    observe that , in proposition  [ easternorthodox ] above , even though each of the @xmath129 triangles is embedded , some of their domains may overlap . 
   it turns out that they may do so only in a specific way , however :    [ allow ] suppose @xmath209 is an index zero homology class represented by a union of embedded holomorphic triangles , in a nice triple diagram . 
   suppose the union of triangles corresponds to an embedded holomorphic curve in @xmath216 . 
   then any two triangles in @xmath209 are either disjoint in @xmath44 or overlap in @xmath44 `` head to tail '' as shown in figure  [ fig : overlap ] . 
   let @xmath217 and @xmath218 be two of the triangles in the domain @xmath209 . for a generic representative of @xmath209 to exist , 
   the pair must also have index zero , and be embedded in @xmath134 . 
   we already know that @xmath217 and @xmath218 are tiled as in figure  [ fig : tiling ] . 
   this strongly restricts how @xmath217 and @xmath218 can overlap . 
   one way for @xmath217 and @xmath218 to overlap is for @xmath217 to be entirely contained inside @xmath218 . in this case 
   , it is not hard to see that the two holomorphic triangles in @xmath134 intersect in one interior point . 
   indeed , the intersection number of two holomorphic curves in a @xmath11-manifold is invariant in families . 
   if we deform the heegaard diagram so that the boundary of @xmath217 in @xmath44 is a single point ( i.e. , the alpha , beta and gamma circles involved in @xmath219 intersect in an asterisk , with vertex the `` triangle '' @xmath217 ) then obviously @xmath220 is a single point . 
   it follows that the same is true for the original triangles @xmath217 and @xmath218 .    another way that @xmath217 and @xmath218 might overlap is `` head to head '' as shown on the left side of figure  [ fig : headhead ] . 
   it is then possible to decompose @xmath221 into a pair of rectangles @xmath91 and @xmath222 , and two new embedded triangles @xmath217 and @xmath218 , as shown in figure  [ fig : headhead ] . 
   an immersed rectangle in @xmath44 has index at least @xmath95 , since it admits a generic holomorphic representative . 
   so , each of @xmath223 and @xmath224 has index at least @xmath95 . 
   similarly , the pair of triangles @xmath225 has index at least @xmath226 . 
   so , by additivity of the index , the whole domain has index at least @xmath227  a contradiction .    using these two observations , and the rulings of @xmath217 and @xmath218 , it is then elementary to check that the only possible overlap in index zero is `` head to tail '' as in figure  [ fig : overlap ] . 
   it follows that , for a nice heegaard diagram , we can combinatorially describe the generic holomorphic curves of index @xmath226 
   . if @xmath158 is the domain of a generic holomorphic curve of index @xmath226 then @xmath228 has @xmath129 components , each of which bounds an embedded triangle in @xmath44 . 
   each pair of triangles must either be disjoint or overlap as shown in figure  [ fig : overlap ] . 
   any such @xmath158 clearly has a unique holomorphic representative with respect to a split complex structure @xmath229 on @xmath134 . 
   further , it is well known that these holomorphic curves are transversally cut out , and so persist if one takes a small perturbation of @xmath229 . in summary , to count index zero holomorphic curves in @xmath134 with respect to a generic perturbation of the split complex structure , it suffices to count domains @xmath158 which are sums of @xmath129 embedded triangles in @xmath44 , overlapping as allowed in the statement of lemma  [ allow ] . 
   in ( * ? ? ? 
   * definition 4.2 ) , ozsvth and szab associate to a four - dimensional cobordism @xmath24 consisting of two - handle additions certain kinds of triple heegaard diagrams . 
   the cobordism @xmath24 from @xmath6 to @xmath7 corresponds to surgery on some framed link @xmath230 denote by @xmath231 the number of components of @xmath232 . 
   fix a basepoint in @xmath6 . 
   let @xmath233 be the union of @xmath232 with a path from each component to the basepoint . 
   the boundary of a regular neighborhood of @xmath233 is a genus @xmath231 surface , which has a subset identified with @xmath231 punctured tori @xmath234 , one for each link component . 
   a singly - pointed triple heegaard diagram @xmath235 is called _ subordinate to @xmath233 _ if    * @xmath236 describes the complement of @xmath233 , * @xmath237 are small isotopic translates of @xmath238 , * after surgering out the @xmath239 , the induced curves @xmath102 and @xmath103 ( for @xmath240 ) lie in the punctured torus @xmath234 . * for @xmath240 , 
   the curves @xmath102 represent meridians for the link components , disjoint from all @xmath241 for @xmath242 , and meeting @xmath103 in a single transverse intersection point . * for @xmath240 , 
   the homology classes of the @xmath103 correspond to the framings of the link components . 
   a related construction is as follows . 
   given @xmath6 and @xmath232 as above , choose a multi - pointed heegaard diagram @xmath243 for @xmath244 as in @xcite , of some genus @xmath45 ; here , @xmath245 and @xmath246 . 
   precisely , the sets @xmath247 and @xmath248 are collections of distinct points on @xmath44 disjoint from the alpha and the beta curves , with the following two properties : first , each connected component of @xmath249 and @xmath250 contains a single @xmath59 and a corresponding @xmath251 . second , if @xmath252 is an @xmath231-tuple of embedded arcs in @xmath250 connecting @xmath59 to @xmath251 ( @xmath253 ) , and @xmath254 is an @xmath231-tuple of embedded arcs in @xmath249 connecting @xmath59 to @xmath251 ( @xmath253 ) then the link @xmath232 is the union of small push offs of @xmath252 and @xmath254 into the two handlebodies ( induced by the beta and alpha curves , respectively ) . 
   next , we attach handles @xmath255 to @xmath256 connecting @xmath59 to @xmath251 ( for @xmath253 ) , and obtain a new surface @xmath44 . we choose a new @xmath102 ( @xmath257 ) to be the belt circle of the handle @xmath258 , and a new @xmath93 to be the union of the core of @xmath258 with @xmath259 , so @xmath93 intersects @xmath102 in one point . 
   choose @xmath103 ( @xmath260 ) to be a small isotopic translate of @xmath102 , intersecting @xmath102 in two points . 
   let @xmath261 ( @xmath257 ) be the union of @xmath262 with a core of the handle @xmath258 . 
   obtain @xmath103 ( @xmath257 ) by applying dehn twists to @xmath261 around @xmath102 ; the framing of the link is determined by the number of dehn twists . 
   in this fashion we obtain a multi - pointed triple heegaard diagram @xmath263 with @xmath264 curves of each kind . 
   note that @xmath67 is an @xmath231-pointed heegaard diagram for @xmath6 , @xmath265 is a @xmath231-pointed heegaard diagram for @xmath7 , and @xmath266 is a @xmath231-pointed heegaard diagram for @xmath267 .    the new circles @xmath93 , @xmath257 , are part of a maximal homologically linearly independent subset of @xmath268 , and similarly for @xmath102 and @xmath103 ( @xmath257 ) . 
   consequently , by the proof of lemma  [ lemma : splitdiagrams ] , there is a split diagram strongly equivalent to @xmath269 whose reduction @xmath87 is obtained from @xmath270 by forgetting @xmath271 of the @xmath93 ( respectively @xmath102 , @xmath103 ) , @xmath272 , as well as @xmath273 . 
   it is then not hard to see that @xmath87 is a triple heegaard diagram subordinate to a bouquet for @xmath232 .    in this section 
   we will show that for any two - handle addition , one can construct a _ 
   triple heegaard diagram strongly equivalent to a diagram @xmath274 as above . 
   this involves finessing the diagram for the link @xmath232 inside @xmath1 and then , after adding the handles and the new curves , modifying the diagram in several steps to make it nice . 
   for the most part we will focus on the case when we add a single two - handle . in the last subsection we will explain how the arguments generalize to several two - handles .    to keep language concise , in this section 
   we will refer to elementary domains as _ 
   let @xmath159 be a multi - pointed heegaard diagram . 
   recall that the diagram is called nice if all unpunctured regions are either bigons or squares . 
   [ lemma : bad_region_adjacent ] on a nice heegaard diagram @xmath159 , for any alpha circle @xmath93 with an arbitrary orientation , there exists a punctured region @xmath158 which contains an edge @xmath163 belonging to @xmath93 , and such that @xmath158 is on the left of @xmath93 . 
   the same conclusion holds for each beta circle . 
   suppose a half - neighborhood on the left of the alpha circle @xmath93 is disjoint from all the punctured regions . then immediately to the left of @xmath93 we only have good regions . 
   there are two possibilities as indicated in figure [ fig : bad_region_adjacent ] . 
   if there is a bigon region on the left of @xmath275 then the other edge is some beta edge @xmath276 . 
   the region on the other side of @xmath276 must be a bigon region or a square since otherwise we would have a punctured region on the left of @xmath93 . 
   if we reach a square , we continue to consider the next region . 
   eventually we will reach a bigon region since the number of regions are finite and we will not reach the same region twice . 
   all regions involved form a disk bounded by @xmath93 ( as in figure [ fig : bad_region_adjacent ] ( a ) ) . in particular 
   , this means @xmath93 is null homologous . 
   this contradicts the fact that the @xmath277 alpha circles represent linearly independent classes in @xmath278    in the second case , there are no bigon regions . 
   then on the left of @xmath93 , we see a chain of squares , as in figure [ fig : bad_region_adjacent ] ( b ) . 
   the opposite edges on these squares give another alpha circle , say @xmath279 . 
   then @xmath93 and @xmath279 are homologous to each other in @xmath278 this contradicts the same fact as in the previous case . 
   recall that in order to define the triangle maps it is necessary for the triple heegaard diagram to be weakly admissible in the sense of  ( * ? ? ? 
   * definition 8.8 ) . 
   [ lemma : admissible ] if @xmath80 is a nice multi - pointed triple heegaard diagram then @xmath80 is weakly admissible .    by definition , 
   the diagram is weakly admissible if there are no nontrivial domains @xmath158 supported in @xmath280 with nonnegative multiplicity in all regions , and whose boundary is a linear combination of alpha , beta , and gamma curves . 
   suppose such a domain @xmath158 exists , and consider a curve appearing with a nonzero multiplicity in @xmath281 without loss of generality , we can assume this is an alpha curve , and all regions immediately to its left have positive multiplicity in @xmath282 by lemma  [ lemma : forget ] , the diagram @xmath67 is nice . 
   lemma  [ lemma : bad_region_adjacent ] now gives a contradiction . 
   let @xmath283 be a three - manifold together with a knot @xmath284 . 
   we choose a singly pointed heegaard diagram @xmath285 for @xmath1 together with an additional basepoint @xmath286 such that the two basepoints determine the knot as in @xcite . after applying the algorithm from @xcite to the heegaard diagram 
   , we can assume that the heegaard diagram is nice , with @xmath287 the ( usually bad ) region containing the basepoint @xmath288 furthermore , the algorithm in @xcite also ensures that @xmath287 is a polygon . 
   we denote by @xmath289 the region containing @xmath290 note that either @xmath291 or @xmath289 is good . throughout this section 
   , we will suppose that @xmath289 and @xmath287 are two different regions , and that @xmath289 is a rectangle . 
   the case when @xmath291 corresponds to surgery on the unknot , which is already well understood . 
   the case when @xmath289 is a bigon can be avoided by modifying the original diagram by a finger move . 
   ( alternately , this case can be treated similarly to the case that @xmath289 is a rectangle . ) 
   let @xmath24 be the four manifold with boundary obtained from @xmath292 $ ] by adding a two handle along @xmath293 in @xmath294 , with some framing . 
   @xmath24 gives a cobordism between @xmath1 and @xmath295 , where @xmath295 is obtained from @xmath1 by doing the corresponding surgery along @xmath293 . 
   now we are ready to describe our algorithm to get a nice triple heegaard diagram for the cobordism @xmath296      let @xmath252 be an embedded arc in @xmath44 connecting @xmath297 and @xmath298 in the complement of beta curves , and @xmath254 be an embedded arc connecting @xmath297 and @xmath298 in the complement of alpha curves . 
   the union of @xmath252 and @xmath254 is a projection of the knot @xmath284 to the surface @xmath144 where @xmath44 is viewed as a heegaard surface in @xmath299 for convenience , we will always assume that @xmath252 and @xmath254 do not pass through any bigon regions , and never leave a rectangle by the same edge through which they entered ; this can easily be achieved .    in this step , 
   we modify the doubly pointed heegaard diagram @xmath300 to make @xmath301 embedded in @xmath144 while preserving the niceness of the heegaard diagram . 
   typically , @xmath252 and @xmath254 have many intersections . 
   we modify the diagram inductively by stabilization at the first intersection @xmath302 on @xmath254 ( going from @xmath297 to @xmath298 ) to remove that intersection , while making sure that the new diagram is still nice . 
   a neighborhood of @xmath252 and the part on @xmath254 from @xmath297 to @xmath15 are shown in figure [ fig : knot_embedded_before ] . in the same picture , 
   if we continue the chain of rectangles containing @xmath252 , we will end up with a region @xmath303 which is either a bigon or the punctured region @xmath287 . 
   to get rid of the intersection point @xmath15 , we stabilize the diagram as in figure [ fig : knot_embedded_after ] . more precisely , we do a stabilization followed some handleslides of the beta curves and an isotopy of the new beta curve . 
   after these moves , the number of intersection points decreases by one and the diagram is still nice . 
   if we iterate this process , in the end we get a nice heegaard diagram in which @xmath252 and @xmath254 only intersect at their endpoints . 
   furthermore , the bad region @xmath287 is still a polygon . 
   our goal in steps 2 and 3 is to describe a particular triple heegaard diagram for the cobordism @xmath24 . starting with the alpha and the beta curves we already have , for each beta curve @xmath102 
   we will add a gamma curve @xmath103 ( called its twin ) which is isotopic to @xmath102 and intersects it in exactly two points . 
   ( after this , we will add some more curves in the next step . )    for any beta curve @xmath102 , by lemma [ lemma : bad_region_adjacent ] we can choose a region @xmath145 so that @xmath145 is adjacent to the punctured region @xmath287 with the common edge on @xmath102 . if @xmath304 , then we add @xmath103 close and parallel to @xmath102 as in figure [ fig : adding_gamma_curve_simple ] ( a ) , and make a finger move as in figure [ fig : adding_gamma_curve_simple ] ( b ) .    here and after , without further specification , we make the convention that the thick arcs are alpha arcs , the thin ones are beta arcs , and the interrupted ones are gamma arcs . 
   suppose now that @xmath145 is different from @xmath287 . 
   then @xmath145 has to be a good region . 
   if @xmath145 is not a bigon , since the complement of the beta curves in @xmath44 is connected , we can connect @xmath145 with @xmath287 without intersecting beta curves , via an arc traversing a chain of rectangles , as indicated in the figure [ fig : adding_gamma_curve_before ] . 
   then we do a finger move of the curve @xmath102 as indicated in figure [ fig : adding_gamma_curve_after ] . 
   note that the knot remains embedded in @xmath44 . 
   now we have a bigon region . 
   we then add the gamma curve @xmath103 as shown in figure [ fig : adding_gamma_curve_after ] . 
   note that for each pair @xmath102 and @xmath103 , we either have one sub - diagram of the form in figure  [ fig : adding_gamma_curve_simple ] ( b ) , or one sub - diagram of the form in figure [ fig : beta_gamma_bigon ] . 
   observe also that during this process , no bad region other than @xmath287 is created . 
   after step 2 , the knot is still embedded in the heegaard diagram . in other words , we can use arcs to connect @xmath297 to @xmath298 by paths in the complement of alpha curves , and in the complement of beta curves so that the two arcs do not intersect except for the end points @xmath298 and @xmath297 , and do not pass through any bigons . 
   we will see two chains of squares , as indicated in figure [ fig : stabilization ] . 
   we do a stabilization of the heegaard diagram by adding a handle with one foot in each of @xmath287 and @xmath289 . 
   we add the additional beta circle @xmath305 to be the meridian of the handle , which we push along @xmath252 until it reaches @xmath306 we also push @xmath305 through the opposite alpha edge of @xmath289 , into the adjacent region . 
   then , we connect the two feet in the complement of alpha curves along @xmath254 and get a new alpha circle @xmath307 . finally , we add the surgery gamma circle @xmath308 as in figure [ fig : stabilization ] . 
   the result is a triple heegaard diagram ( with @xmath309 curves ) which represents surgery along the knot @xmath284 , with a particular framing ; the framing is the sum of the number of twists of @xmath308 around the handle and a constant depending only on the original heegaard diagram . 
   note that , depending on the framing , the local picture around the two feet of the handle may also look like figure [ fig : stabilization_anti ] , in which case instead of the octagon region @xmath310 from figure [ fig : stabilization ] we have two hexagon bad regions @xmath311 and @xmath312 . 
   after the stabilization , @xmath307 and @xmath308 separate @xmath287 into several regions ; among these , @xmath313 and @xmath314 are ( possibly ) bad but all other regions are good . 
   we end up with a diagram with four ( or five ) bad regions : @xmath313 , @xmath314 , @xmath310 ( or @xmath311 and @xmath312 ) , and @xmath303 . 
   ( in some cases , @xmath313 or @xmath314 might be good , or , if there is little winding of @xmath315 some of @xmath310 , @xmath316 and @xmath314 might coincide . 
   the argument in these cases is a simple adaptation of the one we give below . ) 
   we will kill the badness of @xmath317 @xmath318 and @xmath310 ( or @xmath311 and @xmath312 ) , while the region @xmath313 will be the one containing the basepoint @xmath297 for our final triple heegaard diagram . 
   we push the finger in @xmath303 across the opposite alpha edge until we reach a bigon , @xmath319 or a region of type @xmath320 as in figure [ fig : beta_gamma_bigon ] .      in this case 
   ( figure [ fig : dprime_bigon ] ( a ) ) , our finger move will kill the badness of @xmath303 , as indicated in figure [ fig : dprime_bigon ] ( b ) , and does not create any new bad regions . 
   this is completely similar to case 1 . 
   the finger move kills the badness of @xmath303 , and does not create any new bad regions . 
   let us suppose the topmost region in figure [ fig : beta_gamma_bigon ] is @xmath313 . 
   the case when the topmost region is @xmath314 is completely similar . 
   the regions involved look like figure [ fig : dprime_ds_bad ] . if on the left @xmath313 is on top of @xmath314 , we isotope the diagram to look as in figure [ fig : dprime_ds_nice ] . 
   the case when on the left of figure [ fig : beta_gamma_bigon ] @xmath314 is on top of @xmath313 is similar , except that we do the double finger move on the other side of @xmath305 . 
   we have now killed the badness of @xmath303 .         if there are any bigons between beta and gamma curves adjacent to @xmath314 as in figure [ fig : beta_gamma_bigon ] or figure [ fig : adding_gamma_curve_simple ] ( b ) , also shown in figures [ fig : dw2_special_handleslide ] ( a ) resp . 
   ( c ) , we do a `` handleslide '' ( more precisely , a handleslide followed by an isotopy ) of @xmath308 over each @xmath103 ( @xmath322 ) involved as indicated in figures [ fig : dw2_special_handleslide ] ( b ) resp . 
   the intersection of @xmath308 and @xmath307 has the pattern as figure [ fig : dw2_two_patterns ] ( a ) or ( b ) . in case ( 
   a ) , we do nothing . in case 
   ( b ) , we do the finger move as in figure [ fig : dw2_two_patterns ] ( c ) .    now among the possibly bad regions generated from @xmath314 , we have a unique one whose boundary has an intersection of a beta curve with a gamma curve , namely the one near @xmath305 as in figure [ fig : dw2_beta_gamma_crossing ] ( a ) . 
   ( see also figures [ fig : stabilization ] and [ fig : dprime_ds_nice ] . ) 
   we then do a finger move as in figure [ fig : dw2_beta_gamma_crossing ] ( b ) . 
   note that this finger move will not create any badness other than that of @xmath313 .    after these special handleslides and finger moves , the region @xmath314 is divided into several possibly bad regions @xmath323 these bad regions are all adjacent to @xmath313 via arcs on @xmath308 and , furthermore , there are no intersection points of beta and gamma curves on their boundaries . 
   we seek to kill the badness of @xmath324 using the algorithm in @xcite . 
   the algorithm there consisted of inductively decreasing a complexity function defined using the unpunctured bad regions . 
   in our situation , we apply a simple modification of the algorithm to the heegaard diagram made of the alpha and the gamma curves ; the modification consists of the fact that we do not deal with the bad region(s ) @xmath310 ( or @xmath311 and @xmath312 ) , but rather only seek to eliminate the badness of @xmath325 thus , in the complexity function we do not include terms that involve the badness and distance of @xmath310 ( or @xmath311 and @xmath312 ) . 
   since all the @xmath326 s are adjacent to the preferred ( punctured ) region @xmath313 via arcs on @xmath315 the algorithm in @xcite prescribes doing finger moves of @xmath308 through alpha curves , and ( possibly ) handleslides of @xmath308 over other gamma curves . 
   we do all these moves in such a way as not to tamper with the arrangements of twin beta - gamma curves , i.e. as not to introduce any new intersection points between @xmath308 and @xmath327 for any @xmath328 . 
   ( in other words , we can think of fattening @xmath329 before applying the algorithm , so that they include their respective twin beta curves . ) in particular , regions of type @xmath320 are treated as bigons . 
   the fact that the algorithm in @xcite can be applied in this fashion is based on the following two observations :    * our fingers or handleslides will not pass through the regions adjacent to @xmath305 , except possibly @xmath313 itself . 
   ( this is one benefit of the modification performed in figure  [ fig : dw2_beta_gamma_crossing ] . ) 
   * we will not reach any squares between @xmath102 and @xmath330 nor the `` narrow '' squares created in figure [ fig : dw2_special_handleslide ] .    in the end , all the badness of @xmath324 is killed . 
   we arrive at a heegaard diagram which might still have some bad regions coming from regions of type @xmath331 as in figure [ fig : dw2_special_bad_region ] ( a ) . 
   we kill these bad regions using the finger moves indicated in figure [ fig : dw2_special_bad_region ] ( b ) .    after these moves , 
   the only remaining bad regions are @xmath310 ( or @xmath311 and @xmath312 ) , and the preferred bad region @xmath332      our remaining task is to kill the badness of @xmath310 or @xmath333 . 
   recall that depending on the pattern of the intersection of @xmath307 and @xmath308 ( cf . 
   figure [ fig : dw2_two_patterns ] ) , there are two cases : either we have an octagon bad region @xmath310 , or two hexagon bad regions @xmath311 and @xmath312 .    in the first case , 
   one possibility is that a neighborhood of @xmath334 looks as in figure [ fig : dstar_bad ] . 
   we then do the finger moves indicated in figure [ fig : dstar_nice ] . 
   it is routine to check that the new diagram is isotopic to the one in figure [ fig : dstar_bad ] . 
   similarly , in the second case , one possibility is that a neighborhood of @xmath334 looks as in figure [ fig : dstar_bad_case2 ] . in this case 
   , we do the finger moves indicated in figure [ fig : dstar_nice_case2 ] . 
   however , the actual picture on the heegaard diagram may differ from figure  [ fig : dstar_bad ] or [ fig : dstar_bad_case2 ] in several ( non - essential ) ways . 
   one possible difference is that at the bottom of the figure  [ fig : dstar_bad_case2 ] , the extra gamma curve on top of @xmath313 might be on the right rather than on the left ; however , we can still push the two fingers starting from @xmath313 on each side of @xmath307 . 
   another possible difference is that at the very left of figures  [ fig : dstar_bad ] and [ fig : dstar_bad_case2 ] , the curve @xmath308 may have an upward rather than a downward hook , i.e. look as in figure  [ fig : dw_1and2_switched](c ) rather than ( a ) . 
   if so , instead of the beta finger from the left in figures  [ fig : dstar_bad ] and [ fig : dstar_bad_case2 ] ( cf . also figure  [ fig : dw_1and2_switched](b ) ) , we push a beta - gamma finger as in figure  [ fig : dw_1and2_switched](d ) . 
   finally , instead of the situations shown in figures  [ fig : dstar_bad ] and [ fig : dstar_bad_case2 ] , we might have the same pictures reflected in a horizontal axis . 
   if so , we apply similar finger moves and arrive at the reflections of figures  [ fig : dstar_nice ] and [ fig : dstar_nice_case2 ] .    in all cases , 
   the finger moves successfully kill the badness of all regions other than @xmath316 in which we keep the basepoint @xmath288 the result is a nice triple heegaard diagram for the cobordism @xmath24 . 
   we now explain how the arguments in this section can be extended to a cobordism @xmath24 which consists of the addition of several two - handles . 
   we view @xmath24 as surgery along a link @xmath335 of @xmath231 components . 
   we start with a multi - pointed heegaard diagram @xmath336 together with another set of basepoints @xmath248 describing the pair @xmath337 as in @xcite . 
   each of the two sets of curves ( @xmath268 and @xmath338 ) has @xmath339 elements . 
   applying the algorithm in @xcite we can make this diagram nice , i.e. such that all regions not containing one of the @xmath297 s are either bigons or rectangles . for @xmath340 
   we denote by @xmath341 the region containing @xmath342    as in step 1 of section  [ sec : boss ] , we inductively remove intersection points between the various components of the projection of @xmath232 to @xmath44 . 
   this projection consists of arcs @xmath262 and @xmath343 with endpoints at @xmath59 and @xmath344 , such that each @xmath262 is disjoint from the beta curves , and each @xmath343 is disjoint from the alpha curves . instead of figure  [ 
   fig : knot_embedded_before ] we have the situation in figure  [ fig : link_embedded_before ] . 
   again , we stabilize and perform an isotopy to obtain a good diagram with one fewer intersection point , as in figure  [ fig : knot_embedded_after ] . iterating this process ( on all link components ) 
   , we can assume that the projection of @xmath232 is embedded in the heegaard surface . 
   we then add twin gamma curves as in step 2 of section  [ sec : boss ] . 
   for this we need to do several isotopies of the beta curves as in figure  [ fig : adding_gamma_curve_after ] . in that figure , if the region on the top left is @xmath345 the one on the right might be @xmath346 for @xmath347 ; however , the isotopy can be done as before . 
   next , we stabilize the heegaard diagram @xmath231 times ( once for each link component ) to obtain a triple diagram for the cobordism , as in step 3 of section  [ sec : boss ] . 
   we then do the analogue of step 4 by pushing @xmath231 fingers to kill the badness of the regions of type @xmath348 . 
   since the fingers only pass through rectangles , they do not intersect each other . 
   the only change is that in figures  [ fig : dprime_ds_bad ] and [ fig : dprime_ds_nice ] , the region on the very right may contain a different puncture @xmath59 than the one on the left . by contrast , in case 2 of step 4 , the region on the right in figure  [ fig : dprime_bigon ] contains the same puncture as the region on the left , since they lie in the same connected component of the complement of the beta circles .    at the end of step 4 , the beta curves split the heegaard surface into @xmath231 connected components @xmath349 . 
   we then do the analogue of step 5 in section  [ sec : boss ] . 
   note that this step ( except for the very last bit , figure  [ fig : dw2_special_bad_region ] ) only involves moving gamma curves through alpha curves . 
   ( here , we think of the move in figure  [ fig : dw2_special_handleslide ] as a single step , rather than as a handleslide followed by an isotopy . ) 
   therefore , we can perform the moves in this step once for each connected component of @xmath232 , independently of each other , because the moves take place in the corresponding component @xmath350 in the situation considered in figure  [ fig : dw2_special_bad_region ] , the gamma curves cross a beta curve ; however , the special region @xmath321 is part of a unique @xmath351 , so we can perform the isotopy of the gamma curves as before , without interference from another @xmath352    finally , for step 6 , note that in all the previous steps we have not destroyed the property that the projection of @xmath232 to the heegaard surface is embedded . more precisely , in the part of the stabilized heegaard diagram shown in figure  [ fig : stabilization ] , we take a component of the link projection to be a loop starting in @xmath310 , near the upper foot of the handle , going down along @xmath307 until it reaches @xmath313 , then going inside @xmath313 until it reaches the intersection of @xmath308 and @xmath353 and then going along a sub - arc of @xmath308 to its original departure . 
   these paths remain embedded , and disjoint from each other , throughout steps 4 and 5 . 
   ( indeed , neither @xmath305 nor this sub - arc of @xmath308 is moved during these steps . ) 
   it then suffices to note the finger moves in step 6 take place in a neighborhood of the projection of the corresponding link component ( the path considered above ) . 
   therefore , these finger moves can be done without interfering with each other . 
   the result is a nice multi - pointed triple heegaard diagram for @xmath24 . 
   let @xmath24 be a @xmath11-dimensional cobordism from @xmath354 to @xmath355 , and @xmath8 a @xmath2-structure on @xmath24 . 
   choose a self - indexing morse function on @xmath24 . 
   this decomposes @xmath24 as a collection of one - handle additions which together form a cobordism @xmath356 , followed by some two - handle additions forming a cobordism @xmath357 , and three - handle additions forming a cobordism @xmath358 , in this order . 
   let @xmath6 and @xmath7 be the intermediate three - manifolds , so that @xmath359 the map @xmath360 from  @xcite is defined as the composition @xmath361 of maps associated to each of the pieces @xmath356 , @xmath357 and @xmath358 . 
   we will review the definitions of these three maps in sections  [ section : onethreehandles ] and  [ sec : twohandlemaps ] . 
   first we review a few facts about the @xmath362-action on the hat heegaard floer invariants .      in ( * ? 
   * section 4.2.5 ) , ozsvth and szab constructed an action of the group @xmath363 on @xmath31 . in @xcite ( see also ( * ? ? ? 
   * section 2 ) ) , they also showed that the cobordism maps @xmath22 extend to maps @xmath364 moreover , if @xmath24 is a cobordism from @xmath6 to @xmath7 ( endowed with a @xmath2 structure @xmath8 ) and we denote by @xmath365 the natural inclusions , then for any @xmath366 of the form @xmath367 one has @xmath368    this equality has the following immediate corollaries :    [ l1 ] if @xmath369 then @xmath370 for any @xmath371    [ l2 ] if @xmath372 then @xmath373 for any @xmath374    consider now a 3-manifold of the form @xmath375 , and let @xmath376 denote the torsion @xmath2-structure on @xmath377 . then for any @xmath2-structure @xmath3 on @xmath1 there is an isomorphism @xmath378 as @xmath379$]-modules , cf . 
   * theorem 1.5 ) . here , the action of @xmath380 on @xmath4 is trivial , as is the action of @xmath362 on @xmath381 . 
   further , the action of @xmath382 on @xmath383 is exactly the given by cap product @xmath384 . 
   next , we review the definition of the heegaard floer maps induced by one- and three - handle additions , cf . 
   * section 4.3 ) . 
   suppose that @xmath356 is a cobordism from @xmath354 to @xmath6 built entirely from @xmath95-handles . 
   let @xmath8 be a @xmath2-structure on @xmath356 . 
   the map @xmath385 is constructed as follows . if @xmath386 are the @xmath95-handles in the cobordism , for each @xmath387 pick a path @xmath388 in @xmath354 , joining the two feet of the handle @xmath389 this induces a connected sum decomposition @xmath390 , where the first homology of each @xmath391 factor is generated by the union of @xmath388 with the core of the corresponding handle . 
   further , the restriction of @xmath8 to the @xmath392-summands in @xmath6 is torsion . 
   it follows that @xmath393 . 
   let @xmath394 be the generator of the top - graded part of @xmath395 . 
   then the heegaard floer map induced by @xmath356 is given by @xmath396 it is proved in ( * ? ? ? 
   * lemma 4.13 ) that , up to composition with canonical isomorphisms , @xmath397 does not depend on the choices made in its construction , such as the choice of the paths @xmath398    dually , suppose that @xmath358 is a cobordism from @xmath7 to @xmath355 built entirely from @xmath399-handles . 
   let @xmath8 be a @xmath2-structure on @xmath358 . 
   the map @xmath400 is constructed as follows . 
   one can reverse @xmath358 and view it as attaching @xmath95-handles on @xmath355 to get @xmath401 after choosing paths between the feet of these @xmath95-handles in @xmath402 we obtain a decomposition @xmath403 ( where @xmath129 is the number of @xmath399-handles of @xmath358 ) . 
   further , the restriction of @xmath8 to the @xmath392-summands in @xmath7 is torsion . 
   it follows that @xmath404 . 
   let @xmath405 be the generator of the lowest - graded part of @xmath406 . 
   then the heegaard floer map induced by @xmath358 is given by @xmath407 and @xmath408 for any homogeneous generator @xmath409 of @xmath406 not lying in the minimal degree . 
   again , the map is independent of the choices made in its construction . 
   let @xmath357 be a two - handle cobordism from @xmath6 to @xmath7 , corresponding to surgery on a framed link @xmath232 in @xmath6 , and let @xmath8 be a @xmath2-structure on @xmath357 . 
   let @xmath87 be a triple heegaard diagram subordinate to a bouquet @xmath233 for @xmath232 , as in the beginning of section  [ sec : two ] . 
   then , in particular , @xmath410 is a heegaard diagram for @xmath6 , @xmath411 is a heegaard diagram for @xmath7 , and @xmath412 is a heegaard diagram for @xmath413 . 
   ( here , @xmath45 is the genus of @xmath414 and @xmath231 the number of components of @xmath232 . ) 
   the @xmath2-structure @xmath8 induces a @xmath2-structure ( still denoted @xmath8 ) on the four - manifold @xmath415 specified by @xmath416 ( note that @xmath415 can be viewed as a subset of @xmath357 . ) 
   consequently , there is an induced map @xmath417 as discussed in section  [ sec : prels ] . 
   the @xmath2-structure @xmath418 is necessarily torsion , so @xmath419 let @xmath394 denote the generator for the top - dimensional part of @xmath420 . 
   then we define ( cf . 
   * section 4.1 ) ) the map @xmath421 by @xmath422 . 
   now , consider instead the nice , @xmath231-pointed triple heegaard diagram @xmath80 constructed in section  [ sec : two ] . 
   as discussed in the beginning of section  [ sec : two ] , @xmath80 is strongly equivalent to a split triple heegaard diagram whose reduction @xmath87 is subordinate to a bouquet @xmath233 as above . 
   let @xmath423 be the generator for the top - dimensional part of @xmath424 . 
   then , by diagram  , with @xmath425 , we have @xmath426    in light of corollary  [ lemma : admissible ] and proposition  [ easternorthodox ] , the rank of the map @xmath120 can be computed combinatorially . 
   further , since the triple heegaard diagram @xmath80 is nice , so are each of the three ( ordinary ) heegaard diagrams it specifies . 
   consequently , by  @xcite , the element @xmath427 can be explicitly identified ( as can a representative for @xmath423 in @xmath428 ) . 
   therefore , the rank of @xmath429 can be computed combinatorially . 
   recall that @xmath24 is a @xmath11-dimensional cobordism from @xmath354 to @xmath355 , @xmath8 a @xmath2-structure on @xmath24 , and that @xmath24 is decomposed as a collection of one - handle additions @xmath356 , followed by some two - handle additions @xmath357 , and three - handle additions @xmath358 , with @xmath6 and @xmath7 the intermediate three - manifolds , so that @xmath359    as in section  [ sec : action ] , we consider the maps @xmath430    [ onto1 ] if @xmath431 is surjective , then @xmath432    the cobordism @xmath356 consists of the addition of some @xmath95-handles @xmath433 as in section  [ section : onethreehandles ] , we choose paths @xmath388 in @xmath354 joining the two feet of the handle @xmath389 the union of @xmath388 with the core of @xmath255 produces a curve in @xmath356 , which in turn gives an element @xmath434 since @xmath24 is obtained from @xmath435 by adding @xmath399-handles , we have @xmath436 , so the hypothesis implies that the map @xmath437 is surjective 
   . hence there exist disjoint , embedded curves @xmath262 in @xmath354 ( disjoint from all the @xmath438 ) such that @xmath439 ) = -e_i , i=1 , \dots , n.$ ] we can connect sum @xmath388 and @xmath262 to get new paths @xmath440 in @xmath354 between the two feet of @xmath389 using the paths @xmath440 we get a connected sum decomposition @xmath441 as in section  [ section : onethreehandles ] , with the property that the inclusion of the summand @xmath442 in @xmath443 is trivial . since we can view @xmath435 as obtained from @xmath357 by adding @xmath399-handles ( which do not affect @xmath444 ) , it follows that the inclusion of @xmath380 in @xmath445 is trivial . 
   lemma  [ l1 ] then says that @xmath446 for any @xmath447 thus the kernel of @xmath448 contains all elements of the form @xmath449 , where @xmath450 and @xmath451 is any homogeneous element not lying in the top grading of @xmath452 on the other hand , from section  [ section : onethreehandles ] we know that the image of @xmath453 consists exactly of the elements @xmath454 where @xmath394 is the top degree generator of @xmath455 therefore , @xmath456 this gives the desired result . 
   [ onto2 ] if @xmath457 is surjective , then @xmath458    this is similar to the proof of lemma  [ onto1 ] . 
   a suitable choice of paths enables us to view @xmath7 as @xmath459 such that the inclusion of the summand @xmath460 in @xmath445 is trivial . 
   lemma  [ l2 ] then says that @xmath461 for any @xmath462 and @xmath463 in other words , every element in the image of @xmath448 must be of the form @xmath464 where @xmath465 and @xmath405 is the lowest degree generator of @xmath455 on the other hand , from section  [ section : onethreehandles ] we know that the kernel of the map @xmath466 does not contain any nonzero elements of the form @xmath467    let @xmath24 be a cobordism from @xmath354 to @xmath355 , and @xmath8 a @xmath2-structure on @xmath24 . 
   assume that the maps @xmath431 and @xmath457 from formula   are surjective . 
   then in each ( relative ) grading @xmath468 the rank of @xmath469 can be computed combinatorially . 
   the map @xmath10 is , by definition , the composition @xmath470 . 
   lemmas  [ onto1 ] and [ onto2 ] imply that @xmath471 or , equivalently , @xmath472    using lemma  [ onto1 ] again , the expression on the right is the same as the rank of @xmath473 thus , the maps @xmath10 and @xmath448 have the same rank . as explained in section  [ sec : twohandlemaps ] , the rank of @xmath448 can be computed combinatorially . 
   note that the relative gradings on the generators of the chain complexes are also combinatorial , using the formula for the maslov index in ( * ? ? ? 
   * corollary 4.3 ) . 
   this completes the proof . 
   in fact , using sarkar s remarkable formula for the maslov index of triangles ( * ? ? ? * theorem 4.1 ) , the absolute gradings on the heegaard floer complexes can be computed combinatorially , and so the rank of @xmath10 in each absolute grading can be computed as well . 
   we give a nice triple heegaard diagram for the cobordism from the three - sphere to the poincar homology sphere , viewed as the @xmath41 surgery on the right - handed trefoil . 
   the right - handed trefoil knot admits the nice heegaard diagram shown in figure  [ fig : poincare_trefoil ] , which is isotopic to ( * ? ? ? 
   * figure 14 ) . applying the algorithm described in section  [ sec : two ] 
   , we obtain the nice triple heegaard diagram shown in figure  [ fig : poincare_nice ] . 
   we leave the actual computation of the cobordism map to the interested reader .
summary: in a previous paper , sarkar and the third author gave a combinatorial description of the hat version of heegaard floer homology for three - manifolds . given a cobordism between two connected three - manifolds , there is an induced map between their heegaard floer homologies . 
   assume that the first homology group of each boundary component surjects onto the first homology group of the cobordism ( modulo torsion ) . 
   under this assumption , we present a procedure for finding the rank of the induced heegaard floer map combinatorially , in the hat version .