Boolean Algebras

(ブール代数)

Discrete Mathematics I

12th lecture, December 20, 2018

https://www.sw.it.aoyama.ac.jp/2019/Math1/lecture12.html

Today's Schedule

• Remaining schedule
• Summary and homework for last lecture
• Algebraic structures related to groups
• Boolean algebra
• Examples of boolean algebras
• Bitstrings and Bitwise Operations
• Structure of Boolean algebras

Remaining Schedule

• December 20: this lecture
• January 10: 13th lecture
• January 17: 14th lecture (makeup class)
• January 24: 15th lecture
• January 31, 11:10-12:35: Term final exam

Please use your winter vacation to prepare seriously for the term final exam!

About makeup classes: The material in the makeup class is part of the final exam. If you have another makeup class at the same time, please inform the teacher as soon as possible.

Leftovers of Last Lecture

Proofs for two group theorems: Uniqueness of inverse, cancellation law

Summary of Last Lecture

• Algebraic structures are defined as sets with operations and axioms
• Groups are the best known example of an algebraic structure, with a rich theory
• Groups have one associtive binary operation, an identity element, and inverse elements
• Examples of groups are (ℤ, +), (ℝ-{0}, ·), (ℝ+, ·), and symmetric groups (permutations of n elements with composition)
• Finite groups are represented by Cayley tables, and compared using the concept of isomorphism (one-to-one mapping conserving structure)

Last Week's Homework 1: Symmetric Group of Order 3

Create a Cayley table of the symmetric group of order 3. Use lexical order for the permutations.

(1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1)
(1, 2, 3) (1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1)
(1, 3, 2) (1, 3, 2) (1, 2, 3) (3, 1, 2) (3, 2, 1) (2, 1, 3) (2, 3, 1)
(2, 1, 3) (2, 1, 3) (2, 3, 1) (1, 2, 3) (1, 3, 2) (3, 2, 1) (3, 1, 2)
(2, 3, 1) (2, 3, 1) (2, 1, 3) (3, 2, 1) (3, 1, 2) (1, 2, 3) (1, 3, 2)
(3, 1, 2) (3, 1, 2) (3, 2, 1) (1, 3, 2) (1, 2, 3) (2, 3, 1) (2, 1, 3)
(3, 2, 1) (3, 2, 1) (3, 1, 2) (2, 3, 1) (2, 1, 3) (1, 3, 2) (1, 2, 3)

Last Week's Homerwork 2: Non-Isomorphic Groups of Size 4

If we define isomorphic groups as being "the same", there are two different groups of size 4. Give an example of each group as a Cayley table. Hint: Check all the conditions (axioms) for a group. There will be a deduction if you use the same elements of the group as another student.

Solution 1 (cyclic group of order 4)

Interesting examples: Addition modulo 4 (below), rotation by multiples of 90°, {1, 2, 3, 4} and multiplication modulo 5 (see next lecture)

0 1 2 3
0 0 1 2 3
1 1 2 3 0
2 2 3 0 1
3 3 0 1 2

Solution 2 (Klein group):

Interesting examples: bitstrings of length 2 with XOR (below), reflections and rotations by 180°

00 01 10 11
00 00 01 10 11
01 01 00 11 10
10 10 11 00 01
11 11 10 01 00

Algebraic Structures Related to Groups

• An Abelian group is a group where the operation is also commutative
Examples:
• All groups of size 3 or 4
• (ℤ; +): Integers with addition
• (ℝ-{0}; ·) Reals (excluding 0) with multiplication
• A semigroup is a group without unit element and without inverse elements

More Algebraic Structures

• Ring: Two operations, 'addition' and 'multiplication'; forms an Abelian group under addition and a semigroup under multiplication, and addition distributes over multiplication.
Examples: ℝ, ring of polynomials
• Field: Same as ring, but commutative, and 'multiplication' has to have an inverse for all non-zero elements.
• Lattice: Two operations; both operations are associative and commutative, and respect absorption laws

Boolean Algebra

• A Boolean algebra is an algebraic structure
• A Boolean algebra has one set (B), two special elements (0, 1), and three operations (⫬, △, ▽)
• B = (B, 0, 1, ⫬, △, ▽) is a Boolean algebra if and only if it meets the following conditions:
• 0B, 1B (1 is called unit element, 0 is called zero element)
• ⫬ is an unary operation on B, △ and ▽ are binary operations on B
• △ and ▽are associative and commutative, and distribute over each other
• aB: a0 = a, a1 = a (0 is the neutral element for ▽, 1 is the neutral element for △)
• aB: a▽⫬a = 1, a△⫬a = 0
• This definition (operations, axioms) can be simplified
• Boolean algebras define a (partial) order, with 1 at the top and 0 at the bottom

