THREE ADDITIONS TO STRUCTURES FOR SEMANTICS Fred Landman Tel Aviv University 2000 ADDITION 1. LINEAR ORDERS, DISCRETE, DENSE, AND CONTINUOUS THEOREM 1: If <A,<> is a linear order in which every cut determines a jump (= discreet and continuous), then either <A,<> is a finite linear order, or <A,<> is isomorphic to one of Z, Z+ or Z-. PROOF: Let a,b A. Since every cut in A determines a jump, there is no transition or gap between a and b. This means that there are finitely many elements between a and b. This means that A is at most countable. Pick any element a of A. {b A: b ≤ a} is finite or countable. If {b A: b ≤ a}is finite, map the minimum onto 1, its direct successor onto 2, etc. Since between any element of A and the minimum there are finitely many elements, every element of A comes into the mapping, and the result is a bijection between A and Z+ (if A is countable) or a finite initial stretch of Z+ (if A is finite). If {b A: b ≤ a} is countable, look at {b A: a ≤ b}. If that is finite, map the maximum on -1, its direct predecessor onto -2, etc. Again, since any element of A is a finite predecessor of this maximum, every element of A comes into the mapping. The result will be a bijection between A and Z-. If {b A: b ≤ a} is countable and {b A: a ≤ b} is also countable, map a onto 0, its predecessors onto -1,-2, etc, and its successors onto 1,2,..etc. Again, each element of A is a finite predecessor or a finite successor of a, hence it comes in the mapping. The result is a bijection between A and Z. This exhausts all the possibilities. ◄ This means then that Z exhaustively covers the cases of linear orders with only jumps. Since this includes all finite linear orders, linear orders without jumps (i.e. dense linear orders) are by necessity infinite. The following theorem says that the countable case is exhaustively covered by Q: THEOREM 2: CANTOR'S THEOREM Consider the following four substructures of the rational numbers <Q,<> (with the order the obvious restriction): <[0,1],<>, <[0,1),<>, <(0,1],<>, <(0,1),<>. Every countable dense linear order is isomorphic to one of these four structures. i.e.: The countable dense linear orders with end points are isomorphic to [0,1]. The countable dense linear orders without end points are isomorphic to (0,1). The countable dense linear orders with a minimum but no maximum are isomorphic to [0,1). The countable dense linear orders with a maximum but no minimum are isomorphic to (0,1]. 1 PROOF: Let <A,<> and <B,<> be countable dense linear orders without endpoints. Let A = a0,a1,...,an,... be an enumeration of A, and B = b0,b1,...,bn,... be an emumeration of B. Since A and B are countable, such enumerations exist. We define a sequence f0,f1,....fn,... as follows: 1. f0 = {<a0,b0>} Note that f0 is, trivially, a finite one-one function that preserves the order. 2. If n>0 and n is odd, then fn = fn-1 {<a,b>} where: 2a: a is the first element in enumeration A such that a dom(fn-1). Since dom(fn-1) is finite, and A countable there always is a first element in A not in dom(fn-1). 2b: 2b1: If for every x dom(fn-1): a < x, then b is the first element in enumeration B such that b ran(fn-1) and for every y ran(fn-1): b < y. Since ran(fn-1) is finite, and B countable, and since B has no endpoints, there always is a first element in B not in ran(fn-1) and before every element in ran(fn-1). 2b: 2b2: If for every x dom(fn-1): x < a, then b is the first element in enumeration B such that b ran(fn-1) and for every y ran(fn-1): y < b. Since ran(fn-1) is finite, and B countable, and since B has no endpoints, there always is a first element in B not in ran(fn-1) and after every element in ran(fn-1). Since A is linear, if a dom(fn-1) and a is not before every x in dom(fn-1) and not after every x in dom(fn-1), then for some x1,x2 dom(fn-1): x1 < a < x2. Since dom(fn-1) is finite this means that for some x1,x2 dom(fn-1): x1 < a < x2 and for no x3 dom(fn-1): x1 < x3 < a and for no x3 dom(fn -1): a < x3 < x2. 2b: 2b3: If for some x1,x2 dom(fn-1): x1 < a < x2 and for no x3 dom(fn-1): x1 < x3 < a and for no x3 dom(fn-1): a < x3 < x2, then b is the first element in B such that b ran(fn-1) and fn-1(x1) < b < fn-1(x2). Since ran(fn-1) is finite, and B countable, and since B is dense, there always is a first element in B not in ran(fn-1) and between fn-1(x1) and fn-1(x2). Note that, by the construction, if fn-1 is a finite one-one function that preserves the order, then so is fn. We add to fn-1 one pair <a,b>, where, by the construction, <a,b> is well defined, a dom(fn-1), b ran(fn-1). This means that, by the construction, if fn-1 is a function, so is fn; if fn-1 is one-one, so is fn, and if fn-1 preserves the order, so does fn. 2 3. If n>0 and n is even, then fn = fn-1 {<a,b>} where: 3a: b is the first element in enumeration B such that b ran(fn-1). Since ran(fn-1) is finite, and B countable there always is a first element inB not in ran(fn-1). 3b: 3b1: If for every y ran(fn-1): b < y, then a is the first element in enumeration A such that a dom(fn-1) and for every x dom(fn-1): a < x. Since dom(fn-1) is finite, and A countable, and since A has no endpoints, there always is a first element in A not in dom(fn-1) and before every element in dom(fn-1). 3b: 3b2: If for every y ran(fn-1): y < b, then a is the first element in enumeration A such that a dom(fn-1) and for every x dom(fn-1): x < a. Since dom(fn-1) is finite, and A countable, and since A has no endpoints, there always is a first element in A not in dom(fn-1) and after every element in dom(fn-1). Since B is linear, if b ran(fn-1) and b is not before every y in ran(fn-1) and not after every y in ran(fn-1), then for some y1,y2 ran(fn-1): y1 < b < y2. Since ran(fn-1) is finite this means that for some y1,y2 ran(fn-1): y1 < b < y2 and for no y3 ran(fn-1): y1 < y3 < b and for no y3 ran(fn-1): b < y3 < y2. 3b: 3b3: If for some y1,y2 ran(fn-1): y1 < b < y2 and for no y3 ran(fn-1): y1 < y3 < b and for no y3 ran(fn-1): b < y3 < y2, then a is the first element in A such that a dom(fn-1) and fn-1-1(y1) < a < fn-1-1(y2). Since dom(fn-1) is finite, and A countable, and since A is dense, there always is a first element in A not in dom(fn-1) and between fn-1-1(y1) and fn-1-1(y2). Note that, by the construction, if fn-1 is a finite one-one function that preserves the order, then so is fn. We add to fn-1 one pair <a,b>, where, by the construction, <a,b> is well defined, a dom(fn-1), b ran(fn-1). This means that, by the construction, if fn-1 is a function, so is fn; if fn-1 is one-one, so is fn, and if fn-1 preserves the order, so does fn. 3 FACT 1: For every n: fn is a finite one-one function which preserves the order. PROOF: The induction steps are given in the construction. FACT 2: For every a A there is an n such that a dom(fn). For every b B there is an n such that b ran(fn). PROOF: This follows from the zig-zag construction. If a A and for some k, a dom(fk), then for some m, a is the m-th element of A not in dom(fk). By the construction, this means that a dom(fk+2m), either because it is chosen as the argument for some b before that, or, if not, because at that stage it is the first element in the enumeration A which isn't in the domain of the previous function. The very same argument applies to any b B. Now we define: f = {fn: n 0} FACT 3: f is an isomorphism between <A,<> and <B,<>. PROOF: -f is, of course, by definition a relation between A and B. -Since each fn+1 is a function extending fn, f is a function. -By definition, dom(f) = {dom(fn): n 0}. By fact 2, this is A. Thus f is a function from A into B. -By definition, ran(f) = {ran(fn): n 0}. By fact 2, this is B. Thus f is a function from A onto B. -Since each fn is a one-one function, f is a one-one function. If a1,a2 dom(f) and f(a1)=f(a2), then for some n: a1,a2 dom(fn), and hence fn(a1)=fn(a2),. But then, since fn is one-one, a1=a2. Thus f is a bijection between A and B. -Since each fn preserves the order, f preserves the order. If a1 < a2, then, since for some n, a1,a2 dom(fn), by construction fn(a1) < fn(a2). But then f(a1) < f(a2). ◄ We have now proved that all countable dense linear orders without endpoints are isomorphic, and hence they are indeed isomorphic to (0,1). Now let, <A,<> be a countable dense linear order with a begin point a. <A-{0},<> is a dense linear order without endpoints, and hence isomorphic to (0,1). Let f be the isomorphism. Obviously, f {<a,0>} is an isomorhism between <A,<> and [0,1). Similarly, if <A,<> is a countable dense linear order with an endpoint b, we extend the isomorphism between A-{b} and (0,1) to an isomorphism between <A,<> and (0,1] by adding <b,1>, and in the same way, we get an isomorphism between <A,<> with begin point a and end point b and [0,1] by adding <a,0> and <b,1>. Since, obviously, these are all the countable dense linear orders the theorem follows. ◄ 4 We have so far dealt with linear orders with only jumps and with countable linear orders without jumps. What about linear orders with only gaps, and linear orders with only transitions. Concerning the first, it is easy to see that they do not exist. Namely, let A be any linear order and let a A, but not an endpoint. Then <{b A: b ≤ a},{b A: a < b}> determines a jump or a transition. This means that it can't be the case that every cut in A determines a gap. This means that for linear orders without jumps (i.e. dense linear orders) we can find only two possible kinds: with gaps and transitions, or with only transitions. The countable cases are cases with gaps and transitions. Gaps in Q can be shown by looking at irrational numbers: let r R - Q: Q = {q Q: q < r} {q Q: r < q}, and <{q Q: q < r},{q Q: r < q}> is a cut in Q which determines a gap. It follows that linear orders in which every cut determines a transition can only be non-countable. Intuitively we get the set of real numbers R by for every cut in Q that determines a gap, filling up the gap with an irrational number. This turns the gap into a transition (because you need to extend either T1 or T2 of the original cut which determined a gap with the element added to get a partition). As it turns out, there is a way of doing this, and in fact only one way of doing this. Let <B,<> be a dense linear order without endpoints, and let A B. A lies dense in B iff for every b1,b2 B: there is an a A: b1 < a < b2. THEOREM 3: Let <B,<> be a linear order in which every cut determines a transition, and A a countable subset of B which lies dense in B. Then <B,<> is isomorphic to one of the real intervals (0,1), [0,1), (0,1],[0,1]. PROOF: we won't prove this here, but the proof is analogous to things we will later prove for completions of Boolean algebras. If you are a linear order in which every cut determines a transition and Q lies dense in you, then every transition can be reconstructed as the bounds of a cut of rational intervals, and you are merely the result of adding those bounds only where they are lacking (when there are gaps). Such a structure is called a completion of the structure <Q,<>. Since each incomplete structure has (up to isomorphism) one and only completion, and the completions of isomorphic incomplete structures are isomorphic, the result follows: The real intervals (0,1), [0,1), (0,1], [0,1] are the four completions of the rational intervals (0,1), [0,1), (0,1],[0,1]. Of course, since R is a linear order in which every cut determines a transition, and R has no endpoints and Q lies dense in R, R is isomorphic to the real interval (0,1). Not every linear order in which every cut determines a transition is isomorphic to one of these four. There must be a countable subset which is dense in in. 5 ADDITION 2. DISTRIBUTIVE LATTICES FACT 1: For any lattice <A,≤>: 1 and 2 and 3 and 4 hold in <A,≤>: The distributive inequalities: 1. for every a,b,c A: (a b) (a c) ≤ a (b c) 2. for every a,b,c A: a (b c) ≤ (a b) (a c) 3. for every a,b,c A: (a b) (b c) (a c) ≤ (a b) (b c) (a c) The modular inequality: 4. for every a,b,c A: (a b) (a c) ≤ a (b (a c)) FACT 2: For any lattice <A,≤>: 5 holds in <A,≤> iff 6 holds in <A,≤> iff 7 holds in <A,≤>: 5. for every a,b,c A: a (b c) = (a b) (a c) 6. for every a,b,c A: a (b c) = (a b) (a c) 7. for every a,b,c A: a (b c) ≤ b (a c). A lattice <A,≤> is distributive iff 5. holds. FACT 3: For any lattice <A,≤>: 8 holds in <A,≤> iff 9 holds in <A,≤>: 8. for every a,b,c A:(a b) (a c) = a (b (a c)) 9. for every a,b,c A: if a ≤ b then a (b c) = b (a c) A lattice <A,≤> is modular iff 8. holds. FACT 4: Every distributive lattice is modular. Namely, let <A,≤> be distributive and let a,b,c A and let a ≤ b. a (b c) = (a b) (a c) [by distributivity] = b (a c) [since a b =b]. The pentagon: The diamond: o1 oz o1 oy xo ox oy o0 o0 6 oz THEOREM 5: A lattice is modular iff the pentagon cannot be embedded in it. PROOF: 1. The pentagon is not modular. x≤y x ( y z) = x y (x z) = y The class of modular lattices is defined by identity 8, hence it is closed under sublattices: every sublattice of a modular lattice is itself a modular lattice. If the pentagon can be embedded in a lattice, then that lattice has a non-modular sublattice, hence it is not modular. 2. Let <A,≤> be a non-modular lattice. Let a,b,c A, and a ≤ b and let a (b c) b (a c). We first show: a < b, (c ≤ a), (a ≤ c), (c ≤ b), (b ≤ c) a<b Namely: a ≤ b. If a = b, then a (b c) = a (a c) = a and b (a c) = a (a c) = a. Hence a (b c) = b (a c), contradicting the assumption. Hence a b. Hence a < b. (a ≤ c) Namely: If a ≤ c, then a c = c, hence b (a c) = b c. Since a ≤ b and a ≤ c, a ≤ b c. Then a (b c) = b c. Hence b (a c) = a (b c), contradicting the assumption. Hence (a ≤ c). (c ≤ a) Namely: If c ≤ a, then c ≤ b, hence b c = c, hence a (b c) = a c = a. Similarly, b (a c) = b a = a. Then b (a c) = a (b c), contradicting the assumption. Hence (c ≤ a). (b ≤ c) Namely: If b ≤ c, then b c = b. Then a (b c) = b. Also a c = c, hence b (a c) = b. Then b (a c) = a (b c), contradicting the assumption. Hence (b ≤ a). (c ≤ b) Namely: If c ≤ b, then b c = c, hence a (b c) = a c. Since a ≤ b and c ≤ b, a c ≤ b. Hence b (a c) = (a c). Then b (a c) = a (b c), contradicting the assumption. Hence (c ≤ b). 7 Now let: 1' = a c z=c y = b (a c) x = a (b c) 0' = b c What we are going to prove is: 0' < x < y < 1' 0' < z < 1' (x ≤ z), (z ≤ x), (y ≤ z), (z ≤ y) x z = y z = 0' x z = y z = 1' 0' < x Namely: b c ≤ a (b c) If b c = a (b c), then a ≤ b c, and hence a ≤ c. But (a ≤ c). Hence b c a (b c). Hence 0' < x. x<y Namely: (2.) under FACT 1, tells us that a (b c) ≤ (a b) (a c). Since a < b, a b = b, Hence we know that: a (b c) ≤ b (a c). By the assumption, it follows that: a (b c) < b (a c). Hence x < y. y < 1' Namely: b (a c) ≤ a c If b (a c) = a c, then a c ≤ b, and hence c ≤ b. But (c ≤ b). Hence b (a c) a c. Hence y < 1'. 0<z Namely: bc≤c If b c = c, c ≤ b. But (c ≤ b). Hence b c c. Hence 0' < z. 8 z < 1' Namely: c≤ac If c = a c, then a ≤ c. But (a ≤ c). Hence c a c. Hence z < 1'. z y = 0' Namely: z y = c (b (a c)) = (c (a c)) b = b c = 0' (z ≤ y), (y ≤ z) Namely: If z ≤ y, then z y = z. Since z y = 0', then z = 0'. But 0' < z. Hence (z ≤ y). Similarly (y ≤ z). z x = 1' Namely: z x = c (a (b c)) = (c (b c)) a = a c = 1' (z ≤ x), (x ≤ z) Namely: If z ≤ x, then z x = x. Since z x = 1', then z = 1'. But z < 1' Hence (z ≤ x). Similarly, (x ≤ z). z x = 0' Namely: z y = 0' and 0' ≤ x, hence z y ≤ x. z y ≤ z, hence z y ≤ z x. x ≤ y, hence z x ≤ y. z x ≤ z, hence z x ≤ z y. Hence z x = z y, hence z x = 0'. z y = 1' Namely: z x = 1' and y ≤ 1', hence y ≤ z x. z ≤ z x, hence z y ≤ z x. x ≤ y, hence x ≤ z y. z ≤ z y, hence z x ≤ z y. Hence z y = z x , hence z y = 1'. What we have shown now is that {0',x,y,z,1'} A is closed under join and meet. Hence <{0',x,y,z,1'},≤⌠{0',x,y,z,1'}> is a sublattice of <A,≤>. But, of course, this sublattice of <A,≤> is isomorphic to the pentagon, hence the pentagon can be embedded in <A,≤>. ◄ 9 THE STORY IN PICTURES For the non-modular lattice, the story is simple. Let <A,≤> be a lattice, let a ≤ b, and let a (b c) < b (a c). As we have seen, we easily esablish that then a < b, and c is independent of a and of b, and, for that matter, of a (b c) and of b (a c). We get structure AF bc b ac b (a c) a a (b c) bc ac c We need to check now which of the lines in this picture represent 'smaller than' and which represent 'smaller or equal than'. This is done in the following picture: thick and double lines represent 'smaller than', thin lines represent 'smaller or equal than': b 1' y z=c x 0' a Homomorphisms can contract thin lines, but not thick or double lines. This means that the picture really stands for two structures: A1, where a < x, A1 = AF, and A2 where a = x. A2 is the pentagon. We know then that A contains the sublattice in the picture, [{a,b,c}], which is either AF, which contains the pentagon as a sublattice, or the pentagon itself. 10 THEOREM 6: A modular lattice is distributive iff the diamond cannot be embedded in it. PROOF: 1. The diamond is modular, but not distributive. That the diamond is modular follows from theorem 5. Obviously the pentagon cannot be embedded in it. The diamond is not distributive: y (x z) = y (y x) (y z) = 1 The class of distributive lattices is defined by identity 5, hence it is closed under sublattices: every sublattice of a distributive lattice is itself a distributive lattice. If the diamond can be embedded in a lattice, then that lattice has a non-distributive sublattice, hence it is not distributive. 2. Let <A,≤> be a modular, non-distributive lattice. Let a,b,c A and let a (b c) (a b) (a c) . By (1.) of FACT 1, this means that: (a b) (a c) < a (b c). This implies that: (a ≤ b), (b ≤ a), (a ≤ c), (c ≤ a), (b ≤ c), (c ≤ b). Namely: If a ≤ b, then a b = a. Hence (a b) (a c) = a (a c) = a Then a < a (b c), which is impossible. Hence (a ≤ b). If b ≤ a, then a b = b. Then (a b) (a c) = b (a c). Hence b (a c) < a (b c). But, since <A,≤> is modular and b ≤ a, b (a c) = a (b c). Contradiction. Hence (b ≤ a). Obviously, the same argument shows that (a ≤ c) and (c ≤ a). If b ≤ c, then a (b c) = a c. Hence (a b) (a c) < (a c). This is obviously impossible. Hence (b ≤ c). Similarly, (c ≤ b). Now let: 1' = (a b) (a c) (b c) x = (a 1') 0' y = (b 1') 0' z = (c 1') 0' 0' = (a b) (a c) (b c) 11 0 ≤ 1' . This is (3.) of FACT 1. 0' ≤ x, 0' ≤ y, 0' ≤ z. Obviously. x ≤ 1', y ≤ 1', z ≤ 1'. Namely: a 1' ≤ 1' and 0 ≤ 1', hence ((a 1') 0' ≤ 1', hence x ≤ 1'. Similarly, y ≤ 1' and z ≤ 1'. What we are going to prove is: 0' < x < 1, 0' < y < 1', 0 < z < 1' (x ≤ y), (y ≤ x), (x ≤ z), (z ≤ x), (y ≤ z), (z ≤ y) x y = x z = y z = 0' x y = x z = y z = 1' We will start by deriving some useful facts. I will call the use of modularity principle 7, modularity. I will call the use of modularity principle 8, with a ≤ b, a/b modulation (so note that use of a/b modulation requires that a ≤ b). (a 1') = a (b c) Namely: 1. (a 1') = 2. a ((a b) (a c) (b c)) = 3. a (b c) Similarly: (a 0') = a (b c) (a 0') = (a b) (a c) Namely: 1. (a 0') = 2. a ((a b) (a c) (b c)) = 3. a (((a b) (b c)) (a c)) = [by modularity] 4. (a ((a b) (b c))) (a c) = 5. ((a ((b c) (a b))) (a c) = [by modularity] 6. ((a (b c)) (a b)) (a c) = 7. (a b c) (a b) (a c).= [since a b c ≤ a b] 8. (a b) (a c) Similarly: (a 1') = (a b) (a c) 12 (a x) = (a 1') Namely: 1. (a x) = 2. (a ((a 1') 0') = 3. (a (0' (a 1'))) = [by modularity] 4. (a 0') (a 1') = [because, by (1) of FACT 1, (a 0') ≤ (a 1')] 5. (a 1'). Now we go through the list of things to prove. x y = 0' Namely: 1. x y = 2. ((a 1') 0') ((b 1') 0') 2. ((a 1') 0') ((b 1') 0') = [by 0/(b 1') 0' modulation] 3. ((a 1') ((b 1') 0')) 0' 3. ((a 1') ((b 1') 0')) 0' = [by 0'/1' modulation] 4. ((a 1') ((b 0') 1))) 0' = 5. (a 1' 1 (b 0')) 0' = 6. ((a 1') (b 0')) 0' a 1' = a (b c) b 0' = b (a c) So, 6. ((a 1') (b 0')) 0' = 7. ((a (b c)) (b (a c))) 0' = 8. ((b c) (a (b (a c)))) 0' = [modularity] 9. ((b c) ((a b) (a c))) 0' By (1) of FACT 1: ((a b) (a c)) ≤ (b c), Hence: (b c) ((a b) (a c)) = (a b) (a c), and hence: 9. ((b c) ((a b) (a c))) 0' = 10. ((a b) (a c)) 0' = 11. 0' So, x y = 0'. Similarly, x z = 0' and y z = 0'. 13 x y = 1' Namely: 1. x y = 2. ((a 1') 0') ((b 1') 0') = [by twice 0'/1' modulation] 3. ((a 0') 1') ((b 0') 1') 3. ((a 0') 1') ((b 0') 1') = [by (b 0') 1'/1' modulation] 4. ((a 0') ((b 0') 1')) 1' 4. ((a 0') ((b 0') 1')) 1' = [by 0'/1' modulation] 5. ((a 0') ((b 1') 0')) 1' = 6. ((a 0') (b 1')) 1' a 0' = a (b c) b 1' = b (a c) So, 6. ((a 0') (b 1')) 1' = 7. ((a (b c)) (b (a c))) 1' = 8. ((b c) (a (b (a c)))) 1' = [with a/a c modulation] 9. ((b c) ((a c) (a b))) 1' By (2) of FACT 1, (b c) ≤ ((a b) (a c)) Hence: (b c) ((a b) (a c)) = (a b) (a c), and hence: 9. ((b c) ((a c) (a b))) 1' = 10. ((a b) (a c)) 1' = 11. 1'. So, x y = 1'. Similarly, x z = 1' and y z = 1'. We know that: 0' ≤ x ≤ 1', 0 ≤ y ≤ 1, 0 ≤ z ≤ 1'. 0' < 1' Namely: (a b) (a c) < a (b c), by assumption. (a b) (a c) = (a 0') (a (b c) = (a 1') Hence (a 0') < (a 1'). Hence 0' 1. Since 0' ≤ 1': 0' < 1'. 14 0' < x Namely: (a x) = (a 1') If x = 0', then (a x) = (a 0'). Hence (a 0') = (a 1'). But (a 0') < (a 1'). Hence x 0. Since 0' ≤ x, 0' < x. 0' < y Namely: x y = 1'. If y = 0', then x y = x 0', hence x 0' = 1, hence x = 1'. Since x z = 0', then 1' z = 0', hence z = 0'. But then y z = 0' 0' = 0'. But y z = 1' and 0' < 1'. Hence y 0'. Since 0' ≤ y, 0' < y. Similarly, 0' < z. x < 1' Namely: x y = 0' If x = 1', then, x y = 1' y, hence 1' y = 0', hence y = 0'. But 0' < y. Hence x 1. Since x ≤ 1', x < 1'. Similarly, y < 1', z < 1'. (x ≤ y) Namely: x y = 0'. If x ≤ y, then x y = x, hence x = 0. But 0 < x, hence (x ≤ y). Similarly, (y ≤ x), (x ≤ z), (z ≤ x), (y ≤ z), (z ≤ y) What we have shown now is that {0',x,y,z,1'} A is closed under join and meet. Hence <{0',x,y,z,1'},≤⌠{0',x,y,z,1'}> is a sublattice of <A,≤>. But, of course, this sublattice of <A,≤> is isomorphic to the diamond, hence the diamond can be embedded in <A,≤>. ◄ CORROLLARY 7: A lattice is distributive iff the pentagon and the diamond cannot be embedded in it. 15 THE STORY IN PICTURES The modular, non-distributrive case is, not surprisingly, more difficult. Here we have a modular lattice <A,≤> with three independent elements a,b,c, such that (a b) (b c) < a (b c) The partial order below represents the obvious information you can extract from this: abc ab a 1' ac b 1' bc c 1' (a b) (a c) (b c) = 1' b c a a 1'= a (b c) (a b) (a c) (b c) = 0' a 0' = (a b) (a c) ab c 0' b 0' ac bc abc First we add the join of a (b c) and 0', which is x, and the join of x and a, which is a 0'. 16 abc a 1' b 1' c 1' 1' a 0' b a x a 1' 0' a 0' b 0' c 0' abc Note what we have done: We have added a 0' such that a < a 0' < a 1' We have added a 1' such that a 0' < a 1' < a We have added x such that 0' < x < 1' (In the picture, we pulled the line from 0' to 1' to the left to run through x.) The idea, now, about modularity, is that similar joins and meets relative to b, (b 0') and (b 1'), and relative to c, (c 0') and (c 1') are added in exactly the same way. First, we add c 0' such that c < c 0' < c 1.' And we add c 1' such that c 0' < c 1' < c And we add z such that 0' < z < 1' And, since a and c are independent, x and z are too: 17 c abc a 1' b 1' c 1' 1' c 0' a 0' b a x c z c 1' a 1' 0' a 0' c 0' b 0' abc In the next step, we do the same for b: we add b 0' such that b < b 0' < b 1.' we add b 1' such that b 0' < b 1' < b And we add y such that 0' < y < 1' And, since a and c and b are independent, x and y and z are too: 18 abc a 1' b 1' c 1' b 0' 1' c 0' a 0' y a b x c z c 1' a 1' b 1' 0' a 0' c 0' b 0' abc The structure we have derived, we call AF. AF is a modular lattice. As before, with the pentagon, we need to check now, which lines in the diagram here represent 'smaller than' and which represent 'smaller or equal than'. This is given in the following picture, which is a picture of modular sublattice of A [{a,b,c}].: 19 abc 1' y b a c z x 0' abc Again, thick lines or double lines cannot contract under homorphism, but thin lines can. So we can contract a to a 0', or to a 1', or to x, and similarly for b and for c. This means that the picture really stands for 64 structures, the maximal one of which is AF, and the minimal one of which, in which a =x and b = y and c = z, is the diamond. As can clearly be seen in the picture, the lines of the diamond in the middle cannot contract. Hence each of these 64 structures has the diamond as a substructure. Thus sublattice [{a,b,c}] of A has the diamond as a substructure, hence A has the diamond as a substructure. 20 The free modular lattice with three generators. abc 1' y b a c z x 0' abc How do you turn this into a distributive lattice? By contraction, of course. FACT: take any two points u and v inside one of these encircled areas, such that u and v are in the same encircled area. If you contract u and v (i.e. you set: u = v), then each of the encircled areas contracts into a point. Thus, a 1 collapses into a 0, a 0 into a 1, the same for b and for c, and the whole diamond collapses into a single point. The resulting structure no longer contains the diamond, and is a distributive lattice. If you don't contract any of the other points, you get the free distributive lattice with three generators: 21 The free distributive lattice on three generators: abc a u b c ' abc In this picture, the former diamond has contracted into point u. Obviously, the free distributive lattice is not complemented: in fact, only 0 and 1 have a complement. Now we are interested in turning this, minimally, into a Boolean lattice with generators a, b, c. This means that we're only interested in contractions that contract a,b,c into independent elements. It is simple to see that there are exactly two ways of doing that: a = a u, b = b u, c = c u, u = 0 a = a u, b = b u, c = c u, u = 1 abc abc b a c abc=u a u b c ' abc The result is, of course, the free Boolean lattice with three generators (i.e. with three atoms). 22 ADDITION 3: FINITE BOOLEAN ALGEBRA 1. Deconstructing Boolean algebras with atoms. Let B = <B,≤,,,,0,1> be a Boolean algebra and c B. The ideal generated by c, (c], is: (c] = {b B: b ≤ c} The filter generated by c, [c), is: [c) = {b B: c ≤ b} The ideal-relativization of B to c, (c], is the structure: (c] = <(c],≤(c],(c],(c],(c],0(c],1(c]>, where: 1. ≤(c] = ≤⌠(c] 2. (c] = {<x,x c>: x (c]} 3. (c] = ⌠(c] 4. (c] = ⌠(c] 5. 0(c] = 0 6. 1(c] = c THEOREM 1: (c] is a Boolean algebra. PROOF: 1. <(c],≤(c],(c],(c],0(c]> is a substructure of <B,≤,,,0>: namely, if a,b (c], then a,b ≤ c, hence (a b) ≤ c and (a b) ≤ c, hence (a b) (c] and (a b) (c]. Further 0(c] = 0. 2. <(c],≤(c],(c],(c],0(c],1(c]> is bounded by 0(c] and 1(c]. We have seen already that 0(c] is the minimum of (c]. 1(c] = c, and c is, obviously, the maximum of (c]. 3. We have proved under 1. that <(c],≤(c],(c],(c]> is a sublattice of <B,≤,,>. Since <B,≤,,> is distributive, it follows that <(c],≤(c],(c],(c]> is distributive (since the class of distributive lattices is closed under substructure). 4. Thus, we have proved that (c] is a bounded distributive lattice. So we only need to prove that (c] is complemented, i.e. that (c] is complementation on (c]. First: (c] is closed under (c]. This is obvious, since obviously x c ≤ c, for any x B, hence also for any x ≤ c. Secondly, (c] respects the laws of 0(c] and 1(c]: Let a (c]. a (c] (c](a) = a (a c) = (a a) (a c) = 0 (a c) = 0 a (c] (c](a) = a (a c) = (a a) (a c) = 1 (a c) = a c = c Thus, indeed (c] is complementation on (c]. ◄ Note: except for the trivial case where c is 1, (c] is not a sub-Boolean algebra of B, because 1 is not preserved. It is a Boolean algebra on a subset of B. 23 The filter-relativization of B to c, [c), is the structure: [c) = <B[c),≤ [c), [c), [c), [c),0[c),1[c)>, where: 1. ≤[c) = ≤⌠B[c) 2. [c) = {<x,x c>: x [c)} 3. [c) = ⌠[c) 4. [c) = ⌠[c) 5. 0[c) = c 6. 1[c) = 1 THEOREM 2: [c) is a Boolean algebra. PROOF: 1. <[c),≤ [c), [c), [c),1[c)> is a substructure of <B,≤,,,1>: namely, if a,b [c), then c ≤ a,b, hence c ≤ (a b) and c ≤ (a b), hence (a b) [c) and (a b) [c). Further 1[c) = 1. 2. <[c),≤ [c), [c), [c),0[c),1[c)> is bounded by 0[c) and 1[c). We have seen already that 1[c)is the maximum of [c). 0[c) = c, and c is, obviously, the mimimum of [c). 3. We have proved under 1. that <[c),≤ [c), [c), [c)> is a sublattice of <B,≤,,>. Since <B,≤,,> is distributive, it follows that <[c),≤ [c), [c), [c)> is distributive (since the class of distributive lattices is closed under substructure). 4. Thus, we have proved that [c) is a bounded distributive lattice. So we only need to prove that [c) is complemented, i.e. that [c) is complementation on [c). First: [c) is closed under [c). This is obvious, since obviously c ≤ x c, for any x B, hence also for any x such that c ≤ x. Secondly, [c) respects the laws of 0[c) and 1[c): Let a [c). a [c) [c) (a) = a (a c) = (a a) (a c) = 0 (a c) = a c =c a [c) [c) (a) = a (a c) = (a a) (a c) = 1 (a c) = 1 Thus, indeed [c) is complementation on [c). ◄ LEMMA 3: If c 1 then (c] [c) = Ø PROOF: Let x (c] [c). Then x ≤ c and c ≤ x. Then x ≤ c and and x ≤ c. Then x x ≤ c, hence c = 1. ◄ THEOREM 4: (c] and [c) are isomorphic. PROOF: If c =1, then (c] = [c) = B. So clearly they are isomorphic. So let c 1. We define: h: (c] [c) by: for every x (c]: h(x) = x c. 1. Since for every x B, c ≤ x c, also for every x (c]: c ≤ x c. Hence for every x (c]: h(x) [c), hence h is indeed a function from (c] into [c). 24 2. Let y [c). Then c ≤ y. Then y ≤ c, hence y (c]. Take the relative complement of y in (c]: y c. This is y c (c]. h(y c) = (y c) c = (y c) (c c) = (y c) 1 = y c = y. Hence h is onto. 3. Let h(x1) = h(x2). Then x1 c = x2 c. Then (x1 c) = ( x2 c). Then x1 c = x2 c. Since these are the relative complements of x1 and x2 in Boolean algebra (c], it follows that x1 = x2. Hence h is one-one. 4. h(0) = 0 c = c. h(c) = c c = 1 h(a b) = (a b) c = (a c) (b c) = h(a) h(b) h(a b) = (a b) c = (a c) (b c) = h(a) h(b) h((c](a)) = h(a c) = (a c) c = (a c) c = [c)(a c) = [c)(h(a)). Thus, indeed, h is an isomorphism. ◄ LEMMA 5: If a is an atom in B, then for every x B-{0}: a ≤ x or a ≤ x. PROOF: Let a be an atom in B. Suppose that (a ≤ x). Then (a x) a. But a x ≤ a. Since a is is an atom, that means that a x = 0. But that means that a ≤ x. ◄ CORROLLARY 6: If a is an atom in B, then (a] [a) = B. PROOF: This follows from lemma 5: Let x B and x [a). Then (a ≤ x). Hence by lemma 5 a ≤ x, and that means that x ≤ a, hence x (a]. ◄ All this has the following consequence for finite Boolean algebras: THEOREM 7: Let B be a finite Boolean algebra. Then |B| = 2n, for some n0. PROOF: If |B| = 1 then |B| = 20. If |B| = 2 then |B| = 21. Let |B| > 2. We define for B a decomposition tree DEC(B) in the following way: top(DEC(B)) = <B,a0,0>, with a0 an atom in B. for every node <A,a,n> in DEC(B): if |A|>2 then daughters(<A,a,n>) = {<(a],a1,n+1>,<[a),a2,n+1>}, with a1 an atom in (a] and a2 an atom in [a). Let <A1,aA1,k+1>, <A,aA,k> DEC(B) and let <A1,aA1,k+1> be a daughter of <A,aA,k>. Then |A| = 2 |A1|. Obviously, this means that for any node <A,aA,k> DEC(B): |B| = 2k |A| This means that if <A1,aA1,k>, <A2,aA2,k> DEC(B), then |A1|=|A2|. 25 And that means that if <A1,aA1,k>, <A2,aA2,k> DEC(B), either both A1 and A2 decompose (if |A1|>2), or neither do (If |a1|≤2). Thus for any k such that some <A,aA,k> DEC(B): all nodes <A,aA,k> DEC(B) decompose, or none do. This means that for some k > 0: leave(DEC(B)) = {<A,aA,k>: <A,aA,k> DEC(B)} (all leaves have the same level, and hence the same cardinality.) Let <A,aA,k> leave(DEC(B). Then it follows that |B| = 2k |A|. Since <A,aA,k> leave(DEC(B), |A|≤2. For some <C,aC,k-1> DEC(B), <A,aA,k> is the daughter of <C,aC,k-1>, hence |C| = 2 |A|, |C| > 2 and |A| ≤ 2. This means that |A|=2. Hence |B| = 2k+1. Hence for some n>1: |B| = 2n. We have now proved that for every finite Boolean algebra B |B| = 2n for some n0. ◄ 2. Constructing product Boolean algebras. Let A and B be Boolean algebras. The product of A and B, A B, is given by: A B = <B,≤, , , , 0, 1> where 1. B = A B 2. ≤x = {<<a1,b1>:,<a2,b2>>: a1 ≤A a2 and b1 ≤B b2} 3. For every <a,b> A B:(<a,b>) = <Aa,Bb> 4. For every <a1,b1>,<a2,b2> A B: <a1,b1> <a2,b2> = <a1 A a2,b1 B b2> 5. For every <a1,b1>,<a2,b2> A B: <a1,b1> <a2,b2> = <a1 A a2,b1 B b2> 6. 0 = <0A,0B> 7. 1x = <1A,1B> THEOREM 8: A B is a Boolean algebra. PROOF: 1. ≤ is a partial order. reflexive: Since for every a A: a ≤A a and for every b B: b ≤B b, for every <a,b> A B: <a,b> ≤x <a,b>. antisymmetric: Let <a1,b1> ≤ <a2,b2> and <a2,b2> ≤ <a1,b2>. Then a1 ≤A a2 and b1 ≤B b2 and a2 ≤A a1 and b2 ≤B b1, hence a1 = a2 and b1 = b2, hence <a1,b2> = <a2,b2> transitive: Let <a1,b1> ≤ <a2,b2> and <a2,b2> ≤ <a3,b3>. Then a1 ≤A a2 and b1 ≤B b2 and a2 ≤A a3 and b2 ≤B b3, hence a1 ≤A a3 and b1 ≤B b3, hence <a1,b1> ≤ <a3,b3> 26 2. <a1,b1> <a2,b2> = <a1 A a2,b1 B b2> a1 A a2 ≤A a1, a1 A a2 ≤A a2, b1 B b2 ≤B b1, b1 B b2 ≤B b2, hence <a1,b1> <a2,b2> ≤ <a1,b1> and <a1,b1> <a2,b2> ≤ <a2,b2>. Let <a,b> ≤ <a1,b1> and <a,b> ≤ <a2,b2>. Then a ≤A a1 and b ≤B b1 and a ≤A a2 and b ≤B b2, hence a ≤A a1 A a2 and b ≤B b1 B b2, hence <a,b> ≤ <a1,b1> <a2,b2>. Hence is meet in ≤. 3. We show that is join in ≤ by a similar argument. 4. 0 = <0A,0B>. Since for every a A 0A ≤A a and for every b B 0B ≤B b, for every <a,b> A B <0A,0B> ≤ <a,b>. Hence 0 is the minumum under ≤. Similarly 1 is the maximum under ≤A So A B is a bounded lattice. 5. <a1,b1> (<a2,b2> <a3,b3>) = <a1 A (a2 A a3),b1 B (b2 B b3)> = <(a1 A a2) A (a1 A a3),(b1 B b2) B (b1 B b3)> = (<a1 A a2,b1 B b2> <a1 A a3,b1 B b3> = (<a1,b1> <a2,b2>) (<a1,b1> x <a2,b2>) So A B is distributive. 6. satisfies the laws of 0 and 1: <a,b> (<a,b>) = <a,b> <Aa,Bb> = <a A Aa,b B Bb> = <0A,0B> = 0. <a,b> (<a,b>) = <a,b> <Aa,Bb> = <a A Aa,b B Bb> = <1A,1B> = 1. So A B is a Boolean algebra. ◄ 27 Let B1 and B2 be isomorphic Boolean algebras such that B1 B2 = Ø, and let h be an isomorphism between B1 and B2. We definite the product of B1 and B2 under h, Bh1+2: . Bh1+2 = < Bh1+2,≤1+2,1+2,1+2,1+2,01+2,11+2> where: 1. B1+2 = B1 B2. 2. ≤1+2 = ≤1 ≤2 {<b1,b2>: h(b1) ≤2 b2} 3. 1+2 is defined by: 2(h(b)) if b B1 For all b B1+2: 1+2(b) = 1(h-1(b)) if b B2 4. 1+2 is defined by: a 1 b if a,b B1 For all a,b B1+2: a 1+2 b = a 2 b if a,b B2 -1 a 1 h (b) if a B1 and b B2 5. 1+2 is defined by: a 1 b if a,b B1 For all a,b B1+2: a 1+2 b = a 2 b if a,b B2 h(a) 1 b if a B1 and b B2 6. 01+2 = 01. 7. 11+2 = 11. THEOREM 9: Bh1+2 is a Boolean algebra. PROOF: 1. ≤1+2 is a partial order. ≤1+2 is reflexive: If a B1: a ≤1 a, hence, a ≤1+2 a If a B2: a ≤2 a, hence, a ≤1+2 a ≤1+2 is antisymmetric. Let a ≤1+2 b and b ≤1+2 a. This is only possible if a,b B1 or a,b B2. In the first case a ≤1 b and b ≤1 a, hence a=b. In the second case a ≤2 b and b ≤1 a, hence a=b. ≤1+2 is transitive. Let a ≤1+2 b and b ≤1+2 c If a,b,c B1, then a ≤1 b and b ≤1 c, hence a ≤1 c, and a ≤1+2 c If a,b,c B2, then a ≤2 b and b ≤2 c, hence a ≤2 c, and a ≤1+2 c If a B1 and b,c B2, then h(a) ≤2 b and b ≤2 c. Then h(a) ≤2 c and a ≤1+2 c. If a,b B1 and c B2, then a ≤1 b and h(b) ≤2 c. Since h is an isomorphism, this means that h(a) ≤2 h(b), and hence h(a) ≤2 c. Hence a ≤1+2 c. 28 2. 1+2 is meet under ≤1+2. If a,b B1: a 1+2 b = a 1 b, which is meet under ≤1, and ≤1 = ≤1+2⌠B1. If a,b B2: a 1+2 b = a 2 b, which is meet under ≤2, and ≤2 = ≤1+2⌠B2. If a B1 and b B2, then a 1+2 b = a 1 h-1(b). a 1 h-1(b) ≤1 a and a 1 h-1(b) ≤1 h-1(b). By definition of ≤1+2, h-1(b) ≤1+2 h(h-1(b)). So h-1(b) ≤1+2 b. Then a 1 h-1(b) ≤1+2 b. This means that a 1+2 b ≤1+2 a and a 1+2 b ≤1+2 b. If x ≤1+2 a and x ≤1+2 b, then x ≤1 a and h(x) ≤2 b. Since h is an isomorphism, then h-1(h(x)) ≤1 h-1(b), i.e. x ≤1 h-1(b). then x ≤1 a 1 h-1(b) Hence x ≤1+2 a 1+2 b. So indeed 1+2 is meet under ≤1+2. 3.. 1+2 is join under ≤1+2. If a,b B1: a 1+2 b = a 1 b, which is join under ≤1, and ≤1 = ≤1+2⌠B1. If a,b B2: a 1+2 b = a 2 b, which is join under ≤2, and ≤2 = ≤1+2⌠B2. If a B1 and b B2, then a 1+2 b = h(a) 2 b. b ≤2 h(a) 2 b and h(a) ≤2 h(a) 2 b. As we have seen a ≤1+2 h(a), hence a ≤1+2 h(a) 2 b. So a ≤1+2 a 1+2 b and b ≤1+2 a 1+2 b. If a ≤1+2 x and b ≤1+2 x, then h(a) ≤1+2 x, hence h(a) 2 b ≤2 x. Hence a 1+2 b ≤1+2 x. So indeed 1+2 is join under ≤1+2. 4. 01+2 = 01. If a B1, 01 ≤1 a. hence 01+2 ≤1+2 a. h is an isomorphism, so h(01) = 02. If a B2, then h(01 ≤2 a, hence 01+2 ≤1+2 a. So indeed 01+2 is the minimum under ≤1+2. Similarly, 11+2 is the maximum under ≤1+2. We have proved so far that B1+2h is a bounded lattice. 5. Distributivity: a 1+2 (b 1+2 c) = (a 1+2 b) 1+2 (a 1+2 c) a. Let a,b,c B1 or a,b,c B2, then distributivity follows from distributivity of 1 and 1 and of 2 and 2. b. Let a B1 and b,c B2 a 1+2 (b 1+2 c) = a 1 h-1(b 2 c) = a 1 (h-1(b) 1 h-1(c)) = (a 1 h-1(b)) 1 (a 1 h-1(c)) = (a 1+2 b) 1+2 (a 1+2 c) 29 c. Let b B1 and a,c B2 a 1+2 (b 1+2 c) = a 2 (h(b) 2 c) = (a 2 h(b)) 2 (a 2 c) If a B2 and b B1, then a 1+2 b = h-1(a) 1 b. Then h(a 1+2 b) = h(h-1(a) 1 b) = h(h-1(a)) 2 h(b) = a 2 h(b) Hence (a 2 h(b)) 2 (a 2 c) = h(a 1+2 b) 2 (a 2 c) = (a 1+2 b) 1+2 (a 1+2 c) d. Let b,c B1 and a B2 a 1+2 (b 1+2 c) = a 1+2 (b 1 c) = h-1(a) 1 (b 1 c) = (b 1 h-1(a)) 1 (c 1 h-1(a)) = (a 1+2 b) 1+2 (a 1+2 c) e. Let a,b B1 and c B2 a 1+2 (b 1+2 c) = a 1 ( h-1(b 1+2 c)) If b B1 and c B2 , then b 1+2 c = h(b) 2 c Hence h-1(b 1+2 c) = h-1(h(b) 2 c) = h-1(h(b)) 1 h-1(c) = b 1 h-1(c) So a 1 ( h-1(b 1+2 c)) = a 1 (b 1 h-1(c)) = (a 1 b) 1 (a 1 h-1(c)) = (a 1+2 b) 1+2 (a 1+2 c). These are all the relevant cases, so B1+2h is a distributive bounded lattice. 5.. 1+2 satisfies the laws of 01+2 and 11+2. If a B1, a 1+2 1+2(a) = a 1 h-1(1+2(a)) = a 1 h-1(2(h(a))) = a 1 h-1(h(1a)) = a 1 1a = 01 = 01+2 a 1+2 1+2(a) = h(a) 2 1+2(a) = h(a) 2 2(h(a) = 12 = 11+2. If a B2, a 1+2 1+2(a) = h-1(a) 1 1+2(a) = h-1(a) 1 1(h-1(a) = 01 = 01+2 a 1+2 1+2(a) = a 2 h(1+2(a)) = a 2 h(1(h-1(a)) = a 2 2(h(h-1(a)) = a 2 2a = 12 = 11+2. Thus B1+2h is a Boolean algebra. ◄ THEOREM 10:Let B1 and B2 be isomorphic Boolean algebras such that B1 B2= Ø, and let h be an isomorphism between B1 and B2.. Let {0,1} be a Boolean algebra of cardinality 2. B1+2h is isomorphic to B1 {0,1} PROOF: We define function k from B1 B2 into B1 {0,1): For all x B1: k(x) = <x,0> For all x B2: k(x) = <h-1(x),1> 30 1. Since h is an isomorphism between B1 and B2, and B1 B2 = Ø, k is obviously a bijection between B1 B2 and B1 {0,1). 2. If x B1, k(1+2(x)) = <h-1(1+2(x)),1> = <h-1(2(h(x)), {0,1}0> = <h-1(h(1(x))), {0,1}0> = <1(x), {0,1}0> = <x,0> 3. k(01+2) = k(01) = <01,0> = 0. k(11+2) = k(12) = <h-1(12),1> = <11,1> = 1. 4. k preserves meet: If a,b B1 then k(a 1+2 b) = k(a 1 b) = <a 1 b,0> = <a,0> <b,0> = k(a) k(b). If a,b B2 then k(a 1+2 b) = k(a 2 b) = <h-1(a 2 b),1> = <h-1(a) 1 h-1(b),1> = <h-1(a),1> <h-1(b),1> = k(a) k(b). If a B1 and b B2 then k(a 1+2 b) = k(a 1 h-1(b)) = <a 1 h-1(b),0> = <a 1 h-1(b),0 {0,1} 1> <a,0> <h-1(b),1> = k(a) k(b). 5. k preserves join: If a,b B1 then k(a 1+2 b) = k(a 1 b) = <a 1 b,0> = <a,0> <b,0> = k(a) k(b). If a,b B2 then k(a 1+2 b) = k(a 2 b) = <h-1(a 2 b),1> = <h-1(a) 1 h-1(b),1> = <h-1(a),1> <h-1(b),1> = k(a) k(b). If a B1 and b B2 then k(a 1+2 b) = k(h(a) 2 b) = <h-1(h(a) 2 b),1> = <a 1 h-1(b),1> = <a 1 h-1(b),0 {0,1} 1> = <a,0> <h-1(b),1> = k(a) k(b). Thus indeed k is an isomorphism. ◄ THEOREM 11: Let B be a Boolean algebra of cardinality larger than 2 and let a be an atom in B. Let h: (a] [a) be the isomorphism defined by: for every x (a]: h(x) = x a. Then B(a]+[a)h = B. PROOF: 1. B(a]+[a) = (a]+[a) = B. 2. ≤(a]+[a) = ≤B. a. Let <x,y> ≤(a]+[a). Either x,y (a], then x ≤B y, or x,y [a), then x ≤B y, or x (a] and y [a) and h(x) ≤[a) y. Since h(x) = x B a, then obviously x ≤B y. So in all cases <x,y> ≤B. 31 b. Let <x,y> ≤B, i.e. x ≤B y. Either x,y (a], then <x,y> ≤(a]+[a), or x,y [a), then <x,y> ≤(a]+[a). It can't be the case that y (a] and x [a), because then y [a), but then the intersection of (a] and [a) would not be empty, and it is. This leaves only the case that x (a] and y [a). Now x ≤B y and a ≤B y, hence x B a ≤B y. But h(x) = x B a. Hence <x,y> ≤(a]+[a). Thus, indeed ≤(a]+[a) = ≤B. This means that B(a]+[a)h and B are the same partial order. That means, of course, that they have identical joins and meets, and this means that they are the same bounded distributive lattice. Since in a bounded distributive lattice, each element has a unique complement and since (a]+[a) and B map every element onto its complement, (a]+[a) = B. Hence, indeed, B(a]+[a)h and B are the same Boolean algebra. ◄ THEOREM 12: Let B1 and B2 be Boolean algebras, a1 an atom in B1 and a2 an atom in B2, and let (a1] be isomorphic to (a2]. Then B1 and B2 are isomorphic. PROOF: Let h1 be the isomorphism between (a1] and [a1) defined by: for all x (a1]: h1(x) = x B1 B1(a1) Let h2 be the isomorphism between (a2] and [a2) defined by: for all x (a2]: h2(x) = x B2 B2(a2) Let k the isomorphism between (a1] and (a2]. Let {0,1} be a two element Boolean algebra. B1 = B(a1] + [a1)h1 and B2 = B(a2] + [a2)h2, by theorem11. B1 is isomorphic to (a1] {0,1} and B2 is isomorphic to (a2] {0,1}, by theorem 10. Define g: (a1] {0,1} (a2] {0,1} by: for every <a,b> (a1] {0,1}: g(<a,b>) = <k(a),b>. It is straightforward to prove that g is an isomorphism between B1 and B2. ◄ 32 All this has the following consequences for finite Boolean algebras: THEOREM 13: Any two finite Boolean algebras of the same cardinality are isomorphic. PROOF: 1. Obviously, up to isomorphism, there is only one Boolean algebra of cardinality 1 or cardinality 2. Up to isomorphism, there is only one partial order of cardinality 1, hence also only one Boolean algebra. Up to isomorphism there are two partial orders of cardinality 2: <{0,1},{<0,0>,<1,1>}> and <{0,1},{<0,0>,<0,1>,<1,1>}>. Only the second is a lattice and a Boolean algebra. 2. If all Boolean algebras of cardinality 2n, n>0 are isomorphic, then all Boolean algebras of cardinality 2n+1 are isomorphic. This follows from theorem 12. Let B1 and B2 be Boolean algebras of cardinality 2n+1, and assume that all Boolean algebras of cardinality 2n are isomorphic. Let a1 be an atom in B1 and a2 be an atom in B2. (a1] and (a2] are Boolean algebras of cardinality 2n, hence, by assumption they are isomorphic. Then, by theorem12, B1 and B2 are isomorphic. 1 and 2 together prove that any two finite Boolean algebras of the same cardinality are isomorphic. ◄ CORROLLARY 14: Up to isomorphism the finite Boolean algebras are exactly the finite powerset Boolean algebras. PROOF: For every n 1, if |X|=n then <pow(X),-,,,X,Ø> is a powerset Boolean algebra of cardinality 2n. By theorem13, every Boolean algebra of cardinality 2n is isomorphic to it. ◄ So, we can construct every finite Boolean algebra as a powerset Boolean algebra. We can also use the product construction under an isomorphism to construct all finite Boolean algebras. Cardinality 1: o1 a point in 0-dimensional space. Cardinality 2: Take two non-overlapping Boolean algebras of cardinality 1 and an isomorphism, and construct the product: o1 o1 + o2 + {<1,2>} a point moved along a new dimension: a line in 1-dimensional space. o2 33 Cardinality 4: Take two non-overlapping Boolean algebras of cardinality 2 and an isomorphism, and construct the product: o2 + o1 o4 + {<1,3>,<2,4>} o3 o4 o2 A line moved along a new dimension. A square in 2-dimensional space. o3 o1 Cardinality 8: Take two non-overlapping Boolean algebras of cardinality 4 and an isomorphism, and construct the product: o4 o2 o8 + {<1,5>,<2,6>,<3,7>,<4,8>} + o3 o6 o7 o1 o5 o8 A square moved along a new dimension. A cube in 3-dimensional space. 6o o4 o7 2o o5 o3 o1 34 Cardinality 16: Take two non-overlapping Boolean algebras of cardinality 8 and an isomorphism, and construct the product: 8 o 6 o o 2 + o4 o 5 16 o 7 o 14 o o 3 o 10 o 1 + o 12 o 13 15 o o 11 o 9 {<1,9>,<2,10>,<3,11>,<4,12>,<5,13>,<6,14>,<7,15>,<8,16>} 16 o 8 o 6 o o 2 14 o o4 o 5 7 o o 12 15 o o o 10 13 o 9 o 3 o 1 A cube moved along a new dimension. A 4-dimensional object: 35 o 11 16 o 8 o 6 o o 2 14 o o4 o 5 7 o o 12 15 o o o 10 13 o 9 o 3 o 1 36 o 11