me a lever long enough and a fulcrum on which to place it, and I shall move the world. Humans are the cleverest animals in the known universe, but our brains, forged over millions of years in the unforgiving furnace of natural selection, are still primitive. They evolved to be good at hunting animals and making tools and recognizing facial expressions and maintaining social bonds, but they're just not very good at working with several difficult ideas simultaneously, and they're particularly bad at reasoning about the counterintuitive emergent behavior of complex non-human systems, and that's a problem because complex non-human systems now dominate our world. Abstraction is our solution to this problem. Abstraction works as an adapter between the fearsome complexity of the universe and our simple primate minds. When the real world is too detailed or too confusing or too counterintuitive for us to work with directly, abstraction gives us big, friendly levers to pull on instead. This one powerful idea underlies computers, design, culture, language, and everything else we rely on in our daily work. So I'm going to talk a bit about abstraction, where it comes from, what it's for, and how we can use it to make our programs better. Let's begin by talking about numbers. Numbers seem obvious and natural to us, but they have no independent existence.  There was a point in our cultural history where we had no concept of numbers, but then we created them and gave ourselves a new and powerful tool for categorizing, understanding, and predicting the real world. Imagine you're living in a prehistoric time and the concept of numbers hasn't been invented yet. You've grown some apples, here they are, which is great, but you've been eating apples every winter for years and you're kind of tired of them now. Fortunately, a visitor arrives from the next village and they have some bananas. I accept that the botany of this story might not be historically accurate. Now, you feel that swapping an apple for a banana is a fair trade and you would like as many bananas as possible. So are you prepared to swap your entire collection of apples for the visitors' collection of bananas? Is that fair to both of you? Well, yeah, it is fair because this collection of apples has something in common with this collection of bananas. There's a special property that they both share, even though they're made of different fruit. And that's a property that your apple collection doesn't share with this collection of bananas, or this one, or this collection of apples, even though they're the same kind of fruit, or this one. The special property shared by these apples and bananas means that they can be paired up. Each apple goes with a banana with no apples or bananas left over. For example, this apple can be paired with this banana, this one with this one, and this one with this one. It doesn't matter how they're paired up, just that they can be. We can come up with other collections that have this property, too. This collection of cherries has the same property. We can pair them up with the apples like this. Every apple has a cherry and vice versa. Nothing gets left over. In fact, it's fairly obvious that the kind of fruit is irrelevant. Being a fruit at all is irrelevant. This collection of dots has the property as well. So if it's irrelevant whether the things in the collection are fruit or dots or whatever, then what else is irrelevant? Well, the size and arrangement of the things in the collection doesn't matter, either. This collection of dots has the same property, and so does this one, and so does this one. What do we call this property? How do we identify the property that those apples and those bananas and all those cherries and all those different collections of dots have? Our usual name for it is three. Now, technically speaking, what you're seeing up here isn't actually the number three. This is just a pattern of light made of pixels. That pattern of light represents a specific glyph from a typeface, and that glyph represents a character, in this case, a numeral, also called a numerical digit. And that numerical digit denotes the number three in the base ten positional numeral system, which is the usual system we use in Western culture. The number three itself is this property, this relationship, this abstract structure. If you've got a collection with three things in it, you can put it on one side of this diagram and connect each thing in the collection to a dot on the other side. Three is our name for all the things that look like this. That's what it means to be three. Now, unlike our imaginary prehistoric person, you learned about three when you were very young, so you already have a picture in your head of what three looks like. And it's probably like one of these arrangements of dots. When you see a collection of three things, you can recognize that there are three of them by pairing them up with the dots in your mental image of three. Once we have the idea of a number, we can build other concepts from it. For example, we can identify the particular relationship between these collections, which is that when we pair them up, the right hand collection has an apple left over. When this happens, we say that the number represented by the right hand collection is the successor of the number represented by the left hand collection. In other words, four is the successor of three. That gives us a way to generate new numbers. The successor of three is four, and the successor of four is five, and the successor of five is six. And that suggests another relationship between numbers. When two numbers are connected by an unbroken sequence of successes like this, we say that the first number is less than the second one. Once we have the idea of successor, we can also use it to build a new operation on two collections. For every item in the first collection, we take the successor of the second collection. We start with two apples on the right. The successor of two is three. The successor of three is four, and the successor of four is five. And that operation is called addition. We've added three to two to get five. The point of all this is that numbers and operations on numbers allow us to predict the outcome of events in the real world. You don't need to physically pair up your fruit with a visitor's fruit to decide if it's a fair trade. You recognize that they have three bananas and you have three apples. You don't even need to see their bananas. They can just tell you they have three bananas and you'll be able to decide. If you want to know whether any of your sheep have escaped when you go to round them up on the hillside, you don't actually have to search the whole mountain. Just count them and you'll know. Likewise for addition. If you want to know what the combined contents of two buckets of apples will look like, you could physically combine them. Or instead of working in the real world, you could step into the abstract world, count each bucket to get two numbers and then add them to get a result. That result is valuable because it's the same as what you get if you actually do the work in the real world and then turn the result into a number. The abstract operations in the world of numbers accurately predict what happens in reality by focusing only on those aspects of reality that affect the outcome. Now, this technology is so groundbreakingly useful that it just becomes second nature and we get used to working in this abstract world. Numbers feel very simple and obvious to us, but they only exist because people observe the real world, spotted patterns in it and built abstractions to represent those patterns. Of course, once we have numbers, we need to develop other layers of abstract ideas to make them easier to work with. Here's an example taking the sum of lots of numbers. What's the sum of all of the numbers between 1 and 10? Well, that's not too hard to work out by hand. 1 plus 2 is 3, plus 3 is 6, plus 4 is 10, plus 5 is 15, plus 6 is 21, plus 7 is 28, plus 8 is 36, plus 9 is 45, plus 10 is 55. So the answer is that 1 plus 2 plus 3 all the way up to 10 is 55. But here's a harder version. What's the sum of all the numbers between 1 and 100? It would take us at least 10 times as long to work that out by hand. There's a story about a child prodigy called Carl Friedrich Gauss, who was born in the 18th century, and the story goes that his primary school teacher told him to do this sum as a punishment with the expectation that it would take him a long time, but he came up with the answer almost immediately. Now, that story might not be true, but it could be true because there's an easy way of working it out. Let's go back to the 1 to 10 example. One property of adding is that it doesn't matter what order we list the numbers in, we still get the same final result. The fancy way of saying that is that addition is commutative. So we can add the numbers from 1 to 10 in a different order, and it won't affect the answer. So let's rearrange them. Now they're listed slightly differently. It goes 1, 2, 3, 4, 5 down the left side, then 6, 7, 8, 9, 10 up the right side. But all the same numbers are still there, so the answer will be the same. Another property of addition is that if we're adding many numbers, it doesn't matter what order we do the individual additions in, and the fancy word for that property is associativity. So we can choose to add together the first two numbers to get 11, and then we can pick any other numbers, say the 2 and the 9, and decide to add them next. Then we choose the 3 and the 8, then the 4 and the 7, and then the 5 and the 6. So once we rearrange the numbers into those pairs, we found that each pair added up to 11, and now it's easy to see that the answer is 55. Here's how we got there. We arranged the numbers into five pairs, there are five, because five is half of 10, and each pair adds up to 11, which is one more than 10. So here's the secret. When you're adding up the numbers from 1 to 10, there are five pairs of them, and each pair adds up to 11, and this is what Gauss supposedly realized. Or in particular, he realized that we can do the same thing for the numbers up to 100. We can rewrite this sum as 1 plus 100 plus 2 plus 99 all the way up to 49 plus 52 plus 50 plus 51. And again, by choosing to add each pair first, we can see that 1 plus 100 is 101, and 2 plus 99 is 101, and so on up to 49 plus 52 is 101, and 50 plus 51 is 101. There are 100 numbers to start with, so there must have been 50 pairs here, and although this is slightly harder, 50 times 101 is anyone? 5,050, very good. So here's our secret. When you add up the numbers from 1 to 100, that's the same as adding 50 pairs of numbers, and each pair adds up to 101. And that pattern generalizes. 10 and 100 aren't special. The sum of all the numbers up to any whole number n is half of n times the number 1 greater than n. Now, if n is odd, you get something and a half on the left here, but then you'll be multiplying by an even number, n plus 1, so the half goes away again. Another way of thinking about this problem is by looking at it visually. When we represent numbers with dots instead of numerals, 1 plus 2 all the way up to 10 looks like this. 1 plus 2 plus 3 plus 4 plus 5 plus 6 plus 7 plus 8 plus 9 plus 10. And that gives us a triangle. But by left justifying the rows of dots, we can rearrange that triangle to look like this. And now we can see that it's half of a rectangle. If we fill in the other half, we can see that the rectangle is 10 dots tall and 11 dots wide. So there are 110 dots overall, and our original dots make up half of that. Half of 110 is 55. So our original triangle has 55 dots in it, which is the same answer as we got by adding up the pairs. Here's what we did this time. The sum of all the numbers up to any whole number n is the number that's 1 greater than n times n divided by 2. And that's the same as what we had before, just with the n plus 1 and n divided by 2 the other way around, which doesn't change anything because multiplication is commutative as well. Now, can you remember all the details of that argument and why it must be true? If not, then it doesn't matter because you don't need to remember the details, you just need to know this formula. It's a pattern, an abstract tool that you can use, even if you don't know why it works. Quick, what's 1 plus 2 plus 3 all the way up to 1,000? We now know that it's half of 1,000 times 1 more than 1,000, which is 500 times 1,500, which is 500,500, pretty impressive. Let's have a look at an example of an abstraction that isn't quite so concerned with numbers. This is an old map of the city of Königsberg in Prussia, which is now Kaliningrad in Russia. There's a river running through the city with two large islands in it and seven bridges connecting the islands to the North and South banks and to each other. Here's a question about Königsberg. Is it possible to walk around the city in a way that crosses each bridge exactly once? Let's try it. Here's one possible walking route. We can start on the South bank, cross all the way up to the North bank, then all the way back down to the South bank and then all the way North again. That's close. That crosses six of the seven bridges, but it misses out the bridge connecting the two islands. If we try to detour across that bridge, we get stuck on the small island and we can't reach the last bridge. Here's a different approach spiraling inwards, but again, we miss out on one of the northern bridges. If we detour across that bridge, we get stuck on the North bank before we're finished. This way doesn't work either, nor does this way where we start on the small island and nor does this way where we start on the large one. If we tried this for long enough, we'd become pretty convinced that it can't be done, but why can't it be done? What is it about Königsberg that makes it impossible? That question was analyzed by a guy called Leonhard Euler in the 18th century, and he proved it was impossible, and he explained exactly why. To see why, let's concentrate on the small island. When you arrive on this island by a bridge, you must leave by another bridge unless this is the end of your journey. The next time you arrive by a bridge, you must leave by another bridge. The number of times you arrive on this island equals the number of times that you leave unless you start or finish there. So unless you want to start or finish your journey on this island, it must have an even number of bridges connecting it to the other land masses, half to arrive by and the other half to leave by. And that's the case for all the other land masses too. We can start or finish on a land mass with an odd number of bridges, but all the other ones must have an even number. But all the land masses in Königsberg have an odd number of bridges. If we highlight the end of every bridge and then group them by land mass, we can see that the small island has five bridges connected to it, and all the other land masses have three. They're all suitable places for starting or finishing a walk, but a walk can only have two end points, so some of them have to be visited partway through. Euler noticed some other important things about this problem. The first thing was that the route you take on the land doesn't matter, just the order in which you cross the bridges. So we can disregard everything except the existence of each land mass and the bridges that connect them. The other thing he noticed was that the relative positions of the land masses and bridges don't matter. All we care about is how they're connected. So for our purposes, this arrangement is the same as this one, which is the same as this one. This gives us a structure called a graph. A graph is made of two things, a set of nodes, which are the dots here, which have no structure at all, just identity, and a set of edges, the lines connecting the dots. Edges don't have a direction, and edge is just an assertion that two particular nodes are connected. Here's an example of a different graph. A graph is an incredibly simple idea, but it's actually a very rich structure, and we can identify lots of interesting properties of graphs by thinking about them more. The first property we're interested in is called degree, which counts how many edges are connected to a node. This node, for example, has two edges connected to it, so its degree is two. This node is connected to three edges, so its degree is three. The next idea is a walk, which is a sequence of connected nodes and edges. As an arbitrary example, if we start our walk with this node, we can walk along this edge to here, then up this edge to here, then back down the same edge to get back here, then across this edge to here, then finally up this edge to end up here. That sequence of nodes and edges that we visited is called a walk. Walks give us a way to decide when a graph is connected. A connected graph is one where you can find a walk between any two nodes that you pick. If we pick these two nodes, then we can start a walk here, down this edge to here, then across to here, then up to here. So there's at least one walk that connects those two nodes. If we pick two different nodes, there's at least one walk between them. If we pick these nodes, there's a walk between them too, and we can do that for any two nodes, so this graph is connected. If we took away a couple of edges, then the graph is no longer connected because there's now a way to pick two nodes that have no walk between them. The next idea is a trail, which is just a walk where all the edges are distinct. You can't use an edge more than once. If we start here, we can make a trail by going down this edge to this node, but we can't go back up because now we've used that edge, but we can go across to here, then up to here, then down to here. So that's a trail, just a particular kind of walk. And finally, there's an idea called an Eulerian trail, which is a trail that visits every node in a graph. Now this may or may not be possible on a given graph. In this case, it is. If we start here, we can go around these three nodes and back again, then go across and up and down and back and we're done. That's an Eulerian trail because every edge got visited exactly once. Now the point of naming all those ideas about graphs is that they give us a precise way of stating the answer to the Kern-Exberg bridges problem. Crossing all the bridges means finding an Eulerian trail in the graph of land masses and bridges. And Euler showed that's only possible when the graph is connected and has at most two nodes of odd degree, because your Eulerian trail can start and finish at nodes with odd degree, but the trail only has two ends. Now in a week's time, are you going to remember all the details of that argument and why it must be true? If not, then it doesn't matter because you don't need to remember the details, you just need to know this. And we can use this result even if we don't remember why it works. For example, is it possible to drive around the United States covering each stretch of interstate exactly once? And that's even if we ignore the interstates that are only connected on one end or that lead out of the US. To decide that by trial and error would take much more work than the Kern-Exberg problem, but because of Euler's result, we can just look for nodes of odd degree. And look, I already see one in Portland, one in Denver, one in Buffalo, and that's it. We can stop. There are more than two nodes of odd degree, so there can be no Eulerian trail, so that incredibly boring road trip can't happen. Here's one last example, triangles. When you draw a right angle triangle, you can control the lengths of two of its sides, and then you have to measure the third side to find out how long it is. It's pretty clear that these three lengths are related. If you make one side longer, another side gets longer. Make one side longer again, and another side gets longer again. Make one of the sides shorter, and another side gets shorter. So what exactly is the relationship between the lengths of the sides? Well, it's been known for thousands of years. If we call the lengths of the three sides A, B, and C, then the sum of the squares of A and B is always equal to the square of C. This is known as the Pythagorean theorem, although the relationship was well known before Pythagoras' time, he just came up with a particularly simple way of proving it. Pythagoras realized that when you arrange four copies of the same triangle into a large square, that leaves space for a smaller, rotated square in the middle. The length of each side of this square is C, so its area must be C squared. But by rearranging the triangles inside the large square, you can make space for two smaller squares. One of them has sides of length A, so its area is A squared, and the other one has sides of length B, so its area is B squared. These two arrangements have the same total area, so if we take away the four triangles, we're left with two smaller squares whose combined area must be the same as the area of the larger square. You can draw this diagram for any right-angled triangle, so even if you make the triangle fatter or thinner, that just corresponds to the right-hand square being rotated at a different angle. So that's what Pythagoras proved. Do you remember the diagram I just showed you? Would you be able to draw it from memory? Well, if not, it doesn't matter, you just need to know this formula now. I've been talking about abstraction, but there's another word that might come to mind when I show you these things, and that word is mathematics. And that's not an accident, because mathematics is the study of abstraction. I've shown you a few general problems that we can solve by first solving individual examples of the problem, and then looking for patterns in our solutions. When we spot a pattern, we can use it to design an abstraction that lets us solve any instance of that problem without having to think about or even understand why it works. That's essentially what mathematics is, spotting patterns and building reusable abstractions. It's pretty popular at the moment to say that you don't need mathematics or computer science to do programming, and although I basically agree with what people mean when they say that, I do think that the words they're actually saying are wrong. Most of us have had terrible mathematics education, where we've been taught that mathematics is about memorizing meaningless formulas or symbols or mnemonics so that we can pass exams, but mathematics isn't about that. It's about building abstractions that magnify the force we can apply with our minds. So it's like saying that you don't need to know music to be able to play the violin. Well, if by music you mean knowledge of music theory or the ability to read sheet music notation or other incidental things, then of course you don't need any of that to play the violin. You can just pick one up and learn to play it. But none of those things is what music is. Music isn't blobs on a stave or theories about harmonic intervals. Music is what happens when you play the violin. And in the same way, mathematics isn't Greek symbols and strange words and remembering how to integrate every trigonometric function. Mathematics is what happens when you simplify the world by building abstractions. Mathematics is what happens when you write a program. Let me show you a more practical example of this. Here's an exercise I often do with Ruby programmers. Write some code that can compare two poker hands and decide which one beats the other. In case you don't know, a hand in poker is five playing cards and depending on what those cards are, the hand falls into a particular category. The simplest category is a high card hand, which is just five cards with no particular pattern. To compare two high card hands, you just compare their highest card. If those are the same, then you fall back to the second highest card and so on. Then there's a one pair hand, which contains two cards of the same rank. This one's got two twos. A one pair hand always beats a high card hand and it beats another one pair hand if the pair card is higher. Even better than that is a hand with two pairs and then there's hands with three cards of the same rank, then hands with five consecutively ranked cards and then hands where all the cards are the same suit. And it keeps going after that. There's full house and then four of a kind and finally straight flush. So how can we implement these rules? Well, the naive way is to pick an easy way of representing cards like a struct with rank and suit attributes and then use an ordinary number to represent the rank of a card and a symbol or a string for its suit. For the face cards, Jack Queen King, we can just use the numbers 11, 12 and 13 and we can use 14 for an ace because an ace is usually the highest card. Then we can create a hand class that wraps up a collection of cards, then mix incomparable and start implementing the spaceship operator so that two hands can be compared. To support high card hands, the common case is that we just compare the rank of the best card in each hand. I'm going to leave out the necessary helper methods here. If those highest cards are ranked the same, we can compare the hands again with the highest card removed so the recursive call will be checking the second highest cards and so on. And then we need a base case for that recursion. If both hands are empty, we'll say neither one wins, which is what zero means here. To support one pair hands, we need to mostly duplicate the code we've already written. First, we check if we're comparing a one pair hand with another one pair hand and compare the pairs, if so, otherwise we fall through and do the previous thing. Then we add two pair hands, then three of a kind, then straight, and so on. The code very quickly gets unmanageable. We're essentially just typing in an extremely large flow chart about how to compare every possible combination of hands. It's possible to do a certain amount of refactoring here to reduce the repetition, but that just moves the mess around and tends to produce overly clever, overly meta-programmed template-y code where it's hard to see where the actual work is getting done. Let's start again and think a bit harder. First off, we were using numbers as ranks, but ranks aren't numbers. Not really. You can't add them or multiply them. Queen isn't a number. They're mainly just unique identifiers. So let's make an empty card rank class and create inside it 13 constants, one for each rank. Now a rank is just an instance of this vanilla class, so it doesn't have any special behavior or structure. We can do the same thing with suits. We don't need them to actually contain the name of the suit or support any special methods. They just need separate identities. And now creating cards looks like this. If it's the sort of thing you like, you could put a little of method on the rank class so that you could create a card by writing queen.of hearts. We do need to be able to compare the ranks, so let's add that structure to the rank class. The ranks are already declared in a sending order, so we can just remember that order and then write a spaceship operator that compares them by their position in that list. Now, briefly, we can introduce another class to represent the different categories of hand. We do a similar trick with this one, a constant to represent each category and a spaceship operator to compare them. Then we can add singleton methods to each category. The matches method decides whether a hand meets the requirements for that category and the compare method compares two hands in that category. We don't have time to go into the details of how that works, but there are other interesting abstractions to discover in there. Those methods are different for the one pair category and so on for two pair and three of a kind and straight and so on. Finally, we can make a hand rank class. This is a decorator for hand objects. It adds the ability to find the best category for a hand, which lets us compare two ranks according to the order of categories and the special per category rules. So when you have two hand objects, you can compare them by getting their respective hand rank objects and comparing those. And it's good to keep this separate because two hands having equal rank doesn't necessarily mean that they're equal. Those are different ideas. For example, they might be royal flushes of different suits. As before, we can enrich these simple abstractions by building operations on top of them.   Notice that the fix num already has its own suck method that we can use here.  This one's five, six, seven, eight, nine. First, we take the successor of each card after a six comes a seven after a nine comes a 10 and so on. Then we try to pair up cards of the same rank between these two hands. This six at the top goes with this six at the bottom. This nine goes with this nine. This seven goes with this seven. And this eight goes with this eight. If and only if the original hand was a straight will end up with one unpaired card in the original hand and one unpaired card in the hand of successors. Even better than that, the unpaired card from the original hand must be the lowest card in the straight and if we look at which card produced the other unpaired card as its successor, that must be the highest card in the straight, which is what we'll use to rank it against other straights. I'm sorry, I went through that very quickly. I don't have time to explain it in detail, but you can have fun later thinking about why that must work. This technique is quite beautiful because it distills the idea of a straight down to its abstract essence, which is that its cards are of consecutive ranks. As a bonus, we also get to identify the highest card without relying on the overall order of ranks. We don't have to sort them or take the maximum or anything, it just falls out. And that makes it easy to implement straights containing lower aces.  And then we can have straights that go ace two, three, four, five, and the five will come out as the highest card, even though ace is larger than five. And then we need to filter out invalid straights, whether ace appears partway through, but that's another story. And maybe we should just call this object-oriented design, but it works by identifying minimal abstractions and plugging them together to get more complex, emergent behavior. The final solution has a structure that more closely mirrors the actual rules of poker, and you never have to do anything that clever. I watched a documentary recently where Richard Feynman said this offhand, when a thing looks complicated, it's possible that we're looking at it wrong and missing some of the pieces of the puzzle. He was talking about particle physics, which is a classic example of this. Real experiments produce lots of complex-looking results, and the challenge is to find the elegant abstract model that predicts them. To a lesser degree, we have the same problem when making software or cooking a meal or writing a novel or understanding someone else's feelings. We need abstractions to take apart the complex things from the real world and reconstruct them in our heads so that we can get some purchase on them. All right, it's time for me to wrap up. How do you make use of all the stuff I just said? Firstly, when building software, you should make time to find the honest abstraction. It should go without saying that the wrong abstraction is worse than no abstraction at all, but the right abstraction in the right place can make the difference between an incomprehensible solution and an effortless one. So pay attention to your domain, take a step back from the detail, look at the overall shape of the problem, and separate its essential features from its incidental ones. Once you recognize the true structure of your problem, you can allow the answer to naturally assume the same shape. If you've ever seen two developers write almost identical codes to solve the same problem, this is probably why. They both saw through the fog and found the problem's underlying structure, and that structure guided them towards the suddenly obvious solution. That takes time, but it's worth it because it feels really good when you build an honest model of your problem and the solution just falls out. When the abstraction works like a lever, like a crowbar, magnifying the weak effort of your mind at the surface of the problem and producing a more powerful force deep down below. It's also important to find the minimal abstraction. Even a very simple abstraction like a number or a graph or a triangle can actually be very rich and support a lot of complex ideas. So when you're making abstractions, you should start from nothing and only add structure and behavior that are absolutely essential. This is especially important in a dynamically typed language like Ruby where you have to think of the public API of an object as a sort of attack surface that's exposed to every other object in the program. So keep the number of ideas and operations as small and as honest as possible and your code's more likely to be good. Trapped inside every boring problem is an interesting problem waiting to be discovered. A lot of problems appear superficially boring but your code will be better and you will be happier if you take a little time to discover that nugget of interestingness. First you can enjoy it and then you can exploit the hell out of it. Be excited. Mathematics is exciting and beautiful and it belongs to all of us. The most powerful thing you can do with your mind is to strap it into the hulking metal exoskeleton of mathematics and throw complexity straight out of an air log. Don't waste it because you had a bad experience at school. But finally remember to keep your perspective. All of this advice comes with a caveat. Don't lose sight of why we write software which most of the time is to deliver value to users not to satisfy our own curiosity and appetite for beauty. The measure of greatness for most software is does it make people's lives better not does it contain beautiful abstractions. But those goals don't have to be in opposition either. A bit of both is healthy. Better abstractions can lead to more satisfaction for you and for your software's users. I'd like to leave you with this thought. If you can write a program you're good at mathematics. You might not choose to call it that. You might not even like it but that's the way it is. Mathematics is the study of abstraction. An abstraction is what we talk about when we talk about programming. I'm sorry to drop that one you like this. I'm not really sorry. Thanks for listening.


