Okay, welcome back for lecture three, right? So a couple of things. So first off, for those of you being a digit at home, you may have noticed that my speed in lecture two was probably slightly greater than my speed in lecture one as I'm trying to cover more and more advanced material, right? And unfortunately that will also continue in lecture three. So I've pre-written a lot more and that makes it even more important. Please, if you don't understand something I say or have a question about something I've written, please do speak up. So, but also let me also just say that in the previous segment, I was working with duality and comicali rings, right? And if you'd like, take a step back and we're now going to go back to just saying that R is an f finite domain. I'm not assuming in comicali unless explicitly stated later on, okay? Okay, so, but in the previous segment, what we saw is some special case where there was really one map on the canonical module, right? Or P to the minus c linear map that was controlling everything. And we use this to develop some version of a test ideal theory, right? And I wanna do that formally in general, right? So, all right? So let me talk a little bit about test ideals of P to the minus e linear maps here, right? So, okay, so again, recall, we talked about what a P to the minus c linear map was is just a map from f to the e lower star R back to R or I could think about it as a map from R to R which is additive. And so that P to the ETH powers pull out. It has this Q linearity, right? So, and again, I wanna define a test ideal that depends on the map, right? Instead of on the ring, okay? And so what we're gonna do is sort of the most naive thing you could do here which is the test ideal of a map is gonna be the smallest non-zero five compatible ideal, right? In order to make that definition once again, I mean, you could just make it but then you, the first thing you have to do is show that it's well-posed, i.e. that there is some non-zero element in all non-zero five compatible ideals, right? To show that that is a well-defined test ideal, right? And so in a sense, I'm starting this lecture with revisiting the first lecture once more, okay? So in a sense, I wanna say that the argument for the existence of test elements, right? Immediately carries over to this situation. And so I'm gonna take this as an excuse to sort of revisit that again, right? Cause it is a super important argument, right? So the claim is that given any non-zero p to the E linear map, right? There is a non-zero element C inside of the ring, right? Which is inside of all of the non-zero five compatible ideals, okay? We'll use that to define the test ideal of five, right? So, well, again, remember from the first lecture how all of this went, right? So in particular, what we did is we said, okay, take a non-zero element Y, so that R join one over Y is regular. And the key from the first lecture was this means that it's also strongly of regular, okay? And now I wanna sort of take something from the second lecture, right? So R join one over Y now is regular. So in particular, it is also comacoli. And if I'm willing to localize further, it is sufficiently local comacoli. So that means here that the home set for the omega, which is just R join one over Y again, right? Has a generating map, right? You can localize further to assume that your given map, all right, so maybe I'll fix that, cause it looks weird. Your given map phi, when I localize it, in fact forms a generator for that home set, right? So again, put it another way, if I've localized enough so that I have a generating map to begin with, any given phi is a pre-multiple of that thing. And then I can localize it, whatever that pre-multiple was, and that pre-multiple is now a unit. So you might as well assume that your given map is the generating map, okay? All right, and then sort of the last condition here, right? Was that phi, let's see if I have this right at my notes, right, was in the image of phi of f of the alloster R. Now I've done something a little that I didn't do in the previous version of the proof, right? Namely, we know that after I localize it Y, R is F-split, right, so that means that there exists a P to the minus c linear map on R, so that some power of Y is in the image, okay? And what I'm doing here is I'm replacing that power, Y with its power, so that it's in the image, right? And I'm also using that I could have taken as my left the phi itself, because all of the maps after I've localized are just given by multiples of the localization of phi, right? So using all the machinery built up so far, you can assume that after replacing Y by a power, right? Y is in the image of phi of F to the E lower star, okay, and now let's just revisit the proof once more, right? So with this, we had that Y squared is then gonna be in phi of F to the E lower star, well, I should put Y to the P to the E there, but P to the E is at least two, so certainly Y squared then is F to the E lower star, Y squared, so certainly Y squared then is inside of phi of F to the E lower star, Y squared, so I just multiplied by my equation by Y, but now I can iterate this, so in fact Y is in the image of phi to the N, F to the E, N E lower star, Y squared for all N, right? And so then I get that Y cubed is in phi N, F to the N E lower star, Y to the two plus P to the N E R for all N, right? And this element Y cubed is the C that we're gonna show works in all the things, so this is mimicking exactly the existence of test element proofs as best as I could, right? Okay, how does it proceed? Well, again, if you take a nonzero phi compatible ideal, call it J, pick a nonzero element D inside of that ideal, right? The fact that R join one over Y is strongly irregular and that phi is a generating map implies that you can, after taking sufficiently many iterates, send D to one after localizing it Y, so before localizing, I can send D to a power of Y, i.e. there exists some large iterative Frobenius and there exists some large power of Y, right? So that's phi of N prime after the N prime E lower star of D gets sent to Y to some power, okay? In particular then, since D is inside of J and J is phi compatible, that means that Y to the M is inside of J for some large M, but now we already know that I can send all large powers of Y under phi back to Y cubed i.e. to C, right? So this gives that C equals Y cubed is inside of J, i.e. this is something which is inside of every non-zero phi compatible ideal, okay? So again, this is probably very fast, right? But again, I'm mimicking exactly the same proof and it's written up fully in the notes here, right? So good excuse to revisit that proof once more, okay? Same consequences before i.e. We can define tau of phi to be the smallest non-zero phi compatible ideal. I have some element C that's in any of those, right? And I can then use sort of the obvious iteration recipe. So take C and hit it with all the iterates of phi and this produces a phi compatible ideal as you're sort of by observation, which is gonna be contained in all of the others, right? So tau of phi is given by the expression here in this sum, okay? In particular, it makes sense, okay? And what I wanna do now is, okay, so why have I introduced this? One, it's gonna make some of the later statements a little easier, right? But my claim is that looking at test-ideals maps again tells us some non-trivial statements about the big test ideal that I'm really interested in. It's one of my fundamental objects of study, okay? So to do that, let me introduce some other sort of very convenient formalism. We talked about the Cartier algebra on R, right? In the first lecture. So this was the graded ring where the ETH graded piece was the set of all potential F-splittings of the ETH iterative Frobenius, right? So that I called CR, okay? And what I'm gonna do now is look at certain sub-algebras of that thing, okay? So what is the Cartier sub-algebra? Well, I wanna look sort of at taking only subsets of maps and do the same constructions, right? So a Cartier sub-algebra is a subring, a graded subring of the total Cartier algebra. I still wanna require that the zero-th graded piece is R, right? So this is just the set of all hams from R to R, so multiplication by R, okay? And I wanna require for all of my guys that they have at least one non-zero map in them. And you'll see why that I wanna require that in a second, right? So there is at least some DE, right? So that DE is non-zero for some E, okay? Is everyone happy with the definition here? So again, let me just say this a little more informally. D is determined by taking some collection of potential splitings of Frobenius and all of their compositions and iterates with one another, right? And make a ring out of that, okay? But I'm not requiring you look at all of the potential splitings anymore, okay? And again, same... I start to feel like a one-trick pony here, right? So tau of D is just the smallest non-zero ideal that's compatible with all of the maps in this sub-algebra that you chose, okay? All right, so, and this is my definition. Sorry, real quick, in general, for the full Cartier algebra, is it true that it's sort of generated in degree one position? Absolutely not.  So the answer is, in fact, it's worse than that. Let me just say that in general, it is not funnily generated. It is not funnily generated even in nice situations, right? I.e., for me, in the anti-canonical ring is funnily generated. It's not funnily generated, okay? So that was a question for a while. An analogous local question was asked by Smith and Lubesnik and Stanley Reasoner rings were shown to give the first counter example and a four-authored paper that I don't know have the names out at the top of my tongue, right? But this is studied and how not funnily generated is also something that people have studied, all right? All right, so it's really a pretty kind of gross thing in many ways. On the other hand, if R is Gorenstein, it is, right? And in fact, it is sort of generated in Degree 1 by the trace map that we talked about before, right? And sort of the opposite ring of R joined Frobenius, right? And it is a very concrete and understandable ring, okay? All right, but great question. Okay, so I want to show you, we've defined now tau of D, right? It's not so clear that the thing exists again, right? I have to prove for you that such a thing exists, except it's going to be pretty easy to see that it exists. We know that by definition, let's just assume for a second that tau of D exists, right? By definition, it's compatible with any map inside of the Cartier subalgebra, right? But tau of phi is the smallest thing that is phi compatible. So it's easy to see, right? Sort of just from the definition that the test ideal of D, right, contains tau of phi for any map inside of there, right? Simply because, right, this ideal is phi compatible. And so the smallest one, tau of phi, has to then be inside of that, all right? So in some sense, it's easy, right? So I've already given you a proof that tau of D exists. If you take something which is decompatible, right? Then it contains the element C from before with respect to the sum phi inside of the thing, right? So the existence of this thing follows again directly from the previous theorem, right? And moreover, the same sort of formulas all work, right? So IE, then this is going to be the same. Is the sum over E look at DE and evaluate, say, at... Whoops, right? Evaluate at C, right? CR, if you like, for C as in previous theorem, all right? So again, these things exist in general and it follows from, once more, the existence of test elements argument from the first lecture in many ways, okay? In fact, I want to say something a little bit stronger, right? Right away, and this is a theorem of Schwede, right? Not obvious at first glance, right? But the test ideal of an arbitrary Cartier subalgebra here, in fact, is completely determined by and is the sum of the test ideal of all the maps that you started off with and took inside of it, right? So one of these inclusions here is obvious, right? So the right side is contained in the left, right? But the left... The other conclusion requires some actual serious work, right? And again, my point here is to say that this actually tells us something which is not so immediate, right? From the original definition for the non-finitistic test ideal again. So the non-finitistic test ideal, which is the test ideal of the total Cartier algebra by definition, then is going to be the sum of the test ideals for all of the maps, for all of the potential Frobenius splittings of all iterates of Frobenius, okay? Is everyone... Any questions about the statement of the theorem here? And if they did it, right? So again, the point here is some sense that this is really a non-trivial statement, right? Giving us some more structure about the test ideal that we didn't have before, right? So I want to say something a little bit more, right? So in order to do that, let me just say that I've sort of aimed these lectures as an algebraic audience as I could, right? So given what my expectations were, right? And we'll see this more at the end of the lecture as well, right? But ultimately, part of the importance of test ideals is that they are very closely related to a bunch of geometric constructions as well, right? I don't want to go into a whole lot of this, but I can't not reference them because to me they are fundamentally important, right? So when R is normal, there is a so-called divisor correspondence arising from duality that associates to every potential Frobenius splitting a certain effective Q divisor on spec R. And if you don't know what that is, just forget and stop listening here for two minutes, okay? But if you do, right? So this gives me a so-called boundary divisor on spec R. It's not an arbitrary one. So it's one so that p to the e minus one times kx or kr plus delta is linearly equivalent to zero, okay? I am in this correspondence using this efficient local to write this thing down as I had before. So in the Coma-Caulay segment, but this is a pretty minor assertion, okay? So when you do this, this gives you a way, really the best way to do it is again, using Cartier subalgebra to define a test ideal for an arbitrary Q divisor, even without these conditions here, right? And an interpretation of this statement here that's how non-finitistic R is the sum of the test ideals of all the maps then, gives you a very non-trivial geometric statement, namely that the non-finitistic test ideal is the sum of the test ideals for all the boundary divisors, right, that are sort of, so that k plus delta is Q-Kartier of index prime to p, right? So a sort of very important application in geometry as well, okay? So this formalism of Cartier subalgebras and looking at the test ideals of maps has a long story here and really is, even for the usual non-finitistic test ideal of R, gives you a whole bunch of important theorems, some of which are important because they connect up to a statement in geometry that are not so obvious at first glance, okay? Okay, so with that, that's sort of all I want to say about test ideals of maps and test ideals of Cartier subalgebras, other than in the next segment, I want to give you another example of where I can define for you another Cartier subalgebra and use that to produce a whole bunch more test ideals with super cool properties and tell you some of my favorite applications thereof, okay? So if you space that for a second, come back, right? So here is an important, again, starting definition here for much of the stuff we're going to do, okay? So the following really are based on a set of test ideals that were first introduced by Harun Yoshida and so I want to talk a little bit about test ideals of ideal pairs, all right? So again, same standing assumption, so R is an f finite domain here, right? But the idea is that now I'm going to, in addition to taking R, I'm also going to consider and write down a test ideal using the input data of a non-zero ideal A inside of R and a non-negative real number T, so an AT test ideal, all right? And to do this sort of in the cleanest way possible, right? I'm just going to use Cartier subalgebra to do it, okay? All right, so I'm going to define for you a Cartier subalgebra where the ETH graded piece of this thing, C E AT, is given by, well, I take the, oops, ETH graded piece of the total Cartier algebra and I just look at all pre-multiples by some specified power, A to the roundup, T P to the E minus one, right? Of my ideal A, okay? So said another way, if I don't use the language of P to the minus C linear maps, it's, well, look at the total, the homestead of all potential splitings of the ETH graded Frobenius and then just multiply that by this specified power, right? Of the ideal A, right? And I want to really say this a lot more concretely, right? What does it mean for an element in here? So A potential, right? What does it mean for a potential splitting of the E iterated Frobenius to be inside of this Cartier subalgebra? Well, it means it can be written in the following form. So I will have phi of something is equal to some finite sum of things of the following form, right? So it's a sum of a bunch of other maps, phi j pre-multiplied by elements, A j, right? So that each of these A j, well, okay? So phi j is another potential iterated splitting, right? And A j is in this ideal A t p to the E minus 1 all rounded up, okay? Right? So it's a sum of maps where you take a potential Frobenius splitting and you multiply by this power A to the roundup t p to the E minus 1, right? And in fact, so it's pretty easy to check this gives you a Cartier subalgebra, right? So what do I mean by that? Again, so the Cartier subalgebra is just a graded subalgebra of the total Cartier algebra. So the total Cartier algebra, the multiplication structure on that thing is just function composition. So to check that this is a Cartier subalgebra, basically what you have to show is that I can take two things in here and compose them, right? And I will end up still inside of the same subring, right? So in fact, this is not so hard, right? So I don't want to go into these details too much, right? But the roundings are specifically done and the sort of exponents are done exactly, right? So that's the, this composition works, right? So IE, if you look at CAT E1, one of these graded pieces and multiply times CAT E2, right? That function composition is automatically inside of CAT E1 plus E2, okay? And that's just really a rounding trick that you have to use to check that, okay? Great. So again, this is at this point already been defined, right? But just to put it down here explicitly, we've defined then tau of CAT, right? And I'm just going to let tau of AT be that for simplicity of notation, okay? That is the smallest nonzero ideal, which is compatible with everything inside of this fixed Cartier subalgebra, right? So in particular, it's equivalent to say it's the smallest nonzero ideal, which is compatible with all things of the form phi F to the E lower star A blank, right? Where phi is a potential iterated Frobenius and little A is in this ideal ATP to the E minus one, okay? Is everyone happy with the definition here? Are there any questions? Okay. So as I said, the roundings are specifically chosen here so that you get to Cartier subalgebra, right? However, one of the features of the theory is that exactly what roundings you use don't matter, right?  That often make it easier to prove and write statements down, right? And so I want to give you sort of the alternate one, which makes proving a bunch of things very easy right off the bat, and is itself also a non-trivial alternate characterization of the AT test ideal, right? So said another way, right? You could take this lemma as a definition of the AT test ideal again, based solely on the non-finitistic test ideal of R, right? So the input on the right hand side is this non-finitistic guy that we've already defined. And the other thing that you're supposed to observe here is that I've switched my roundings instead of having a P to the E minus one everywhere, I've switched that for a P to the E instead, right? So otherwise, it really looks very similar to the previous descriptions we've got, okay? But it's a very useful alternate description that you have. So let me say it another way, right? So sort of in two other ways. So another way to write this down is, I could write it in terms of the total cartel algebra, right? So instead of using the F to the E lower star notation, which gets pretty cumbersome to write down, I can write it in terms of P to the minus E linear maps, right? So now I can write it here like this, right? Now I've written tau of R where I did not write tau non-finitistic or tau finiteistic anywhere, right? And for the very careful listener and reader, you will notice that at this point, I have made a definition of tau of R, which didn't have those decorations by taking A equal R and T equal one, right? And my definitions mean that tau of R here is non-finitistic test ideal. I would like to tell you that that's just an accident here, but unfortunately, that is certainly a personal bias. I tend to write tau of R for the objects that I know has the best properties, but historically, one should be a little careful here if you refer to test ideal, the right thing to do or historically is to mean the non-finitistic, or is to mean the finiteistic test ideal, which I'm kind of throwing by the wayside in much of the theory I'm talking about now, okay? All right, so, and let me write one more quality down. Another point here is that we also know that you can build up the test ideal from lots of other things. Given a single test element, you can use it to build up tau again. So I would say that you can do more. In fact, the same description works if instead of putting tau of R here, you put any single test element down, anything in tau of R works, right? And that's part of the statement of the lemma. In particular, this is extremely useful, all right? When R is strongly F-regular, in which case one is a big test element or the non-finitistic test ideal is R, right? So you can remove the test ideal or see completely from the description and then you get that the test ideal tau AT is just given by taking images under all of the Cartier algebra with the appropriate powers of A, all right? And you don't have to worry about the extra test elements at all, okay? Is everyone happy with the statement of the lemma? Okay. So one of the other reasons I wanted to do this lemma in some sense and say something about it is really the following. We have two ways to sort of play around with and take things from test ideals and it's very important and essentially all arguments about them come from using the two directions. I can use that the test ideal is uniformly compatible with respect to some set of maps and that gives me a way to bound the test ideal from above, right? So we'll do that first and then I also know that I can produce things in the test ideal once I've found any single thing in it, right? By taking images of maps over and over again, right? And so sort of much of the power of the theory comes from being able to go from two directions. All right, so let's just see that. All right, to start off with looking at the lemma let's just let J be the right-hand side of this thing. So I've defined J to be this sum where I've switched the exponent to be P to the E and I've put in the non-phonicistic test ideal and I'm trying to show that that is equal to tau AT, right? So the first thing I'm going to do is check that it's compatible with all of the maps in CAT, right? And this is just an explicit check.  Immediately, since you know that tau AT is the smallest non-zero ideal which is compatible with CAT this gives you that J contains tau AT. All right, so one of the conclusion one of the inclusion comes for free, right? Just from some simple check. On the other hand, right? We also know that if you take any elements of well, okay, so I know that, right? The test ideal of all of the maps, right, is tau of R, right? So I can pick some test element in there, right? So pick some element C which is in tau AT which is in particular in tau of R, right? Any test element I can use to then build up the test ideal again, right? So I use sort of the standard description here, right? So take iterates under all the maps for a fixed test element and that produces the non-financial test ideal of R, okay? And from that, it's pretty easy to check just by plugging in to the definition of J here. So I'm gonna plug in for this guy, right? And expand. If you do that, the naive formula spits out something which is manifestly in tau AT again, right? So I've written it all out here. I don't think it's worth going through here right now, right? But let me just say that this is just, again, an explicit computation. You just write it down and just falls out completely, okay? I've been a little careful about how I picked the C and that I picked it in tau AT to make this all work. But once you know that it works for such a C, you could replace it with a C which is in the slightly bigger ideal tau of R and the same string of equalities will work to give the full theorem as well, okay? So again, what's the conclusion, right? The conclusion is that it's not too hard to give this slightly alternate description of tau AT and in fact, let me say that some people, if you were just worrying about trying to do this in the simplest way possible and only concerned with tau ATs, you could start off with this as your definition and try to develop a theory just from here instead of how I've done it, okay? All right, so at this point, right? So I want to produce for you a sort of standard list of properties, right? I've got a list of all these test ideals and part of the magic comes that they satisfy some pretty amazing algebraic properties. Let me just say the four I've listed here, none of them are particularly hard, right? These are all going to follow from relatively elementary arguments, but let me go over them sort of one by one. The first one says, well, if I take a bigger ideal A inside of B, right? Then for any T, the test ideal of A to the T is contained in the test ideal of B to the T. All right, so it gives me a bigger ideal, right? Moreover, I also get a quality, oops, what in the world's going on? I'm on the wrong thing. Moreover, I get a quality. If A is a reduction of B, i.e. if A agrees with B up to integral closure, right? So I'm not going to say a whole lot about integral closure here, right? And I think, again, one of the later lecture series will probably say a bit more about integral closure than I've got time to do here. All right, so but the point is, is that there's a natural algebraic condition where quality also holds as well, okay? Second property, right? If I take a test ideal, tau of B to the S, right? And I multiply times A, then I can bring that A inside, right? So A times tau B to the S is contained in tau of A times B to the S, okay? So, and moreover, you also get a quality again if the ideal A, in fact, is a principal ideal, right? In general, you just get containment, okay? Next property, so the so-called SCOTA theorem, right? Let's say that A is generated by R elements, right? And I take an exponent T that's at least R, right? Then, in fact, tau of A to the T, oops, let's fix the statement, okay? So then what you can do is you can pull out one power of A at the expense of reducing the exponent of A by one. Now, I've done something in at least B and C here, and also in D, that is a little shady, right? I.e., I've defined tau of A to the T, and now I'm looking at things that look at, like, tau of A to the T times B to the S, right? So this requires some justification, i.e., you need to write down and define a Cartier subalgebra for not just an A to the T, but an A to the T, B to the S as well, right? So Cartier subalgebra defined for two ideals and two exponents, right? Of course, you can easily do this for finitely many ideals and finitely many exponents. There are some compatibilities to check here, right? So if A is equal to B, this is gonna give you two different definitions, right? Of things to check, right? So they're not so straightforward. Well, they're pretty straightforward. They're not so hard, right? So this is one of the last exercises that I put down in the notes to be turned in. So I'm asking you to formulate these sort of extended definitions and prove some analogous statements to the earlier description up above, all right? And the last statement here, the last property, right? So the first two properties hold in complete generality, but the last one is really special and is a bit more different, right? It requires that the ring is regular and it says that if I took, look at a product or I looked at tau of A to the T, B to the S defined in the way I just described, then that in fact is contained in tau of A to the T times tau of B to the S, okay? Okay, so I want to get to some of the main applications that I'm going through here, but again, you could have a whole lecture series just on these ideals, tau of A to the T and their applications, okay? So I definitely don't have time to go through a lot of the details here. I've written all of them down in a way that hopefully if you're really interested, you can follow even at this stage, but I think it's instructive to come back after the later lecture series and take a look at much of what goes on, okay? But let me describe some of the statements here real quick and do some sort of highlights of the proofs of some of these properties, all right? So again, just for A, so again, the property A was that if A is inside of B, then tau of A should be inside of tau of B, okay? Okay, so do I have my list up here? No, I have to keep going, all right? So as we go through and look at this, let me just say that if A is inside of B, then the same contaminants hold for all the powers of the ideals. So in fact, whoops, you get a containment of the corresponding Cartier subalgebras just directly. So then it's very easy using the same argument we saw before, all right? So the test ideal for B to the T is automatically compatible with the Cartier subalgebra for A to the T. And so the defining property of the test ideal for A to the T means that it must be inside of that. So you immediately get the appropriate containment, right? So no thinking involved, okay? Moreover, if the ideals agree up to integral closure, then it's pretty easy to show that you can find an element X, right? Which is gonna send all the powers of B back into all the powers of A for all powers, right? You're just using that A is a reduction of B, right? And again, from our formulaic descriptions of the test ideals, right? I can use that in our lemma, right? To just throw that in and with the appropriately chosen test element X, right? You get the other containment as well, okay? So here I'm using that X times all the powers is contained in X times all the powers, right? But that basically requires some understanding of the theory of integral closure of ideals to get this. Okay, all right, so that's all I wanna say about A. We're just gonna run through these one by one, right? So for the second property, right? So I would just say that this is an exercise in roundings, right, or in bracket powers, however you wanna say it. If I multiply by on the outside and I bring it into the description of the test ideal from the previous lemma, right? A comes inside of the Cartier subalgebra by picking up a P to the ETH bracket power, right? The P to the ETH bracket power is contained in the regular power and that exactly gives me the description of the test ideal where it's inside, all right? Moreover, if A is principal, then the bracket power and the usual power are the same, so a quality holds throughout, all right? All right, so last one or the next one, right? So the so-called SCOTA theorem, if A is generated by our elements, right? Then I wanna show that I can, oh, I did it again, right? Show that I can pull out one power of A and reduce the exponent by one, okay? And roughly speaking, this involves a very useful fact, right? So if I have a big enough power of an ideal A but the ideal A is generated by our elements, right? Then I can gather the monomials and collect enough powers of a single element, right? And I split off a bracket power from that power, right? So if N is at least R times P to the E, right? Then I can pull out a bracket power from this ideal, right? This is just an explicit monomial check and again, this I'm sure will come up in later lectures as well, right? So, but again, once you've got that, if you write down the obvious, or this description of the test ideal we had using the appropriate power of A, I can pull out one of the bracket powers from that guy, right? The bracket power now moves outside of the whole thing, right? And I exactly get that the A pulls out of the description, right? So the point here is that this is a purely elementary argument, right? So great, I approve an A, B, and C. Let me postpone saying anything about D just for a second to give you sort of the main application of A, B, and C, if you will. This is the so-called Brinson-Skoda theorem or a version of it. And again, I'm not assuming that this is something that you, if you haven't seen it before, great. See, this is a highlight for a later lecture series. But again, there's a whole lecture series, right? On Brinson-Skoda that's coming up later that you'll return to this, all right? And I'm not giving the strongest statement by far, right? So if R is strongly a regular, right? One can then use test ideals to show, right? That if A has a reduction by most R elements, then A to the R plus N bar is contained in A to the N plus one for all N, right? So in particular, the sort of non-trivial one, the first one, you get that the inner enclosure of the arth power of the ideals contained inside of the ideal A, right? And I've traced this through, right? So, but you can go through in the notes, right? So this one I believe uses, let's see if we do this right, right? So, all right. So, given A bar R plus N, I can multiply by the test ideal, which is trivial because I've assumed R to be strongly a regular. Now I can pull that into the test ideal using property B, which says I can pull anything inside of the test ideal, right? Property A says that I can remove the inner enclosure and I don't change the test ideal. And then I can apply Skoda as many times as I want, or as many times as I can, right? And that pulls out a bunch of powers of A. And at the end, I just forgets the last test ideal to get the containment in question. So all I've used here is properties A, B, and C, okay? Another very famous application of test ideals, right? So, let me run out of time here. So let me not say anything about the proof of property D, but use this as an advertisement again, right? For Skoda, right? So, using essentially just elementary properties of the test ideal again and that F lower star R is free locally, right? That's what allows you to prove sub-additivity. And so, let me just stop there. Am I pulled on on the left? Right? So sub-additivity can be used to show another feature of another one of our later lecture series, i.e., if you look at the R nth symbolic power of an ideal inside of a regular ring, right? Which is defined in terms of all of the associated primes of the ideal if you've not seen this before, right? So here is a nondrival containment in a regular ring that the R nth symbolic power of an ideal is contained in the nth symbolic power of the ideal in a regular ring, right? And once more, right? The key point here is you can easily see that the only thing you need are properties ABC and this last property D, sub-additivity, showing up on what's there, right? And these really slick proofs are really due to Takagi, right? So I probably should give, I'll do some more work in putting, or do some work in putting references down before they're all said and done, okay? And sort of to end the lecture series, I want to say just a couple of applications or a couple of things which have some more geometric flavor, right? So the first one is, okay, so I've defined a sequence of ideals here. We've talked a bit in the first four properties about what happens as you vary the A, right? But what you could also do is you could also think about varying T, right? And sort of by construction again, you can check that if you take larger exponents, the test ideals for a fixed ideal A are only getting smaller and smaller. However, they satisfy some sort of semi-continuity property in some sense, right? So at any point, you're allowed to increase T just by a little bit, right? Without changing the corresponding test ideal, okay? And again, this doesn't change, these are pretty elementary to show. So maybe it's best to describe this by a graphic. This is the so-called F jumping numbers, right? So if I look at the T number line and all of the test ideals tau of A to the T, right? Well, I start off with T equals zero when I get the big test ideal of R, right? But then as I increase at discrete jumps, right? Certain jumps call the CIs. What will happen is the test ideal is constant, right? And then at some point, it jumps and gets specifically smaller at some value, call it C1. And then I go a little bit further and it jumps. It jumps in size, goes down and gets something strictly smaller, right? And these numbers, right here, are called the F jumping numbers of A, right? And so there are some numerical invariance just defined in terms of the ideal A. There's a particularly famous one. If R is regular or say strongly of regular, then the first one is called the F pure threshold of the ideal A, right? And again, it is an object of intense study, right? And so I want to mention another theorem here, right? When R is Q-gorenstein and again, say it's normal, right? Take any ideal and completely not obvious, you get that the F jumping numbers, right, are a discrete set of in particular rational numbers, right? Neither of which are apparent at first glance, right? This, again, probably should have attributions by a large number of people, but at least in the way I've stated it here, right? This theorem is written, is a theorem of myself and Carl Schwede, right? In this setting. So there are many other cases, particularly the principal ideal case that were done earlier by a large number of authors, right? And the proof of such a theorem again really uses a lot more geometric techniques than we've really referenced in these lectures. But I did want to mention that the sort of best proof for the polynomial ring involves only degree, right? And is quite elementary, right? So I've gone through and I've sketched the proof in the notes, which is a proof of Blicola, Blicola, Mestazza and Smith, right? For just the polynomial ring case directly, right? So, and I'll say more about that in a second, right? But the proof only uses degree, okay? And again, I've referenced this a couple of times now, but I'm going to end sort of with the following sort of two theorems, right? Okay, so I've made vague references to the geometric applications of test ideals, but I really, for me, think that they are at the heart of why they have been so useful and continue to be so useful, right? So the connection is to something in characteristic zero called the multiplier ideal, right? And so if you've seen that before, those before, great. If not, I'm not going to go through the details here of this theorem other than to say that there is a description. You can provide, again, an alternate definition of the test ideal, right? Which if you take the same definition and you work over the complex numbers, right? Produces something called the multiplier ideal, right? So there is a uniform definition that will allow you to do both at the same time. And the definition involves so-called regular alterations, right? So an analog, due to the young of resolutions of singularities that work in arbitrary characteristic, okay? But really references much more geometric things than we're really talking about here, okay? Similarly, trying to come up with definitions of tight closure and test ideals that work in characteristic zero has been something that was studied from the very beginning in some sense of the theory of test ideals and tight closure, right? And I would be remiss without stating that there is a lot of very important work that under reduction mod P, right? You can say even stronger statements relating the test ideal and the multiplier ideal. And if you're particularly interested, Kent, the TA for the lecture series, I'm sure is someone who would be someone who would be happy to talk to you more about very strong theorem here, which says something about reduction for a fixed characteristic P instead of just for all large P, right? So again, take these theorems, if you will, as just an advertisement that there is a lot about test ideals that I haven't had a chance to cover. Two things, I'll put references in the notes to one of or two or three other survey articles out there, all of which approach test ideals from sort of a different perspective in particular. There is a very low level one by Smith and Benito where they really try to approach these things just when the ambient ring is regular and they do the discreteness and rationality statement using very elementary techniques while simultaneously connecting up to the theory of multiplier ideals and things in characteristic zero, right? There is an older one by Carl Schwede and myself where we sort of try and do things from a map perspective as well as an alternate by Schwede and Blickler about P inverse linear maps. There is a very recent one from a very algebraic perspective by Ma, Linchua Ma, who will be the next lecture series speaker in fact, right? And Thomas Polstra, who is a later lecture series speaker, right? And I expect there are some books being written as we speak by some distinguished authors which will have a lot of overlap with this material. So there's no lack of sources from this material from lots of different perspectives, right? So to go over and look at the theorems I've tried to highlight here. And with that, let me stop. All right, so there is a question in the chat that says, I mentioned reduction generated by less than our elements. So a reduction of an ideal is a subideal that has the same integral closure as that ideal, right? And so when I say it has a reduction by that, I mean that there is a reduction that has, at most, our generators, right? One of the super useful facts that I'm sure will come up in the later lecture series is that if I'm working in, say, local ring of dimension D, then every ideal has a reduction by at most, okay. Let's say the ring has algebraic flow as residue field, so it's relatively nice. Every ideal then has a reduction by most dimension number of elements where dimension is the dimension of the rings. You can get some very nice uniform bounds this way. Such uniformity, again, goes back to much of the applications of that closure from the beginning. So a later lecture series will also talk about so-called uniform art and reese, right? And that uniformity is really also wrote some very amazing papers in the 90s focused exactly on such uniformity, right? And some even more recent survey articles with Raikou, right? Where they really hammer this point home, right? But this uniformity is really at the heart of a lot of the techniques and theory here that's really cool. Yeah, I have a question real quick. Back to the, where you're discussing, like, test study all of the map to an algebra, right? So it's nice when the algebra is solid. I'm kind of personally interested in using the perfect closure there instead of all p-thruits, you know, p-to-d-thruits for every key. Is that typically known, is that known to be solid, or is that... Great question, right? So this is closely related to recent work of Dada and Moriyama. So in particular, so it is not true, even for an excellent local regular ring that our perf, the perfect closure is solid. Wow, right? So crazy. Their example is beautiful and involves sort of the so-called Tate algebras, which are the analogs of the polynomial ring and analytic geometry, right? So, but let me also give you a, so that's a negative answer to your question. Let me give you a positive answer too. Let's say that you're complete. In that case, you can define the whole theory of test that deals basically over a complete local ring using maps from the perfection instead. Okay. And in that case, the perfection will be solid. What's the paper to come in? Something about Frappini's non-splitting or something, right? If you look up my most recent paper with Rankaia with sort of the Dada Tucker paper, I'm sure it will have every paper I've written with Rankaia has the reference to the paper to come in as well. Awesome. Thank you. I guess the other thing I could also... Yeah, go ahead. Hello, can you hear me? Yes. So in this last theorem, a multiplier ideal versus test ideal, this p large enough, does it depend on p or... It does depend on... So the answer is sort of yes, right? As written there with enough discreteness statements, right? So essentially using the analog of discreteness and rationality, you can find one that will work for all t, right? But you need to use some sort of non-trivial statements in that process, okay? Okay, thank you. That's a great question. And this problem of not knowing how big of t or p you have to take to show anything, right? The non-constructivity of how big p is is at the heart of some cool recent work by a number of authors, particularly Linkramal and Karl Schwede and Trinckit Kagi and Kandisato as well. Okay. I guess the other... Just going back again to the other question about whether our perf is solid, the other thing I would be remiss to say is much of my presentation here is motivated by thinking about analogous statements. When you're trying to show things for a fixed characteristic p and by a reduction, you're naturally led to wondering what happens in mixed characteristic, which is where a lot of really cool and exciting recent work is going on, right? The questions about solidity only get worse in the mixed characteristic setting, right? So in particular, the right thing to say is whether our plus is solid and I don't think that's... I think it's expected that it's no for a zp adjoined two variables. So even in super nice rings, right? But the theory of test-to-deals has grown now to have a number of different versions in mixed characteristic. In particular, the R plus description I mentioned earlier, one of the reasons I stated is that it's related to recent work of Ma and Schwede, where they essentially use that as a definition of the plus test ideal in mixed characteristic, right? And these questions of solidity all show up there as well, right? So put another way, sort of the reason I sort of thought of that from the question is my advisor has told me there are really two kinds of people that work in characteristic p. There are the kinds of people who work in characteristic large p. And in theory, they really are people who are almost complex geometers. They really are working geometrically for most things. If something bad happens for a fixed p, you just switch to a bigger p, right? And then there's the second kind who work in mixed characteristic where, or in a fixed characteristic p, where you refuse to move, right? So p is fixed. And if something bad happens, you must just accept it and try and figure out how to work your way around it, right? And there's sort of a, definitely that tension in many of the theorems and much of the theory here, right? You're approaching it from different perspectives. Any other questions for Kevin? All right. Thank you. I'm going to thank Kevin one more time for excellent, excellent hints at finite letter. Sorry. I find it's excellent. Talk.


