 Hello, hello. I'm good. Very good. Glad I made it. How about you, Jeremy? How are you doing? Oh, can you hear me? Yeah, I can hear you. It's the same thing again. I know. It's okay. It's fine. Oh, it's all good. No. How are you, Jeremy? Good. Sweet, sweet, sweet. It's beautiful and sunny. Yes, beautiful and sunny. Like nearly every other day. Apparently it's going to be 27, which is pretty good for winter, I could say. Yeah. Definitely not the experience of my first 37 years of my life. Yeah, not 37. This is sometimes closer to the distance from the zero on the number line on the other side, you know. I mean, I'm having trouble getting, I just want to get my screen organized and not quite used to being, and I've also tried buying a, one of the magic trackpad things. That's a surprising amount of getting used to as well. Maybe it's a little great. Things just take a little bit more adjusting to ease it. What is it? It's a trackpad, right? Yeah, it's just the magic trackpads that they use on Apple devices. I mean, it's just like that, but I guess I'm so used to using a thumb trackball that I, my brain's like, what is this strange thing? A trackpad is the most hated piece of equipment for me of computer technology. Like, you know, I remember the Thinkpads, they had this tiny little like Gizmo that you could use instead of the trackpad. I'm not sure if you, I think they called it. Yes. Yeah, that was wonderful. I like those. Yeah, they were great. And like, I even hate using the mouse. So, so trackpad is like one level below, but yeah, I'm also in the, in this club. Yes. After reading Rachel's post, I made the jump and like, I don't even think about it anymore. It's I had to change because my RSI was terrible. That made a big difference. So I'm planning, this may be crazy, but I'm planning to like power through a lot of this today. So that's my hope. And I've just also mentioned, I guess I'll share my screen. I'm already pressing the wrong button on this chapter. I kind of got stuck on the end code, which is the T shape clip. Okay. I guess we'll hope we get to that today then. Hopefully we'll get to as many as possible. All right. I'm sharing my screen. You can see it. Okay. Yep. Just wanted to briefly mention, I, I, oh, that's not good. I broke everything. How about that? Your mic is not as good as the other day, Jeremy. That's why on the other side of my computer. Thanks for letting me know. Okay. Is that better? Yes. Everybody else is too polite to say anything. Yes. I, people being polite is the bane of my existence. Nothing worse than being polite. I didn't even notice. It started to find the base. All right. Okay. That's amazing that we get along Jeremy then because I'm like chronically polite. Like, I know you're disastrously polite. It's the bane of my existence as well, since I remember. Man is, it is complicated. Why on earth do we not have a website anymore? Um, so GH pages. So if you're ever trying to debug a broken GitHub pages, if you actually go to the GH pages branch, oh, there you go. It's empty. So that's why it says we don't have a website. So presumably something broke, build website. Oh, there you go. What on earth? That's not good. All right. No worries. I will fix that later. We don't have to watch me do that. What I was trying to tell you is that I've broken up the notebook into four sections. The bit about kind of arrays and numbers and strings, a bit about some basic functions, some basic operators, and then the APL competition and stuff, because I thought it was getting a little bit unwieldy. Now, there is some helpful stuff about glyphs to cover on the forums. Which I think, yeah, this is probably a good place. So thank you, Roger S49 for this list. And I think some of you else, maybe Sirada had one too. And so some of these are pretty easy to get going with. So what I might do is just move this one out of the way so I don't get distracted. So some of these are pretty basic functions. I might just add them over here. Maybe the factorial counter is a basic math operation or I wonder what we have as basic math operators. And I guess it's factorial as well as binomial. Exactly. I'm going to call it basic. Okay. Okay, presumably they call this something like exclamation mark or exclamation point. Oh, and let's run this line. Okay, exclamation mark. Okay. I guess it doesn't really matter if it's exactly perfect, but exclamation. Okay. So the magnetic version is factorial, which probably, does anybody not know what factorial is? One thing to be aware of is that these are always prefix operators. That's going to be confusing. And I guess in operators, we could then mention that factorial is probably going to be the same as times slash iota, right? So maybe we could use that here. So times, oh, I'm going to do APL for me. Okay, times slash iota by factorial. There we go. Look at me. I'm not doing APL. All right. I guess we should probably look it up in case they do weird things with negative numbers or something. Oh, here we go. Negative numbers. So I guess like a factorial of a non-integer is a gamma function. Is that? Yes. Haha. Great. Look at me. Remembering math from the university. I've never used that since, but I'm sure it comes up for some reason. What's the keyboard shortcut to insert the lamp, the comment, the comment character? Back to Colin. Colin? Colin. I mean, you're not working. I guess you're a bookmark, but yeah, I thought it'd be enabled or something, but why did it add a dot sometimes? That's weird. Sometimes when I put a couple of spaces, it seems to be a dot. All right. And don't ask me to explain gamma because I've damped it. If I remember what it is, maybe if there's interest at some point, we should come back to that. And I guess they're probably going to call this binomial or something. Yes. Double space on Mac is period. Oh, it's a Mac thing. Is there a way to turn that off? I suppose. Oh, not sure. That's right. I'll look it up later. Thanks for letting me know. Who to blame? Okay. It's probably worth mentioning how to define binomial. So the results are derived from the beta function. I don't remember that at all. That sounds like an interesting thing to really look up one day as well. Okay. So r is the number of selections of x things from y things. That's basically the definition of binomial that we learn in university. Actually, high school. At least in Australia, we did it in high school. Over enthusiastic with the use of non-integer versions. I've been inclined to do something like say IO to five. Oh, we haven't done IO to yet. No, we have. We have done it either. Not at this point. Oh, at this point. There we go. So there are five ways of selecting one thing from five things. 10 ways of selecting two things from five things and so forth. And I guess one way of selecting zero things. Does that make sense? Yep. All right. Great. Next. Cool. How about we do these other Boolean ones? They're probably going to be nice and easy to zip through as well. Okay. So Boolean ones. Here we are. Let's start here, shall we? Okay. Greatest common divisor slash or is nine. So this is going to be quite fun because I love the way they don't just do or. Classic generalization trick, which is to say, well, or is just a special case of GCD, which is a very nifty insight. Now, something I don't know is, I haven't really thought about it, is if there's some fundamental reason why that is or it's just a coincidence. The greatest common divisor is the same as. Greatest common divisor. Yeah. So the greatest common divisor, Radick, is zero and zero is zero. The greatest common divisor of one and zero is one. I thought those were binary numbers. These are also they are also binary numbers. This is also a binary truth table. So this is true. This is true both for GCD and for the or truth table. No, no, no. But so the way I'm reading this and maybe this is wrong, the result is a number that's greater than any of the two numbers above, right? So how can it be the greatest common divisor? No, no, no. This is this is not a number. Space means create a list in APL. Yes, yes, yes. But all right. So it still operates on a single item and just that I saw zeros and ones. I thought, oh, wow, maybe there's a binary number that's not happening. Zero or zero. Got it. Got it. Otherwise one or zero. Okay. That's that's interesting that this is I mean that or can be yeah, that's cool. That's cool. They also have a similar interesting point about not having X or exclusive or because that's going to be in a second. Oh, and then you can also operate on numbers that are not binary numbers that are okay. Got it. Sorry. Yeah, it makes a lot of sense. Absolutely. So I think I think the the header, you have equal under bar slash there. Oh, thank you. And what is this thing actually called? I think it's just great. It's kind of divided. Let me look it up. And I accidentally started with dyadic. Is there a monadic version of it? I think so. There isn't. No, not defined. They've actually got a spare character they can play with. I don't think it's just called logical or I guess that's easy logical or yep. And it's logical and it's same thing. No dyadic. Yep. Lowest common multiple or and okay. So this is lowest common multiple. Oh, website is up again. Our website is up again. That's what the chat says. That's weird. Well, I seem it looks like maybe he fixed it. Oh, quite a champion. Okay, so yeah, so we've got multiple things here now, as you see. Thanks for seeing him. He's meant to be on vacation in Melbourne. Why is he fixing our website? Another kind of person. You know, polite. Or maybe he's getting in trouble with his girlfriend for doing that instead of checking out the coffee in Melbourne. I'm going to guess it's eight. Nope. Zero. Thank you. Zero. Okay. I've noticed that most of the time, there's something pointing down. The key to the right of it is going to be pointing up. That seems to go down and then up a lot of times. Good to know. It's quickly versions. The not versions. Okay. Makes sense. And these are now the equivalents with a two order through them. Of course, that makes sense. And they also are the equivalent shifted versions. Shift nine. Oh, it's not so pretty in this font. Let me publish it. It should look pretty. Oh, this is only nor is it? Come on. I thought they'd have some weird fancy way. Okay. Truth table for nor. So it's so it's actually an operator that does very little. Just one thing. So yeah, it's so unusual. Yeah. Yeah. Yeah. Yeah. Not inspiring. I can just imagine as Adam is watching this, he's madly searching math to prove us wrong. Find generalizations of nor so we can put it in the next version. This kind of embarrassment in the future. Oh, there we go. That's a nice talking font. You don't think man is going to be just a disappointing video. I think it is. Oh, boy. Makes me wonder why we bother. Well, the universe is just helping you get through a lot of symbols. Yeah. Well, quite. Yeah. Trying to do a world record here. Okay. Everybody happy with our those so far? And we've got children somewhere. Anybody's. Well, I just type it. I don't know how to type children. Oh, of course, it won't be in the back menu in the language box. I don't need it in the language bar. Oh, okay. There we go. Diatic and monadic. Monadic is not. Well, presumably there's only two things of that. Yeah, I don't know why they've got four things. Trying to make it look more fancy than it is, I guess. Okay. Okay. What happens if we do nine or negative 2.3 doesn't make it. Well, there you go. Not a bit of a disappointment as well. I've been inclined to have it work like Python, where anything that's not zero or an empty string, I think it does have a diatic version. Yep. Don't worry. They're coming without or excluding. Okay. Three, one, four, five, without five, one. Looks like it's removing the actual numbers. Makes sense. But stuff that doesn't appear on the right. Yeah, exactly. And it's doing them on whole kind of arrays, which you can see in this case, remembering that a string is just an array of characters. So presumably if we did something like one, two, three, without one, two, interesting. Oh, I probably need to be careful of my parentheses. Interesting. How is that different? You have to close the one, two on the right. Make it a one, two. Here's a scalar. Oh, I see what you're saying. This is actually not one, two at all. This is actually just a parenthesized array. Yes. Yes. I see. What's the keyboard shortcut for and close again? Oh, good job, Isaac. Thank you. Thank you. Thank you. And I don't think, well, I don't think I need that parenthesis because the space should be tightly bound. Yeah, yeah, yeah. Okay. Very good. Let's check the docs to see if there's anything else. I don't think you need to print this on the right either. No, I guess I don't really, do I? Yeah. And if that actually makes it more obvious what's going on. Yeah. Thanks. Okay. So it's checking for equal underbar. Makes sense. And they use hash tables. Okay. Makes sense too. Which is basically the same as Python. Great. Actually, the problem with looking just at symbols is that we miss out on some. And did Sarada put a list, I think, on the main topic? Yes, she did. Okay, she's got all these ones. This is going to be more complete, I think. All right. I guess we're out of all the ends. And maybe we should do this one. Presumably, this is something like the other shoe. I thought we did that last time, no? Did we? I thought we did the opposite direction. We definitely did the left shoe. Yeah, we got left shoe. Oh, no right shoe. Okay. Now the shoe's on the other foot. We also got up shoe and down shoe as well. Oh, really? Yeah. Okay. What's the keyboard shortcut? So it'll be X, I believe. I'm just pasting it at the moment. Okay, help. Well, maybe you believe right, Isaac? Okay, we have quad ML one. So this is disclose or first. And dyadic is pick. Okay. All right. Well, these examples are nice and straight forward. It's, oh, well, interestingly, though, in the second case, it's also like unboxing it or whatever the word they use is, un-enclosing it, is it? Why is that? I guess that's interesting. Is that just how it prints them? That's how prints characters, yeah. Yeah. So what are you going to say, Heather? I don't know if it's, is it disclosing it or is it, I mean, if you just take the one, two and parentheses, then that would not be enclosed. So, right. Okay. So my question then is, I guess, remind me the enclose key? Yeah, it's definitely doing that. Okay. So it's taking the first thing and unboxing it. But I guess disclosing is what they use to mean unboxing. Let's see how they describe it. It's the first item. I guess you can't exact, I don't, I have a lot of trouble understanding enclose, to be honest. Because like, I don't like, in J, it's easier. There's a data type called a box, you know, and like, you use less than put something in a box. And now you've taken that thing and now it's a different data type. It's the box of that thing. It seems in APL that's not quite what's happening. It's still, this is still an array that it contains an array. They have this idea of depth instead. And so I guess when you select something like the first element, by definition, you are reducing the depth, you know, because that element is, you're going into it to get it out. Remember, Adam said, this was brought up also, this is not an array, an array. And he said, oh, look at this epsilon down below. Right. Yeah, I found that confusing. He said it packages it. It packages it. But like, you never get the package, you know, it always acts like an array, as far as I can tell. It makes another atomic thing. It kind of feels like, it's different to J. I think in J, if you select the first element to something and it's in the box, you get back a box and you have to unbox it. Whereas APL doesn't behave quite that way. Do we get how these left to and right to are the opposite of each other? I don't understand this concept of first. That doesn't match. Yeah, we do. Because this is, so this has depth two, because enclosed took something which was an array and put it inside an array. So we now have an array with an array in it. So that's depth two. So here's the same thing. Here's the same thing disclosed, which is taken the first element. And therefore it's got a depth one less than we used to have. And so therefore it's done the, yeah, it's taken us back to this. So to put it another way, we could say like A is this. And then we could say this matches, which is colon A. I should do it the other way around. A matches this. And so that's a bit of a weird one. Disclose of the zelda thing is zero in edge case. All right. So let's look at the direct versions, shall we? This looks like it's just indexing in. Okay, so if you've got a scalar on the left, it just grabs the third thing or grabs the second thing. This goes into the second thing and then finds the first thing in the second thing. All right. It seems easy enough. Okay, although it's fine. So if there's anything weird about this to know that. Okay, elements of x selection successes with deeper levels. Yep. Simple scalar items may be picked by empty vector items. Arbitrary depth. What's that mean? Okay, what's going on with these ones, but they've got two sets going on. So this is. That was row two column one as Jkl. I'm getting so confused as to which switch. Okay, we're talking about this one at the moment. So this one here is enclose. So that creates an array with an array in it and then it concatenates one. Wait, isn't that exactly the same as just putting a space between them? Yeah. Yeah. Why are they confusing us? Okay. And then, oh, that's interesting. So now they're using that as an index. And why are they building up G in such a weird way? All right. I think we are going to need this example because this is something I. I think with the boxing, this would be made pretty clear what's going on. Yeah. Okay. And not having the boxing there, I think is making it look a lot harder than it really should be. Really? Okay. Maybe they were running out of room or something. Let's see why they don't just do this. Okay. So we've got this weird thing. So I think we index in second row, first column gives Jkl four. First element of Jkl four gives you Jkl. Okay. So all this is the index. And we're sorry, what's the keyboard shortcut for X? X. And we need to fix this. Okay. So sorry, we go into the second. This has been going to the second row, first column. I believe so, yeah. And then this has grabbed the first thing. Yeah. From that. Well, we should try that on a matrix to confirm. So two rows, three columns of A to six. Okay. So you can't grab a row from a matrix. Okay. Oh, and you need the left true because you want that to be an atomic thing, index. I think so. Yeah, it's going to give you an error. What's the keyboard shortcut for quad? L. Okay. So that's the second row, first column. And if you want to entire row, do you say entire second row? To get a row, well, we could try doing this, I guess. So I'm not sure you can. We just did it with G, didn't we? No, no, we didn't. No. So the difference is, okay, so it looks like you use a plain array to go into an array of arrays, as in this one. So this is an array of arrays. To go into a matrix, you need a rank one or shape one thing, I guess, such as we have here. And so here now we've got a shape one thing, and then a scalar. So the shape one thing is going to go into the matrix to row two column one. And this now contains two items. So this is the first item. Okay. So I think it's one way to get the row is to use the up arrow and down arrow. Yeah, exactly. Okay. So the items of X are simple integer scalars or vectors. Okay. Yeah, so when we enclose them, we're creating a vector. And the vector identifies a set of indices one per axis at that level of nesting. Okay. So that description makes sense after I know what it means. I'm not sure I could have read it to figure out what it means. I still don't know what simple scalar items in Y may be picked by empty vector items in X and empty vector. How do you even create an empty vector? Is that IO to zero? No, I don't know. I might leave that one now because it's not going to help us. It's short. It's something to maybe somebody can try to figure that out. Okay, that was annoyingly long for our hope that such as life. Should we do the up tack and down tack if that's what they're called? Yes. Is that what they're called? Does anybody know? Yes, that's what they're called. Okay. And how do I type them? And as Nancy. So the one with the pointing upward and B and then it goes down. Oh, D. No, B. Nancy and Barry. Right. So this one is up tack. Okay. And that's only die edit decode. Okay, this should be fun. This is very confusing. The first element of X has no effect on the result. This function is only the base one. That's okay. The value is a polynomial. Okay, here's a polynomial that evaluates. So we start with Y one. Okay, this is Y one times X to the N minus one times two. Zero. So two plus four plus. Oh, sorry. X is on the left. Oh, sorry. And that's zero, I guess. Yeah, that's zero. Okay. So it's one times one plus one times two plus zero plus one times eight. It's the usual formula that we use to convert binary to decimal. Yeah. I understand. I'm just trying to see how it maps to that. Yeah. Okay. So this is a binary. This is the binary number one, one, zero, one. Because we're doing it base two. Okay. So then what about base 10? Yep. Makes sense. You're telling it what is one, one, zero, one. Okay. So that's one times 10 to the zero plus one times 10 to the one blah, blah, blah. So we should be able to do three, four, one, six. And that should just be that number, right? Yep. Cool. All right. When you've got an array on the left, each element of X defines the ratio between the units for the corresponding pairs. Okay. So the ratio, okay. So the ratio of the units is 24 to 60 to start with. So presumably this is like, presumably what this is is two hour, the two days, 40, sorry, two hours, 46 minutes and 40 seconds. So that would be two hours. I've got to do parentheses. 46 minutes and 40 seconds. Okay. Why? So I see. So we start out with 40. And so this unit's considered one. And so then the next one is going to be 60 times. Okay. So here's the 60 times. The next one will be another 60 times. Hence, I should write this as 60 times 60 to be more clear. Yes. And I must have pressed insert. I see. And so the 24 indeed is not doing anything. That's fun. So that's uptack. Higher rank array arguments. Whoa. Okay. Each of the vectors taken as the radix vector for each of the vectors on first axis. First axis is the rows. Jamie, can you move on? Do you want to, the last example or the polynomial or the variation is a, there is a compass number. Do you want to put that in it as well? Oh, you're right. Sure. So that's going to be 1j1 to the pair of zero plus 1j1 to the pair of 1 times 2. Is that how it works? Yes. Plus 1j1 to the pair of 3. Right. To the pair of 2 times 3. So 1j1 to the pair of zero is obviously going to be 1. And then 1j1 to the pair of 1 is obviously going to be 1j1. That one's times 2. And then we've got 1j1 squared, which is going to be 1j1 squared, which is 1 plus i times 1 plus i, which equals 1 plus 2i plus minus 1. Okay. Which is indeed 0j2. Okay. Let's do another of those. And then that times itself again. Yes, correct. It's easier to see than the polar coordinate. Why is that? Oh, because 45 degrees and 90 degrees. Okay. Sorry. I'm not much of a complex numbers person. So, right. So 1j1 is the 1,1 on the Cartesian plane. Is that what you're saying? Right. 1j1 angle phases 45 degrees. And when you do times, is that the same as multiplying an angle? Right. Power goes, translates to multiplying by phase and also magnitude gets to that power. Okay. Maybe you can find some link or something that explains that for dummy is like me and put it in the forum or something for this lesson because I never learnt any of that when I was studying philosophy at university, I'm afraid. Okay. So this one is 4 by 1, 2, 3, 4, 5, 6, 7, 8. And here's the 8. X is the thing on the left. Still wish they said alpha instead of x. So each of the vectors, each of these vectors is taken as the radix vector for each of these vectors. But there's three of these rows and four of these rows. How does that work? Oh, I see it's doing an outer product. So it's doing, it's doing this with this. And that's what this is. Is that right? No, I think we need to explain in terms of radix. I don't know what a radix vector is. It's like the base, like, 13 in radix 2 is 1, 1, 0, 1, just like above. So, okay, that's, I'm wrong about how these are combined. So how do these work? I don't get it either. I think APO Wiki has a better explanation. Oh, great. But it's still complicated. The search for decode. So examples, the third paragraph. Under examples, the third paragraph. 1, 2, 3, yep. Okay, so we've got these ones. Okay, this is the polynomial. Okay. Okay, we've done this one. One tech. One tech is, Oh, okay. So that's getting how this works. X on the left. And then we multiply it by. Oh, that is the sum, right? One, two power of anything is one. So one pair of anything is one. Yep. So we end up with three times one plus one times one plus four times one, etc. I'm going to think it's tricky when the left hand side is an array. So then doing it here with a matrix is just some the column. Yeah, why? What's it doing? Is it doing it to each? Yeah, I guess that's my question. Why, why? Oh, if the left argument is a scalar, it's converted to a vector filled with that number. Oh, oh, so it's one, one vector of which size columns? Let's find out that one. Okay, so it's basically aligning. So okay, so because decode expects kind of a scalar on the left and a vector on the right. Oh, I don't know what 48 did. So the kind of the base case seems to be more this version. And then the one where you've got a scalar is just a kind of a shortcut. Right. The scalar one is good for converting to bases. Yes. Or deconverting to bases. Yes. To base 10. 31 is useful to converting to days and minutes. And the one that the left hand side is an array, it's not clear what the use is. The one with the left hand side is array. I mean, it's useful for like the kind of example they gave here, I guess. So how many seconds is two hours, 46 minutes and 40 seconds? Right. Yeah, I meant when the right hand side is a matrix and left hand side is an array. Okay. The one that, what if you do 222, what would that do? Just a moment here. There's 12 of these. Okay, so it doesn't like that. So it has to be three. Okay, and you asked about 222. Is that no, oh, yeah, 23 is one plus five times 222 to the power of two, not to the power of one plus nine times four. Is it? No, it's not. It's one to the power of zero times two plus five to the power of one. Yeah, but that's not it. It doesn't even say what it does in that case, does it? Um, the first one is ignored. Oh, it uses the ratio of them. So, this was ratio 222 should be similar to one. So it doesn't really do anything. Maybe we'll come back to this. We're slightly lost on that one. Yeah, I was looking at this before the class also and couldn't figure it out. All right. Yeah, it's something going on interesting here as well. Expecting, but I'm hoping downtown is less confusing. Oh, and what was it called? Decode. Presumably this is going to be something called encode. Yes. Okay, it's going to be the opposite. Okay, what's going on here? That's a hard one to start with. Okay, so this is decoding seven to a binary number of length according to what it was on the left. Oh, do left hand side. So this is going to mention columns. But here's five. Here's seven and here's 12. That's right. Okay. So we should be able to do the same thing. Oh, yep. Y and X must both be simple numeric arrays. It's the representation of Y in the number system defined by X. If the first element of X is zero, the value will be fully represented. So you're getting the digits of the right hand side in the basis specified by the left hand side, one by one. Oh, there you go. That's the difference. So if the first element zero, then it's going to make this as big as it has to be to get the whole number here. If it's not zero, then it truncates it. Makes sense. Well, truncated is a very special case when the thing is 10. Not really. If the thing was binary, this is a truncated binary representation. It's the least significant digits in that representation. Right. Okay. Yeah, you're getting the digits one by one in that basis. This is how you get the least significant digits. Okay. I see what you mean by truncated now. So here's 75 in base two is probably column one. Right. Don't understand column two. Column two is up tall. Oh, okay. So that's representation of 75 in base eight. Yeah. And the other one is X, right? And then hexadecimal. So we don't have letters. So it's B4 up tall 3 1 1, binary 1 1 0 1 0 1 0. It's hard to imagine that one would want to do this. I mean, it could be some kind of performance like things sometimes where you need, yeah, multiple representations at once that I don't think we need it for a quick like one of these glyphs. Yeah. All right. Makes sense. Wait, we've done these. Yeah. We've done those. Nebulians. We've done that. All right. So let's do up and down shoe might be easier ones to work on. Where are they up and down shoe? Oh, these ones here? Yeah. Do they make sense to go with left shoe and right shoe, Isaac? Oh, not really. It's unique intersection and union is what they are. Okay. All right. Let's really match with those. The rest of the glyphs, the rest. I guess we could give it a number. Okay. All right. How do I write these? They're going to be C and V. And this is called up shoe. Oh, yeah. And what are the names of the things they do? Up shoe is just intersection. It's just dyadic. It's only dyadic? Yep. All right. And then it's called set intersection more precisely. Oh, I see. Dyadic. Set intersection means intersection. Yeah, weird. Yeah. Sorry. You're saying? Okay. This one's V, right? Yep. That one, the monadic is unique. And dyadic is union. Monadic. Okay. Looks straightforward enough. So intersection of 22 appears here. A, B appears here. F, G does not appear here. Okay. This is similar to something we saw before, right? The tilde, I think, but it would be have to use the tilde going both directions. You'd have to use it twice, I think, to get the intersection. Yeah. Right. Can we try to do that then? So if we wanted the intersection of, yeah, so this is wrong, isn't it? It should be like, this answer to this should be one. So in a Venn diagram, tilde is stuff that is outside the difference. Yeah. So it's the set minus this and minus this. Okay. Yeah. Union of those two. Okay. Good about this. These actually match their math notations for once. Yes. That's nice and simple. Okay. So the dyadic version seems pretty simple. The monadic also looks pretty simple. And we've learned a way to do this before. Using not equal. Yes. Reduce. Was it slash not equal? Yes. That sounds right. I'm not equal. It's like a four or a six. Because is that one of the ones with the three things, right? Which is back to the index into index. I think you are right, actually. Yes. And I think we looked at doing this another way. It's this. And then did we come up with a way to do that with a train? You should be able to whenever A is on both sides. Yeah. I mean, it was an ugly version of it, I think. I thought this means put it on both sides. That does. But the tilde in between, shouldn't that be a jot? This one? Oh, it does have to be a jot there. Yes. Yes. I think so. Looks familiar. Yes. Yes. What is jot? How do you type? J. There we go. Oh, do we need that tilde inside parentheses? I think so. Let's see. We applied this to the A. And then, yeah, because we have to reverse it. This actually has to go on the right hand side because it's here. If it's on the, sorry, it's on the left hand side. If it's on the right hand side, it would be fine. But we need to, not equal to apply to the left hand side. So we have to reverse the order of slash. So, yeah, interesting question as to how to do this more neatly. I'm sure there's a way. Okay. That's that. Okay. Let's leave it there. I'm going to do an extra one tomorrow. If people are around. In the hope that we can get close to polishing this off. So. This is like learning Chinese, isn't it? Glyphs. Oh, there's less to learn than Chinese, thankfully. They're more complicated to understand what they mean than Chinese glyphs. So you would know better. All right. Thanks so. Bye. Bye. Bye.