Secret Agent K-7 returns. America's number one adventurer, K-7, form a United States secret agent who operated in 22 countries on land, on sea, and in the air, brings you a story of today. We take you to K-7's headquarters. This is Secret Agent K-7 speaking. Send in Special Agent Z for assignment. I've lost K-7. Special Agent Z reporting for assignment. Agent Z, I have just talked with the premier of this country. He has brought us here because he believes his nation to be in danger. The trouble is political. Some members of the cabinet favor an alliance that would mean the end of this country's liberty. It would practically become a protectorate. Others, the patriots of the cabinet, want peace and trade treaties with the democracies. There are numerous plots. This morning a woman attempted to see the premier. She claims to have information. She's outside now. Talk to her. See what you can find out and keep me informed. That's all. A few minutes later, Agent Z and his assistant Patricia Norwood questioned the woman who had attempted to see the premier earlier in the day. She was nervous and frightened. Please, let me go home. Why have they been brought here? Because you said you had information for the premier. They wouldn't let me see him. Oh, I've got to. Please don't arrest me. You're not under arrest. Z, let me talk to her. Madame Poval, we're friends of your premier. He sent for us.  You can trust us. We won't betray anything you tell us. You have come to protect you? Yes, that's why we've come. Does your premier need protection, Madame Poval?  What do you mean by that? What do you know? You won't say that I told you. Of course not. I'll protect you in every way we can. Then I will talk. My husband, he is in charge of the power plant outside of the city. Yes, yes, go on. He began last year. They came to him. He has a sister in another country. They told him that unless he did as they asked him, his sister would be killed. Oh, what did they want him to do? First, all they wanted was the plans of the new generating plant. Then they wanted to know about the control panels, where the electricity went. How much different factories use them? May I get that information? Yes, he told them everything. He was afraid. Always they asked more. Last month, no, I must not tell. You'll have to tell us everything. Otherwise we can't help you. Oh, but he'll be arrested. Not if you tell us the truth. You must not arrest him. He does not want to do what they make him. Last month, the power line was destroyed. It went to a great plant owned by a member of the government. I think I understand. A member of the government who opposed those who threatened your husband had his factory put out a commission. Yes, it is true. Now they are going to use dynamite and blow up the generating plant when my husband works. When are they planning to do that? Tomorrow at midnight. There will be no lights in the setting. The premier will be killed, murdered. They're going to murder all who oppose them and seize the government. My husband is afraid. Take her home, Pat. I found out all I want to know. Warner to keep silent. Report me back here. At almost the same time, agency was hearing the story from the lips of the woman whose husband was involved. Adolf Menzach, powerful political leader, talked with several cabinet ministers, allied with him. Our plans are completed. At midnight tomorrow night, the power plant will be dynamite. When the lights in the city go out, it will be our signal. All of you know what to do. You know, your men will take care of Bekoff, Profita and Nino. They have to be killed. Their homes are to be burned. And what about the other ministers who oppose us? Bekoff, Profita and Nino are the leaders. With them dead, we can control the others. Who goes to the premier's home? That would be my pleasure. He's opposed me too long. Now I will have my revenge. What about the electric power after we have seized the government? That's right. We will have lights. As soon as we are in control, the electricity will be supplied by the country which backs us. The lines are already at the border. Our plans are complete, gentlemen. We cannot fail. The next day, Agent Z reported to K-7. He had made a complete investigation of the plot and the man behind it. An attempt is going to be made to seize the government at midnight tonight. The power plant is to be dynamite. When the lights go out, it'll be the signal to murder the premier and those who support him. I've talked to the woman and to her husband. There's no doubt that the plot is real, K-7. Manzak is behind it. He's powerful. It's time for us to act. Z, I want you to go to the premier, warn him, have Miss Norwood report to me. That's all for now. Keep in touch with me throughout the evening. As midnight approached, Pat stood before the great control panels and the generating plant outside the city. A man was at her side. Just a minute, hand. Is it crept toward 12? One minute more, Mr. Poval. Are you ready? Yes, ma'am, sir, you. You're sure they will not come here? Manzak is powerful. We've done everything we can. If he should succeed, I would be killed for not following out his orders. And if you'd done as you were told, you would have been a murderer. Get ready to pull the switch. Twenty seconds to go. I'm ready. Plunge the city into darkness. Now, your flashlight. We've got to watch the clock. The city was in darkness. As the streetlights blinked off, shadowy figures moved swiftly. Scattered shots were heard in a few neighborhoods. The premier was in the study of his home. Two candles burned on his desk as he worked. Three minutes past twelve. I can't see the work of these candles. Yes, what is it? I have candles. There is someone here to see you. Oh, who is it? Just a minute, I will unlock the door. Come in, Manzak. Usually, this door is not locked. However, tonight I was warned to remain in my study. You were warned? Yes, the secret service. They heard of some plot. Come in. These candles don't throw much light. Who brings you out so late, Manzak? Sit down, sit down. I can take care of my business standing. You have a gun.  I know I will do it someday. Manzak, you're mad. There is no use trying to talk yourself out of it.   You wanted to kill me? You wanted to kill me? Why? Why? Because you have opposed me in everything I've attempted. I should have been premier, not you. You know I wanted to be, but you are ambitious. You pretended to be my friend. Put your gun down. You don't know what you're saying. I know only too well. I have rehearsed every word. Over and over you are going to die for. Tomorrow I will be premier. The lights. Why do you think they went out? I will tell you. Because I ordered the power plant dynamite. Your friends, Beko, Profita, Nino, they are already dead. You're going to try and seize the government. I am seizing it. It is already mine.  I am the new premier. I wouldn't be too sure of that. Who are you? What are you doing here? I have been waiting for you, Manzac. We've both been waiting. We wanted to hear you tell us what you intended to do in your own words. You thought you would trap me, eh? It is too late.  Beko, Profita, Nino... They are all safe in their homes. Your plot has failed, Manzac. All of your friends have been arrested. Even your plot to dynamite the power plant has failed. The lights will be on in another ten seconds. I ordered them all for five minutes to trap you. You're lying, I don't... Here, they're back on. We can blow out these candles now. Look out, he's gone. Stand where you are, both of you. Don't come near me. I am not going to be taken, not alive.  Special Agent Z reporting in K-7. I failed in my assignment to bring out of Manzac in. The premier is safe. The men who plotted with Manzac are in prison. Here is Manzac's gun. Thank you, Agent Z. You did excellent work. Perhaps it is just as well Manzac kept another appointment. For power, forget the welfare of the people. They forget the cost of revolution and war. They forget how great is man's desire for peace and freedom for those they would trample underfoot. Listen for my next story. This is K-7's.