An intelligent machine needs great perceptive abilities. It needs great communicative skills. And if you look at the Hollywood vision from the 80s, you might know KIWT in Night Rider. A car with great sensing abilities, but also with great communicative skills. Talking to its driver, just like a human would to a human. And at the end, they got quite some good friends. But what does it actually take for a machine to be intelligent? And let me highlight just three aspects. It needs to be able to learn from data and then it needs to be able to achieve goals and ultimately reach brain-like or maybe even beyond brain-like intelligence. It's another example from the movies. You may know Johnny Five from the Short Circuit movie. And Johnny Five was going around and exploring the world by talking a lot to humans and constantly asking for more input from them. So he was interacting a lot with them and cooperatively learning with the humans about the world around. Now constantly asking may get on your nerves. And you might need more efficient ways to do that. By first having some known data with which the machine can learn about the world around and coming up with its first model of the world. But then you have the big unknown data that we've heard so much about these days. And the machine does not yet know what it is. And it asks itself, can I do by myself decide what this new data is? Or do you need help from the human? Or is it interesting enough at all to ask a human? So then it gets this helps. It learns from us what this new data means. And it can add it to its experience and enhance its model of the world. Now an intelligent system would then not only decide when to ask, but also whom to ask, just like a child would decide when to ask mommy, when to ask daddy about something. And that way around, you can these days reduce the number of questions an intelligent system has to ask to some 5% or even below to get a very rich representation of the world around. Now let us take this one step further and see how we can get the information in even more subtle ways. The movie Matrix, if you know it, had a rather sinister view on what machines will do in the future with us. They will use us as biobatteries. Let's share a more positive view on how they can benefit from us and say, rather than using us as these battery tanks that will exploit our knowledge and source from the crowd and source from us the knowledge. Taking this one step further, it could even directly scan your brain or access your brain waves and really learn a lot from us. So in other words, to build an intelligent machine, we will need human help in particular to tell the machine about the world and about the things. And how can we exploit that? Let me give you one example from my favorite application domain, and that is speech processing. You might have seen the movie Her, an intelligent machine embodied sort of only by voice, so only voice interaction, and the system and the user at the end of the movie or during the movie actually fall in love with each other. So the machine can send a lot from the voice of the user much more than just the words. In my ESC ground, I hear you, and in our startup or hearing, we have been doing that. We've been collecting a lot of information, sourcing the crowd about what is inside the speech. And the speech is out there. We've seen YouTube and other channels where you have a lot of speech, but we need the information for the machine what is inside. If you're doing that, you can sense a whole lot of things from the voice, such as the intoxication of somebody, the sleepiness of somebody, the cognitive load level at the very moment, also health related states such as autism or Parkinson's disease. You can sense the emotion, interest, height, personality, name it. But what you really need is loads of data, and you need human help to get information on what is inside in this data. Now taking this one step further, the machine learns from us, but can it even teach us? And by teaching, we reach a whole new level of insight into problems. If you take this new perspective of, how can I teach somebody else about something? Now Hollywood has also a vision on this. For example, in the movie Big Hero 6, you might have seen this medical robot who teaches a boy about moral values in life. It teaches a boy that revenge is not the right way to go. And how does this look in reality? In a European project I coordinated, we recently were trying to help autistic children by a computer system and an intelligent computer system to teach them in a playful way how to express emotion in a way comprehensible to others. So what this machine does is it uses its perceptive abilities to sense the body gesturing from a child, to sense the facial expression, to sense the voice, and from that, in a communicative way, tell the child in the best way how to better express emotions such that others would understand it. And it seems that intelligent machines in the future can really not only learn from us, but also teach us, leading to a loop of exchange between machines and humans, increasing intelligence of the machines. While we're lacking one component for a machine to really be intelligent, and that is emotional intelligence, maybe you've also seen Ex Machina, a movie inspired by my Imperial colleagues book, a machine that not only is able to have a human fall and laugh at her, but to exploit that human for her own goals. You can imagine how much social intelligence and emotional intelligence that takes to accomplish such a goal. And human mankind has had emotion as quite a survival factor in its history. It's my belief that in the future, all intelligent machines will have emotion as a survival key factor. And in fact, we are seeing this increasingly these days, this main project ended in 2010 and introduced artificial listeners that could sense your emotion from your gesturing, from your facial expression, from your voice, and then react in an emotionally appropriate and socially appropriate way. And new projects like the ARIA project at this very moment are picking up on this sort and taking emotional machines to the next level and lending them even more emotional abilities. So that means we have machines that learn from us, with us, teach us, and they have emotional capabilities, but we're lacking another ingredient. And this further ingredient is creativity. For a machine to be really intelligent, it needs to explore new ways, new solutions, and further explore a little bit what it can do and find new solutions to the goals it has to accomplish. Now, let me give you just two examples of what that can look like today. You have a machine exposed to visual art and to many of visual art pieces, finally training a deep neural network and being able to come up with its own visual art, like it or not, but certainly creative. Let me choose another example. Imagine after this talk, you would have an intelligent machine giving access to your MP3 collection, maybe in your pocket, on your player, and the machine comes up and surprises you with a whole new interpretation of what you have there. So let's have it pick one song, maybe of the classical type, the Canaan D. Pick a song that's used that, for example, a rock song, and only pick the vocals from that, the basket case. Do you have the time to listen to me why? And maybe pick the rhythm of some other song extracting only the drum beat to come up and surprise you with its whole new version of the songs. Do you have the time to listen to me why? The background is in everything I'll ever want. So machines can be creative to a point already, but it's my firm belief that we need much more computational creativity to have a machine really become intelligent in the future. So let me summarize a bit. We have the machine learn together with the human, go to the point where it teaches us, and from that learns even more. We have the machines enhanced by emotional intelligence leading from artificial intelligence to artificial emotional intelligence, and we give them creativity. So what remains for us to do at that point, the machines come up with their own version of the world knowledge here indicated by this pixel-esque image of the world. And what is needed for us to endure is that we remain in control. We have to know what is being trained in such learning algorithms such as deep neural networks. We have to ensure that it remains transparent what these artificial brains have learned for many ethical implications and just to make sure that we still know what these machines will be doing and thinking. Thank you very much.