Boolean Algebra Example 1: Basic Logic

• B is the set {false, true}
• 0 is false (0)
• 1 is true (1)
• ⫬ is negation (logical not, ¬)
• △ is conjunction (logical and, ∧)
• is disjunction (logical or, ∨)
• The (partial) order relation is false<true
• Hasse diagram: BAbasic_logic.svg

Comments on Boolean Algebra

• Symbols such as 0 and 1 (bold) are abstract and do not have any concrete meaning
• A Boolean algebra is a (partial) order and a lattice
• Boolean algebra is a general concept covering logical operations, set operations, some (partial) orders, ...
• Because a Boolean algebra is a partial order, it can be shown with a Hasse diagram

Boolean Algebra Example 2: A Powerset with Set Operations

• B is the powerset of a (finite) set U
• 0 is the empty set
• 1 is U (the universal set)
• is the complementary set operation
• △ is set intersection (∩)
• is set union (∪)
• The (partial) order relation is ⊂ (subset)
• Hasse diagram for U={a, b, c}: BApowerset.svg

Bitwise Operations

• Inside a computer, information is represented as strings of bits (e.g. a=00101011, b=10011100).
• Bitwise operations are bitwise logic operations.
• Bitwise not: ¬ is applied to each bit (`~` in C, e.g. ¬bitwisea=11010100)
• Bitwise and: ∧ is applied to bits in the same position (`&` in C*, e.g. abitwiseb=00001000)
• Bitwise or: ∨ is applied to bits in the same position (`|` in C*, e.g. abitwiseb=10111111)
• Bitwise xor: XOR (⊕) is applied to bits in the same position (`^` in C*, e.g. abitwiseb=10110111)

*) and many other programming languages

Boolean Algebra Example 3: Bitstrings and Bitwise Operations

• B is the set of all the bit strings of length n (e.g. for n=2, B={00, 01, 10, 11})
• 0 is the bit string of length n with all bits set to 0 (e.g. 00)
• 1 is the bit string of length n with all bits set to 1 (e.g. 11)
• is bitwise not
• is bitwise and
• is bitwise or
• The (partial) order relation is the conjunction of the order relation at each bit position: ab ↔ ∀i∈{1,...,n}: aibi, or a has 0 in all those bit positions where b has 0 (in C: `~(b|~a) ==` 0).
• Hasse diagram for bit strings of length 4: BAbitstrings.svg

Boolean Algebra Example 4: Integers and Divisibility

• B is formed by taking a set of n pairwise coprime integers* (e.g. 2, 3, 5), and all the multiples that include or exclude each of the integers (including 1)
• 0 is 1
• 1 is the product of all the original n integers (e.g. 30)
• a is 1/a
• is the greatest common divisor (GCD) of the operands
• is the least common multiple (LCM) of the operands
• The (partial) order relation is divisibility
• Hasse diagram for {1, 2, 3, 5, 6, 10, 15, 30}: BAdivisibility.svg

*) This restriction can be slightly relaxed.

The Structure of Boolean Algebras

• The size of a finite boolean algebra is always |B| = 2n
• All boolean algebras have the same structure (an n-dimensional cube)
(animation of a 4-dimensional cube, even higher dimensions (code))
• The Hasse diagram is the edges of the n-dimensional cube, when placing 0 at the bottom and 1 at the top
• The result of △ is the highest vertex equal or lower than its operands (infimum, greatest lower bound)
• The result of ▽ is the lowest vertex equal or higher than its operands (supremum, least upper bound)
• The result of ⫬ is the vertex diagonally oposite of its operand
• All boolean algebras of dimension n are isomorphic
• For all boolean algebras, the same laws apply (they can be proven from the axioms)

Isomorphisms for Examples

• Basic logic is isomorphic to bitstrings of length 1 (0=false, 1=true)
• The subsets of a set of size n can be expressed as bit strings of size n:
Each bit indicates presence (1) or absence (0) of the respective element from the subset
• Set operations can be defined by logical operations
Examples: AB = {x| xAxB}; AB = {x| xAxB}; Ac = {x| ¬(xA)}
• Examples with divisibility are constructed to include/exclude each factor; this can be mapped to bitstrings or to set operations

Axioms for Boolean Algebras

The axioms for Boolean algebras are the same as the axioms for basic logic (standard/Huntington/Robbins/Sheffer/Wolfram).

There is a choice between compactness and obviousness.

We obtained the axioms by starting with basic logic and trying to find axiomatizations.