breaking news the Chicago Bears finally oh my goodness this has been like the longest time coming they finally trade the quarterback Justin Fields and they traded him to the Pittsburgh Steelers so now he while he makes more money than Russell Wilson he will be sitting behind Russell Wilson he'll be with Mike Tomlin he'll be in a completely new environment completely new situation but Justin Fields is a Pittsburgh Steeler before we get into this whole thing and what it's been and what it is and what it's gonna be make sure you subscribe to the channel turn your notifications on so you don't miss any updates like this or really just anything going on with the NFL in general and turn notifications on and leave a like on the video let's let's run them likes up baby but anyway getting into it the compensation the Bears are trading Justin Fields for a 2025 not not even 24 not a pick this year they trading him for a 2025 six round pick that goes to a fourth round pick based on playtime so this is a conditional six round pick in 2025 you can't tell me they weren't trying to get rid of him they they wanted Justin Fields going quick fast and in a hurry but nobody was buying going into this offseason there was talks about old all the bears gonna keep Justin Fields all the bears gonna let Justin Fields go they had the number one pick we all knew they weren't keeping Justin Fields we all knew that I know they were Bears fans that were holding on and I get it I get it your team drafts a quarterback high you want that quarterback to work out when your team drafts them high so I get it but the Bears said no we don't want them anymore it's a cold business it's a cold business but it's a results driven business and if you don't produce and that's that that that's a wrap not say Justin Fields didn't put up but winning really that's what mattered the most and I guess they felt like you know what we're looking at you Justin Fields we're looking at these quarterbacks coming out the draft will it be Caleb Williams probably but we're looking at them and yeah we're gonna move in another direction and this is um interesting because Justin Fields rookie quarterback he gets traded to well he was on his rookie deal excuse me he'd been playing for what two years he gets traded to the Pittsburgh Steelers the Pittsburgh Steelers they just got rid of their quarterback like two years into his rookie contract that being a Kenny Pickett and like and Justin Fields was um it over the past couple of days he saw the Bears they just added um they added a Kenan Allen they added him from the charges so it's looking like okay nice little weapon over there but they were like Justin it ain't for you that ain't for you but with Kenny Pickett um he just left the Pittsburgh Steelers and it's a crazy situation because when they signed Russell Wilson that's when it was officially over for Kenny Pickett whether he stayed with the Pittsburgh Steelers or not but and you know what now with Kenny Pickett it was like a lose-lose for him because they signed Russell Wilson so that was the end of that for him that that officially confirmed like oh Kenny Pickett you are not the guy for the Pittsburgh Steelers and you never will be and it's hard to say it like that but that's how the Steelers that's how they addressed it they signed the veteran quarterback so then if he would have sat behind Russell Wilson he still wouldn't have been the guy but then he gets traded he gets he still stays in Pennsylvania good for him but he gets traded to the Eagles so now he's sitting behind the quarterback who just recently got paid who ain't going nowhere and now you're the backup to him so being is this gonna be his situation moving forward just being a backup we're gonna see we're gonna see but it's like this reminds me you know those those Madden youtubers those Madden youtubers that make videos based off of the game Madden and when they do what's called a rebuild so they'll take a franchise they'll pick a franchise that has a good amount of cap space that hasn't really been successful that's not really loaded with players anything like that and they'll just start working on them that's what this seems like to me because you got a veteran quarterback again Russell Wilson sounds like one point something male super cheap and now they added Justin Fields a young quarterback and he's I mean he's dealing with rookie deals he's getting like three male this year and those are your quarterback so now it's like alright I'll try Russell Wilson I'll see how that goes if that doesn't work we got Justin Fields and we could try that in the future too so it's very interesting how Pittsburgh is doing this thing I am glad again that this is officially officially official I think everybody's glad that it's officially official because now we don't gotta keep hearing about where's he gonna end up now with the Chicago Bears Adam Shepter said this pretty much locks them in to drafting the quarterback I mean yeah well of course of course because bears a bears they know they're low on stuff up there too now man so the bears like they they trying to get their quarterback ready so with the Chicago this just icing on the cake but again with them trading a with them getting a conditional six-round pick conditional six-round pick not even this year but in 2025 so they like look just just give us something please we don't even care what it is just give us something so we can move on and this can be done so just as much as us as fans were done with this whole thing ready for it to be done the bears they were even more ready than us fans for this whole thing to be done but imagine what Justin Fields is going through poor guy you think about it from his point of view because this is the player that there's been all this talk about and then there was all the old Justin Fields why you unfollowed the bears on Instagram he's like oh yeah just because you you don't follow a girl on Instagram don't mean you're not talking to her and yeah we saw how that ended up oh man poor guy man poor guy but hopefully for his career sake this can be the resurgence because he could possibly depending on how this thing shakes out he had he'll have to play the long game for sure he'll have to play the long game Russell Wilson is obviously not the stealers long-term option at the quarterback position he could retire any second now any second well he obviously ain't gonna retire this year but he retire whenever he's getting like 38 mil I think this year for the Broncos some some crazy like that but so he ain't worried about money but he's on a one-year deal and it's like I show me what you got Russell Wilson all right cool if it works out cool what the most that he may stay maybe three maybe two three years I don't even think it'll be that long just that's just my opinion though but if it doesn't work out then Justin Fields is still there then he could be like hey let me show you what I could do I mean I was the first round draft pick for a reason like I could do some stuff in this league like just just watch me so this is an opportunity for him while he sits behind Russell Wilson just to develop to really try to develop as much as he can and it would be limited development I think because you can only develop so much in practice that's where it starts but you want to be out there on the football field you want to be out there in games and whatnot so and oh by the way that conditional six-round pick he can go to a fourth round pick based off of playing time so we'll see how that goes as well I mean but either way for the Pittsburgh Steelers it ain't like it would be a big loss anyway of a draft pick it's either a sixth round pick or fourth round pick okay cool that that ain't nothing so um but yeah with Justin Fields if he plays a long game and he plays it the right way he could possibly have an opportunity to take over for the Pittsburgh Steel because he's still super young Russell Wilson is not young at all so he got to think about it that way and I think that he will much much different situation but again back to the Madden rebuild it's like that somebody took over the Pittsburgh Steelers and they like you know what we just gonna we're gonna start over let's blow this thing up let's start oh they just got rid of Deontay Johnson they traded him to what the Panthers and I don't even know how I missed that the other day I missed that trade the other day I didn't even know about it until yesterday I was like whoa how did I miss it but they got rid of him and again Kenny Piggie they like I just just move on from him so yeah so here we go we're gonna see what happens with this whole thing oh I just said this the Steelers catchphrase and I didn't even realize but yeah so Justin Fields congrats I'm glad that he gets to move forward in his life now because it's one of those things where if you just one of those things you keep hearing about especially if it's if it's about yourself and your business your work your job your your your profession and you got to hear rumors about it every single day what's gonna happen rumors about it every single day where am I gonna go where am I gonna end up where what team am I gonna be am I gonna stay with my own team am I gonna go to a new team what's it gonna be oh the Eagles interested in me oh okay yeah hey feel these cool oh oh Eagles all they trade for somebody okay okay alright who's next so it's like the Eagles and the Steelers these these feel it excuse me these Pennsylvania teams it's like they just playing musical chairs with who they interested in and who they gonna ship off to here and there and everywhere so but it's done now it's done and so is this video


