Boolean Expressions#
TODO
Definition: Literal
A literal in a boolean expression is either a variable or its negation.
Definition: Product Term
A product term is a conjunction of literals.
Example
Definition: Clause
A clause is a disjunction of literals.
Example
Definition: Minterm
Given \(n\) variables, a minterm is a conjunction in which each variable or its negation appears exactly once.
Example
If we have the variables \(x, y, z\), then \(x\overline{y}z\) and \(\overline{x}\overline{y}\overline{z}\) are minterms, but \(xy\) is not.
Notation
If we have \(n\) variables \(x_0, \dotsc, x_{n-1}\), we can give each minterm a unique label \(m_k\), where \(k\) is a non-negative integer which tells us what the minterm looks like. This is done by interpreting the minterm as a sequence of bits \(b_0\cdots b_{n-1}\), where \(b_i = 1\) if the minterm contains \(x_i\) and \(b_i = 0\) if it contains \(\neg x_i\).
Definition: Maxterm
Given \(n\) variables, a maxterm is a disjunction in which each variable or its negation appears exactly once.
Example
If we have the variables \(x, y, z\), then \(x+\overline{y}+z\) and \(\overline{x}+\overline{y}+\overline{z}\) are maxterms, but \(x+y\) is not.
Notation
If we have \(n\) variables \(x_0, \dotsc, x_{n-1}\), we can give each maxterm a unique label \(M_k\), where \(k\) is a non-negative integer which tells us what the maxterm looks like. This is done by interpreting the maxterm as a sequence of bits \(b_0\cdots b_{n-1}\), where \(b_i = 1\) if the maxterm contains \(\neg x_i\) and \(b_i = 0\) if it contains \(x_i\).
Definition: Conjunctive Normal Form
A conjunctive normal form or product of sums is a conjunction of one or more clauses.
Example
Definition: Disjunctive Normal Form
A conjunctive normal form or sum of products is a disjunction of one or more product terms.
Example