So, Siobhan Moore, as you've heard, I'm a reader in One Health at the University of Liverpool in the UK. But I've been based at Illry, Ethiopia, since 2018. And I'm a principal scientist there and the country coordinator for Ethiopia and also for Somalia in the Kuhessa project. But today I'm going to talk to you about the HEAL project, which I would usually say is one of the very rare examples of bottom-up approaches to One Health that is very applied and about operationalizing One Health. But actually in this session, you're seeing some really great examples of just that. So hopefully this will take in a new direction. So for us, we're situated in the Horn of Africa. So much of the challenges that we are hearing about with Rangelands exist in that particular setting as well. You'll be familiar with the livestock dependent livelihood strategy of pastoralists in this region. And the environmental degradation that occurs due to climate change, due to heavy rotational grazing or disorganized grazing. And the particular area where we're focusing on as a project is in the lower right-hand side. So there's poor access to services. So these are pastoralists who access Rangelands that are in very remote areas. And what that tends to mean is that they don't have quality services that they can access, be they human or livestock or natural resource management areas. And so that's where HEAL has set its heart to try to improve that particular situation using a One Health approach. So our aim, as I say, is really around trying to improve access to quality human and veterinary services and sustainable natural rangeland management practices. We're operating in pastoralist areas of Ethiopia, Kenya and Somalia. And it's a really One Health project by design. It's led by VSF Swiss, which is a veterinary NGO. So they are the animal health lead. We have a public health NGO, AMREF, who is the human health lead. And then we have us, Ilri, who is the rangeland health lead as well as the teaching and training and research lead. So here is the point where I tell you I'm the PI at Ilri, but I am a vet by background. And my subsequent life was as a public health practitioner. I did my PhD on childhood diarrhea. And here I am leading a project where our main component is on the rangeland health side. And so really my role in this project is to help to be a knowledge intermediary and think about how can we apply this disciplinary way of thinking around rangeland health and incorporate that into an initiative that's really around the integration of human, animal, natural resource management services. So how are we doing this? Our main model is to establish what we call one health units. So what we're trying to do there is to promote the integration of services across sectors between human, animal health and environmental health sectors. And you can see on the figure what that constitutes. So we would have different frontline service providers as well as community-based sectors, community-based actors representing the different sectors. And then depending on the context, and this is something that's largely determined by the communities themselves, our one health units might be mobile, meaning that they move alongside their livestock roots together as a multi-sectoral team. And they would do that according to an agreed schedule with the communities themselves. Or they might work from a common point. That might be a common water source or it might actually be a common clinic where the human, animal and environment sectors are working together. I want to really stress that these are still government employed practitioners who we are as a project supporting to mobilize together. So our role is to really help facilitate that integration of those disciplinary ways of providing services. The entire model is then overseen by communities and the government themselves. So on the right-hand side we have the MSIPs. So these are multi-stakeholder innovation platforms which are effectively a way to mobilize communities to discuss human, animal, environment problems. Think about the kinds of solutions that they would be able to support. And then that information would be shared with the government, the One Health Task Force at the county level. And together they're providing oversight over then the mobilization of these One Health units. So it's a very integrated model.  So our NGO partners who are out in the fields and will be helping to mobilize these different platforms at the government, community and service provider levels. But our aim of course is that at some point the NGO partners will not be there and that we will have set up a framework and a way of working at the community level, at the service provider level and at the government level that ensures that they continue to mobilize themselves in this more integrated way to provide services. So I've used this word services many times and I think most of the people in the room, or usually most of the people in the room in One Health Congress are still veterinarian by background, maybe public health subsequently. And I think we can all really easily conceptualize what we mean by human and animal services, right? Vaccinations, treatments, those sorts of things. It's quite easy to articulate. The environment on the other hand, trying to think about the kinds of services to provide in that space are a little bit harder to articulate. And we've had to do a lot of work as a project to think about what that can actually look like. And so for us, the environment shows up in three ways. We've got rangeland health on the left side, which I'm going to come back to, environmental health, which I'm going to come back to. And then down at the bottom, what we call the CBON. And I won't talk too much about that, but just to say that that's the community-based observation network, which is really around trying to support communities to collect weather information and incorporate that and interpret that in light of their traditional knowledge as well. And they've got different types of ways to make decisions about the types of activities that they pursue. Starting with the first presentation today, there were some definitions presented. And we've talked a lot about different definitions. I think I'm the first person to put up a definition of environmental health, strangely, given the nature of the conference. And we were really careful to do this because environmental health as a term is understood so differently by different disciplines. Actually, the Oxford Dictionary defines it as a branch of public health and very much concerned with monitoring and mitigating factors in the environment that affect human health and disease, which isn't a very one-health perspective at all. So what we do is expand that definition in our SOP to say that it's also considering the impacts of the environment on animal health. And I've got some examples there. And that's quite different to the concept of rangeland health, which we also need to understand, which is around the degree to which the soil, vegetation, water and air and these ecological processes are intact and balanced and sustained. So in many ways, environmental health and ecosystem health are somewhat opposite of each other. One is looking at the environment impact on humans and animals. The other one is very much thinking about what does the environment provide for humans and then thinking about the consequences of the humans back onto that ecosystem sort of approach. And so for us, it also very much registers that the rangeland is fundamental to the livelihoods and feed base of pastoralist systems. So why do we need rangeland expertise in one health? And I think that's the whole question around this session. So I wanted to put that question to you. I want you to identify which rangeland is healthy. So raise your hand if you think A is healthy. Raise your hand if you think B is healthy. Raise your hand if you think C is healthy. Okay, so that proved my point that we are very poor at being able to assess rangeland ecosystem health. Because in fact, these are all healthy rangelands. They're taken in different sites in semi-arid conditions. It might be in the drier season as opposed to the wet season. It might be after fire management. But as, you know, veterinary professionals, as public health professionals, we think about diagnosing problems and we can't actually diagnose a problem here because this is a healthy situation. Which prompted me then to dig more around what my rangeland colleagues, how they diagnose problems, and what are the problems that they see in the context of rangelands? When can they identify it's not healthy? And so we heard earlier about this idea of forage and the balance between shrubs and grass. And really in a healthy ecosystem that would be in a good balance. So just as an example, 70% grass species, 30% shrub species. And when those sorts of things start to become imbalanced, you can start to see unhealthy ecosystems. For bush encroachment on the left, I think that's a very familiar picture. You can definitely, even driving out here, I can now identify bush encroachment. Because you're seeing so much more shrubbery than might otherwise be expected. We've got invasive precipice in the middle, which creates problems for livestock. You can see here it's creating problems for accessing to water, but it's also toxic species. And on the right we've got an example of severe erosion and gullies. So I think again, we probably have some sense for these sorts of problems. But then for us as veterinarians, public health professionals, where do you start to solve these sorts of problems? The good news is also that rangeland health specialists have tools for dealing with these problems. So in our project we are using an approach called participatory rangeland management that really helps to guide communities through a process of investigating problems, planning and implementing sustainable resource management within their local context. Very much about their local context and about community capacity to improve the way that they manage their land. So different tools that they might have at their disposal, things like seasonal grazing and spelling. But more importantly, trying to support communities to maybe introduce things like bylaws, which could then help the way in which they can regulate the use of the land in that way. Alternatively, there might be rangeland restoration techniques. So things like invasive species control, bush thinning and prescribed fire, just being examples of the ways in which we might try to rehabilitate landscapes in these areas on a small scale. But it has really not been easy and I think that's really important to stress that when we talk about these disciplines, of course I think we all recognize soil, plant health, all of these things are important for health. But it's a lot harder to then think about how do we operationalize that knowledge and integrate this. So this is spoken from the healer perspective, but I suspect it will resonate for a lot of other projects as well. So why do we struggle with this? Human and animal services, I mean we design them like this. They're designed around local government area and administrative boundary. Landscapes ignore those boundaries. They transcend boundaries they might cross into new areas where you're not working necessarily. So if you're trying to influence the integrity of the ecosystem itself, you need to be operating at a larger scale. When we talk about human and animal governance, it's pretty identifiable. We have ministries, we have service providers and community-based actors on the human and animal side that we can quite easily identify for each of those different sectors. When it comes to the environment, there might be multiple ministries who have some say about the environment. In Ethiopia alone, we've got the Environmental Protection Authority, we've got the Ministry of Irrigation and Lowlands, we've got the Ministry of Water and Energy. So all of those things have a say in this space of environmental governance. Service providers in this environmental health space, again a little bit hard to identify. More often they might be development agents with NRM expertise sitting in the Ministry of Agriculture or they might be environmental health officers sitting in the Ministry of Health. And we don't really have the community equivalent of a community animal health worker or a community health worker. Community members themselves, when we try to engage community members again, defining community is another whole other session. But again, when we're talking about range land ecosystems, we need to think about those communities that are operating across that ecosystem and mobile and integrating across and engaging the traditional knowledge that exists at community level in range land management institutions across those environments. So we don't have really good spatial and temporal overlap between human, animal and environmental health in these kinds of settings. We have very different governance structures and therefore we have different entry points about who we might try to engage in these kinds of interventions. And really I think when we talk about the different sectors, we all have very different frameworks for thinking about how we would integrate the environment into our initiatives. Last slide. So what are we doing to address this in Heal? As I said, we really placed a strong emphasis on an SOP which helps everyone understand what we're doing, how we work together. And that helps to bring everyone onto the same page with definitions on environmental health, integration, what do we mean by integrated services and so forth. We are also piloting the idea of community range land workers. So they might have various roles. Some of the early ones we've identified are things like invasive species removal and really raising community awareness around invasive and toxic species. And of course when you introduce these new ideas, sustainability is always a question. But the idea will be that they're also supported to set up a community nursery which would then help to support their income. We started to move away a little bit from participatory range land management which is a really long term process and try to come up with something like invasive species removal at a local level because that better meets this idea of vaccines or curative treatment which is a very short term kind of intervention. So we needed that shift into a shorter term kind of way of thinking. And the final point I really want to make is that this is really opening my eyes to understanding the pressures we put on the environment sector to somehow improve the conditions of what we I think widely recognize as a deteriorating environmental condition. So when we design one health projects, I think we all need to really think about the fact that it has taken decades and decades of damage to reach this point and we can't expect that that kind of damage can be undone just as simply as we might do by giving an antibiotic treatment to a child with a specific infection. So it's a very different approach. Okay, thank you.