So that's it. So whenever we last class, at the end of the last class, we were discussing how we use, you know, we gave a Hilbert space interpretation to the path integral that defines the formality of the area on the two-pronged area. And at the end of the last class, we were discussing how we can compute the commutative relations between the generators of the Bayesian graduate. So let's remind you of the limitations. We have 3 of z with the sum over n, ln over z to the power of 2. This defines ln when we make this expansion in the z plane. If you want to know what t of z is in terms of these ln's in the w of ln, then we'll just apply the usual conformal transformation determinant. In particular, you pick up a minus sign, apart from the usual shift of ln's. You pick up a minus sign to remember that you picked up a factor of, but you could have an expansion, up to a shift, you could have an expansion like t of w, even minus sum over n, ln into the power of i. I think I put a plus minus wrong. The additional factor of minus z's where it came from the conformal transformation that worked even for a primary field. And then there's also the fact that here in n0, we would have an n0c by many four or five, but that would be the same as we discussed. So these ln's, in everything we're doing, are defined by the ln, the expansion coefficients in the z plane, and they turn out to be whatever they turn out to be entirely. This is not a convenient way to work, because now once you've got this definition, you don't even know what they were in the landing plane. You just work with this definition, never refer to the landing plane, except for concession questions. Because for the answer, when we eventually use this, we may want the insertion to the landing plane, in which case then we'd have to work out what the insertions were interested in there, and that was at least this. But at least one can, you know, all intermediate results, you know, if you get it. Then we set up the calculations for ln commutative. And we said that this thing was equal to integral dz, dw, z to the power n plus 1, w to the power n plus 1, 2 pi i, okay? T of z, t of w. The first term had n acting before, and therefore at earlier times, the n. So n was associated with w. So the first term we had this being the w and z, the z counter. Minus w counter that is unchanged, and the z. So just one more, one more, and before we get to the end of the calculation, just one more concept in one's mind. Remember what this expansion meant? As we discussed last class and this expansion has a greater expression in the Eisenberg picture, it's just always correct. Expansion is not always correct for correlation functions of t. If you have correlation functions of t, this expansion asserts that t is an analytic function whose only singularities are 0 and infinity. Okay? But correlation functions of t are not analytic functions whose only singularities are 0 and infinity. In fact, the analytic functions of singularities are at points of insertion of other operators. Expansion is a great way of not crossing other. Okay? So in computing l, m, n, that's why we have something non-trivial in this calculation. In computing this first graph, l, m, n, we have this, where this is an active representation of this quantity in that vector. Similarly, this is an active representation of this quantity in that, in this order. Had it been that t of z was everybody completely analytic, you know, in the beginning, regardless of w, then these two contours could have been, had they defaulted to each other, cancelled. Okay? So this is something that's of course very important to keep in mind. That correlation functions of t will not have this form. You know, we have, are not always analytic functions. They have singularities at points of insertion of other operators. Okay? So, so, so let's go. So what we want to do is, we're still doing this calculation, this combination. But then we talk about our strategy of doing this, this calculation. Our strategy of doing this calculation was to fix a particular point in w, let's say this point. And then, default the z contours, sorry, it's about to be done, default the z contours so that this one goes to, you know, surrounding here and then line of the boundary function. And this one goes to surrounding here and line of the boundary function. So that this calculation was the same thing as the calculation of the z contours going like that. That contours, it picks up the residue, cancelling one factor of 2 pi i. And so we have finally that lm, lm is equal to the integral dw over 2 pi i of something. What's the something? The something is the residue as z goes to w, the residue in z, in the variable z. As z goes to w of z to the power u plus 1, w to the power u plus 1, g of z, dw. This quantity is a residue in z, so it's a function of w. And that function of w has to be, let's carry this through. Let's compute this, this rest. So in order to compute the residue, we know that z to the power u plus 1 is a completely analytic function of z at w. And so the only possible places of non-analyticity, the only possible sources of non-analyticity are non-analyticities in this, in the two-point function between d and z at w. Any contribution to this two-point function that is analytic in z minus w will not give us support here. So we can ignore this. So it's only the non-analytic pieces that are of interest to us. What were the non-analytic pieces? The non-analytic pieces were d of z, d of z equal to c by 12, sorry, c by 2, z minus w from the cube, plus 2t of w, z minus w from the square, plus del t w, that's 4, c by 2. You might think, I'm the only pole in this piece, but that could not be accurate because we've got a double pole here which will give us a pole when we take the expansion of z to the pi n plus 1 about z equals w. So let's write that data expansion. So z to the pi n plus 1 is equal to w to the pi n plus 1, plus n plus 1 into w to the power of m plus, in time, z minus w, plus m plus 1 into m by 2 into w to the pi minus 1, z minus w equal to the square, plus m, m squared minus 1 to m by 6, w to the pi minus 2, into z minus w, thank you. We don't need to go further than this order of the data expansion because the maximum singularity was z to the 4, so this is the largest term that can give us a pole. So now let's multiply this with this and isolate the coefficient of 1 over z minus 1. So we get 3 terms, we get this multiplying this, this multiplying this, and this multiplying that. So the 3 terms are c by 12, m squared minus 1 into m, this thanks that side. So 2 m plus 1 into t of w, plus the original power of w, right? So this was w to the pi m minus 2, this was w to the power m, w to the power m, and we also had overall, right? We have w to the power n plus 1 into t by, so multiply everything by w to the pi, because this was going wrong, just w to the power n and then, plus f t of w into w to the pi. So that is this, right? This is the quantity that we have to multiply by d w by 2 pi i and integrate over the power, what is this stuff? Of course, what we do is, we consider integral of either constant or t, so this can be written once again in terms of l, okay? So let's see how we do that, so let's first take the constant. So the constant term is w to the power n plus m minus 1 into c by 12, integral d by 2 pi is the 0, unless n is equal to 0, in which case we have to contribute to the power, then we want, okay? So this is equal to delta of n m equal to m times c by n minus n, that's called n plus m, actually both very similar and can be converted to each other, but that's what I'm trying to do. This is w to the power n plus m plus 1 to t of w plus w to the power, and this is into 2 into n plus 1, plus 1, plus w to the power n plus n plus 2, then integrated d w by 2 pi i. Okay, now we should really substitute each of these expansions, each other in the power series and there is, this is a little trick that helps, that little trick is an integration by parts, okay? We've got a derivative of d, we should, we put substitutions in the derivative of d in the expansion, but it seems similar to just integrate this by parts, okay? By parts, what we get is a minus side here and derivative of this. Now, this minus side of the derivative makes the power the same as that, but makes the constant, which was here 2 into n plus 1 minus m plus n plus 2, which is w to the power n plus n plus 1 into d w by 2. No, so the 2 is cancelled, so the question is 2 and 2 cancelled, so we get m minus n into w to the power n plus n plus 1 d of w d w by 2 pi i.  So, if you wanted the coefficient of z l m, you multiply by z to the power minus 1, okay? So, this is z to the power n plus n plus 1, then it goes in.  Okay?  The combination relations between the conserved charges defines the symmetry algebra of the theory, just like the combination relations of the SC2 generators defines the symmetry algebra of any theory with rotation. Okay? So, this is telling us what the, you know, this is telling us a lot about what we can say about the theory of the symmetry, there is a very important relationship. Okay? It's a physical point that I'll bring up now and I'll also be talking in the end of the lecture, I'm a little clear on that, but anyway, let's, let's talk about it. And that's this. Some of you might be wondering about the formula. You know, when I was a student, there's a kind of thing about formula. Look, the formula transformation is just a formula. It's just, you know, one of these analytic coordinate changes. And so if you want to robot the algebra of these coordinate changes, it should be very easy to do. You rather than make the field to generate support, we know how to do that. Without the before, it's like z to some power times z is the power, z to the power n plus one or something times z times z is the generator. Let's, well, we'll get all factors right. So, something like z to the power n plus one times z is the generator for n to the power n. So, if you wanted to sit and compute the combination relations of these symmetry things, it should just be computing the combination relations between these two vector fields. And then you get whatever you get. So, instead of doing the fancy calculation, why don't I do that simple calculation? Okay? You get an answer and the answer doesn't have to be exactly the same as this but without this fact. Okay? Now, this might seem like something money. What's going on? If the symmetry in question was that these coordinate changes, how can the final symmetry algebra not have the algebra of these coordinate changes? Certainly, this thing did have rotations. The generators of rotations are going to be the same symmetry algebra, but there's no special information. We demand the variables to surprise. So, what's going on? How can it be, how can it, you know, all of this sounds very like a lot of fancy mathematics, but how can it make any sense? Okay? And the important point here that's missed by this news argument is that the coordinate transformation is not just a coordinate change. It's a coordinate change plus a wide change. Okay? If you make a coordinate change, if you make a coordinate change, you also change the metric. Right? So, you make one of these conformal coordinate changes. You also change the metric in theory. And then you have to rescale your metric in order to put the theory back into a theory with flat space. A conformal transform, remember conformal transform in theory is, you know, when we're making these transformations, we are also changing the metric of which it is. So, a conformal transformation is the product of these two things, these two operations. Okay? We were assuming that the wide transformation did nothing. Okay? It's just a product. It's just a product. It's just two operations. One of which is a coordinate change, the second of which is a wide change. And you don't want to say something about the global structure of the group when you think about it. So, you see, the stress tensor, the oh, you see, this part of the commutation relation that came from the most singular piece of the stress tensor, the GTOPE is actually telling you how T transforms under wide transformation. This part is just the transformation of the stress tensor under a coordinate change. Okay? This part does not have a coordinate change. If you just make a coordinate change, that's not how T transforms. So, it must be, since this is related to how T transforms under a conformal transformation, must be this part is telling you how T transforms under a wide transformation. What's happening here is that the wide transformation that is needed to put the theory back in the flat case method is not acting truly linear. That's this additional bit that is giving us this additional value. Okay? So, this thing is completely physical. This part, this transformation is not just a coordinate change. It's called the change for something else. The combination of all the changes is giving us this, the combination of the wide transformation. Okay? That's what's going on. We will see this in more detail in probably many of these videos where we will use this by view of ethics. Okay? Well, there's no contradiction. It's all perfectly sensible and makes sense if you think about it correctly, cleanly. Not losing it. So, this is the data sort of algebra. Any questions or comments? Let us use this data sort of, sort of a value problem. What was special about primary states? Now, you know, whenever I define a term for an operator, I would often, without telling you about it, use the same term for states. And the understanding is always this is the inheritance under the state operator. So, we define the primary operator as an operator that has only singularity in the TTOP. It is that of the square term and the linear term. The particular forms of the, sorry, T operator operator. The particular forms of the, of the rest of the corrections. Okay? Now, we, where any state that is due to an operator that obeys such, obeys the fixed-end state and the operator is going to be called the primary state. Okay? I want to understand what I can say about the action of these N operators on primary states. Primary states. A primary state by definition is obtained by, is the way it comes to that as obtained by inserting a primary operator of at the origin. And we do the bottom table after some points. Let's say Z equals 1. And we get some state. Understand what I get when I am on the state. I should act with the operator, act with the operator T of Z, Z to the pi n plus 1 by 2 pi i on over 0. This one, this, this, this this one, this integral is regular over this part you will see. What I see, I don't care what it is. It's just some quantity that's set up to 0. You know the answer doesn't depend on what quantity it is because everything's empty except it's 0. I could know on such issues that apartment state is, what is lm on 0? lm on O. Let me learn some notation. Suppose I got an operator O, the state corresponding to that O. Put that operator in. Yes. So I am going to compute lm on O. So lm on O corresponding to that O was a primary. So we'll see what we get if it was not there. Let's assume for a moment that O is a primary. So we get T of Z times O is H of 0 divided by Z squared plus delta O divided by Z times Z to the pi n plus 1 DZ divided by... I should be picking out the pole. I should be picking out the pole. I've made an assumption here. I've made an assumption this calculation is correct. This calculation is correct provided that m is greater than or equal to minus 1. Because m was less than that then I get contributions to this operator problem. I am going to get contributions that involve analytic terms of the operator problem. Cancel the non-analytic insertion. m greater than or equal to minus. This calculation will only receive contributions from the non-analytic states of the operator problem. These non-analytic states are under complete control. So that is what we get. This term clicks if m is equal to 0.  This term clicks if m is equal to 1.  Can we just using the primary operators for this case? Yes. We will see that in just a moment. The statement is that as day is not true but a relationship is true. So this calculation was true for all m greater than minus 1. This is non-zero only for m equals minus 1 and m equals 0. So let's this work. So this 1 on O is equal to m. Actually this statement is not true just for primary operators. It's true in complete generality. So as we said, any local operator the whole part of the T operated expansion is definitely operated by an operator. So this one will always work. We've also found that L is 0 on O is equal to H times O. So this is true in greater generality than the primary operator. This will be true for any quality operator. But this is rather generally true. These two statements are quite generally true. But this state L m of O this is O not 0. This is the state O is not 0. O is equal to 0 for all m greater than that. Crucially it was the fact that there were no singularities in the OP beyond inverse quadratic. In order to understand what its physical implications are I'm going to ask you to remember what these L m's were on the cylinder. Remember that we had T of that to be equal to L m over back to pi plus 2. Plus 2 was taken away by the conformal transformation business and we got a T of w which after some shift was even pi m into w L m. The important point is the following L 0 is the zero mode of derivative and we integrated over the cylinder and we added to L 0 pi actually which gives you the energy of the theory on the cylinder which seems to perform many times. Now let's look at what we got for the common. Remember the physical interpretation of L 0 was the energy of states or the left moving part of the energy of states. So the energy plus moment. Now let's remember what we got from Virasov. We got the computational reaction to L m L m is equal to m minus n L m plus n plus m squared minus 1 into m by 12 is it? c. By 12 c delta m plus n 0. n equals c. When we get n equals 0 we get L 0 L m is equal to minus n L m that tells us that modes L m have energy minus state of energy e with L m. The result state is energy e minus n. Therefore L m's with all n's positive are operators that lower the energy of states. Whereas L m's with all n's negative are operators that raise the energy of states. Is this correct? This is just telling us that operators that we face correspond to the driverly operators are good. So what does it mean that L m or 4 is equal to 0 for all positive energy? Now let's think a little group theory. You see whenever you have any group implemented in the quantum field theory you can take the Hilbert space of the quantum field theory and decompose it into irreducible representations into irreducible representations of that energy. If you have a question that does not commute to the energy but has not the operators and the aspirant questions that we can see don't commute to the energy operator out there but non-trivial computational representations, the energy operator in both ways as well as other energies. In the quantum field theory, in a sensible quantum field theory I mean we often demand, certainly in an initial field demand that quantum field theory have a lowest energy state. That we can act indefinitely with the energy of lower operators on any state. We have a class of distinguished states in the theory such that these states have energies that cannot be lowered further by the operation of the symmetry. We have seen that these states, some states are exactly prime presidents. But we have not seen that in the words we have done we can easily run them through the algebra. You see, suppose we had any OP coefficient let's say it's like a 1 over z to the k that would give us a non-zero action of some error with something positive. I have not said it in these words but it's the extension of what we've done to see that. So that says that if it is a quasi-primary state it should be a primary state. But we've already argued that it's always possible to use a base. So you're right. We could take two primary states with different weights and take any of the combinations of them that would technically not be a primary state. I would still have a condition that is evaluated by ordinary operators. But what we have argued effectively is that it's always possible to choose if you take the states of space of states that is evaluated by all positive elements then it's always possible, that's a linear space. It's always possible to find a basis in that linear space such that basis elements are because it's always possible to find a basis which is quasi-primary and then that's fixed. But can we just take the proof that we can always choose a quasi-primary state? In this space, because we've already seen that it's always possible to find a quasi-primary basis in the whole space. So you now want to know whether it is or whether that's it. You're right, though I'm sure since you've made the proof let's see if we can do it on this one. So you're asking, well of course I've got a set of states that is evaluated by all ordinary operators. The question essentially is can we diagonalize the energy operator in that set of states? Is it quasi-primary? Yeah, it's more or less here. You see, what does 0 mean that the OP between T and O would not have a higher term than one-wise that's correct? That's correct. So that's correct. So what he's asking is couldn't be, let me guess, what he's asking is that well, suppose we put that condition then all that we know is that the maximum or singularity of OP is one over 6. So any such operator has the property that T of z on O is equal to let's actually make the OP. It's some other operator. So some other operator of O tilde by z squared plus del O by z. And but in that definition of an operator to be primary we require this OP to be the same as OP. You see I'm getting the wrong kind of basis in such states that how do you know? Well, you see firstly firstly notice that this is to be true it must be that O tilde has the same weight as T. Same dimensions because T is dimension 2 or has some dimension. So these two sides have the same dimension O tilde has to have the same dimension as T. And because this is the dimension of this side of the OP is dimension of O plus 2 we've got the 2 from 1 over z squared. So this has that same dimension as OP. So O tilde is some other, the state corresponding to O tilde is some other state in the Hilbert space of the theory. The same energy. So what you have here now is now let's try to make a basis change in the space of L0 the state O will be the state O tilde. But L0 the state O will be the state O tilde. L0 of the state exactly. Exactly. And at 4 you're definitely going to get more dimension. Then we're just diagonalizing the Hamiltonian in that. Right. So let me say again what we've concluded. We've concluded that there must exist a distinguished set of states that are evaluated by all energy lowering operators of the theory. Lm is greater than 0. And it's possible to find a basis of these states such that in this basis the states are due to primary operators. Now in any state in the Hilbert space of the theory given any state in the Hilbert space of the theory let's act on it with lowering operator. So run out the energy minus infinity or you'll reach one of these states. That every state in the Hilbert space of the theory can be reached. It is possible to take any state of the Hilbert space in the Hilbert space of the theory and act on the sufficient number of generators of the symmetry algebra in the distinguished states. Let's draw what we've concluded. Suppose we draw the primary states of these special states which are evaluated by all the operating operators by these horizontal lines. We set all the states that we can reach from these primary states by the action of the symmetric states in the symmetric energy. What do you get from these states? You can act on the energy by some energy raising operator. You can then act by lowering operator. That is redundant. It's redundant because you can then take the lowering operator through the raising operators until you annihilate the primary state and we let the only terms in terms of raising operators by using the commutation detection of the theory. So what we do is we do it with J minus and J plus by computing commutators. You can generate a whole set of states by taking this primary state of the Hilbert space state and acting by all the energy raising operators in all possible ways. This may not by itself be a hundred straight things to do. Certainly you can do this. All of these states will give you some powers. Take these states here and by acting with lower operators you can go back to the primary unless the state is null. Unless something very funny happens which we already discussed you know recently genetically that you get an idea of these states go back to the lower states and get to the primary. So this is the structure of it. Also it's clear that there's no limit to how high the scale goes because you can act with N1 as an index, N minus 1 as an index or N minus million, N1, N minus million at all. You just keep going. Yes, that's an assumption. The structure of the Hilbert space of the theory has this structure. There are these distinguished lower state states, primary states and then you build up modules all of them for the group. Module means just means an irreducible representation and irreducible representation that you get acting on this lower state state by all of the raising operators in any way you want. All of these objects are related by action of the symmetry. These states we have played from one another by action of elements of the symmetry algebra so in the same representation of the algebra. Things that you get from different priorities are not related to each other by action of elements of the symmetry algebra and form different representations. The structure of the Hilbert space of the theory goes as follows. The Hilbert space is divided into a bunch of modules or representations each of which is lower and limbled by its primary state. So the question you would ask is that it's not true that you have races in the Hilbert space which is spanned by primary operators. But it is true that you can find a basis in the Hilbert space that is spanned by primary operators and use for all positive elements. Just from symmetry that's good enough for the ordinary purposes. Any state that is not primal is called a descending element. It's a descending to perpendicular primary state. If you know everything about that primary, you know everything about that for instance, if you know the energy of this primary state and you want to know what the energy of the descending is, well suppose this descendant was L-20 acting on the primary we know that there was an exact statement that L-20 has energy of primary plus 20. The energy of L-20 of the primaries, 20 plus the energy of the primary. So we know the energy of L-20 for instance, if I do a full spectrum of the theory. If we do a spectrum of the primary states, that would be enough. Everything has a dimension. It's also true of some statement like it's also true of correlation functions. You know these correlation functions of these guys can determine the correlation functions of descendants by acting with differential operators as some part of what we discussed. But how do we know that we can never have a state which is actually two modules and then in both the modules how do we know that this thing you see the basic point is that we can go up and come down. But maybe you can come down to some other primary operator. No, no, no. You see coming down is the reverse. There is actually one subtlety associated with null states which we've not yet gone through and which is related to the question. But ignoring that, let's give a nine thousand first. So see, suppose this state was related to our primary but we actually have some elements. So let's say first L-M1 is L-M2 after L-Mk acting on some primary. Is there a way by acting on this state with lowering operators so that the resultant state is primary? So now this question is completely algebraically answerable because what does it mean for the resultant state to be primary? It means that all raising is annihilating the state. So I'm going to ask the following question. Can I act with some L-M2? So that the next result is that L-M2 for all positive K, that K is just no, okay, this is that L-M2. So there is just one way of doing it. And that one way of doing it is as follows. Suppose we choose lowering operators to kill all these so that we just get rid of all of these. That will do it. But in that case we just reach for primary P. Now I want to ask you, there is no other way to do it. Basically as follows. Suppose you've acted with some raising operators, lower operators, to kill some of these else but no. You know, you can always, suppose you've acted with lowering operators, we always take the lowering operators through. When they reach for primary, they kill it. So whatever we have in the LKP written as some number of raising operators on the prior, some raising operators are left or they are none left, then we reach the primary question and we act. But if there is something left, let's suppose as an L-M2 left, okay, then I'll act with an L-M2 on this state. Now according to the, according to the V-R-M2, L-M2 and L-M2, then I'll take the commutator, this thing I had as a primary. So L-M2 and L-M2 is something very concrete. What is it? It's 4Lg, exactly, plus some C into yeah, some number. So I say it was some number, yeah, 3 by 2. Acting on this state, okay, that allows this number to be the same as this number, then unless that is true, okay, then what we would, what we tell is that it's impossible, right, that this is not true. Now these can sometimes happen. They relate it to the existence of other states. And what the structure of the different space becomes then is more complicated. Okay, well what happens is that there are some states here that, then what, what actually, okay, let me just tell you the answer of what happens then, and we'll come back to study in a little more detail in a little bit. You see what can happen exactly for this piece that we will create this class, is that there is a state that is both a descendant of a primary as well as a primary descendant. The reason that although you reach it by acting with raising operators on some primary, you cannot reverse that that ascent because the state that will reverse it actually gives you zero. But it turns out that whenever this happens actually we probably see that when you say, but I won't try to do that now. So whenever this happens, this state has zero this state and all its descendants have zero more. Okay, so if you're really interested in a unifying quantum field theory, but no states, no physical states allowed to have zero more, you should delete these states from the spectrum. Those states are unclearly there. Okay, but I even take two points from your ideas on an unacceptable spectrum or that it's a pneumonic for a spectrum which does not include this in the concept. Okay, in that situation what happens is that the structure of the interviews of the representations of the bigger sort of algebra, at special values, see there's a special values of L0 and C, you get representations that are different from the generic ones. These represent, you know, the generic representation you've been able to act with all the LNs which are raising in an unconstrained fashion. For these representations you have to predict yourself having to get mouse patients who are supposed to be single. And these states are different. Okay, so the next conclusion is the same. What happens, there is a single primary for every real state in the theorem. Because these guys could have ended here, they would exist. So this may not have been terribly clear. We will get back to this at some point, but any questions at the moment? Just to clarify. I mean, for a generic representation without this outstakes, is it true that the primary is unique? There's only one state for one real state representation. Yeah. But for higher dimensions? Ah, you're wondering about representations of the ER. What happens to representation of SOD? Now, in this case, these two do you have a representation of SO2? Good. Other questions about this? Partho, are you... Okay, some good. Other questions about this? Before we go back. This is a very important. You see, the way you do it is that you know, generically, you get some state by acting on a primary state with enough number of elements. However, for these special representations, you know, in a repair, these states are deleted, by acting with these elements in that state, you just get zero. Now, we can make the same statement about correlation functions of operators. How elements act on operators, just by some differential operators. Okay? So some combination of differential operators and any correlation function of these special operators must be zero. So I can see differential equations for correlation functions of these short operators, which then and always gives you great control over the solutions of the correlation operators. Okay, so that's a throwaway remark. Okay, so any other questions or comments? So that's my primary operator's perception. There was a perception in the sense of representation. Let me now demonstrate something we use in the dedication of the stress tensor, stress tensor over here. And there's something, while this became, in any unitary theory, the dimension, the scaling dimension, the scaling dimension of every local operator is strictly greater than zero. And that's a unique operator of dimension zero, namely the identity. That demonstration is very recent. Okay, suppose I have an operator given a scaling dimension. You don't care what it is. It's always possible to choose the basis of operators in there. Given a scaling dimension. Okay? Let me call that operator O. And let me act with L1, L minus 1, and let's say that O is a private operator. Let me first study private operators. So we have L1, L minus 1 acting on it. This is equal to 2L0. There's no central charge term here, because remember there was an M at any square minus 1, then square minus 1 is 0. Let me sandwich this with an O on both sides. Now this how do you take that term? It's just exactly, it's just O, L1, L minus 1. Obviously, the other way, L1 and L is private. And now we bring something important to that. Let me first make a statement and then we have a discussion. L1 is the permission conjugate of L minus 1. Let me go ahead with the statement and then we'll come back to our discussion. Okay, because of this positive element, with this 2H and OO, this is positive element. In theory, it must have a positive scaling dimension. Of course, our proof of the statement is 0, but A is over the private operator and B, that is 1 and we should conjugate it. Let's address the first thing. Since we proved that every primary operator has a dimension greater than 0, it immediately follows that every operator has a dimension greater than 0. Because if there is an operator with even negative dimension, then there must exist a primary, because you can keep lowering the energy of that operator. The assumption was not restrictive. What about this L1 being the permission conjugate of L? Manifestly true. This is manifestly true because of the way we are doing our organization. Remember that in the expansion of the stress tensor in terms of W, what was that? Let's go back to Minkowski's case. What do we have? We have G of sigma and tau. The stress energy operator of the classical stress energy function of sigma and tau was taken and just fully expanded. It was taken and just fully expanded in the modern fashion.  In this classical expansion, we demand that t is a real function. That demand of reality lets us the complex conjugate of t is itself. But in complex conjugate, this function we get minus i m sigma plus. Sigma plus is just tau plus sigma. Similarly, here in complex conjugate, this function we get minus i k l k. So how do we ensure that the stress energy tensor as a function is real?  Sigma plus does not become sigma minus. No, first motion. Sorry, l. Similarly, l minus k is equal to l k star. Now this statement was about classical functions but of course it becomes promoted to a quantum operator. The condition of the cylinder is the same. In the quantization of the cylinder, this condition was manifest. What we are doing on the plane as we have seen repeatedly is implementing this quantization in a more linear path. Defining norms of the condition conjugate on the cylinder. None of this changes. That's why we have to be very careful to define t as equal to l m over z phi plus 2. This plus 2 is what relates this expansion to this expansion. Of the transformation, the primary path of the transformation between the w and z plane. You might have thought why not take t and expand this l m over z to the phi m. You can do that with an l m and n minus m. It will be a pain in the neck. Working with the dimensions that we have been working with, whether doing things carefully, these things are all omission transients of each other. In addition, we have one of the statements I used before, namely that in the eutriquant with every local operator as positive norm by the way, let's understand something a little more clear. Suppose h is 0, that implies an l minus 1 on over z.  At the beginning of this lecture, that l minus 1 on over will be 0. If and only if the operator is at the top, then 0. Both 0 and 0 are at the bottom. If and only if the operator is a constant. It's the identity operator. If you reach the most sophisticated conclusion, there are interesting local operators in the theory, these ones. Which although operators, but always have an antihologmophic way to see. Moreover, the only operators that have antihologmophic way to see are operators that are above. Any operator that has a weight of the form h comma 0 must remain the equation. It's not that operator. So it's worth saying many times. And of course the crude version of the statement is that an operator with both weights equal is necessarily constant. It's only one such operator. There is hope to start on new discussions. So the plan for now is, in today's lecture, I'm going to complete every general bit of discussion about conformity in the next one. From next lecture on we start discussing specific performance details. We'll start with just a free scale theory in detail in this language. And we'll try to see some of these abstract arguments work out in more concrete way. But today we must really complete our general discussion. So there are two things that I wanted to say about conformity in theory in generality. Both of which have to do with the importance of it. I'm not even trying to do some of these exercises. I'm going to suggest exercises for you. I request you really to do these exercises. It's the only way we can get to anywhere real. First thing, I want to suggest one thing. This is effectively what we need here. Remember we said that we have primary state at the age. There's a primary state and then there are states obtained by acting on that state with the n minus 1s. Also states that we can get. This has energy 1 and 1. What about states with energy 2? The two kinds of states we can get.  First we take an arbitrary level to state. First we scale. What I want to do is try to understand the structure of inner products between states that are descendants of the same product. We already understood the structure of inner products at every moment. We found that there's only one state. Firstly, there are no inner products between states at different levels, vanishes. Why? It will become l positive. It will become l positive. There's a combination relation with n positive. Acting on primary operators. Of course this is a very general state with the general rules of quantum mechanics. Now we can prove a solid. Suppose you got something at level 8. So this energy is h plus k. And we are looking at something whose energy is h plus k prime. k prime is not in the k. Then insert l0. l0 is a mission operator. This way it produces h plus k prime. This way it produces h plus k. Unless h plus k prime is h plus k, this inner product is c. This is standard application of quantum. So this product is inner product. Let's say that we work with the normalization such that the inner product is primary with itself as 1. This inner product of l minus 1 on the primary with itself is it's 2h. And we've got a constraint on h from the requirement of this p positive. Now let's say we go to level 2. Suppose we go to level 2, we'll have two states. We'll have l minus 1 squared and we'll have l minus 2. And we'll have 2 cross 2 matrix of inner products in these two states. There's 2 cross 2 matrix of inner products in the computer. The bit is c relations to the l's and the wave as a branch. I want you guys to do this. It's a little calculation. Compute this 2 cross 2 matrix of inner products of states. Add this computation in your hand. Suppose you have this computation in your hand. What requirement about what requirement does unitarity impose on the state? But unitarity requires that any linear combination, any particular state you take has positive value. The state that you take is some linear combination of these two vectors. The fact that every such linear combination has positive norm is a statement about what this matrix is. Technically it's a statement that the matrix of inner products is what's called positive. Which means that it's all positive like linear combination. It's a positive and some parts zero. So what I want you to do is to take this thing, compute the output values of this matrix and demonstrate that positivity requires that the central charge of the theory is greater than 0. It's impossible for both eigenvalues to be positive unless the central charge of the theory is greater than 0. It could be equal to 0. Perhaps one of the eigenvalues will be able to see. Let's take that possibility out. But once you've done this calculation we'll discuss it a little bit in class next time. What this calculation shows you is that this business has had, you see, we had this bad beginning C from in the TTOP. We just said why is the most general possible TTOP? It put that C but C could have been 0. But this calculation shows you that C equal to 0 is essentially a very trivial thing. Actually I didn't even show that if C is 0 then this theory can have at least one state or something like that. When you do the calculation we'll exactly answer it. So this possibility that we talked about by adding this extra term to the TTOP wasn't just a mathematically non-sensitive in order to get something physically sensible we must have a non-zero and actually positive central charge. So first exercise that I want to suggest to you which is strongly suggestive. Now this is the second exercise I want to suggest to you which I also strongly suggest to you. I'll count the exercises in ideas and what do you fit in the numbers. And that's it. The exercise is let us try to see in any fact we can understand well the end result of this exercise is a very deep result. It is the fact that the dependence of the partition function of a reformative theory. So far we put studies in a reformative theory in flat space but we can study it on any dimension. The dependence of the partition function of this reformative theory on the metric of the theory is completely fixed merely by a central charge. I'm going to wrap by the end of this exercise we'll write down a formula which tells you what the value of the partition function is given the metric of the map. By partition of every part of the table of the reformative theory on this map, on this dimension. This is an extremely important as you can see it is totally non-trivial statement. So let me try to start out planning how I want you to go about this. It's an important exercise. It's dealt with in Pochinsky. I want you to do it yourself because you can't get trouble with discussing it. But let me start by our planning. The first step in this exercise is to prove what you can see by planning. So what's going on? We've got a reformative theory. And a express tensor in flat space stresses. We argue for that and we use it a lot. Now the claim is that if this reformative theory is non-zero central it would be inconsistent for the stress tensor to be zero when the failure standard is ending up. While the stress tensor is non-zero, what its value is the stress tensor, what its value is is independent of the state in the theorem. Independent of the particular solution of hand. It's the same for the vacuum in any other state. And it's given just by the coverage of the manifold equation. This is the claim. You understand what the claim is before we go on to try to explain how we can try to prove it. This is a local statement actually. As long as it's a manifold in the middle of your point, you'll gain about what's happening. It's not. How are we going to prove this? How are we going to do these dimensions? The first thing we're going to do is say this is a statement about a reformative theory. It carries it in flats. It ain't not going to actually go in a manifold. Weirdly, the overall reformative theory was in flat space. So came up with this statement, in your statement about the behavior of CFTs in flat space. It can be the definition of stress tensor. So let us remember that when you go back and trace through all the factors that we used, our definition of stress tensor was as follows. Suppose you have some correlation function, O1 and On. Because we take integral dx into power minus s and some operators now. And we vary a bit. So the change in this correlation, upon a smaller variation of the metric is given by the following. It's given by integral dx minus 1 by 4 pi integral dx into power minus s the same O1 and On times square root g delta g du nu times dj. This is the definition of the stress tensor. We have this definition of the stress tensor at the moment, but there are better than no ones. Just to the polishing function. The definition of the stress tensor was delta of let's call it z is equal to integral dx e to the power minus s times square root g delta g du nu. In order to do this, I don't want to apply this to. I'm going to apply it to the insertion of one stress tensor. So delta of expectation value du nu. For the next step what I'm going to do is to choose a particular form is to choose a particular form of this delta g. I'm going to choose delta g du nu from flat space and choose delta g du nu to be equal to e to the power 2w times delta g du nu. That's 2w. We'll change my metric to e to the power 2w times delta g du nu. So the change is 2w times eta. I plug this in here, and I find the formula of delta of du nu mu at x. So the change in du nu mu at x, when I change the metric from eta to eta plus 2 omega n. It's going to get this formula. It's equal to, and now I want to leave the order in omega. I'll drop this way to g. This is dx, this is e to the power minus s. Times this back to 2. I've dropped by 1 by 4 pi, so that becomes minus 1 by 4 pi. Times t of y, t mu of y, t nu nu of y, t mu mu of x. Integrated omega of y, integrated omega of y. Back to leaving order. So the leaving order of omega of t mu mu, the claim was C r by 12. We just have to expand our leaving order of omega. And we're going to have to look up the factors. If we were working just infinitesimally near that space, then the demonstration of this statement is true. Would be the same as the demonstration that infinitesimally near that space. So pi t mu mu of x, t mu mu of y is equal to C by 6 square of delta x. This is the thing we have to do. At least this statement being true requires that we can also argue that when this is true, we can show that at least this statement we want. We want it first. So we want to show, we won't want to show I hope this factor of 2 and sign is right. That depends on this this thing which we have some number but I can pass. So we want to show that t mu mu of x, t mu mu of y is equal to minus pi by 3 z. We said nothing about the trace of t. We just said that was 0. Nothing was just 0. We know a lot about t z z, z bar z bar, but we know nothing about t z z bar. Certainly the expectation value of the operator is 0 but could it be somehow that there exists such an operator? That there is 4 states of such an operator, non-zero, 2-point function even in transverse. Well, let's see. Let's see. The case is that yes, there is nothing.  It's non-zero everywhere except the contact points. Such things are very subtle. These things are associated with curing divergences or things associated with regulation that we want to take into account. And they are very subtle to get right. So of course we have got some nice power law form of never been in a cross violation of everything that we do. We can talk about it but it would just be inconsistent. But all we want to get is contact. It's very hard to get right. So it could be that when we do things that we find correctly there should have been this contact. Now I'm going to argue for you that we are forced to have such a look. Okay? And the argument...  I'll try to fill it up. Next time in class maybe I'll give you a number where you're thinking about it. Okay, we won't finish everything. We have to say goodbye.