So let's just get right into it. I will say, I guess you love it as well, because it's so useful and convenient with LISP. But it's really the same thing with a little bit more bells. And function program, compare, LISP and write, people have gone from LISP to HESP. You know it. But I want to run through a small example in order to pick out a few things. This is like your standard setup. This is where I switch to demo mode. You see how that does. Now you have my head. I'm sure we'll figure it out. I'm going to switch this over to mirroring, so I can actually see what's happening here. So I've got an editor. You may have a different editor, but come on. And I've got a shell. I use bash. You may use something else. But really, this is not that different. So now I could, oh, let's start writing a small program. But let's just load that up into CLCI. I should save it. So the first thing, I have to save it. I wanted to put plus plus here. So this time, I'm going to remember to save. Going to go over here again. I'm going to reload it. Yeah, we are going now. OK, so let's test this thing. So there's a tree, like a binary tree. And I've got a size function. If I give it a leaf, it's size zero. That makes a lot of sense. Let's do something a little bit bigger. I'll bind that to a variable so I can reuse it. And let's just do a small tree there with me while I am typing. So let's do the size of this thing. So you should have told me that a binary tree. OK, size of that zero. Can you read this? Zero. That tree isn't zero. OK, let's see. Who can see the problem?  I can't write programs. Of course, I shouldn't just add the size of the two half. For the node, I get one node. So I reload this again. And I just scroll this up so everyone can see. Oh, no more tree. But we've got history. That one improvement since this. Thank you. So let's try two. Now we're done. I can write code after all. And then I can try to convert that tree to a list. And I get a list. OK, not too bad after all. Haskell is awesome. But you knew that. So let's do this setup, which is like every Haskell programmer set up. Only use VI or Emacs, and you may use GHC ID or GHC mod or whatever your favorite add-on is. And maybe that fits you a little bit more. First of all, I mean, it was quite annoying I had to define this tree again.  Or I didn't log the different 200 back in my history. Because then I didn't know how it goes. I mean, really, it's not consistent. As you said, it saves a little bit of typing, but the system is something else. And test out of VX, which in turn is the pretty test out of VI. And why is it called VI? So basically, those editors wear the same thing for editors as GHCI is to what? So what's VI for the rest of the memory to save? Or it's depending on your consecrate media. Reload again. And for this small example, of course, was easy. But for anything more serious, kind of. And then, well, the thing spits out text, which is kind of cute. But this machine can do more. Can we do better? I mean, let's just run with this idea. What's the VI equivalent of a raffle, what VI or Emacs was to add? So let's actually do this. So we have a module trees. And our data definition was three of a equals leave. Or what I want to show you is that in this environment, that's my data definition. So and instead of trying to write any definitions, any functions on that, let's just think about how we want to use it. So I had this example tree, right? What was that, node five or another leaf? Now, this kind of run, if I forget the leaf, actually it does tell me. So I know immediately something's gone wrong here. I didn't actually plan to do this tree. Of course, nothing is available here, because I haven't defined size yet. So if I look at this error message, not very surprising. But that's OK. We are just thinking about what kind of code we want to execute. And so we've got all this. So now let's write the code. So our definition of size, that was a tree turned into int. So base case, well, a leaf is size 0. Size of leaf returns to the site already. The other one doesn't work yet, because it gets a pessimistic failure, but who cares? So we do the recursive call. And if I make the same mistake again, I forget the plus one, I immediately see something's wrong. Well, obviously I forgot to count the node, and I continue. There's no back and forth reloading. Why is there an error? Because I really see what's happening. And then I've got the second definition, tree of a flatten into a list. And if I make the mistake from before, right? So same example, but the workflow is slightly different here. So let's go back to two-dimensional raffle. Because why not? Because why can't the computer is done? When I type, whenever a problem changes, we evaluate. Because, well, maybe we evaluate in vain. But most of the time, if you are editing, your computer just sits there doing nothing. So let it do something which might be useful, because if you look to the right and see that's wrong, why do you write in the code? Should I start here to see and try this definition already? Or should I write a few more definitions and then test them? It brings us to the next thing, because testing. I'm new with this. So I've got a few quick, I need a quick check. Everybody knows quick check, right? Specification based testing. So I need the definition, arbitrary definition for this tree so I can generate the test. And I will not make you sit through me trying to define that. You said I'm just going to define it here for you. But I will have to be, I could write a property. Something like the, what do I know about size? The size always has to be positive, right? So one possible check would be to say, the size always has to be positive. So size of t is going to be greater or equal to zero, right? And then we can use quick check. We know that. John Hughes and Kim Klaas and Toyota stuff. So let's do another one, something more interesting. So what's the correlation between the size of the tree and the size of the tree must be the same as turning the tree into a list. Check that as well. So that's fine. So all right, let's look at how we would use that in development. So in these cases, we had these functions already and we added the tests. Let's do it the other way around. As I said, usually we are going to start with the tests. So I want to have another definition which takes a list and makes it in a tree, like the inverse of two lists. So I want a test for that. And the obvious test here is to say, well, if I start from a list, I turn it into a list again, I want to get the same thing. The list, the same and turning L from list. From list, I haven't defined it yet. So let's do from list. So from list, obviously a cute idea to define it instead of writing out recursion here would be to use forward, right? We followed over the list to construct the tree. I don't know about you, but when I use forward, so we do know that we want to start with the leaf, right? But the combined function, I never know which other argument. It basically says, well, what's the type of thing which I have to put in here? And it tells me, okay, it's got to be tree first, then an element and then gives me the tree. So it said tree first. So let's do a lambda. I want a tree first and then the value and then I have to come up with a new node because we extend the tree, we have a leaf and that subtree, which we got as the first argument. And it says, okay, now what I forgot to do here, of course, is which I should have done right away before we do, it's quick check. So let's just see what the, so it says zero one. The list zero one is a counter example. Well, we are here in a pretty playground. So let's play, so from list of that counter example is a tree, that's fine. And if I two-list this thing, then I want the same list, except, but that's okay. I mean, the specification here was we wanted to turn one to the other. We didn't say anything about order. So it's actually our quick check property which is not right because we want to ignore the order. So let's just sort those lists and then we don't care about the order. And to do this, we have to import the list to get sorting function and voila, we'll test pass. So that's how we use quick check in that scenario. So you see, we're here again, okay? So idea of starting this test and queries and then slowly kind of crafting the code is interesting. And secondly, the really rapid feedback. It's really like you just have plug-in so that you can kind of run the code through your type checker when taking this to the next level, not only do we get type errors all the time, constantly, whenever we make mistakes but we also get our tests run at that same small green level on a multi-bimodal basis. And that's, and there's a result of all that. Yeah, I mean, even more, the Ripple is great. Why is the Ripple so great? It's great for beginners because you can get people to do something right away. You don't even have to write a program. You can just show them if you just play around with it. So you can use it as a glorified calculator. It's also great for developers who want to quickly experiment with some code and during debugging, you just want to call a few functions with a gparometer to see what's happening. So all this is great about the Ripple. And the idea here is really taking that greatness to the next level. It's not a professional placing. It's about taking it to the next level. And it's just illustrating the same things using PhDs and so on. So, for example, we recently started and screencasts, so videos. But the idea is quite simple. You start with the baseline. That's the red line for those who, and then you draw a square on top of that red line. That's where Pritaparas comes in. You, so if that's the draw a circle on top of that and then on that circle, you pick a spot. Then I say you pick a point is the same angle or that square, giving you something like that. This gives you the, and the other two sides of the triangle are the baselines for the next square. The first thing that people start. Let's write a program. And we have to go now, which eventually is going to go be recursive. It's not recursive yet. And it's not important or the difference is accepted to summary. Basically, the first argument is recursion depth. That's clear. And the other ones are really only about color, altering the angle, kind of making this a bit more interesting than the standard factor will be. So, forget about it. We've got recursion, which isn't really, but we don't call it T here. So, it's not recursive yet, which won't square here. That was the base we started with, right? And that's why it's not recursive. So, the next thing we have to do, we have to get the triangle on top. To get the triangle on top, what I need to do is I, these points here, these four points, those are the corners of that square. And I need to add a fifth point to add the triangle at the overall shape. So, where do I get this fifth point? Well, I have to do to calculate the triangle.  What this is doing, it's basically taking the baseline, rotating it and scaling it. And that gives me the corner of the triangle. We don't have to go into the definition of the rotations and so on. That's where the pitagoras theorem comes in. But that's the point here. So, we put P5 in here. And so, the thing got a little bit of a notch now, including that triangle. And so, the next thing that we're going to do is we want recursion. So, we want to, this is one polygon, right? We want more polygons. Let's do one recursive call, where the recursion depth is one less than it was in the initial call. And then, what's our new baseline? Well, the new baseline is going to be the sides of the triangle, which is, this was the top of the triangle, right? So, these two pairs of points, those are going to be the new baselines. So, in the recursive call, we pass the line from P5, which is the top corner, to P3. That's the danger with life coding. So, if T is all to be defined as a list of picture objects, I tell you that. And if I, okay, so, and now, suddenly, oh, this is the recursion depth here. If I add one corner, where we added one more of these things, the base and the triangle, right? And that's one side, but we want binary recursion. So, we have a second call, also one less P, but with the other side of the triangle. So now, we've got the first bit, right? So, now we can, well, we could add recursion, increase the recursion depth, five. But, let's add some color. As you can see, we already have some setup for this. And, all I've done here, I've just called this helper function with just the color white. But, I, the function gets, as it's third argument at an argument called color fun, which is function which, depending on the iteration depth, computes the color for that depth. Then, the color changes as the iteration begins. So, we will just call this function, color fun with the current iteration depth. And look at that, much nicer than the white. And, another thing I want to change is to already to the triangle, where I'm trying to start this square. But, it turns out, what we are going to do, we are, and that's the comment that I've heard here, we are going to extend scale, the, what's initially the two vertical lines. And then, now we have to be careful, we have to change all occurrences of P3 and P4. The scale is higher. Okay, so that's great. What else are we missing? Let me see, most of it. So, if we go to recursion depth of 18, now that takes a moment to compute. So, what's the point here, taking a pretty picture, is if the list, I change things, I see what's happening. I can see, ah, the stuff, like when I made this mistake with P4, using P4 instead of, we saw there was this kind of notch at the side, but not the real thing we wanted. And somebody in the video said, ah, here's the wrong number. So, you immediately see what's happening, same as with this, right? So, that's one thing. So, we can do something similar, HTML, or let me skip that, because I think the idea was 40 minutes, so I don't want to keep people for too long. So, I'm not going to do the web thing. Basically, the idea is, we can do the same with HTML, okay? The HTML previews work in the same view as graphics. You, as you edit them, you get the HTML render, and you like, if you change something, we can, this was static graphics, right? But we can do more, we can do animations as well. And it's the same deal. Here, there's certain starting velocity and so on. If I change that in the code, and I run it again, then immediately we see the effect animation changes. The final one, that can even be interactive. So, we are not just limited to animation, not limited to text, we are not limited to graphics, we are not limited to animation. We can even do, so here I can use. So, it's really all about being, having a more interactive setup. It's the same setup, and we get the HTML. The idea really, the core concept is liberating us from the one-dimension nature of the raffle, making it two-dimensional into a text buffer, and then having this immediate feedback, and having that for not just text, but also graphical objects, structure, media, like HTML. That's me. So, thank you very much for having me. This is Song. So, previously I'm doing some data in machine learning product development, it seems very, so I just want to ask. So, let's say we want to build up a data product. If I want to use Haska to write some functions, what would be the challenge? Probably I'll give you a more specific scenario. So, let's say, okay, now in this data product, we are facing a high-volume traffic, then we have already built a Kafka to take the data and store in some distributed database like Cassandra or Hive. So, now, let's say we want to write some Haska code to execute some function, right? So, we let this code to call and query the data from the distributed database. Over there. Yeah, so, what would be the challenge? For example, like, what is the latency, let's say, compared to other JVM-based language? So, that's a very general question. Yeah, that's a very high-level, kind of. So, I mean, there are quite high-performance library, Haska libraries these days for network application. And there are also companies out there who use Haska for data science. What they, so, because this is really the first generation of people who use Haska in that environment, a lot of what they are doing is homegrown. So, one company is, for example, I don't know if you've heard of it, probably not a small startup in Sydney, it's called Ambiyata. Some of our students work there. And they are doing a real-time analysis of data coming in from sales channels, for example, and so on. And they've really built up their own infrastructure. They do use some established libraries and frameworks, but they've also done a lot of implementing their own. And basically, fundamentally, there are two different things that you can do and that people do do. You can either build a Haska layer on something existing quite recently, then allows you to, so that's one scenario that you layer Haska on top of some existing JVM-based, for example, infrastructure. Or if you need something which isn't addressed by these existing tools in the way you wanted to, infrastructure, which is what Ambiyata is doing. But I think these projects, which are like commercial projects, the tool chain, the compiler runtime system, the threading system, and so on, is fully capable of working at that scale. But there's less ready-made software out there Okay, so, which in itself is actually, it's like this from one version to the next version, they compute the difference of the virtual DOM and then apply that difference to the actual browser DOM. And I'm doing something similar. I'm computing the difference between the Haska data structure you've got and the Haska data structure, your transformation, updating function produced, and apply that difference to the underlying object with that. I mean, that code is horrible. What do you think the main difficulty to like for this playground to use the browser environment? Because I'm thinking maybe like, for example, in the Haska or like website, now it comes with a very text, simple text report. If we put a sandbox there and simplifying for implementation there, then we can let the newcomer to play with it. And also that it could like, if I use the HTML with JavaScript slide, I can maybe put embedded playground while I'm presenting something. Yeah, yeah, it would be like L, that's it. Yeah, so, on one hand, the take underneath this isn't rocket science, but I am directly going to GLC API. So I'm not using GLC mode, because they don't, in this case, I mean, most of this application actually would be GLC JavaScript. Yeah, but then in GLC JS, you would have to talk to GLC API. Yeah, GLC JS, the idea is to compile everything include JavaScript, but I really have to talk to GLC and you can't compile GLC to JavaScript. So you need a bridge between JavaScript land and the actual binary GLC implementation. And to get this rapid feedback, you really don't want to go through. That's good. We welcome you, come on. Okay, thank you. So the grapefruit is grapefruit. The first one, I... Grapefruit or grapefruit? Grapefruit, okay, sorry, yeah, that's my mistake. So grapefruit, I haven't personally used it, I have to say. So it's an FRP based, I believe, system, which tries to do graphics from the ground up. And so basically the idea in grapefruit, as far as I know, correct me if I'm wrong, is to do everything from scratch. We start from pixels and then we build everything up, which there's this temptation, especially in Haskell circles, to do the best, purest, optimal solution and just start from bits and bytes. Problem is, if you start from bits and bytes instead of using work, other people has already done for the last 100 years, and then it takes a very long time to get to something a bit more interesting. So the idea here is to leverage an existing industry standard widely used library and just put a thin layer on top because then we leverage this existing work. It requires some compromise, it may be it's not the nicest solution, but it requires a fraction of the work. So the capabilities of something like SpriteKit are vague. So it's this difference between do you do everything yourself or do you build on other people's work? Just, there are two things you show that. The first one was this thing called context free art. I think it's contextfreeart.org. I'm not interested in being so, this is like this thing. So that's a very interesting point, very, very, very good point. So what's the pros over here? I haven't talked about it. There's a long tradition of people, who knows, in a way, and he in turn has been very strong. You can see as an attempt to recreate like 1% of the vision of Pratvita, maybe 0.5% so we can do it. So what's the underlying structure? That's easy to answer, I can just show it to you.