From a stolen award to a moving acceptance speech from Oscar winner Frances McDormand to some serious fashion statements The 90th Academy Awards did not disappoint Frances McDormand gave a rousing speech while accepting her best actress award She asked all the female nominees in every category to stand up with her while accepting her award The place to be after the awards was definitely the vanity fair after-party Where all of the nominees and winners sipped on cocktails and could finally relax A-listers like Emma Watson, Margot Robbie, Alison Janie and our very own Searsha Ronan were all in attendance Some nailed their looks on the night, whereas others fell short We asked the Irish public who they thought were the best and worst dressed Margot Robbie, she looks like she's getting married and Lupita Nyong'o I love that she looks like a like a golden glober like an Oscar herself Searsha Ronan kind of plain. She looks like she yeah, she looks like she just put out like a curtain around her And those shoes are not cute. My overall favorite would probably either be Margot Robbie or Jane Fonda I'd say yeah, Jane Fonda. Yeah, love them. Yeah, and if you had to pick a worst overall worst Yeah, no, that's not cute. Let me see that again. No, Searsha Ronan. Yeah I think the best is Isaac Azale's I like the yellow dress. It's my favorite color I think the yellow is vibrant and it stands out in amongst the others and the worst is Selma Haig What is that purple? The dress is just kind of tacky and a bit glittery for the Oscars I think it's not as stylish or trendy as the others I think so just I don't know stands out as the worst one for me Isaac and Zale's is the best. I think just because it's real simple playing and then I think Searsha Ronan is the worst It just kind of looks like a curtain to be honest It's better I don't know. There's a lot of interesting outfits. I suppose on this first page. It's kind of It's definitely a toss up between Jane Fonda and Isaac Gonzalez. I think Isaac Gonzalez peps it I think the color is more striking. It's a more bold option of a choice Accentuates her figure. Maybe I don't know. I'd say she's the best looking on the page Which might have influenced the decision right now. I think I'm gonna go for it I think I'm gonna say Isaac Gonzalez. Yeah, definitely. Yeah To be honest Selma Hayek when I originally know I don't want to get done for racism here But I actually had a flick over it and I thought all right, that's a Bollywood star Okay, and then I thought no wait. That's actually Selma Hayek if it was Bollywood it'd be more appropriate Yeah, but the fact that it's her I thought you've absolutely marooned it. You've creamed it the it's far too Vibrant I think like it's it doesn't it looks completely out of place. I don't like the layers I don't like the top half. There's too much going on. It's just no Back to the drawing board. Yeah, no Go again next year. We're stressed. I'm like at a close second. I'm gonna go


