 Okay, so I guess we should start. So today I want to talk about how to use the machinery that I talked about in the previous lectures to define the virtual fundamental cycles which are relevant for contact homology. So in the two lectures ago I defined a bunch of atlases on the modular spaces and last lecture I showed how to use these atlases to write down the virtual fundamental cycle. And what I want to do today is say how to use sort of package all of this information together coherently between the different modular spaces so that we get something which deserves to be called coherent virtual fundamental cycles on all of the modular spaces at once. So recall that there's sort of all of the relevant objects are indexed by the set S which is a collection of trees. So trees T, they're all connected, directed, every vertex. Oh, sorry, every vertex has unique incoming along with labels. So the vertices, sorry, the edges will be labeled with rape orbits and the vertices are labeled with homology classes relative to the rape orbits. So recall the setup Y is a contact manifold, lambda is a contact form, P of Y lambda is the set of rape orbits and these trees which look something like this, edges directed downwards, the edges are all labeled with rape orbits and the vertices are labeled with homology classes, rape orbits. So the whole orbit, so like just a closed trajectory of the rape field, not necessarily simple, so it could be multiply covered. Closed orbit, yeah, closed orbit, yeah, yeah, so S, right, so remember for every T we have some modulized space, M of T which is set of holomorphic curves in R cross Y, sort of on T can mean that T is the dual graph of the domain and the labels are compatible with the map. So that is, this tree corresponds to, that's two-story holomorphic curve. When you say curve, you mean up to parameterization, what is parameterization, right? Up to parameterization, yeah, and we also modulate quotient by sort of translation in the R direction here, yeah, so then this is gamma plus, yeah. So S is not just a set, it has a bit more structure. So S is a category, so morphisms, T to T prime, morphism is a contraction of edges. So here there's only one edge you can contract, you get a morphism from this to a single vertex tree. This corresponds to the gluing holomorphic curves. S also has some sort of vaguely manoidal structure, sort of writing this, let me just say it has concatenations, let's say exactly what that means. So if you have any collection, concatenations, so if you have a bunch of guys, you pick trees and you pick some matching between the pairs of input and output edges such that the result is connected and is a tree, you can get a new tree, so this will be denoted like this. Okay, so now given the structure, we could write down what the compactification of these moduli spaces looks like. So you simply take the union over all trees mapping to T. This disjoint union takes into account sort of all possible degenerations of a curve of type T. What can happen is it can split and so now the theorem of Bourgeois, Aliashberg, Hofer-Wazatzky's enders that the space is compact. So this space, m bar of T behaves well under these operations. That is to say if you have amorphism, this induces an inclusion of compactified moduli spaces and if you have a concatenation, this induces map of really isomorphism moduli spaces. I mean these are essentially tautological given this definition. Okay, now what I want to do is abstract away these two properties because it's going to turn out that most of the objects we're going to study have similar functoriality to the moduli space itself, let's say an S-module. Wait a minute, you can't know bubbles in the speech share. Yes, so the simpletization is exact, so there will be no bubbles. But they might get rid of those bubbles, right? Yeah, if you're doing a cubordism, you could have a bubble there. So if you have bubbles, then the only thing that really has to change here is the definition of the moduli space. You have to allow bubbles. But I won't record the bubbles in the trees because they're somehow… So an S-module is a functor x from this category S to any symmetric monoidal category, along with for every concatenation, natural maps from the tensor product x of ti to x of… So monodals mean tensor products, they're basically means tensor products, I mean getting more of them. Not necessarily, I mean I'm just using this to denote whatever the operation is. For instance, here it's product on COMPI-costal cases. Yeah, not necessarily. So we need the following natural compatibility relation, i and j. I mean it's just, I mean swapping C for C op, it doesn't really matter. So if you have, this should commute. This just means if you have a bunch of trees and you can concatenate them in two steps, that's the same as concatenating them all at once. So examples, one, this m bar, the moduli space from S to the category of compact housed our spaces with the product symmetric monoidal structure is an S module, for essentially the reasons I just set up here. Last time I defined a set, an index set a bar for the implicit atlases on these. It's a combination of the trees depending on the choice of the branches, yeah? Right, I guess the separation is in order tree, so at least it's an ordering one. So, right, a concatenation takes in, so I guess I'm leaving something out of the notation here. I write just a collection of trees but really as part of the data is a matching of the edges. Matching the edges, yeah. So it's not just by the appearance, the last extra structure. Yes, yeah. But when you say it's fun to sort of each one you choose. How you define the, so on the right hand side there's a separation, on the left hand side it depends on the extra data. So it's going to go ahead and sort of, so this mentioned one must be on every tree already, there might be choosing branches. So, what I mean is that for every choice of matching you get a map like this and maybe it's different. So if you have a collection of trees there's this tensor product. No, but you need to have a tensor product for trees, you need to make sure that you're matching simultaneously for pairs or each tree you choose a branch. Each branch is over, how, what do you choose? So, whatever. The matching depends on pairs, but if you want to still have an object which is in the middle. Yeah, yeah, the concatenated object depends on how we matched. Yes. And so, for every choice of matching there's a map like this. Depending on this matching. Yeah, yeah. I mean the right hand side depends on the matching, so of course the map has to. No, that, I mean this is. It's not dependent on this, all the same, the same result. Yeah. I would share with you the same result. The left hand side? Yeah. Yes, I mean the left hand side doesn't involve the matching, it's just the tenth, I mean the monoidal structure on the right here is symmetric, so there's no choice there. So you can't say that you have trees which require branches and then you make the matching automatic and then the whole thing in mind and then the choice of that, no, I don't know what to say. Because when you take a matching, it's paired, you choose a pair of objects and this is not a set. So choose your pairs in different, you know, it's continuous and how you do it, in different worlds, yeah. Is that a plan? I guess you could, yeah, it's, I, yeah, this is the way I formalize it, I'm sure that we can formalize it in other ways too. So last time I defined the index set of the aliases and it's a, it's also an S module from S to opposite category of sets, the district union symmetric monoidal structure. So let, let me say, explain a little bit more about two. So, so recall that we defined some a of, a of t, this is an index set, just index set, indexing what I called thickening data, which are the data we needed to write down certain transfer stickings of the monoidal space. And then we defined a bar of t to be the disjoint union over all subtrees. So subtrees meaning connected subtrees. So that is, I choose some set of vertices, I take all the edges, incident to one of those vertices and, and demand that that be connected. So this is a of t and just by definition, it has some, it has this S module structure. So if you have a map from t to t prime, then any subtree of t prime pulls back to a subtree of t. So you go map in the opposite direction and similarly if you have a concatenation, any subtree of one of the t i's gives you a subtree of the concatenation. So you have maps like this. Okay, so before giving the outline of the construction of virtual fundamental cycles, I just need one more definition. We will save it. An object of this category is effective if and only if this compactified modularized space effective is non-empty. So I really mean the compactified modularized space, not the non-compactified modularized space. It's possible to have a, since these modularized spaces are not necessarily cut out transversely, it's a priori and in practice probably possible to have a given tree whose non-compactified modularized space is empty, but yet whose, which has not some non-empty boundary strata. So it's important to take compactification here. Right, so this is, so henceforth we will write S but will actually mean the full subcategory of effective objects. So that is if the modularized space is empty, we just ignore those completely. This is needed just so that this category has good fineness properties. If you see if you have a given tree, you can just sort of write down this infinite tower of morphisms just by splitting many, many times. And in practice this doesn't happen for holomorphic curves because of the compactness result. And we're going to need to do sort of lots of inductive arguments by induction on trees. And this, if we had to, yeah, we want to take advantage of the fact this can't not happen. You're probing that in what kind of state you're saying that should be proven? So for instance, constructing maps between S modules. We'll construct it by induction on T. And it's ordered by, so when you want to define the map for a tree like this, it has to be defined for every tree mapping to it already. So let me now give an outline of the construction. High level outline of what we're going to do. So the first thing we want to do is consider. Okay, the most abbreviation we have is. Virtual fundamental cycles. So we'll consider the map S modules. So for any tree T, we have this thing which I defined last time called virtual co-chains on the modular space with respect to a given implicit atlas on that modular space. And we showed furthermore that this is kinomically quasi-isomorphic to check co-chains with coefficients in the orientation module of this. But let me leave that out of the notation for now. What we also defined is, we defined a map on this virtual co-chain complex to chains on the tom space of this vector space. The direct sum of all the obstruction spaces. This is some fine dimensional vector space. This is just quasi-isomorphic to Z. So one thing we'll have to do today is, so what we did last time is we defined this map for any particular T. We defined a map like this, which under these quasi-isomorphisms is exactly the virtual fundamental cycle. This is simply the definition of the virtual fundamental cycle. This was roughly analogous to defining, let's say, the Euler class of a vector bundle by pulling back the Tom class. And what we need to do now is make sure that this construction is appropriately compatible with all of the ways you can concatenate and map trees to others, other trees. And if it's appropriately compatible on the chain level, we'll conclude that these. Let's get, at which moment you will be inviting the change of the content for me? It might be after all, it still depends on the for me, I will tell you. Yeah, so the result that we're trying to prove is something like this. So we have, so for any y lambda j, there exists a set theta of y lambda j, non-empty along with for all elements of that set, virtual moduli counts, depending on theta. Such satisfying these master equations, d squared equals 0, etc. At which moment you can variance in respect to change in lambda? Yeah, so. Someone, right? And I will do it. Yeah, so there's an analogous theorem. So it's not part of the statement. It's not even part of the statement that the homology you get is independent of the choice of little theta. There's an analogous theorem for an exact symplectic cobertism. And for one parameter family of exact symplectic cobertism, you can count curves in all of these and you get a chain map and a chain homotopy. And if you take all these together, you can show that it's independent of the content. I've got to be seeing the statement in the relative case for cobertism. Yeah. And then whether you have any right or wrong. Yeah, cobertisms and for one parameter family cobertism. So once you have all of these, you get invariants. But it doesn't follow from any, yeah, right. So high level outline is the following. We define this. So the last time I defined this, or say for any individual tree. And what we have to do now is make it a map of S modules. And once it's a map of S modules, so the fact this is a map of S modules implies the following properties of these virtual fundamental cycles. So the boundary of a given guy is the sum over all the co-dimension. One boundary strata of the corresponding virtual fundamental cycles. And the virtual fundamental class of a space, which is a modular space of multi-story curves, is simply the product of the classes of each of the trees you started with. So if one defines virtual fundamental cycles with these properties, one very easily defines, say, that the virtual module accounts the ones in degree 0 that give this in a master equation. So this is somehow the goal to construct cycle satisfying these coherence properties. OK, and the point is just that these coherence properties are encoded in the fact that this is a map of S modules. So to make this precise, there are a few tasks we have to do. So first, we have to define both of these complexes as S modules and the map between them. And second, we have to define these horizontal quasi-isomorphisms as quasi-isomorphisms of S modules that is compatible with morphisms and concatenations. And then we have this map, which is what we want. So right, Chanel. The last time you walked, so this product happened in check of homology of M bar. I guess it happens here. Do you need to push it to somewhere? They're disagreeing. And this is just the coonest product of homology. It's something like chains on X cross chains on Y goes to chains on X cross Y. So the spaces at bar of the sum of TIs and the same as the product? There's a quotient. I mean, there's a map. And it's quotient by Z mod, the product of Z mod covering multiplicities for the ambiguity. So first, let's say, let's answer the question, how is check co-chains on S module? So there are no push forward maps for this, at least not obviously. Because if you have sort of T prime mapping to T, that gives you an inclusion of M bar of T as a boundary stratum of this. And this is a map going in the wrong direction. So what it really is is some sort of connecting homomorphism. If it's co-dimensioned one, it really is the co-boundary map on co-homology. So to write this down on the chain level, we need to sort of pick a different model of check co-chains. So we replace it with the following. So this long total complex is quasi-isomorphic to this. So how do we see this? So this is quasi-isomorphic. It's quasi-isomorphic because you can check the same thing on the level of sheaves. If you just look at sort of z or j as the inclusion of M bar minus the boundary to M bar, then this sheaf, this check co-chains of this sheaf, is quasi-isomorphic to this complex. There's a resolution where you take z on everything and then a direct sum of z. This is on M bar of T, M bar of T prime, everything of the dimension 1, and then keep going like this. So the dots on the right-hand side, they mean you have morphism. What is the next thing? It's everything of co-dimension 2. It's the same thing, it's just 1 replaced with 2. So I could have written this also as direct sum just of all of the guys here of check co-chains I wrote it like this because I'm saying the boundary map sort of goes like this. So with this model, it's clear what the push forward maps for T prime mapping to TR because you sort of simply see the sub-complex for a given T prime mapping to T as inside this complex for T. And this realizes all of these co-boundary maps on the chain level. So there's an important sub-complex of this, which I'll single out. I'll call it Q of T, which will be the sum where I just take. So this is a resolution. I just take the constant sections in each of these guys. So this is the complex z goes to sum overall guys co-dimension 1, going to sum of all guys co-dimension 2, et cetera. And this is a sub-complex of this where I just simply take star equals, or I just take the degree 0 part of each of these co-chains. So this is somehow the sub-complex of this generated by characteristic functions of closed strata. And the boundary is somehow, as you expect it to be, the boundary is sort of the generator of a given T prime is the sum overall co-dimension 1, boundary strata of that treat T prime. So now what we'd like to do is we want, so we will define a map from Qs to this complex virtual co-chains and bar, real boundary. That is to say, one would really sort of like to have this quasi-isomorphism. But in order to define virtual modular accounts, all you really care about is evaluating these virtual fundamental cycles on characteristic functions of closed strata. We're not sort of evaluating more general columnology classes on the modularized space. So this complex sees enough of the columnology that we just use this. It's not so difficult to check that there is a map of S modules from Q adjoining S to Q. So Q of S is this complex, very explicit has this differential. Q is the S module, which is just Q for every tree with the identity map as the factorial action. And for concatenations, the map is just a product. The map of S modules like this is exactly the data. Is it a copy of the nature of the response to what in Q? Multiplication. What is this S in Q adjoint S? It's the same S. I just didn't write it. It's this S. It's exactly the data of numbers for those trees of virtual dimensions, 0 satisfying the sum equals 0 for stuff of co-dimension. Stuff of dimension 1. So this is another advertisement for this notion of an S module. It, I claim that this notion of an S module really incorporates all the relevant data of how all these modularized spaces fit together. And this is one instance of this fact. If we just have this very concrete complex, which is built from the strata of all the modularized spaces and then a map of S modules, it's exactly the same as virtual module I count satisfying the equation you want. And somehow this equation is encoded in the boundary operator on this space. OK, so what I need to do now is tell you how to define this as an S module. So we'd like to just take what I wrote. Unfortunately, some of the maps go in the wrong direction. So if we're given a map of trees from T to T prime, what we get, so recall that there's an inclusion of this modularized space into this one. This one has an implicit atlas A bar of T. This one has an implicit atlas A bar of T prime. An inclusion of atlas goes in the other direction, though. When you have this tree, there are more thickening datums. You don't want to forget about all of these. And somehow this inclusion is compatible with this subatlas but not with these more general datums. So what you get is the following. So there's a map from M bar of T, a boundary. So we have our complexes like this. Now there's an increasing or inflation of the atlas quasi-asomorphism from M bar, from using just this smaller subset of thickening datums. And then this is the push forward map we want to use. So unfortunately, there's no way that we want this map, but there's no way to define this canonically because quasi-asomorphism goes in the wrong direction. So to fix this, we have to take some replacement for these complexes. So make the following definition. This new model of virtual co-chains where I don't write the atlas is defined as following. OK, so what's going on here? So let me say what we should do just in this very simple example here. Suppose we only have two trees, T and T prime. And suppose we want to define these two complexes such that we have a push forward map like this. So obviously if I take these original definitions, it doesn't work. So to make this work, we can simply redefine the target, namely this complex, to be the following mapping cone where you take virtual co-chains with this atlas. So this is what we want to replace this by something. So we replace it with the following mapping cone. So this map, so I basically just redo the same diagram. This map from this complex to this complex is a quasi-asomorphism. So at least up to quasi-asomorphism, at least just cancel, and we're left with this. So this whole mapping cone is simply quasi-asomorphic to this sub-complex. On the other hand, there's tautologically a map from this complex into the mapping cone by inclusion here. So what we do here is we replace this complex with something which is a bit more complicated. But what we gain is these push forward maps for induced bimorphisms of trees. So there's a sub-complex where you just take p equals 0 and t0 equals tp equals t. And this then is virtual co-chains on m bar of t rail boundary. And this is a quasi-asomorphism for essentially the same reason as it was a quasi-asomorphism. Here, the quotient has a filtration by contractable cones, which are just contractable. It has a filtration whose associated graded is contractable because it's just to direct some of cones of quasi-asomorphisms from increasing the size of aliases. So this is some sort of explicit model for a homotopic element. So now, we can make a similar definition. So in this situation, when you write things like m bar of t using atlas a bar of t prime, you mean that this inclusion of atlas is a bar of t prime. And the smaller atlas is still covering everything in the. Yeah, so the smaller atlas is still satisfied with the covering. Excellent. And then in the definition, which is given here, you don't have a bar in the notation on the left-hand side. You just somewhat have this compatible system of atlases with inclusion, which is in the definition. Yeah. Yeah. So we can make a similar definition for this complex. So this chain group has a similar deficiency. It's not an s-module for basically the same reason. And one can fix it up in exactly the same way. So just to find chains on this tom space of t is by definition some, or maybe I won't write it again, some appropriate homotopic element of these guys. But again, it's just quasi-asomorphic to z. Maybe I'll just write this here. So what we've done now is I've actually defined this as an s-module. We have to change the definition slightly to something which is quasi-asomorphic to what we wanted. So I'll change the notation. Now this is actually an s-module. And now this, again, we had to replace it with something else to make it an s-module. So I'll change the notation slightly. But now these are on rigorous footing. We've defined what these are. And now we'd like to start in on defining these quasi-asomorphisms. This should be quasi-asomorphic to z. This should be quasi-asomorphic to check cut chains. So step two, we will construct s-modules from this Q-joint s-guy to, so I'm not actually going to construct this quasi-asomorphism on the chain level. Rather, I'll construct this map on the chain level where we think of this as the subcomplex generated by characteristic functions of the strata. So what do we want this map to satisfy? So given such a map, let's give it a name, w. We're going to class in this direct sum. So this is basically why we're going to class here. So this is really the hom in the category of functors from this over-category. From Q of s to this. So this is a natural transformation of functors. We can restrict it to just trees over t. And we get a class here. Simply just taking the action, this just has a bunch of, this is just a free guy generated by trees mapping to t. And this is what you get. Now, if we look at what this complex actually is, this is quasi-asomorphic to check co-chains on m bar of t, not relative to anything. Basically, we added up check co-chains on each of the strata, each of the open strata, and glued them together in the right way. There's a boundary operator on here. Glued them together in the right way to get check co-chains on the whole thing. And we're going to require that the class of w coincide with the class of just the constant function 1. And what this essentially says is that under this quasi-asomorphism here, w corresponds to this inclusion, where you consider this as a sub-complex. So now to construct the map, construct w by induction in s. So what do I mean by that? So for t1 and t2 in s, we're going to say that t1 is less than or equal to t2. Even only if there's some concatenation ti with t1 isomorphic to some ti, and a map from that concatenation to t2. So the picture is the following. We have a tree t2. If there's a map to t2 from some tree like this, and we think of this as a concatenation, say concatenated out of these two pieces, then we say t1 is less than or equal to t2 for each of those pieces. Now in this case, so claim this if we equip s with this relation, this is a poset. So this requires our assumption or our restriction to effective trees. Because otherwise, you can do something, let's see why. So transitivity is not difficult, this holds in general. Reflexivity is true by definition. You can always get t1 by concatenating t1 with itself, and not no gluing at all. The real thing to check is anti-symmetry. As usual, when you're defining a poset, anti-symmetry is the most subtle thing to check. So anti-symmetry fails if we just consider arbitrary trees. For the following reason, you can just consider some stupid tree like this. It has a morphism. So you just sort of mess around with the labels. So maybe we label this with, say, some homology class A. And we can label this, say, A minus B and B. So what we conclude is that this tree with label B is less than or equal to this tree with the label A. But this is true for any A and B. And so we have these relations for any A and B in the homology. That's not very good. It breaks this as long as the homology is non-zero. This can't happen, though, if we only restrict two effective trees. So this holds, assuming t1 and t2 are effective, i.e., these marginalized spaces are both non-empty. One way of thinking about this is that if you had a non-trivial, if you could do this with t2 not equal to t1, what you'd have is a non-trivial concatenation for some t1, where t1 itself appears as one of the boundary stratum. And this would very wildly contradict compactness. You'd have some space where your space cross another space is a boundary stratum of itself. Compactness also tells us this partial. This poset is well-founded, i.e., there's no infinite decreasing, strictly decreasing, chain like this. And this is the property that we need to do in induction. This aside explains what I mean by constructed by induction. So now at the inductive step, just right down, we have an extension problem lifting. So here's the complex where we want w to live. And we already have to find w on all of the trees, which are strictly less than t. So that looks like this. So this is w restricted to t prime of co-dimension. Now we know that this is quasi-isomorphic to check co-chains by number of t. This is quasi-isomorphic to check co-chains on the boundary m bar of t, where this is the usual restriction map. The homology class of the w here is just equal to 1. And we want the homology class of w here t equal 1. This is now the existence of a lift. It simply follows from the fact that this is a surjective. And the homology class that we want maps to the homology class of the thing we're lifting. So the moral is somehow we can construct maps out of this thing in any particular desired homology class as long as the homology classes satisfy some reasonable coherence condition. So now step three is we need to understand this quasi-isomorphism here. So in step one, we constructed a map of s modules, which I call w, from this s module to here. That was step two. Now step three, we want to work on this quasi-isomorphism. This should be quasi-isomorphic to z. OK, so what we'd really like is a map. We'd really like a map to the s module z, which is the trivial structure maps. And we'd like to construct it by induction like before. But this construction is going to fail for the following reason. It fails because this s module is not co-fibrant. So let me define what it means for an s module to be co-fibrant. And then you'll see why we need co-fibrant. So an s module is called for the only if. So first, I want all of the concatenation maps to be isomorphisms. And second, I want so for maximal t, maximal with respect to composition that is t with a single vertex, i.e. number of vertices of t is 1. The following map is injective. So we take the co-limit of x of t prime for all of the t prime over t of co-dimension, at least 1. This should be inject into x of t. If we were working over the integers or any ring, which is not a field, we would want to require that this would be injective with projective co-kernel. But for q, everything is projective. So we'll just ignore that right here. So the target is chain complexes. In case that wasn't clear, the tensor product symmetric model structure. So co-fibrant s modules are the ones for which somehow the maps out are correct. And the reason why this condition is important is if you're trying to, say, construct a map out of an s module x, you want to construct it by induction on t. And at the extension step of that induction, sort of when you're trying to do t, you already have a map defined on here. And if you want to extend it to x of t, at the very least, this map had better be injective. Otherwise, somehow, the map which you already defined might be incompatible with this map. So instead of defining this map, I said we can't define this map because this is not co-fibrant. So what we have to do instead is we'll define a surjective quasi-isomorphism from something I'll denote by this, co-fibrant replacement for this. And then we'll define this map that we want to z by induction. Yeah, this is the cube. I never really, they denominator is everywhere. So every time I write z, it really should be q. I forget because I've been glossing over the details where one actually needs to say that one divides by something. All right, so let me define the co-fibrant replacement first. Yeah? Do you claim that any of the previous s modules that we met were already co-fibrant and didn't need a co-fibrant replacement? This one is already co-fibrant. This one is already co-fibrant. But at one point I spent a lot of time thinking about like, Eilenberg-Zilber maps to try to prove that this guy was co-fibrant because I wanted to make this argument. But eventually I realized that one really shouldn't, I mean, even if it's true, it's better not to rely on the sort of fine properties of singular chains. I actually don't know whether this is co-fibrant. It might be. But somehow this is a subtle question which is better dealt with this way. It's better to do this and so it doesn't come up. So I'll define a co-fibrant replacement just for any s module. So forget about this one for the moment. So let s x be any s module valued in chain complexes as before. So then we define co-fibrant along with the surjective posi-asomorphism to x as follows. We define it by induction on t and s. So at the inductive step for a given t and s, we have at the inductive step for a given t and s, we have the following. So we have this map from co-limit t prime. This is co-dimension mapping to x of t. This might not be injective because x might not be co-fibrant. Now we've defined x co-fibrant for all these t primes. So there's this map, co-limit. Now although this map is a quasi-asomorphism, after taking a co-limit it might not because this is really co-limit, not a homotopic co-limit. So we don't know anything about this vertical map. What we want to do is define this guy here. So we want to define co-fibrant such that there's an injection here and this is a surjective quasi-asomorphism. But now it's just a general fact that any map of complexes like this diagonal map here can be factored into an injective map and the surjective quasi-asomorphism. So this x-co-fibrant that you just simply take to be the mapping cylinder of this guy. So you don't know any s-model, it should be an s-model valued in general complexity. So there's some furthermore, this is even a co-fibrant replacement functor. If we have a map of s-modules from x to y induces a map from x-co-fibrant to y, co-fibrant. So that's, we won't need that. Right, so this defines this. Now let me define this map. So I'll call this map. So we will define this map p, of course, by induction at the inductive step. So that is, we need to extend the following map. Co-limit from t prime over t, at least one. This co-fibrant guy, this injects into co-fibrant veins on the tom space of t. We've already defined this map to q here. I want to extend it here. So now here it's not as simple as just saying, as just saying, as long as it commutes on homology, we're OK. So in order to guarantee the existence of an extension, some sort of elementary homological algebra tells us that we can extend if, and in practice it's if and only if, because I mean, this is the, what we need. We can extend if 1, so it commutes on, right. So this is concentrated in degree 0. This is concentrated in degree 0. This is some mystery. And this is the problem. So we need it to commute on h0. And we need h sub minus 1 of this co-limit to equals 0. This is what's needed. This is another thing which, for some reason, didn't come up in this other inductive argument. But both of these are not obvious. So if you pick any particular t prime, it's clear that this commutes on homology. We have, I mean, this is isomorphic to z. This is isomorphic to z. And moreover, these isomorphisms are compatible with this map. Once we take the co-limit, there could be h minus 1. There could also be extra h0, which is not generated in the, which is not in the image of h0 of these guys. So this is a sort of a problem. But the key observation here is that since this is co-fibrant, we have to use co-fibrancy again to calculate this co-limit. So this co-limit of staff of co-limit, at least one, this is quasi-isomorphic to the homotopic co-limit over the same thing. Yeah. What has to commute on page 0? The first condition where there's no commutes on page 0. So there's some map here, and there's some map here, and I want to extend it. And moreover, I want the action on, there's a specified map I want this to be on homology. So the fact that all the maps from c-co-fibrant of t to c-co-fibrant of t prime are injective implies that this co-limit is actually the same as the homotopic co-limit. And the homotopic co-limit is, now the homotopic co-limit is invariant under quasi-isomorphism. So since each of these are quasi-isomorphic, because we just get the homotopic co-limit of z, which is just chains on the nerve of this category s over t, or rather, the full subcategory of stuff, which is co-dimension at least one. So this looks like some complicated answer. But for whatever reason, things work out very nicely, because we just want to show vanishing of negative homology, and this is very easy to see. It's also easy to see from this description that the image of H0 of the individual guys here surjects onto H0 of this. It's just saying that push forwards to points, push forwards from points, surjects onto H0 of the whole complex. And H, negative homology of space vanishes. So this lemma gives these conditions. And then we conclude that there exists a map P. So this is almost what we want. There's one last thing to do. So we'd be, as I remember, I already remarked that a map of s-modules from this guy to this guy is exactly the data of virtual modular counts. And we almost have a map like that. We have a map from here to here, which we can compose like this. And if this map were just in the opposite direction, we'd be done. Instead, we have to lift it. We have to make a lift w tilde here. So how do we? So again, construct w tilde by induction. There's no requirement on w tilde other than this diagram commute. Somehow the fact that this is a quasi-isomorphism means that any lift is fine. Any lift will do what we want. See the general property for co-free want s-module? I think so. I mean, as long as I made the definition of co-fibrant correctly, it should be just general property. And moreover, somehow, the fact that you can make this lift just comes from a corresponding fact for chain complexes. So at the inductive step, we need to lift. So we have the co-limit of q join s at t prime, stuff of co-dimension 1, this inject. So here now, we're again using the fact that this guy is co-fibrant. This injects into q of t. We have a map from q of s of t. Here, this is just right, chains e of t. This is a surjective quasi-isomorphism. And this is the map w tilde that we've defined so far. Gives us a map to the co-fibrant replacement. And what we want is a map like this. OK, so now in this situation, when we have a co-fibration and a surjective, sorry, and the acyclic vibration, just the general property that lifts like this all exists. So this all exists. So this is the left lifting property in the projective model structure. Non-negatively graded chain complex. That's what's used in defining this map w. So there's a lot of homological algebra here. In fact, that's mostly what happened today was homological algebra. And it's possible that all of this could be, I've been trying to do everything to serve as concretely as possible. It's probable that using a certain amount of machinery, all of this could be reduced to a few lines. But then, if you expanded those two lines and understood what they actually mean, it would be something like this. Now let me just say exactly what the set is in this theorem. So an element, theta, and theta is a choice of p, w, and w tilde as we constructed. So there were a few requirements. This map had to induce the canonical isomorphism on homology. This map had to correspond to the canonical quasi-isomorphism between this and check coat chains. And the diagram had to commute. So those are the conditions. And we also saw, so we proved above that these all exist, i.e. that this is non-empty. And now, given an element, theta, and capital theta, we get a map of s modules from q, the join, s, the q, namely p composed with w tilde, which, as I remarked before, is exactly the choices of virtual modular accounts for trees of dimension 0 such that they're compatible with concatenation and the sum. And OK, in these two statements, we just interpret this virtual count as 0 if t has virtual dimension, which is not 0. So then this is the final step in the proof of this theorem. Great. So next time, what I want to do is a lot of analysis. So one of the things which I haven't discussed at all so far is gluing. And that's what I'll do next time. Gluing is inevitably a part of any construction of sort of flow homological invariance. What we need to show in the lecture next time is that when you have a modular space of holomorphic curves or at least for the modular spaces of holomorphic curves relevant for contact homology, if the modular space is transverse, then locally it's modeled by a manifold with corners. It's basically the product of the space of gluing parameters and the kernel of the linearized operator.