And Andrew Aaron Boone said he was probably one batter away from taking you out of the game. How are you able to write the ship after that second inning? A couple things mechanically just needed to kind of get lined up. Frankly just needed to make better pitches work ahead. It was pretty rocky obviously. It was not how I wanted to start the game, but I'm just extremely glad to have, you know, after putting us in a hole and not really giving us much of a chance to really be able to come back and give our offense a chance there. And I guess it would have been the bottom of the sixth to do what they do. And they did. And that's, I'm proud of being able to do that. What were the mechanical adjustments you made that led to better results? Staying on line, staying tighter with kind of how I'm rotating through and kind of my arm stroke in the back. That allowed me to kind of get the ball through the zone a little bit better. And guys weren't taking quite as good a swings at it.


Again, 027 is not side bridge replacement project. My name is Sunday and I'm the project manager with the city of Fort Worth. Transportation and public box department before I start my presentation. I would like to ask if any council representative want to say something. Am I loud enough? Yes, we can hear you. I think you can move on. Okay, this presentation is meant to provide you with some information about the project scope and proposed improvement. And upcoming construction schedule. It is the agenda of what I hope to cover in my brief presentation. First, I'll be talking about the project as a whole. Providing a summary of improvements. Providing construction information and anticipated construction schedule. Then we'll open up for the question and comments. The next slide provides a general overview of the project. The project site is located approximately 10 minutes north of city of Fort Worth downtown. This bro, this project is located at the site where is not side drive passes oversamble Saturday. The next 2 slides provide information regarding the existing condition and summary of improvements. Here are the representative for those of the existing condition of the breeze. There appears to be several cracks developed between the structural elements. Last up swell mask beneath the abutement is also observed. There was damage to guide guard rail and the breeze wing wall also does not confirm to the current vehicle pass is tender. Based on the periodic inspection of the bridge in the past. Based on the report of full replacement of the bridge structure was proposed. The scope of improvement for this project include removal of existing breezy structure and foundation. The construction of existing as far payment approach. Construction of new bridge foundation, including new concrete deck. Widening of sidewalk and studying installation of. Guard rail and wing wall, the next couple of slides provide construction. Information and discuss the impact of construction on traffic at East North side and side by side. There is no side bridge reconstruction is planned to be constructed in 2 phases. And East North side traffic would be open to traffic. All the times in the 1st phase waste bound lanes are closed and traffic shifted to its bound lands. Providing 1 is bound and 1 waste bound land. As you can see on the top right picture closed section with them we demo list and reconstructed. In the 2nd phase is born land are closed and traffic shifted to newly constructed waste bound lands. Providing 1 is bound and 1 waste bound land. The closed is born this section will then be demo list and reconstructed. Samuel's revenue between intersection of. 16th Street and 14th Street will be close to traffic for the entire construction period from. March 11, 2024 to January 4, 2025. For public safety. Byable options are shown in the map. That they throw option 1, not this 20, 30 straight. And for this spring is the map and not many straight seems to be a viable option. Detour signage will be posted prior to the start of any construction. There is also a Trinity metro bus route. You can see and that has picture. That is 1 stop between 16th and 14th Street. Trinity metro is planning to use not part right to cut through. So, you can report emergency or non-emergency by calling the numbers provided there. You can also download my app from. Happy store at Google play and then. Import the description for photos and other features. You get the response from the city team. So, this is this date shows. So, now the anticipated construction is scheduled for this project. The construction starts on March 11, 2024. There is 1. Westbound road closer and diversity of traffic to eastbound then are expected to be completed in. May, April, 2024 demolition and reconstruction of the close section. It's approximately for an half to 5 months. And it should be completed by the end of. August 24 phase 2. Westbound road closer and diversity of traffic to the newly constructed waste bound then are expected to be completed by the end of August. 20, 24 and demolition and reconstruction of the closed is 1 section. Would be from September to December and the contractor expects that the. Project would complete the construction would completed by January. For 20, 25, if you would like to stay updated on this project, please go to the 1st link below. You can also go to the. Fort worth Texas and enter the project number 1, 0, 2, 0, 9, 7. To get information throughout the project. We'll go ahead and open up this meeting for questions and comments. So, at this point, if you want to unmute yourself to ask a question, we'll be taking those now or like we said at the beginning, you, you're free to put your messages in the chat and we can get to those as well. Okay, so I do see 1 question in the chat question is, will the area be completely closed at any time? So, the area that will be completely closed is the is Samuel's Avenue between 16th and 14th. Street, so the section of same that goes underneath the bridge, so we'll have that section of road closed for the entirety of the project just for safety reasons, because we'll be demo the old bridge construct the new bridge that will be large equipment through there. And so that section will be completely closed during the entire entirety of the project. The plan is to keep the north side drive. Open and at least 1 of the. On 1 of the bridge decks, so 1 lane in each direction for the entirety of the project. Let me know if that answers your question. Okay, so I see another question in the chat. Another couple of questions. The 1st question is a concern about traffic when there is a train passing. Will it be extra signage? I'm going to follow up on your question. Do you mean additional signage to let residents know that there is a, if there's a train crossing for people to be. Oh, so the, the question is, will there be extra signage for people to be cautious around the road? I'll have to look at our traffic control plan, but that is something that we could consider. The other question I see is, will businesses in that immediate area be affected? So we're planning to have detours around the closure that are available to anybody who needs to use annuals. As far as east north side drive, the only section that I believe where we are diverting traffic is right there at the bridge. So the on ramp and off ramp off of off of these north side drives didn't be affected. I'll let the, I'll let the contractor verify. Uh, what I'm saying on that that appears to be the case at this point in time, Greg. All right, thank you. Please let me know if that answers your question. Cindy, go ahead and move to the next slide with our contact information on it. Well, we wait and see if there's any more questions. So, if you have any question during any point of time, it is my contact information. You can also talk to the constructs and. Inspector, his name is Godis and his number is there. Okay, I do see another question in the chat. Will emergency response be notified of the detours? Uh, yes. Uh, not necessarily of the of the lane shift on north side, but of the lane closure or the road closure on, uh. On same bill, it looks like we don't have any more question, but if you. Have any question in future, then you can call us, you can send us an email. We will respond to you again. Thank you everyone for joining this meeting and I would like to. This meeting. Thank you. Thank y'all.