We obtain Boolean algebras by trying to find all objects that conform to these axioms.

The Magic Garden of George B.

(The Magic Garden of George B. And Other Logic Puzzles, Raymond Smullyan, Polimetrica, 2007)

• A very special garden: Flowers can change colors every day
(set of flowers F, set of days D, color of flower a on day d: color(a, d))
• Each flower is either blue or red for a whole day
(∀fF: ∀dD: color(f,d)=red∨color(f,d)=blue)
• For any flowers a and b, there is a flower c that is red on all and only those days on which a and b are both blue.
(∀a, bF: ∃c∈F: ∀dD: color(a,d)=color(b,d)=blue ↔ color(c,d)=red)
• Any two different flowers a and b have different colors on at least one day.
(∀a, bF: ∃dD: a≠b→color(a,d)≠color(b,d))
• We know that the garden has more than 200 but less than 500 flowers. (200<|F|<500)
• Question 1: How many flowers does the garden have?
• Question 2: What is the minimum of days that the flowers bloom?
• Question 3: Who is George B.?

How to Solve the Magic Garden Puzzle

• Let red stand for 1, blue for 0
• Let a day be a bit position
• Let a flower be a bit combination
• "there is a flower c that is red on all and only those days on which a and b are both blue" means that bitwise NOR is always defined
• Because any (bitwise) logical operation can be defined based on bitwise NOR, all logical operations are defined
• The flowers therefore form a Boolean algebra:
• B is F (set of flowers)
• 0 is a flower that is always(*) blue
• 1 is a flower that is always(*) red (*assuming |F|=2|D|)
• a is the flower that is red on those days where a is blue and blue on those days where a is red
• is the flower that is red only on those days where both its operands are red, otherwise blue
• is the flower that is red whenever one or more of its operands are red, otherwise blue
• The (partial) order relation is: a flower a is smaller or equal than a flower b if on all days where b is blue, a is also blue
• Hasse diagram for 32 flowers: BAgarden.svg
• The size of a finite Boolean algebra is 2n, hence 200<|F|<500 → |F|=256=28; min(|D|)=8
• Question 1: How many flowers does the garden have? 256
• Question 2: What is the minimum of days that the flowers bloom? 8 days (dimension of this Boolean algebra)
• Question 3: Who is George B.? George Boole, after which Boolean algebra is named

Summary

• Boolean algebra is a an example of algebraic structure
• Boolean algebras have one set (B), two special elements (0 and 1), and three operations (⫬, △, and ▽)
• The axioms of boolean algebra are the same as the axioms of basic logic; there are various choices with tradeoffs between obviousness and compactness
• Boolean algebras are half-orders and lattices
• There are many examples of Boolean algebras: basic logic (with logic operations), bit strings (with bitwise logic operations), powersets (with set operations), certain sets of integers (with divisibility), gardens with flowers,...
• All finite Boolean algebras are of size 2n, and are isomorphic to an n-dimensional cube

Homework Due January 6

Deadline: January 6, 2019 (Monday after New Year vacations), 19:00.

Format: A4 single page (using both sides is okay; NO cover page), easily readable handwriting (NO printouts), name (kanji and kana) and student number at the top right

Where to submit: Box in front of room O-529 (building O, 5th floor)

By using formula manipulation, show that the Wolfram axiom of Boolean logic (((AB)⊼C)⊼(A⊼((AC)⊼A))=C) is a tautology. For each simplification step, indicate which law(s) you used.

Hints: Simplify the left side to obtain the right side. There should be between 15 and 20 steps.

Homework Due January 9

Deadline: January 9, 2019 (Thursday), 19:00.

Format: A4 single page (using both sides is okay; NO cover page), easily readable handwriting (NO printouts), name (kanji and kana) and student number at the top right

Where to submit: Box in front of room O-529 (building O, 5th floor)

Draw the Hasse diagram of a Boolean algebra of dimension 4 (16 elements). There will be a deduction if you use the same elements as another student.

Additional Homework (no need to submit): Prepare for final exam using past exams.

Glossary

coverage

group isomorphism

isomorphic

Abelian group
アベル群、可換群
semigroup

ring

polynomial

field

lattice

Boolean algebra
ブール代数
zero element

unary operation

binary operation

bitwise operation
ビット毎演算
bitwise not
ビット毎否定
bitwise and
ビット毎論理積
bitwise or
ビット毎論理和
bitwise xor (exclusive or)
ビット毎排他的又は
coprime

greatest common divisor

least common multiple

coprime

pairwise coprime

n-dimensional
n 次元 (の)
cube

supremum (least upper bound)

infimum (greatest lower bound)