One of the most common questions I get asked is, you know, how do I start day trading? So what me and my mentor about it for our viewers on YouTube is create a free mentorship course that reveals our 12 secrets that every single brand new day trader should know before they get started. But please take note that there is limited seating every single week. So please reserve your spot at myinvestingclub.co. Link is in the description. Okay. Anyway, so yeah, I mean, just going over, I mean, I just made a list. I started a little bit early guys for the people just joining us because I just press play. But these are going to be the ones I'm watching for tomorrow because we actually have some kind of activity going on. But I was, yeah, I was just saying, like, if we get a gap around you and me, there will definitely be a play long and short tomorrow. The higher the higher we gap, the better for the short.   But if we open up, that'll be pretty great. That'll be, that'll be kind of a slap in the face to not shorts because like, like I'm not trying to slap shorts in the face, but I'm trying to like, I think it'll give a nice slap to the shorts who just abandon risk, risk management because this is their market. Right. So, yeah, I mean, this is, this is going to be my top watch for tomorrow, definitely this UNE play. Ideally we gap up higher than this.  If we open around here, then it's going to be a battle. It probably washes and then it probably gets bought up and it's going to be wherever the bottom of the washes, whether it's nine, nine, 15, 10, it probably won't be this low. Well, it depends where it opens like if it opens 10, it can easily get this low. Let's say it opened here at 1086, right here, you know, wherever the bottom of the washes, it's going to then spike and it's going to be pretty range bound and probably the shorts win that battle.  So I will see where this opens, but this is my number one watch going into tomorrow. Anyway, welcome to the webinar. We kind of already started, but if this is your first webinar, welcome. We're going to start now. The theme of today's webinar and we're going to have a guest come on later. We're going to have a guest come on later for, for this one. I don't know. I don't know. Um, and then, and then I'll bring him on after, um, and we're going to talk about, um, being mindful while you're training. So that'll be pretty fun. Anyway, so anyway, this is, this is like, it's just, it's a convenient time because I wanted to do that. Like one, I somewhat touched upon this kind of material when I did my live webinar in Philly, or it wasn't a webinar. It's a live seminar in Philly. And that was how to, uh, how to view stocks, uh, through the eyes of an experienced trader, like how to view price action, how to, how to come into the market with the eyes of an experienced trader. And I touched on a lot of stuff in that, in that, uh, presentation about just being cool, calm and collected. And this, this is really going to go to the heart of that. And like the thing is you can be a trader and I know some traders that don't have any hair anymore that just, that, I mean, they're all shorts, of course, the, the ones that just hold, you know, swing shorts and like they make big money, but the amount of unrealized, I've seen them sit through and the amount of just worrisome, right? You can be that kind of trader and you don't have to be a swing short to, to, to have that kind of fear and worry. But just on a day-to-day basis, we'll see if it's sustainable or not. Like we'll see. I mean, I mean, a few, few can do it, but I'm guessing not everybody. Yeah. It's, um, yeah, like the, the herald meme. So, yeah. So today we're going to be talking about the staying, relaxed, composed and mindful, and it's been, if it's long-term to just being a trader and like staying happy while, while trading and how that, how you want to you want to have green trades to keep you happy. Um, but then that puts a dependent on, you know, like it puts a dependent on your relaxation. Like you can't be relaxed unless you perform at a super high level. And that in essence makes it like really difficult to perform at such high level. So trading is one of those catch 22s where you kind of need to have, and this is why I say, like, you have to stick with it. You have to trade a small enough amount of size to last long enough to, um, to get, to become this relaxed and composed. And then things start to click. And that's kind of the story of trading. It's this catch 22 where you need to have the car to go to work, right? You need to have this mindset to be successful, but in order to get this mindset, you have to have experience, right?  But when it started to click is when you started to become relaxed, composed, and just mindful of who you are as a trader, what's going on, um, you know, just where you fit. So we're going to be talking about that. I just spilled that probably on camera all over my lap. Anyway, let's get started or let's continue. Anyway, um, so yeah, if, if there's a first webinar, uh, this is the, the table of contents I normally go through. I go over the market sentiment week to week, probably be better if I did that every two weeks, but, you know, it's, it's something I like to keep track of, uh, then we'll go over all the runners for the week that you guys want me to go over. We'll go over, you know, good risk levels, good targets, good key levels on the chart that really made a difference, like 620 on Mosey today. We'll go over possible entries and exit areas, uh, for, you know, different kind of thesis is, and then we'll get into the heart of the webinar and I'll bring the guests on and we'll have a good time. And there's a Q and A webinar. So if you ever have any questions throughout the webinar, just put them in the chat, uh, the chat's free reign. You don't have to like, it's not going to be monitored or anything, but if you have a question, I'll try to get to it. And anyway, yeah, let's keep, let's get going. Anyway, so last week, right? We were looking at the Q's and the spine.  Where we saw that kind of decay.  Actually, I mean, really it's three.  So this is two weeks and that's another two weeks. So really we've had like two weeks of stall and like, you know, one to two weeks of tank.  Hey guys, my name is Toss Bradley. I'm one of the head mentors of moderators at my investing club. If you have any questions about getting started in trading, getting started in the MIC, MIC in general, text me at two, one, three, four, five, eight, five, nine, nine, seven. This is not a robot. It is me directly on the other end of my business line. And we'll get you in the club. We also have special promotions going on that I can get to you depending on your trading needs. Hit me up back to the video. So this is what we were, we were coming into a week ago. We were like right here at the shits, right? We were right down here in the shits.  Maybe we are at an all time top. Like maybe I don't want to be long here. And then so we see that fear drops. And so what I thought that the market needed was it needed a pull to the sub 300th and basically the market is in search of a support level. Right. The market is in search of some level to where people will feel confident that we, you know, that the floor is not going to be pulled from under them. And like I gave a hypothesis. I think that's 300. I mean, this, I was talking about a big pull. Like I feel like that level is 300 like to get the pull. This would be pretty big. 310 would even be okay. But some kind of pull that we needed to show where the support is. And this is just where I guess I was hoping it was going to be somewhere in there.  And then the confidence would kind of be back. And so that's what I felt like it needed. Um, but then we got this interesting thing this week, right? We got that Bitcoin kind of flash crashed. And, and, and this kind of taught me a little bit, uh, like I learned a lesson here about this kind of this Bitcoin crash here. And it, and I learned this lesson as I related to what happened when GME happened. Um, and what I started to notice is that the market, um, likes the, the markets has these kinds of shifts in the market that are obviously driven from catalyst, but it's almost as if the market waits for these checkpoints to, to make a change. And I'll go over that later cause it's here at the end. Uh, but what we saw this week from that, this Bitcoin flash crash, right? We saw the strong positive. I mean, what we've seen in the last couple of days is a strong positive bounce. Now we will see in the next coming days, uh, if this like, especially tomorrow, right, we've had, we had this big buy by the dip day, which is pretty bullish when you tank on a flash crash, but it's pretty bullish. If it was actually something like bad news, the thing is what you could attribute to this buy and then this, this, this continuation of the buy is the fact that Bitcoin should, you know, that it was an unsubstantiated drop like Bitcoin tanking should not tank the market. So it's unjustified. So this dip is unwarranted. So everything, everybody buys it up. And so that could definitely explain this. Um, and this probably is what explains this rapid, um, uh, this, this bounce back, but now the question has to be, are we, I mean, we were just out here a few days ago before the crash and we started to bounce. Like, was this a natural progression or were we going to go retest low? So we'll see, you know, really probably in tomorrow's gap, what happens. Like any, obviously barring any other news, we'll see if, if buyers are comfortable, like, but, you know, like going and testing higher than this, you know, in two straight days, if we go and test, if we have another strong green day up to three 35, or if we gap down and maybe go test 320, right? We're really going to see in the next coming days, whether this, um, the market basically said that, that we should not be tanking off Bitcoin. That's basically what I attribute to this bounce off. We should not be tanking just because Bitcoin tanks. And I got to say, I agree. But now the question goes back to the old question. We've answered that question. Now the new, the old question that we have to revisit is, uh, do we want to go and continue and go and test these levels? Or was this enough of a, of a card reveal? Right. In, in, in essence, this was a big card reveal was this 320, the support that we were looking for, or do we need to go and test it again? And so that's really, uh, what's in the cards. So of course, barring all news, I think that's what's in the position right now. Uh, that's what the market needs to find out next. And so we'll need to, like I said, we need to see if we maintain this 320 on, on the skews. And the same thing is on the spy at 405. It's just a different level. Uh, but I, but I ultimately think that we do need some consolidation. We need some proof of this because this was rather fast. This, this pullback was rather fast. And so like, you know, like I said a couple of weeks ago when we kind of did, or not, not when we did this kind of bounce or this kind of bounce, one of these, like this bounce here, I think, um, was a little kind of a wrap.  Just like around here when I said, uh, this is a little fast up. Um, if we continue up from here, I do think that then it'll be an unconf, everyone will be unconfident, unconfident up here. Whereas if we just consolidate for, I don't know, just like a week, maybe even a week or two and then build back up, it'll be a much stronger foundation.  It's the same concept of all technical analysis is that, um, the market felt like, you know, this move was too fast. These moves are too fast. And so we needed to build a long foundation of consolidation before, before it could try and make its move up. Right. This is basically the market saying, this is, you know, this move up here, this is too fast for a secondary move. Right. This is too fast. We had this big move here. Uh, and so this kind of pullback and then, you know, you go for another move. This long consolidation is the market trying to tell you that this wasn't long enough of a consolidation to prove that we're ready to hold six bucks. Right. We need to really prove that we can hold six bucks. Goes back to my very first webinar I ever did this, you know, volume consolidation to prove that we can hold on to a level and then, you know, to move on to that next level up, that's basically what this is in a nutshell. And that's why I avoided it because I was like, I'm not going to guess whether or not we're going to hold or not. That's, I mean, this could have just tanked. Right. I don't know, but, you know, I wanted to see the proof. And in this particular case, we had a level in question, which really took the trade off the table for me after this because the, not only did it need to consolidate, but it needed to prove that it could hold six, but also that it could get over six 20. And that was the big thing here. But essentially we see the same thing on the cues is that, you know, the market likes to have these consolidation patterns. Now it's obviously more choppy, right, with the overall market. It's not as clean, but the market likes to have these consolidation moments before they have significant moves up. What's Pablo saying? It's a breath of fresh air. This act, like it is definitely a UO&E is definitely a breath of fresh air.  So we're going to see if that happens again. That's why one of you guys said, I can't wait to see how excited Austin is for this new warm action. I'm a little reserved on that. I'm like, well, I mean, let's see how tomorrow, let's see if you, let's see how UO&E gaps before we start getting excited. All right, UO&E can easily just gap down and open at nine tomorrow. And then it's just like, oh my God, nobody screenshot it. Well, I mean, I guess you guys on the replay are going to be able to screenshot that. Thank you so much for watching our video. If you want to see more of our videos, please subscribe to our YouTube channel by clicking the button here. We do our best to post a new video every single day. If you have any questions about MIC or any general trading questions, please text Tosh using the number here. Also, stay up to date by watching some of our most recent videos right over here.