Compressed air energy storage, CES, has gained attention in recent years due to its potential to store energy from intermittent renewable sources and provide reliable electricity supply. However, existing CES systems suffer from several drawbacks, including energy losses due to compression, the use of fossil fuels, and dependence on geologic formations. Innovative concepts of CES, such as adiabatic CES, isothermal CES, micro-CES combined with air cycle heating and cooling, and constant pressure CES combined with pumped hydro storage have been proposed to address these issues. By analyzing the energy and exergy of each concept, we can better understand the characteristics of each CES system and compare them. This article was authored by Youngmin Kim, Jang Hee Lee, Seok Joon Kim, and others.


Hi everyone, another live video here just out this country house in South Yorkshire with a Slake here. You want the narcissist to respect you? Do this. There's only one way that you're going to get any form of respect from your narcissist. And the only way you're going to do that is by leaving. You see when you're with them, they just see you as a fool. They see someone that they can use. They see someone that they can exploit. But when you finally get up and leave, that's when they don't see you as a fool anymore. They see it as though I'm too smart for this one. I can't play my game with this one. It's not going to work on them. So really, that's the only way that you're going to get them to respect you is by leaving. Because as long as you remain around them, they're never going to have any respect for you. They're just going to see you as a fool. They're just going to see you as someone that they can exploit.  They might try to pull you back in. They might try to hoover you. They might stalk you. They might start a smear campaign against you. But if you continue to just ignore all of that and you become unreachable, they're forced to respect your wishes, to be left alone. To get a narcissist to respect you, you have to take away that choice for them to be involved with you because they're never going to get to that on their own. If they respect anything, it's things that they don't have, things that aren't around them.  They don't respect people who are around them or even people who just want to be around them. They're not going to respect you for doing that. You're never going to get their respect that way. The only thing they will ever respect is when you distance yourself. Because in the back of their mind is they're looking at it like if you can just walk away, you're basically saying that you think you're better than them, that you can do better without them. And while narcissists cannot self-reflect for long periods of time, there is that small window, there is that second door too where they do kind of respect you, where they do think you realize you figured out the game, you know what they're really doing, you know what they're really about. There is a small window where that pops up in their heads. If that was not true, there would be no narcissistic injury. There would be no rage. The reason why they get so mad is because in that small window, they do kind of respect you. And they hate it. They can't take it. They try to fight against it. They try to push it away. And that's how you know what's going on in their minds when they do that. That's when you know that you've defeated the narcissist. But yeah, I'm just out here in South Yorkshire, just relaxing by this lake. Just came to visit this country house here. I've been uploading a lot of pictures and videos from my travels here over the past week. I'm here for one more week, so there will be much more to come. If you haven't already, check out my Instagram. It's Narc Survivor YouTube. There will be more pictures and videos very soon. But yeah, I hope everyone's having a good day. I'll be getting out there. Enjoying yourself is good to learn about this information.  Enjoy your life. Life is meant to be lived. Life is meant to be enjoyed, not endured. Remember that. Tell yourself that every morning when you wake up, any time that you think about the narcissist and what they did to you, how they made you feel and it starts to take over your day. Just tell yourself, life is meant to be enjoyed, not endured, because it's the truth. It's a natural state just to be. Just look at these ducks here. You think they're worrying about narcissists? They're too busy just being. And while I will say that it is important to learn about this information and to protect ourselves, we also need to get back to our natural state too.  Because that's what it's really about. We're here to have fun. We're here to enjoy this world. So let's just do it. Let's enjoy it. Make the most of it while we can. And yeah, I just wanted to finish this with a positive message. Thank you all for joining this live. Got a premiere later at 6.30 BST time. So I hope to see you there.


