 So as a reminder, our discussion of lattices was meant to be able to generalize, to maximize the idea of set algebra and Boolean logic. For which in the previous video, we introduced the idea of identities, which by definition, a lattice does not have to have an identity. A bounded lattice always has identities. Now, another property that's true for unions and intersections with regard to sets is that they are distributive. There's distributive properties. Now, when we first defined a lattice, I said that we can't just have two semi-lattices that are independent of each other. The two operations of meet and join have to interact. And with a lattice, we took on the weaker axiom of absorption. The distributive property is actually a stronger condition that if you have distribution, you can actually prove absorption from it. But not all lattices are distributive. We'll see an example of that in just a moment. So we say that a lattice L is a distributive lattice. If in addition to the axioms we already have, we have the distributive axiom. So given any elements x, y, and z inside the lattice, we have that join distributes over meet. So that x join y meet z is equal to x join y meet x join z. So if you look at it just as it is here, we get that it distributes over this, giving us exactly this picture right here. We'll come back to that in a second. We also have the dual axiom that is meet is gonna distribute over join. If you take x meet y join z, that's the same thing as x meet y join x meet z. Now I mentioned in the previous video that some people, a lot of people actually will denote joins using a plus sign and meets using multiplication. That's very common to do. And so if you take this second axiom, this actually looks like the usual distributive laws that you have for rings. That is, in this case, multiplication distributes over addition, okay? Now, admittedly, we only have one direction. We only assume left distribution since lattices are commutative. We don't need to assume right distribution. If we wanted to go into some non-commutative setting, we would adopt such an axiom, but we'll for simplicity just take the left distribution here. Now, things are a little bit weird on the other one. If you think of this as addition and multiplication, what you see this time is that actually, addition also distributes over multiplication in that situation, so you would get something like the following. That can be a little unsettling if you try to think of these as rings, but these are not rings, these are lattices. And so for a lattice, we require that meet distributes over join and join distributes over meet, for which when you look at unions and intersections, like in a set algebra, you actually have those properties, meet and union intersections distribute over each other. So we want to capture that principle as well. All right. And that actually leads to what I was describing earlier for that set algebras with union intersections are always distributive. Boolean logic, Boolean logic is when you have just your two elements true and false. Many of your operations are or and and, that's also a distributive lattice. And it turns out divisor lattices are always distributive as well. The examples that we've seen of course, be like if you take the divisors of some number n, so like we can do 24, for example, the divisors of 24, you're going to get eight, 12 over here, four, six. Let me scooched up a little bit more. Two, three and one. We get a divisor that lattice looks like this. This is in fact a distributive lattice. It can be difficult to show when lattices are distributive because it's a very strong property for lattices. It's really nice when they're distributive. But the three canonical examples we look at for lattices all have distributive properties. So before we convince ourselves that lattices are always distributive, let me give you an example of a lattice that is not. Consider the lattice over here, for which our minimal element will call zero, it is the joint identity. We take our maximum element, we'll call that one, it's the meat identity. And then we have three other pictures here, A, B and C. Notice this lattice is the hause diagram for the subgroups of the climb four group. All right, so this is a lattice we have seen many, many times. It is not distributive. And I want you to consider the following situation. Take A meat, B join C, like so. Now, if you're thinking of these as the subgroups of the climb four group, this would be like the climb four group is right here. You have the trivial subgroup down here. And then you have subgroups generated by A, B and C. That's how we could think about it. And that situation, your meat would be the intersection operation and your join would then be the composite subgroup. It's not the union of the subgroups because unions of subgroups is not a subgroup in general. But this would be the smallest subgroup that contains the two of them. So there does exist an element in that situation. If you prefer to think of that example, you can do that. So notice the calculation here. If you take B join C, their least upper bound of B and C is gonna be one up here. And so B join C is equal to one. But one is the identity of meat. So what is the greatest lower bound between A and one? It's just gonna be A. So this thing, A meat B join C is equal to A on one side. But then in the other direction, if we take A meat B join A meat C, well, A meat B, we want their greatest lower bound. That's gonna be zero, all right? Similarly, if we take A meat C, it's their greatest lower bound is zero. So this thing then becomes zero join zero, which all elements are idempotent. So zero join zero is actually is equal to zero. Since A is not equal to zero, this gives us an example of a non-distributive lattice. Another example that I'm gonna offer to you is the following. Consider this lattice right here, it has five points on it. This is actually the smallest example of a non-distributive lattice. So I'm gonna leave it as an exercise to the viewer here to prove that in fact, this is a non-distributive lattice. That's a good exercise to go through. Give me an example where the left-hand side of one of the distributive laws doesn't agree with the right-hand side. All right, so what I wanna do in this video on distributive lattices is prove a very important property about distributive lattices. So let L be a lattice, then it turns out that L is distributive if and only if we have that X join Y meat Z equals X join Y meat X join Z for all X, Y and Z. If and only if we have that X meat Y join Z is equal to X meat Y join X meat Z. So when you look at that, like, well, what's going on there? Let me point out what this theorem is saying that if we come back to the definition of a lattice, a lattice we have two distributive laws, join distributes over meat and meat distributes over join. What we're saying is that in a lattice, if join distributes over meat, then you're distributive. So if join distributes over meat, then meat will distribute over join. And conversely, if meat distributes over join, then join distributes over meat automatically. So a lattice is distributive if and only if you have one of the distributive laws. You don't need to assume both of them. You don't have to prove both of them. If you get one, you get the other. All right, so one of the directions is very, very clear. If you're distributive, you have both distributive laws, then clearly you have at least one of the distributive laws. So that direction's easy. What we wanna do is go the other way around. Let's assume that join distributes over meat and then argue that meat distributes over join to make a distributive, okay? So that's what we're gonna do. We're gonna assume that join distributes over meat. And so now we're gonna take the left-hand side of the meat distributive property and prove that it gives us the right-hand side. So looking at this right here, x meat y join z. So by absorption, the element x is equal to x meat x join z. So we're just gonna substitute this x for this statement right here. That's a consequence of the absorption axiom for which since it's a lattice, we have that property. Then we're gonna do some associativity here because I want you to know that we have a join, excuse me, we have a meat, we have a join, we have a meat right here, we have another join. But in particular, if you look at this bracket right here, the operation play is a meat, here's another meat. So we can do meat associativity. And so we then get that x meat is equal to bracket this right here. We're gonna get x join z meat y join z, like so, okay? Next, we're gonna use commutivity because we have x join z, that's the same thing as z join x and we have y join z, that's the same thing as z join y because joins the commutative operation. So now looking at this statement right here, I want you then compare this right here. This looks like the distributive property, right? At least the right hand side of it. Now instead of, we've used different, we've used the symbols a little bit differently here, but still the distributive property comes into play so we can then apply the right hand side because this property works for all x, y and z. So in particular, this is z join x meat z, z join y. So this by the distributive law that we are assuming is the same thing as z join x meat y, like so. All right, so then at this point, we're gonna do some more absorption. If you're not used to lattices, absorption is kind of a funky thing. So just you're gonna have to, I mean, don't just trust me, I'm telling it to you, but you might not have thought to do this on your own. So in this case, we're gonna use absorption again because the element x by the absorption property is the same thing as x join x meat y. Now I want you to be aware that the first absorption we did was actually meat absorption, that we have absorption right here. So we have x meat x join z in that situation. In this situation, we're now doing join absorption. This time x is equal to x join x meat y. All right, we have a little bit of liberty on what happens on these elements. We're doing it strategically here, of course. So by the absorption property, we get that this is now equal to x join x meat y, meat z join x meat y, all right? So you'll notice that we have this x meat y in both situations by commutivity, we're gonna move those forward, right? So to get the last equality, we're gonna use the distributive law one more time because the distributive law looks what we have here. We have a meat, which the two meat factors are themselves joins and the left factor of the two joins is the same thing. So that's what we have right here. We have a meat for which the two factors of the meat are joins again. And the left factor of that join is the exact same element, x meat y in that situation. So the distributive law, which we are assuming is valid. So this then translates that we have a meat, a join on the outside, a meat on the inside for which in this situation, that would correlate to the x meat y, we can factor it out by the distributive law. So that's now our left factor. And then we're gonna have x meat z, which we have right here. And that's then the other side of the distributive law that we're looking for. So basically what we've shown here is that this distributive law implies this distributive law. Now by the principle of duality, I love duality, using the dual proof, we can then go the other direction. So these two things are equivalent to each other. So if you have one, you have both, it's an all or nothing thing. And therefore you would be distributive in that situation. So for distributive lattice is you only need one of the distributive laws in order to be a distributive lattice.