We just did our Thanksgiving pop quiz. Now we have a question. Can we know their type difference? Guys, you guys are laughing. They're laughing because the quiz was so easy. OK, so we're talking about a family meal there. We have a function foo a and b, and the result is just returning a calling b. So here the tree looks something like this. And so the question is, what's the type of a, what's the type of b, and what does foo return? Inside the array as well. The right-hand side of the array? Yeah. Well, that's exactly the same as other problems. I don't think that adds anything to the question. So the question is, here, what do we know about b? b is just type b. Yeah, it can be anything, right? Tb, it can be literally any type b. So then a, what's the type of a? Can a be anything? No. What does a have to be? It has to be a function, a function that takes in what? Type b. So it takes in type tb and returns what? And then so what does foo return? Type tb. Type td? Tc. Or foo? Tc. What would this mean? From tc. Yes, that it could be different from the return of a, and then it could be different from b as well, right? This is basically saying that foo returns some type that's completely unconstrained and not connected to any of the other types. But if it's tc, it means it returns whatever the return of a is. In the other case, it was the array element, but as long as you have whatever was in the array at the same time as what returned. Yes. This is the key is making sure that this tc, this tc are the same, and this b, tb, and tb are the same, and that this is a function in here. Is that on me or on you? You don't have to answer. Okay. Any other questions? Cool. Alright, you all are in for a treat because now we get to the heart of Lambda Calculus. So you, this is actually, I think, you may be the best way to do it. I'll try to maybe do this from now on is, because this really, we're getting into what does execution mean in Lambda Calculus. And really to understand this, you have to know everything that we've done up to this point. You need to know how to do substitution, you need to know how to disambiguate Lambda expressions, which is something that you don't need to know about free and bound variables, which are all stuff that hopefully you practice really hard on so that that way you did that very easily during good term three. Alright. And so now we're building on top of that and we're going to talk about how does Lambda Calculus actually simulate execution. So, and now what we're really doing is trying to formalize our intuition that we built earlier that said, okay, this Lambda expression means what does application mean? What does an abstraction mean? Right, so now we're defining, okay, what does it mean to actually call a function in Lambda Calculus? So what we're going to do is we're going to think about execution as a series of terms, a sequence of terms, and it's going to be the result of we can think of calling or invoking functions. So one step in this sequence would be we invoke and call one function, and the next one after that would be calling a second function, and then a third function, and so on. So each step in this sequence we're going to call a beta reduction. We're using these terms because that is what Lambda Calculus things use. So beta reduction, so every term in this step is one beta reduction. We can't apply this to everything, right? So if we have, I'm not doing anyone, right? If we have the Lambda expression x, y, are there any functions to call here? Application, but I just have two IDs. Is there any functions to call here? About like Lambda y dot y. You can think of this as declaring a function, right? This is saying that this is a function, Lambda y dot y, and it's defined as Lambda y dot y, right? There's no, can we actually reduce this any, like invoking or calling any function? No. No, but now if we have something like this, now can we reduce this? Yes, now we can actually invoke this function with the parameter x. So this is going to be called a beta reduction. So this means that expressions in an application form or the left side is a Lambda expression. So one question would be, is this in a beta reduction form? Because we're only, the function that we want to call is going to be on the left. This is one in application. Left versus right is important. And this is why associativity is important, right? We have x, y, z. If x happened to be a Lambda expression, this would be first apply y to the expression first, and then that result applies z to that. Cool. But this is not in a beta reduction form, right? There's no reductions we can do. So of this form, so this is what we're looking for. Lambda x dot e or e is obviously any Lambda expression, and x can be anything. So here x really is just a placeholder. It doesn't matter. All that matters is the left-hand side is an abstraction, and the right-hand side can be anything. Cool? So I think I made the analogy before to kind of potential energy, right? So this means that when you see something in this form, that means that it's the potential that we can do a beta reduction and reduce this by calling this function. And so beta reduction, now that we've gone through the, I don't even know how many, has it been three classes of work? What's that? A lot of minutes, 150 minutes, and a midterm on building up all this machinery. But now we can say kind of very simply what exactly we mean. Well, when we beta reduce Lambda x dot e with n, what we're going to do is take e, take the body, and substitute all x's with n. And specifically what x's are we replacing here? e because we've stripped off the abstraction, right? e is just looking at the body here because we know. So if we think about Lambda x dot e as a Lambda expression, all x's in there will be bound, right? There'll be no free x's in this whole expression. But if we take off the Lambda x, right, just look at the body, then we can say all the x's that are now free were bound to this Lambda x. And so we're going to replace all three x's with this new Lambda expression n. And the trick here, it seems simple, the trick is when we have to do rewriting, right? When we have the case that inside expression, when we try to do the substitution, there's a Lambda expression that is not what we're trying to replace. And that is a free variable in the end. So that's the edge case, the corner case that we always have to think about. So beta normal form is when we finally get to the end and we say, okay, we've done a series of beta reductions, and we can no longer do any more beta reductions. So you can think of it as we've reduced this function as far as we possibly can. So there are different types. So I talked about earlier that there are different types of ways. So you can think here, beta reduction is really just one step. You want to take one application and we're trying to reduce that one application. But there could be multiple, there's no restrictive on this. We could have a Lambda x.x, y over here, and then here we could have a Lambda z.zz, or parentheses x, something like this. So here there's two choices of which thing I reduce first. So there are, and it turns out, and we're not going to go into this, but it turns out that the different strategies you have for which one you reduce first correspond to different types of pass-by values and pass-by variables. But we're not going to get into that. We're just going to say, we're going to use what we think called full beta reduction. So we will reduce all reductions regardless of where they appear. This will mean that all the examples I give you will not matter which order you do the reduction. So it doesn't matter if you do the first one, the second one, whatever, you will always be able to reduce it fully. I think that also means I won't give you any problems with loops, because if you can't, otherwise it's just going to keep going forever and you'll never be able to fully beta reduce it. Cool. Questions on the terminology? The high-level ideas of where we're going to go. If we were just talking about arithmetic operations and digits, the beta normal form is just going to be this really ugly prefix arithmetic string. Almost. We'll see. Actually, we will define numbers, Boolean operation. We will define everything in terms of function. So a number will just be, as we'll see, a combinator. Depending on the structure of that combinator, it will represent different numbers. We'll get to that, probably not today, probably next Monday. But definitely we're going to get to Boolean conditions now. So you'll see we'll build up Boolean logic just using functions. Any other questions? Okay, let's step through some examples. Super simple example, lambda x dot x applied to y. So the first question we have to ask ourselves is can we perform a beta reduction here? On the left side of the application is an abstraction. Boom. We can perform this. So then what do we do? How do we do this? Take the expression out, which is x, and then do what? Substitute x with y. Substitute x with y. And we know how to do this. This is exactly one of the rules we have. We're just going to return y. So this is why substitution forms the basis of this computation. This is why knowing substitution is so important. So then we can do cool stuff like this. Lambda x dot x applied to lambda x dot x. So how many choices do we have here and what we want to beta reduce? The one is the outermost. We have an application. On the left we have a lambda expression. This is the body. And on the right is U and R. So why is this, this may have more than thrown people off. Why is this one not A? So this is an application. What's different? Yes, the left side is not an abstraction. The left side is just an ID. So there's no application. There's no beta reduction possible here. We're parsing. Disambiguation also comes in. So you know how to read this. So what do we do? Take the body of the abstraction here. So, remember, and this is also. So we go here all the way to the end. Here. So this is the body. So we're going to take x lambda x dot x and substituting x with U R. So what happens here? So we have an application. So we just distribute it to both sides. And then after we distribute it to both sides, this x will get replaced with U R. And what will happen with this one? Yeah, it will stay the same. Remember this lambda x because it's the same meta variable that guards that.  So what do we do? No. Because it's U space R, don't we just use U? I know it's an expression, but it's not the first where we sat replacement where we were replacing. I don't know. It seemed like at one of the times in the past, if we had done this, it would have just been a U that went into the. Cool. So let's look here. Yeah, let me copy this because the question is how is this different from this? So what's the difference here? Yeah, so this we have three applications, right? We have here the U and the R. So we have to use left associativity to group them. So we group these by here and then this with this. So we have one bigger reduction here, right? Where we will take this inside, replace x with U and then that result will be applied to R. So we do this reduction, we'll get the same thing, we'll get U, this protects it, I think I need more parentheses here. There we go. Can I reduce this? If we dealt though, should we be concerned? Yes. So how do you parse this? I'm drawing a tree. What's at the top level? Of course it's the expression. Which would be four types of expression. I was actually very good. E. E. So which abstraction or I think you only have two choices really. It's either an abstraction or an application. So what's at the top level? An application. So then what's this the rightmost expression? And what's the leftmost? So that will be U. Cool. And then what is this expression? Application as well. What's the left side? U. And the right side is line to X dot X. And this of course will then go down further to an abstraction. So the question is are there any applications here where the left side is an abstraction? Just an abstraction. That's the key. The outer most needs to be an abstraction. Because this is not an abstraction. This is actually an application first where the left side is U and the right side is an abstraction. And so we look here and say this is an application but the left side is lambda or the left side sorry is an ID it is not an abstraction. And we say here the left side is not an abstraction. It's an application. So we cannot reduce this any further. Cool. And when you go down. So now how many choices do we have? A person. Every click address. So it's going to be an expression at the top. So what's the first? What is this expression going to be composed of? Application. And what's the left side of this application? Abstraction. So it's going to be lambda X dot Y and the right side is going to be what? An application. So what's the left side of the application? And the right side? So how many beta reductions are possible here? Two. We have two allocations and the left side here is an abstraction and in here the left side is an abstraction. So here we actually do have a choice. So let's do... We'll do the innermost one. So we'll do this reduction. So we are going to take ZZ and we will replace inside of here the Z We will substitute Z with lambda W dot W. So we do this. The result is going to be lambda W dot W and lambda W dot W. So now how many beta reductions do we have? Two. Does this mean we've hit an infinite loop? We had two and now we have two? Yeah, we don't know yet. We haven't... So think about if we ended up back with lambda X dot Y Z dot ZZ, lambda Y dot Y or something that was output equivalent to all these functions. Then we get into a loop, right? Because we just keep outputting the same thing. But here we did this and yes, even though now we still have two choices in beta reductions we're not necessarily in a loop yet. So let's do the innermost one again. Because that sounds like fun. So here I'm going to replace inside the body here, this W. I'm going to replace it with lambda W dot W. So that's going to give me what? lambda W dot W. So now how many choices do I have? One. So now what's going to happen when I do this? So you can think of this. This is a function that takes in anything and returns what? A constant value. So it literally doesn't matter when you give an input to this function. So we could have saved ourselves a lot of grief if we had done the outermost beta reduction first, right? Because you do that it's just going to return Y with one step we're done. So this kind of shows even if in this example it doesn't matter which of the two choices you choose to do beta reductions you'll eventually get to the same point. This function looks like a function that just returns a constant value, right? Returns a free variable Y. What is this function? Is it duplicated? I mean it does duplicate the parameter but then what happens? It duplicates it with what? With an application so it tries to apply its input to itself which is what happens here, right? So here we have lambda W dot W. What's that? It's just an ID function. It's typically called an ID function. It's a function that takes in X that's it. Here it's W, whatever. Super simple function. So if you apply that function to itself what do you get? Itself. That's what you can see happen here, right? So we can see the self function Z applies whatever parameter it is to itself and by doing that we apply the identity function to itself which gives us just back the identity function. But then when we finally do that and apply it to a function that always returns Y then it doesn't matter what we did or why. In this example, no. In general, yes. In examples and homeworks and midterms you will have the finals for this class I guess I shouldn't say midterms maybe that scared you. Finals that you'll have for this class it will not matter which direction you go it will always be the only answer. So you can think of it, this is a good example I mean we don't, I'm not sure if I have this example but let's think about this I think this will probably illustrate this problem. So this is a function that does what applies its parameter to itself and so when you then apply this parameter to itself what do you have? It's going to return itself applied to itself and that'll return itself applied to itself so let's take this by one step so we can take this so let's see I guess I can just copy this whole thing I can get rid of this and I can say here inside here we are replacing z's with this good I think I need a closing bracket, cool and then when I do this I will get this, and what if I do this again what will I get? The same thing over and over again so you can see if I keep beta reducing this one I've gotten now into an infinite loop because I did a beta reduction and I'm basically at the same functions all these functions are alpha equivalent, the parse tree is exactly the same but then what happens if I eventually make the choice, the other choice you'll get why so yes this is why the order can matter if you're not careful because you could end up in an infinite loop here or you could just not do you want to reduce the outermost verse because it's kind of a function inside a function and when we parse argument we first parse it into the outermost function that's why I said it depends on what your parameter passing semantics are so yeah that's why by tuning that knob of which one you beta reduce that affects computation so for the examples we're going to look at it's not going to matter so that's why we'll just do full beta reduction because I think it's easier to do and it's easier to understand and if I promise you there won't be any loops and it won't matter which way you go then you have a way to self-check if you ever get into a loop you know you did something wrong yeah look at us we already just did this right so replace this with this so on and so forth you all know Boolean logic right so what do you need first yeah you need a truer or false and then what do you want to build on top of that I don't care about the gates I don't care about the higher level Boolean operators? yeah Boolean operators, you want to build ands, ors, nots nands, nors, I don't know whatever else XORs the cool thing that we do know from Circuits right is what is it, NAND is complete so if we just build one of these Boolean operators we know we can use that to build everything else with this tool but we don't necessarily need to do that we'll define all the operators here so all of our true and false functions so you kind of have to I guess I'll say how do you come up with this logic you think really hard and you try a lot of things and a lot of them will fail and at one point you will create a Boolean logic it may be similar to this I don't know if this is true or not there may be an infinite number of ways you can express Boolean operations by defining the true and false operators in different ways in lambda calculus so we're studying one way and we're going to understand that and get the intuition of why it works and to think about if you tweak things how would that change your Boolean operators but so somebody else already did this work for us so it's our job then to learn from that and think about why this person did that okay so all of our Boolean base operators true and false are going to be functions and they will be functions that take in two parameters so they will be in the form of lambda x dot lambda y so that's backwards so true is going to take in two parameters so lambda x dot lambda y and it's going to return which parameter the first one and false is going to be the opposite it's going to be a function that takes in two parameters and always returns the second parameter so if we think about what this is going to look like so we should probably walk through and see why this works so let me steal this so based on our intuition, what should this return A so let's see why it returns A so what happens first yes, we got to do it with A we have to remember this is left associated so we have first the parameter A is here so what happens so we have, we take just our mechanical steps this is why we studied all of this so we can just do this mechanically we look inside here we go inside here and we say let's say inside here replace x with A so now what do we have to check at this step of our substitution if y is equal to x or not if it was equal to x we would not go inside of it then what, it's not, so what's the other thing is y free in this land expression is it should be an easy is y free in this land expression no, there's only one variable called A but A is free so that means we can just go inside so then we can replace this x with A and so the result of this operation is lambda y dot A so what is this function lambda y dot A what does it do it's one of these functions that takes in anything and just returns a constant so when we apply this here we just take the body A and we replace y with B which is just going to be A so this is how we had the true operator taking two parameters and the remaining result from is even though each of these lambda expressions each of these abstractions only takes in one parameter when they're kind of changed like this they're simulating a function that takes in two parameters and so in this version it just returns its first parameter and we can see if we change this to y in this next step where here we replace this with A see if there is no x so this just becomes lambda y dot y which happens to be the identity function of y to B which is going to return what B so true always returns its first argument false always returns its second argument so let's define an AND function so what should our AND function do how many parameters should our AND function take two so how do we figure out what we want so we need to build a truth table just like we normally do we should know this in our heart of hearts in our minds of minds but if we don't we can always just do this we have false true false false false false so this should be input 1, parameter 1, parameter 2 output actually 40 of you or 50 of you in there right input 1, input 2, output true true true everything else false okay so this is our function so using these Boolean operations now we have to construct a function that does this but remember the truths and falses that we want to return are functions so we're going to need our AND function should be okay so we know it has to take in two parameters lambda x dot lambda y so how do we construct this logic we have two functions right so we know we don't have to worry about types really at this point because we're basically only defining our AND function in terms of the parameters are true or false so true is a function that takes in two parameters and returns the first one if it's always returns the first one and false always returns the second one it'll return the second parameter and if it's false it'll return the first one yeah so here we have x so x is now either true or false right and remember when we write like this we're doing this first right so x is a function if x is a function that takes in two parameters and so if it's true so if it's true we're in here and then so the return is going to be what of this x y x which of x of y x is going to return and so if it's true it's going to return y and so this is true and this is true the result is going to be true if x is true and y is false then the return is y which is false this is covered this and so then if x is false then what happens if x is false return itself and it doesn't matter what y is we only have to look at y we know we always return x I actually think this is a nice way to do it the way we'll look at it here is we'll replace this with just false so this becomes a little bit more clear about the logic so if x is true then the return of and if x is true then the return of and is whatever y is so if y is true then the result is true if y is false the result is false if x is false then we take the second parameter and here we're just hard coding that as false so if x is false return false if we do and true true so right now we'll just do t and t by themselves we won't expand them but we'll treat them we know they are their combinators they don't refer to any free variables so we don't have to worry about substituting them anywhere and we know that they don't have any beta reductions inside them so we can just leave them as representing this so we have and true true so if we write out the definition of and we have lambda a dot lambda b dot ab lambda x dot lambda y dot y and here I'm using different a's and b's so that we don't get confused with the a's and b's from and and the x's and y's in this false function even though these x's and y's are all self-contained so we know that they would be different just to make it easier on us we will not do that so let's walk through this, let's verify that our intuition of how to build this actually jives with what this result should return so we have this big expression we have lambda a dot lambda b ab lambda x dot lambda y dot y and then we have that applied with lambda x dot lambda y dot x and that applied to lambda x dot lambda y dot x does it look scary? peel it back layer by layer so we know that this application happens first this beta reduction because of the less left associativity of our disambiguation rules we know that first we are going to replace inside here all of this body with all the a's in here with lambda x dot lambda y dot x everyone agree? so inside here we are going to have lambda b dot ab lambda x dot lambda y dot y and inside here we are going to replace the a with lambda x dot lambda y dot x so we can do that everyone agree? so we can do that so we have replaced the a with lambda x dot lambda y dot x so now we actually do have two choices we have two beta reductions we have one in here which is b applied to lambda x dot lambda y dot x and then we have the outer lambda b with this lambda x dot lambda y dot x so we will do the outer one first it actually doesn't matter but since we have been doing the outside one as we said it won't matter but we have been doing the outside one so let's just apply this next one so inside here we will replace all three b's with lambda x dot lambda y dot x we are replacing it with this parameter here so then we replace this free b here so now we have something if you just look at this I completely agree this looks crazy you literally have a bunch of greet characters and x's and y's and maybe this is the point where you start to see the calculus inside by into calculus but that's really just a facade because we have talked about our understanding of what each of these functions does this is true this is true this is false we know true is a function that takes in two parameters and returns which one first parameter so we know that it's going to return what this first parameter it's being applied to two parameters and then we will return this parameter here we have three applications so the first application is going to happen here right let's walk through it just so that we are clear so then I look inside this body here and I say I am going to replace any free x inside this body with lambda x dot lambda y dot x with my parameter here and so do I have to worry about this y are there any free y's in what I am replacing no it's a combinator right it has only bound variables not at all so that is going to replace this x with this lambda x dot lambda y dot x so now we are at this intermediate state where we have lambda y dot lambda x dot lambda y dot x but that's fine because now we do one more application and replace inside this body all three y's with lambda x dot lambda y dot y are there any free y's in this body and we are left with this and what's this true so we just did a Boolean operation using functions and only functions and no functions with no names or sorry only functions with no names so it's basically doing true and it's taking true and also it's choosing true yes so it's using here and we're saying that the first parameter decides if the first parameter is false well here let me go back here it's a little hard to look at this if the first parameter a is false then always return constant false we don't care what b is because that's the definition of ant if it's true then the return is either true or false depending on what the second parameter is b and we'll get rid of that false and so this is why you build up the intuition behind these true and false functions so you don't have to do this logic every time but it's a nice way to check to make sure that a you actually understand how this computation should be performed because you know what the result should be the result better be true questions on this? we could have just used two t's instead of lambda x dot lambda y dot x here? yes you always have to remember that those t's can be if they're on the left side of an application they represent an abstraction so you can further beta reduce it if you had to but yeah when you're working this out on a homework problem maybe that's a good way to think about it if you're on a high level and then if you feel you need to go down to the low level totally do it this is the cool thing each of these steps is very mechanical doing these substitutions is just a mechanical operation that we wrote the rules down in four rules on a powerpoint slide but you can create these Boolean operators from that and so you do the same thing with true and false as an input kind of go over this quickly so here we can actually do it abstractly, so here we'll do it symbolically so here we have, we'll expand up the and function because that's the one we're trying to test and we'll say lambda a dot lambda b dot ad false and so here apply this, this means inside this body I need to replace all three a's with true so I would do this, replace all three a's with true so I have true b false and then now I need to replace all the b's inside here with false, so all, sorry all three b's inside the body with false I replace this b with false I say true is a function that takes in two parameters and returns which one first one and I could even expand that out further if I wanted to, I'm going to get false the witty one where it was x, y, x and then you just put a false but I think we're missing the theory as to why that works so so if a is false what is it going to return always false so that's the intuition from the table whenever a is false the first input is false and the output is false so it doesn't even matter what the second parameter is so one way to do that is to say we'll just return yourself because you know that that's false because you just checked so you're returning the second parameter because you know it's false so you're going to return yourself here to try and drive the intuition here you're hard coding it and saying if a is false always return false that is the definition of an and it does not matter what the second parameter is if the first parameter is false cool and you can do this with false and true and false and false so you just go through all of these cases and see yep the inputs and outputs match exactly what I think then this is actually done correctly so then using this how would you define not so what's the output so how many parameters is not taken one so if it's true it was a return if it's false it was a return okay so then how would you write this so now x is now a x is now the true or false that we have right so x is a function that takes in two parameters if it's true it will return the first parameter if it's false it will return the second parameter so we have x right we can go in a similar style here we need essentially we can think of this as evaluating x right yeah so x is true the first parameter is going to be a return so based on our true table what should that be false and if it's false what should we return true there we go we can write a not function and that's exactly what I have and we can prove not t we pass in t substitute that t for a true is going to return the first one which is false not false is going to return false false true and it will return the second one which will return true so using that we've actually just developed all the boolean operations we ever want right we have and and not and we can actually use those to define every single other operator cool so we'll continue on Monday with if branches and we'll get into more complicated complicated forms of computation