Welcome to Toffy TV, it's the Everton News Daily Monday, the 13th of January. Everton today has been linked with a move for Yannick Carrasco, who is playing for Dallian Nifang in the Chinese Super League. 41 caps for Belgium, the Winger, he scored 15 goals in 22 games in the Chinese Super League, but apparently wants to come back to Europe, Everton has been strongly linked with the Belgium Winger. I don't know whether we should ever mud one another Winger, he was called Yannick. We haven't quite got over the last one, I don't think. I don't know whether there's anything in this, I think he'd demand a commander or quite a big face. 26 years of age is a good player, played at Atletico Madrid, but I don't know whether the Winger is what kind of anti-Lotty he's looking at at the moment, but he's certainly won that doing the rounds today. Everton are apparently also in advanced talks for Carlisle Young's centre-back Jarrett Branthwaite. Fee looks like it may get up to around a million pound, he's played 14 times for Carlisle this season, he's very, very highly rated, a lot of clubs looking at him in the Premier League, but it seems as though Everton have stolen a march on a few of them and it looks like Branthwaite will join Everton very shortly. So, being interested in one that, he'll obviously go, I should imagine, straight into David Underwater, it's under 23 side. And then it's interesting to see whether he's been bought for the first team. Marshall Blans, I'm quite sure that's what he's going for. Everton target, Mirad Demaryll, looks like he's going to be ruled out for the season. He injured his knee playing for the eventers in their 2-1 victory over Roma on Sunday. He was won Everton with, again, link with the other day and seemed apparently very interested in Arsenal, also earmarked for him as well. Although the eventers officials were quite coy about whether he'd be allowed to go out of the club, but it's irrelevant now because he's injured his knee. And, like you say, looks as though he's going to miss the rest of the season. So, if he was a serious target for Carlo Ancelotti, then it is going to be back to the draw on board because Everton do need all our lucking for a centre-back and a centre midfielder, apparently in this January transfer window. Obviously, Jeng Towson left the club last week, Everton hoping to move out Oomanias and Cucamartina at least in this January window. So, that would free up wages certainly from a financial fair play point of view and Premier League rules would give Everton a bit of room in the budget to bring in a couple of loan players or certainly to bring in wages to offset that. So, see where we go with that. We definitely need one or two faces this January, though that's for sure. John Job Kenny is still refusing to discuss his future beyond this season, continually asked by the likes of Kicker in Germany whether he wants to remain at Schelker beyond the season. What he said is David Wagner has given him the belief that he belongs there and can perform there and it's helped him immensely this season. He's been in fine form for Schelker, he's been already named as Young or Rucky of the Month for whatever their equivalent is and he's done really, really well. So much so that the Schelker director of football wants to keep him beyond this season, they want him to remain there. Everton's situation with Everton is probably a little bit more complicated. Obviously, you know, he's under contract till 2022 at Goodlison so therefore it's coming up to the time where we'd give him a new contract. There's also obviously Seamus Coleman's position. He's getting older. We've obviously got to able Sid to be on loan and there's an option to purchase him in the summer. We don't know whether Everton are going to take that option up. So there's a few variables there as far as John Job Kenny is concerned so it'll be interesting to see whether he remains, you know, comes back to Everton or whether Everton agreed to sell him to Schelker so we'll have to wait and see on that. Finally, Carlo Ancelotti has explained yeti Mina's absence from the start on 11 in Saturday's 1-0 win over Brighton. Ancelotti simply said that it was an opportunity to rotate the centre-backs. Mina has played a lot of games and looked tired. He said Michael Keane done very, very well in training all week and showed him the desire to play and he wants to keep the freshness in the squad as much as he can. Mina, who has been struggling a little bit with injury over the last four to six weeks but has played games so it was an opportunity to give him a little bit of a blow. Ancelotti did say that it may come on Saturday where he rests whole gate and plays Keane and Mina as he tries to keep the freshness in the squad but I don't know whether he's just saying that. We'll find out what we had about two o'clock on Saturday for the trip to West Ham. That is it. Make sure you subscribe and give the video a thumbs up. Click the bell notification and if you want more videos join us on Patreon. See you later.