ArticlePDF Available

On a new Boolean function with applications

Authors:

Abstract and Figures

Consider a hypercube of 2<sup>n</sup> points described by n Boolean variables and a subcube of 2<sup>m</sup> points, m&les;n. As is well-known, the Boolean function with value 1 in the points of the subcube can be expressed as the product (AND) of n-m variables. The standard synthesis of arbitrary functions exploits this property. We extend the concept of subcube to the more powerful pseudocube. The basic set is still composed of 2<sup>m</sup> points, but has a more general form. The function with value 1 in a pseudocube, called pseudoproduct, is expressed as the AND of n-m EXOR-factors, each containing at most m+1 variables. Subcubes are special cases of pseudocubes and their corresponding pseudoproducts reduce to standard products. An arbitrary Boolean function can be expressed as a sum of pseudoproducts (SPP). This expression is in general much shorter than the standard sum of products, as demonstrated on some known benchmarks. The logical network of an n-bit adder is designed in SPP, as a relevant example of application of this new technique. A class of symmetric functions is also defined, particularly suitable for SPP representation
Content may be subject to copyright.
On a New Boolean Function with Applications
Fabrizio Luccio, Fellow, IEEE, and Linda Pagli
AbstractÐConsider a hypercube of 2
n
points described by n Boolean variables and a subcube of 2
m
points, m n. As is well-known,
the Boolean function with value 1 in the points of the subcube can be expressed as the product (AND) of n ÿ m variables. The standard
synthesis of arbitrary functions exploits this property. We extend the concept of subcube to the more powerful pseudocube. The basic
set is still composed of 2
m
points, but has a more general form. The function with value 1 in a pseudocube, called pseudoproduct,is
expressed as the AND of n ÿ m EXOR-factors, each containing at most m 1 variables. Subcubes are special cases of pseudocubes
and their corresponding pseudoproducts reduce to standard products. An arbitrary Boolean function can be expressed as a sum of
pseudoproducts (SPP). This expression is in general much shorter than the standard sum of products, as demonstrated on some
known benchmarks. The logical network of an n-bit adder is designed in SPP, as a relevant example of application of this new
technique. A class of symmetric functions is also defined, particularly suitable for SPP representation.
Index TermsÐPseudocube, pseudoproduct, EXOR-factor, Boolean function, algebraic expression, logical design.
æ
1INTRODUCTION
T
HIS is a contribution to Boolean functions and logical
design, centered on the new concepts of pseudocube and
pseudoproduct.
Consider a hypercube B
n
described by the Boolean
variables x
0
; :::; x
nÿ1
.Thesetsof2
m
points lying on
subcubes B
m
B
n
, m n, are of paramount importance
in Boolean algebra. In fact, the characteristic function of B
m
(i.e., the function with value 1 in the points of the subcube,
and value 0 elsewhere) can be expressed as the product
(AND) of the n ÿ m variables having constant value in B
m
,
either in direct or complemented form. The synthesis of
arbitrary functions exploits this property.
In this paper, we generalize the concept of subcube to
a more powerful one. The basic set, still composed of 2
m
points, is now called pseudocube of degree m. Subcubes
are special cases of pseudocubes. The interesting fact is
that pseudocubes have simple algebraic expressions using
Exclusive OR (EXOR). To get an intuition of how
pseudocubes look, we can put the following initial
definition:
1. any single point is a pseudocube of degree 0;
2. any pair of points is a pseudocube of degree 1;
3. a subset P of 2
m
points is a pseudocube of degree m
if P can be divided into two disjoint pseudocubes P
1
,
P
2
of degree m ÿ 1, and there exists a subset of
variables such that P
2
can be derived from P
1
by
complementing the variables of in each of the
points of P
1
.
For example, consider the set P of 2
3
points in B
4
shown
in the Karnaugh map of Fig. 1. This set can be divided into
two subsets P
1
, P
2
lying on the subcubes with x
0
0 and
x
0
1, respectively, such that P
2
can be derived from P
1
by
complementing the value of x
0
in each of the points of P
1
.In
turn, P
1
can be divided into two subsets P
11
, P
12
,
corresponding to x
1
0 and x
1
1 (first and second
column of the map), and P
12
can be derived from P
11
by
complementing the values of x
1
and x
3
. A similar
decomposition clearly holds for P
2
. Now, P
11
and P
12
are
pseudocubes of degree 1 by Item 2 above, therefore, P
1
is a
pseudocube of degree 2 by Item 3. Similarly, P
2
is a
pseudocube of degree 2. Therefore, P is a pseudocube of
degree 3. An algebraic expression for P can be directly
extracted from the set of its points. As we shall see, this
expression is x
1
x
2
x
3
.
Pseudocubes will be represented as Boolean matrices of
2
m
rows (the points) and n columns (the variables). The
definition given above will be substituted by another, based
on the properties of such matrices. The paper is organized
as follows:
Section 2 contains a discussion on Boolean matrices as a
prerequisite to proving the results of the following sections.
In particular, a matrix M is called balanced if its columns
contain half 0s and half 1s, and this property repeats
recursively on any submatrix obtained as the restriction of
M to all the rows where an arbitrary variable has constant
value. In Section 3, we formally define pseudocubes as sets
of points whose matrix is balanced, and prove that
pseudocubes exhibit several nice properties. For a given
pseudocube P of degree m, we define the class ÿP of the
pseudocubes obtained from P by complementing a given
arbitrary subset of variables and show that the elements of
ÿP are disjoint and tessellate B
n
. Furthermore, the union
of any two pseudocubes of the same class ÿ is a
pseudocube, and the intersection of two arbitrary pseudo-
cubes is either empty or is a pseudocube.
In Section 4, we introduce the pseudoproduct of degree m
as the characteristic Boolean function of a pseudocube P of
the same degree. Pseudoproducts have a canonical alge-
braic expression indicated as CEX(P ) consisting of the AND
of n ÿ m EXOR-factors, each containing at most m 1
literals. CEX(P) can be built in linear time from the points of
P.IfP is a subcube, the EXOR-factors reduce to single
variables and CEX(P ) reduces to the standard product
296 IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 3, MARCH 1999
. The authors are with the Dipartimento di Informatica, Universita
Á
di Pisa,
Corso Italia, 40, I-56125 Pisa, Italy. E-mail: {luccio, pagli}@di.unipi.it.
Manuscript received 29 Sept. 1997; revised 28 May 1998.
For information on obtaining reprints of this article, please send e-mail to:
tc@computer.org, and reference IEEECS Log Number 105725.
0018-9340/99/$10.00 ß 1999 IEEE
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
expression. In the example of Fig. 1, we have n 4 and
m 3 and the canonical expression CEX(P )=x
1
x
2
x
3
consists of one EXOR-factor. Given two pseudoproducts P
1
,
P
2
belonging to the same class ÿ,wecanconstruct
CEXP
1
[ P
2
from CEXP
1
and CEXP
2
in linear time.
We then show how an arbitrary Boolean function f can
be expressed as a sum (OR) of pseudoproducts and
compare this new form (SPP) with the standard sum of
products (SP) and with binary decision diagrams (BDD). In
fact, SP is a particular case of SPP, but the latter is much
shorter in general. As relevant examples of application of
this new technique, we design the logical network of an n-
bit adder (Section 5), and derive the SPP expressions for
some known benchmark Boolean functions (Section 6).
We finally define a class of symmetric functions
insensitive to the complementation of subsets of variables
(Section 7) and show that they are particularly suitable
for SPP representation.
To the best of our knowledge, this approach is
completely new, except for some preliminary results that
we have presented at a conference [10]. We regard this work
as basic theory, mainly directed to the comprehension and
algebraic representation of Boolean functions.
2SOME PROPERTIES OF BOOLEAN MATRICES
Boolean matrix theory is well-established (e.g., see [2]). We
introduce here some new definitions and properties of these
matrices, with the sole purpose of proving the results
reported in the following. The proofs of the formal
statements of this section have been moved to an appendix,
since they are not crucial to follow the development of our
theory.
Given a binary vector u,itscomplement
u is the
elementwise Boolean complementation of u. The symbol
^
u
denotes u or
u. 0 and 1 denote vectors of all 0s, or all 1s,
respectively. In the following, we shall always refer to
binary vectors and binary matrices.
Definition 1. A vector u of 2
m
elements, m 0,isnormal if
1. m 0 or
2. m>0
and u v
^
v with v (hence,
^
v) normal. (v
^
v is the concatena-
tion of v and
^
v).
Definition 2. A vector u is constant if u 0 or u 1;
otherwise u is divided. u is balanced if it is constant or half
of its elements are 0 and half are 1. Two balanced vectors u, v
are concordant if u v or u
v; otherwise u, v are
discordant.
Clearly, any vector of one or two elements is normal and
any normal vector is balanced. For example,
00; 0101; 01101001 are normal (and balanced) vectors. By
induction on m we can easily prove:
Proposition 1. Let a vector u of 2
m
elements be normal. Then,
u v
0
...v
2
mÿk
ÿ1
; 0 k m, where each v
i
consists of 2
k
equal elements (i.e., v
i
0 or v
i
1). For k m ÿ 1, we also
have v
0
v
1
.
Definition 3. A normal vector u v
0
...v
2
mÿk
ÿ1
is k-normal,
with k defined as in Proposition 1. A k-normal vector is k-
canonical if v
i
0 for i even and v
i
1 for i odd.
For example, the vector 1100001100111100 is 1-normal,
with m 4. We have v
0
11, v
1
00, v
2
00, and so on.
The vector 0000111100001111 is 2-canonical. We now extend
the above concepts from vectors to matrices. Unless
differently specified, a matrix will always have 2
m
rows
r
0
; ...; r
2
m
ÿ1
and n columns c
0
; ...; c
nÿ1
, n 1 and
0 m n.
Definition 4. A matrix M is normal if r
i
6 r
j
for i 6 j and all
the columns are normal. A normal matrix is canonical if its
rows, interpreted as binary numbers, are arranged in
increasing order.
The matrix shown in Fig. 2 is canonical. An important
property of canonical matrices is the following (the proof is
in Appendix A).
LUCCIO AND PAGLI: ON A NEW BOOLEAN FUNCTION WITH APPLICATIONS 297
Fig. 1. A pseudocube P of degree 3 (black dots) composed of two
pseudocubes P
1
, P
2
of degree 2.
Fig. 2. A canonical matrix for m 3, n 6, with canonical columns
c
0
; c
2
; c
4
.
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
Proposition 2. A canonical matrix M contains m columns
c
i
0
; ...; c
i
mÿ1
of increasing indices, such that c
i
j
is
m ÿ j ÿ 1-canonical for 0 j m ÿ 1.
In a canonical matrix M, the columns c
i
0
; ...; c
i
mÿ1
of
Proposition 2 are called canonical columns of M (if several
m ÿ j ÿ 1-canonical columns exist, 0 j m ÿ 1, c
i
j
is
the one of smallest index among them). The other columns
are the noncanonical ones. See Fig. 2. We now extend the
concept of balanced vectors to balanced matrices.
Definition 5. The restriction of a matrix M, composed of the
rows whose elements in column c
i
are equal to 1 (respectively,
equal to 0) is denoted by M
i
(respectively, M
i
). M is balanced
if all its rows are pairwise different, all its columns are
balanced, and each M
i
(hence, M
i
) is balanced, 0 i n ÿ 1.
The notation of Definition 5 is extended by writing M
^
i
for M
i
or M
i
. Further restrictions M
^
i
^
j
^
k
::: are indicated as
M
^
i;
^
j;
^
k:::
.
For a given matrix, the property of being balanced is
obviously not affected by row permutations. In addition,
particular row permutations preserve normality. The
following Propositions 3 and 4 show that normal and
balanced matrices are the same up to row permutations (the
proofs are in Appendix A).
Proposition 3. Any normal (in particular, canonical) matrix M
is balanced.
Proposition 4. Any balanced matrix M can be transformed into
the corresponding canonical matrix by rearranging the rows,
interpreted as binary numbers, in increasing order.
From a computational point of view, we can test whether
a matrix M is balanced in 2
m
n time (i.e., in time linear
with the size of the input matrix). The algorithm is as
follows:
Algorithm 1(check balancing of a matrix M)
1. check that all the columns of M are balanced;
2. sort the rows of M as they were binary numbers;
3. check that all the columns thus obtained are normal.
Phase 1 can be trivially executed in 2
m
n. Phase 2
can be executed in equal time using Radix-Sort. In Phase 3,
the control of normality of each column c
h
is done in 2
m
time, recursively checking the normality of c
h
0:2
mÿ1
ÿ 1,
and then checking that c
h
0:2
mÿ1
ÿ 1c
h
2
mÿ1
:2
m
ÿ 1,
or c
h
0:2
mÿ1
ÿ 1
c
h
2
mÿ1
:2
m
ÿ 1. If Phase 1 or Phase 3
fail, the algorithm stops declaring M nonbalanced.
3PSEUDOCUBES
Consider a set S fs
0
; ...;s
2
m
ÿ1
g of 2
m
points of B
n
, m n.
We can obviously represent S as a Boolean matrix, with the
rows associated to the points s
0
; ...;s
2
m
ÿ1
and the columns
associated to the variables x
0
; ...;x
nÿ1
. We shall indiffer-
ently refer to points or rows, and to variables or columns.
We formally pose:
Definition 6. A pseudocube of degree m is a set of 2
m
points
whose matrix is balanced or, equivalently, it is canonical up to
a permutation of rows (Propositions 3 and 4).
Note that any set of one or two points is a pseudocube.
The reader may check that the sets of points marked in the
two Karnaugh maps of Fig. 3 are pseudocubes. For
example, the set marked with b has matrix
x
0
x
1
x
2
x
3
0000
0101
1111
1010
which is balanced and becomes canonical, permuting the
third and fourth rows. Algorithm 1 can be directly applied
to check if a set S B
n
is a pseudocube.
A cube B
nÿk
B
n
, 0 k n, is a subset of 2
nÿk
points,
whose matrix has k constant columns and n ÿ k divided
columns. Sorting the rows as increasing binary numbers, we
obtain a canonical matrix. That is, a cube is a special case of
pseudocube where only the canonical columns are divided.
We shall see that pseudocubes maintain some basic proper-
ties generally ascribed to cubes.
Definition 7. For a point s 2 B
n
and a subset of variables , the
transformed point s is obtained from s by complementing
the variables in . For a set of points S, the transformed set
S is the set fs : s 2 Sg.
298 IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 3, MARCH 1999
Fig. 3. Eight pseudocubes in B
4
: the points of a pseudocube are marked with the same letter. Each map contains a class ÿ.
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
Proposition 5. Let P be a pseudocube of degree m and be a
subset of variables. Then, P is a pseudocube of degree m,
with P P or P \P ;.
Proof Without loss of generality, represent P by the
canonical matrix M and assume that the variables
x
0
; ...;x
mÿ1
and x
m
; ...;x
nÿ1
, respectively, indicate the
canonical and the noncanonical columns of M. Denote by
C and NC the submatrices formed by such columns.
First, consider the effect of complementing variables in
NC, that is, let fx
m
; ...;x
nÿ1
g. The matrix M
0
thus
obtained, associated with P, is still canonical, with the
canonical part C
0
C and a remaining part NC
0
. In fact,
all the rows in M
0
are distinct, because the subrows in C
0
are distinct; and all the columns in NC
0
are normal
because variable complementation preserves normality.
Furthermore, the rows of M
0
are sorted in increasing
order since ordering is induced by C
0
C. Then, P is
a pseudocube of degree m. Moreover, for any two points
u 2 P, v 2 P, either some of the entries in C, C
0
are
different or all these entries are equal, but some entries in
NC, NC
0
are different by the effect of . Then,
P\P ;. Consider now complementing a variable
x
i
in C. This has the same effect as complementing all the
variables x
j
in NC such that x
j
i
x
j
i
, where x
j
k
denotes the restriction of the column x
j
to M
k
. If no such
variable x
j
exists, then complementing x
i
amounts to a
permutation of the rows of M, bringing P onto itself.
Therefore, for fx
0
; ...;x
mÿ1
g there is a (possibly
empty) subset fx
m
; ...;x
nÿ1
g such that P P ,
and the previous analysis shows that P \P ; for
P 6;, P P for P ;. Finally, if has
variables in C and in NC, the effect of the two subsets
can be analyzed separately. The previous analysis again
shows that P\P ;,orP P . tu
The proof of Proposition 5 contains the seeds of a more
general result. In fact, distinct subsets of variables ,
corresponding to noncanonical columns generate disjoint
pseudocubes P , P. Since there are 2
nÿm
such subsets,
there are at least 2
nÿm
disjoint pseudocubes generated from
P . Moreover, Proposition 5 also states that no two
pseudocubes generated from P may partially overlap. We
then have:
Theorem 1. For any pseudocube P of degree m, there are exactly
2
nÿm
disjoint pseudocubes (including P) of degree m obtained
from P by complementation of variables. These pseudocubes
are exactly the ones obtained by complementing the non-
canonical variables of the canonical matrix in all possible ways.
These pseudocubes form a class, denoted by ÿP, that
tessellates B
n
.
Note that ÿPÿP  for any . Two families ÿ in B
4
are shown in Fig. 3. x
0
and x
1
are the canonical variables for
both families. In the first map, the pseudocube marked with
b derives from the one marked with a by complementing
the noncanonical variable x
2
, or the canonical variable x
0
.
Then, complementing x
0
and x
2
brings the pseudocube onto
itself. In the second map, the pseudocube marked with f
derives from the one marked with g by complementing x
2
and x
3
. Complementing x
1
brings the pseudocube onto
itself. A relevant result is the following:
Theorem 2. Let P , Q be pseudocubes of degree m, P \ Q ;.
P [ Q is a pseudocube (of degree m 1) if and only if
Q 2 ÿP.
Proof. As in the proof of Proposition 5, represent P by a
canonical matrix M with canonical columns associated to
x
0
; ...;x
mÿ1
. Also, let R P [ Q.
If part. Let Q P , with fx
m
; ...;x
nÿ1
g:We
prove that R is a pseudocube. Q can be represented by a
canonical matrix N, obtained from M complementing
the columns of . Then, R can be represented by the
matrix Z obtained attaching N to M. The columns of Z
belonging to have the structure v
v, and the other
columns have the structure vv, with v normal since it
comes from M. That is, all the columns of Z are normal,
hence, R is a pseudocube by Proposition 3.
Only if part. Let R be a pseudocube: We prove that
Q 2 ÿP. Choose the canonical matrix N to represent Q,
and attach N to M to form a matrix Z representing R.
Since the columns of Z must be balanced, any variable x
i
divided in M (in particular, x
0
; ...;x
mÿ1
) must be also
divided in N. Take any pair of variables x
i
;x
j
2
fx
0
; ...;x
mÿ1
g and consider Z
i
(the restriction of Z to
the rows with x
i
1). We have that x
j
is divided in M
i
and is balanced in Z
i
, therefore, it is divided in N
i
. That
is, x
i
and x
j
are discordant in N. We conclude that
x
0
; ...;x
mÿ1
are divided and pairwise discordant in N,
and form the canonical part of N. The proof now
proceeds by induction on m. The basis m 1 holds as a
consequence of the fact that any balanced vector of four
elements is normal. Let the assertion hold for m ÿ 1.
Note that M
0
, M
0
, N
0
, N
0
correspond to pseudocubes of
degree m ÿ 1 and that M
0
[ M
0
, N
0
[ N
0
, M
0
[ N
0
Z
0
correspond to pseudocubes. Then, by induction, M
0
, M
0
,
N
0
, N
0
are all in the same class ÿ. Therefore, each column
of Z has the form
^
u
^
u
^
u
^
u. Consider now the submatrix
W ::Z
1
2
::
mÿ1
composed of the four starting rows of
M
0
, M
0
, N
0
, N
0
. In each column, W contains the starting
elements of the four vectors
^
u above. The values of these
elements determine if the corresponding
^
u has the actual
configuration u or
u. Being a restriction of Z, W is the
matrix of a pseudocube of degree 2, therefore, its
columns are balanced (hence, normal). It is immediate
to verify that all the corresponding arrangements of
^
u
^
u
^
u
^
u can be rewritten as w^w. That is, P and Q belong to
the same class ÿ. tu
Let us now see how a pseudocube of degree m can be
extended to one of degree m 1.
Definition 8. Given a pseudocube P of degree m 1 and a point
u 62 P, the extension EXTP;u is a set of points such that
u 2 EXTP;u, and P [ EXTP;u is a pseudocube of
degree m 1.
Proposition 6. For any pseudocube P of degree m 1 and any
point u 62 P, EXTP;u exists and is uniquely determined,
and EXTP;u2ÿP.
LUCCIO AND PAGLI: ON A NEW BOOLEAN FUNCTION WITH APPLICATIONS 299
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
Proof. Take an arbitrary point v 2 P . Consider the subset of
variables such that vu and denote P P
0
.By
Proposition 5 and Theorem 2, we have that P
0
is a
pseudocube of degree m and P [ P
0
is a pseudocube of
degree m 1.Thatis,EXTP;uP
0
and
EXTP;u2ÿP . To prove that EXTP;u is unique,
assume by contradiction that another completion P
00
exists, with P
0
6 P
00
, and u 2P
0
\ P
00
. By assumption,
P [ P
00
is a pseudocube, hence, P
00
2 ÿP by Theorem 2,
which is impossible because also P
0
2 ÿP and
P
0
\ P
00
6 ;. tu
Fromtheproof of Proposition 6,wecanmake the following:
Observation 1. Given three points u; v; w, there exists exactly
one point z such that fu; v; w; zg is a pseudocube.
In this simple case there is an immediate construction for
z since the value of each variable in z can be determined by
balancing the corresponding column. For example:
x
1
x
2
x
3
x
4
...
u 0001...
v 1010...
w 1001...
z 0010...
The concept of extension is needed to prove some further
results. We have:
Proposition 7. Let R be a pseudocube of degree r and P be a
pseudocube of degree p, with r 2, 1 p<r, and P R.
For any point u 2 R ÿ P we have EXTP;uR.
Proof. 1. We first prove the proposition for p 1 by
induction on r. Let P fv; wg.
Basis. r 2. Immediate from Observation 1.
Inductive step. r 2. Assuming that the hypothesis
holds for r, we prove that it holds for r 1. Represent the
matrix M of R in normal form, and partition M from the
top into four consecutive normal submatrices A; B; C; D,
each composed of 2
rÿ2
rows. AB and CD will denote the
top and bottom halves of M.
a. If v; w; u are all in AB, or all in CD,the
proposition holds by the inductive hypothesis;
b. Let v; w be in AB and u be in CD (all other cases
are similar). Use the permutations PERM1,
PERM2, PERM3 given in Appendix A that
preserve the normality of M. It is easy to see
that, with some permutations where we set
k m ÿ 3, v and w can be brought into A, leaving
u in CD. Then, with one permutation where we
set k m ÿ 2, u is brought into B, leaving v; w in
A. We now have v; w; u in AB, and the inductive
hypothesis applies.
2. We now prove the proposition for any p>1. Take
an arbitrary point v 2 P . Consider the subset of variables
such that vu. We have EXTP;uP . Take
an arbitrary point z 6 u in EXTP;u. We prove that
z 2 R, hence, EXTP;uR. Consider the point w such
that wz. Note that w 2 P .Sincefv; wg is a
pseudocube, and fv; wgfu; zg2ÿfv; wg,then
fv; w; u; zg is a pseudocube by Theorem 2. Therefore,
fzgEXTfv; wg;u, that is z 2 R by point 1. tu
Thepreceding resultsshowhow apseudocubeof degreem,
and a point external to it, determine a pseudocube of degree
m 1 containing the two. Indeed, a stronger result holds:
Theorem 3. Given k points s
0
; ...;s
kÿ1
, the pseudocube T of
minimal degree t containing s
0
; ...;s
kÿ1
is uniquely deter-
mined, and we have dlog
2
ket k ÿ 1.
Proof. The lower bound is trivial since a pseudocube of
degree < dlog
2
ke contains less than k points. To prove
the upper bound, consider the pseudocubes S
i
,
0 i k ÿ 1, built as follows:
S
0
fs
0
g
S
1
fs
0
;s
1
g
S
i
S
iÿ1
if s
i
2 S
iÿ1
S
iÿ1
[ EXTS
iÿ1
;s
i
if s
i
62 S
iÿ1
.
Note that all the S
i
are uniquely determined by
Proposition 6. We now prove by induction on i that, for
any pseudocube S 3 s
0
; ...;s
i
, we have S
i
S.
Basis. i 0; 1. Trivial.
Inductive step. 2 i k ÿ 1. Assuming that the hy-
pothesis holds for i ÿ 1, we prove that it holds for i. For
any pseudocube S 3 s
0
; ...;s
i
we trivially have
S 3 s
0
; ...;s
iÿ1
,hence,S
iÿ1
S by induction. If
s
i
2 S
iÿ1
, we have S
i
S
iÿ1
and the inductive hypoth-
esis obviously holds for i.Ifs
i
62 S
iÿ1
, we have S
i
S
iÿ1
[ EXTS
iÿ1
;s
i
and the hypothesis holds by Pro-
position 7. As a consequence, S
kÿ1
any subset
containing s
0
; ...;s
kÿ1
, that is, T S
kÿ1
. By construction,
this set is uniquely determined and we have t (degree
of S
kÿ1
k ÿ 1), where equality applies if s
i
62 S
iÿ1
in the
construction of all S
i
. tu
We finally study how pseudocubes intersect.
Theorem 4. Let P and R be pseudocubes of degree p, r,
respectively. Then, either P \ R ;or P \ R is a pseudocube
of degree p r ÿ n.
Proof. The case P \ R ; is trivial. If
P \ R fs
0
; ...;s
kÿ1
g, k 1, then both P and R must
contain the minimum pseudocube T containing
s
0
; ...;s
kÿ1
, as shown in the proof of Theorem 3. This
implies that fs
0
; ...;s
kÿ1
gT ,thatis,P \ R is a
pseudocube. We now prove a lower bound for jT j.
Consider the set fR
1
; ...;R
h
g of the elements of ÿR that
have nonempty intersection with P (R is one of these
elements). P \ R
i
, 1 i h, is a pseudocube as proven
above, with jP \ R
i
j2
r
i
for proper r
i
. For any pair
R
j
;R
k
, we have that R
j
[ R
k
is a pseudocube by
Theorem 2, therefore, Q P \R
j
[ R
k
is a pseudo-
cube and jQj2
q
forproperq.Wethenhave
2
r
j
2
r
k
2
q
,thatimpliesr
j
r
k
. Then,
jP \ R
1
j...jP \ R
h
j2
a
, with 2
p
=h 2
a
. The value
of a is minimum if all the elements of ÿR have
nonempty intersection with P , that is, h 2
nÿr
. We then
have 2
p
=2
nÿr
2
a
, that is, a p r ÿ n. tu
300 IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 3, MARCH 1999
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
At the beginning of this section, we saw that any cube
B
k
B
n
, 0 k n, is a pseudocube. Let us now discuss
how the main properties of pseudocubes are interpreted for
cubes. Theorem 1 applies directly to cubes, implicitly
defining the tessellation ÿC for a given cube C, whose
members are cubes. Theorem 2 holds only in its ªonly ifº
part. That is, if C and D are cubes of degree m, C \ D ;,
the fact that C [ D is a cube implies D 2 ÿC, but the union
of two cubes of the same family ÿ is not necessarily a cube
(but, obviously, is a pseudocube). For a cube C of degree
m 1 and a point u 62 C, we can sharpen Definition 8 by
letting EXTC;u be a set of points containing u such that
C [ EXTC;u is a cube of degree m 1. The existence of
EXTC;u is not guaranteed in this case, however, if
EXTC;u exists, then it is uniquely determined and
EXTC;u2ÿC. Theorem 4 holds unchanged for cubes.
Finally, note that no useful adaptation can be done for
Theorem 3 because the smallest cube containing two given
points can be as large as B
n
. This occurs, for example, for
the points x
1
;x
2
; ...;x
n
0; 0; ...; 0 and
x
1
;x
2
; ...;x
n
1; 1; ...; 1.
4PSEUDOPRODUCTS
Our first concern is now to derive a concise algebraic
expression of the characteristic function of a pseudocube.
We use the Boolean operators OR (symbol +), AND
(symbol ), and EXOR (symbol ). Since these operators are
commutative and associative, they are naturally applied to
any number of variables. In particular, we define an EXOR-
factor as a single variable or as a string of variables
connected by EXOR in any order. The following lemma
contains two equalities that can be easily proven by
induction:
Lemma 1. Let y
1
; :::; y
k
be Boolean variables, k 2. We have:
1. y
1
y
2
...
y
k
y
1
y
2
... y
k
;
2.
y
1
y
2
... y
k
y
1
y
2
... y
k
y
1
y
2
y
1
y
3
...y
1
y
k
:
Lemma 1.1, combined with the commutativity of EXOR,
shows that complementing any variable in an EXOR-factor
amounts to complementing the whole factor. This also
immediately implies:
Lemma 2.
^
y
1
^
y
2
:::
^
y
k
y
1
y
2
::: y
k
, if the number
of complementations in the left-hand side is even;
^
y
1
^
y
2
:::
^
y
k
y
1
y
2
:::
y
k
, if the number of com-
plementations in the left-hand side is odd.
We now pose:
Definition 9. Let P be a pseudocube of degree m in B
n
; let M be
the canonical matrix of P ;andletx
p
0
; ...;x
p
mÿ1
and
x
p
m
; ...;x
p
nÿ1
be the canonical and noncanonical variables,
respectively, with these two sets ordered for increasing values
of the indices. The canonical expression associated with P ,
denoted by CEXP , is given by f
0
f
1
... f
nÿmÿ1
, where
each f
i
, 0 i n ÿ m ÿ 1, is an EXOR-factor containing the
following variables:
1. the canonical variables x
p
j
, 0 j m ÿ 1 such that
M0;p
mi
6M2
mÿjÿ1
;p
mi
; these variables are
ordered for increasing indexes;
2. the noncanonical variable x
p
mi
if M0;p
mi
1 or
x
p
mi
if M0;p
mi
0.
Note that CEXP contains an EXOR-factor for each
noncanonical variable. For the pseudocube P
1
whose matrix
M
1
is shown in Fig. 4 we have:
CEXP
1
x
1
x
2
x
0
x
1
x
3

x
0
x
1
x
4
x
5
x
0
x
6
:
1
Note that the canonical matrix of a pseudocube P can be
built in 2
m
n (linear) time from the set of points of P
by applying Algorithm 1 that, in fact, builds the canonical
matrix M. Once this matrix is known, CEXP can be built
in m n time by first determining the canonical
variables of M and, then, applying Definition 9. The length
of CEXP is On ÿ mm.
In Boolean algebra, the characteristic function of a
subcube B
m
B
n
is called a product and is expressed as
the AND of n ÿ m variables in direct or complemented
form. Similarly, we call pseudoproduct of degree m the
characteristic function of a pseudocube of degree m. This
function can be expressed as the AND of n ÿ m EXOR-
factors. In fact, we have:
Theorem 5. For a pseudocube P , the pseudoproduct can be
expressed as CEXP.
Proof By induction on m.
Basis.m 0. P consists of one point. All the variables
are noncanonical. CEXP reduces to a product (min-
term)
^
x
p
0
...
^
x
p
nÿ1
, built according to Definition 9.2.
Inductive step. m>1. Denote by P
1
, P
2
the pseudo-
cubes of degree m ÿ 1 whose canonical matrices are M
p
0
and M
p
0
, respectively. Inductively assume that CEXP
1
and CEXP
2
are valid expressions for P
1
, P
2
. Note that
the canonical variables of P
1
and P
2
are x
p
1
; ...;x
p
mÿ1
,
while x
p
0
is constant in P
1
and P
2
,hence,isa
noncanonical variable for the two pseudocubes. Apply-
ing Definition 9.2 to the column p
0
of M
p
0
and M
p
0
,we
have CEXP
1
x
p
0
f
1
1
... f
1
nÿmÿ1
and
CEXP
2
x
p
0
f
2
1
... f
2
nÿmÿ1
. To compare f
1
i
with
f
2
i
, 1 i n ÿ m ÿ 1, note that the column p
mi
of M is
normal. Then, by Definition 9.1, f
1
i
and f
2
i
contain the
same canonical variables from among x
p
1
; ...;x
p
mÿ1
. More-
over, depending on the values of M0;p
mi
and
M2
mÿ1
;p
mi
, both f
1
i
and f
2
i
contain x
p
mi
,or
x
p
mi
,or
one contains x
p
mi
and the other contains
x
p
mi
. Therefore,
we have f
1
i
f
2
i
,orf
1
i
f
2
i
by Lemma 1.1. Letting f
1
i
1
f
2
i
1
; :::; f
1
i
k
f
2
i
k
and f
1
i
k1
f
2
i
k1
; :::; f
1
i
nÿmÿ1
f
2
i
nÿmÿ1
,
we have, by Lemma 1.2:
LUCCIO AND PAGLI: ON A NEW BOOLEAN FUNCTION WITH APPLICATIONS 301
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
CEXP
1
CEXP
2
f
1
i
1
... f
1
i
k

x
p
0
f
1
i
k1
... f
1
i
nÿmÿ1
x
p
0
f
1
i
k1
...
f
1
i
nÿmÿ1
f
1
i
1
::: f
1
i
k
x
p
0
f
1
i
k1
...
x
p
0
f
1
i
nÿmÿ1
and this expression coincides with CEX(P). Since
CEXP
1
CEXP
2
is an expression for the character-
istic function of P , the theorem immediately follows. tu
Since a subcube B
m
is a particular case of pseudocube of
degree m, a product is a particular case of pseudoproduct.
The AND expression of a product is a limit case of CEX
expression. In fact, the n ÿ m variables appearing in the
product have constant values in the corresponding subcube
and constitute the noncanonical variables of the pseudo-
cube. In general, the CEX expression of a pseudoproduct of
degree m contains n ÿ m EXOR-factors (Definition 9),
hence, at most n ÿ mm 1 literals.
Unlike for the limit case of a product, the CEX expression
of a pseudoproduct depends, in general, on the ordering of
the variables because the canonical variables of the
pseudocube are chosen according to the (conventional)
values of their indices. For the matrix M
1
of Fig. 4, the new
ordering x
0
x
4
x
5
x
1
x
2
x
3
x
6
would imply that x
0
;x
4
;x
5
are the
canonical variables, yielding the new CEX expression:
CEXP
1
x
0
x
4
x
5
x
1
x
0
x
4
x
5
x
2
x
4
x
5
x
3
x
0
x
6
: 2
Note that this expression is different from (1) and contains
more literals (but, obviously, the same number of EXOR-
factors).
From Theorem 5, we have that any pseudocube of degree
n ÿ 1 has a canonical expression consisting of one EXOR-
factor. Conversely, given an EXOR-factor f, there exists a
pseudocube P of degree n ÿ 1 whose pseudoproduct can be
expressed by f (not necessarily in CEX form). To prove this
point, first apply Lemma 2 to transform f into an equivalent
EXOR-factor f
0
with the same variables of f, all in direct
form, or with the last variable complemented. Using
Definition 9, we can then reconstruct the unique pseudo-
cube P such that CEXPf
0
.
Given two pseudocubes P
1
, P
2
of degree m such that
there exists a subset of variables with P
2
P
1
,we
have that P P
1
[ P
2
is a pseudocube of degree m 1
(Theorem 2). P
1
and P
2
have the same canonical and
noncanonical variables and may be limited to noncano-
nical variables (proof of Proposition 5). We now study how
to derive CEXP from CEXP
1
and CEXP
2
. Note that
P will have the same canonical variables of P
1
, P
2
, plus a
new one taken from the noncanonical variables of P
1
, P
2
.
Let fx
i
0
; ...;x
i
nÿmÿ1
g be the set of noncanonical variables
of P
1
and P
2
and let fx
i
0
; ...;x
i
k
g, k n ÿ m ÿ 1.We
have CEXP
1
f
i
0
... f
i
k
f
i
k1
... f
i
nÿmÿ1
,wheref
i
j
contains the noncanonical variable x
i
j
. By Lemma 1.1, we
then have CEXP
2

f
i
0
...
f
i
k
f
i
k1
... f
i
nÿmÿ1
. That is,
CEXP
1
CEXP
2
f
i
k1
... f
i
nÿmÿ1
f
i
0
... f
i
k
f
i
0
...
f
i
k
:
For jj1 (i.e., fx
i
0
g), we have
CEXP
1
CEXP
2
f
i
k1
... f
i
nÿmÿ1
, which is the ex-
pression CEXP . x
i
0
is the new canonical variable of P,
and does not appear in that expression (in fact, P
1
and P
2
are identical in the subexpressions with x
i
0
0 and x
i
0
1).
For jj > 1, we have, by Lemma 1.2:
CEXP
1
CEXP
2
f
i
k1
... f
i
nÿmÿ1

f
i
0
f
i
1

f
i
0
f
i
2
...

f
i
0
f
i
k
: 3
We transform this expression into CEXP by the
following rule:
Rule 1. In (3), each subexpression
f
i
0
f
i
j
, 1 j k,isan
EXOR-factor that is rearranged as follows
302 IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 3, MARCH 1999
Fig. 4. The canonical matrices M
1
and M
2
of two pseudocubes P
1
and P
2
of degree 3 in B
7
. For both matrices, x
0
;x
1
;x
4
and x
2
;x
3
;x
5
;x
6
are the
canonical and noncanonical variables, respectively. The underlined entries in M
1
are the ones to be checked in Definition 9. We have P
2
P
1
with fx
2
;x
3
;x
6
g.
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
1. The complementation over f
i
0
is assigned to its
variable x
i
0
(Lemma 1.1), that is, f
i
0
is changed to
f
1
i
0
with all the canonical variables in direct form; the
new expression f
1
i
0
f
i
j
is simplified by eliminating
each canonical variable y, if any, appearing in both f
1
i
0
and f
i
j
(in fact, y y 0 and 0 f f) to yield the
new expression f
2
i
j
;
2. If f
2
i
j
contains
x
i
0
, the complementation is moved
from this variable to the last variable x
i
j
of f
2
i
j
to
obtain the expression f
3
i
j
; note that f
3
i
j
is an EXOR-
factor containing some canonical variables, and the
noncanonical variables x
i
0
and
^
x
i
j
; include x
i
0
among
the canonical variables, and reorder this set for
increasing values of the indices, to obtain the
expression g
i
j
(
^
x
i
j
remains in the last position);
3. Expression (3) has been transformed into the form
f
i
k1
... f
i
nÿmÿ1
g
i
1
... g
i
k
composed of n ÿ m ÿ 1
EXOR-factors, each containing a noncanonical vari-
able: Sort these factors for increasing order of the
indices of such variables.
The expression obtained by Rule 1 is in CEX form. In
fact, this expression is CEXP and includes the new
canonical variable x
i
0
(first variable of ). For example,
consider the canonical matrices of the two pseudoproducts
P
1
, P
2
P
1
shown in Fig. 4. The canonical variables are
x
0
;x
1
;x
4
, and fx
2
;x
3
;x
6
g. We have:
CEXP
1
x
1
x
2
x
0
x
1
x
3
x
0
x
1
x
4
x
5
x
0
x
6
CEXP
2
x
1
x
2
x
0
x
1
x
3
x
0
x
1
x
4
x
5
x
0
x
6
and, applying Rule 1:
CEXPx
0
x
1
x
4
x
5
x
1
x
2
x
0
x
1
x
3


x
1
x
2
x
0
x
6

by rule 1:1x
0
x
1
x
4
x
5

x
2
x
0
x
3
x
1
x
2
x
0
x
6
by rule 1:2x
0
x
1
x
4
x
5
x
0
x
2
x
3
x
0
x
1
x
2
x
6
by rule 1:3x
0
x
2
x
3
x
0
x
1
x
4
x
5
x
0
x
1
x
2
x
6
;
where x
2
is the new canonical variable.
In summary, for a pseudocube P P
1
[ P
2
, CEXP can
be built from CEXP
1
and CEXP
2
with the following
Algorithm 2. The time is linear with the size of the input
expressions.
Algorithm 2 (build CEXP from CEXP
1
, CEXP
2
1. compare CEXP
1
with CEXP
2
to determine if P
1
and
P
2
belong to the same class; this occurs when the two
expressions are represented by two identical strings, except,
possibly, for the last variable of each EXOR-factor that may
appear in direct or complemented form. If this is the case,
derive ;
2. ifjj1 (i.e., fx
i
0
g
then build CEXP by suppressing from CEXP
1
the
EXOR-factor containing x
i
0
else derive (3) and apply Rule 1.
Algorithm 2 is the basis of a synthesis method to be
discussed in Section 6.
5EXPRESSING BOOLEAN FUNCTIONS:THE ADDER
The algebraic representation of Boolean functions is a
crucial tool in digital design and symbolic manipulation [7].
After the initial development of Switching Theory, in the
fifties and sixties, there has been a steady interest in the
applications of synthesis techniques that are now directed
to VLSI design [4], [11]. For this purpose, Boolean functions
are represented by algebraic expressions or binary decision
diagrams (BDD) [1], [3]. Let us discuss the role of
pseudoproducts in this area, showing how they can be
used to derive the expression of an arbitrary function. A
comparison will be made with the algebraic representation
in disjunctive form, also called ªsum of productsº (SP), and
with BDDs in some significant cases.
The simplest case is the one of a function that is a
pseudoproduct, hence, is directly expressed in CEX form.
Since such a function is defined on the 2
m
points of a
pseudocube P , its specification (truth table) has size
2
m
n. For m n, the time to build CEX(P) is
exponential in n, although the length of CEX(P) is On
2
.
This is clearly unavoidable when building any algebraic
expression for P , since the whole specification of P must be
examined.
An obvious example of pseudoproduct is the parity
function in B
n
that has value 1 exactly in the points of a
pseudocube of degree n ÿ 1. This function is expressed in
CEX form as a single EXOR-factor containing n literals (in
fact, the EXOR of all the variables, one of which in
complemented form) versus a minimal SP containing
n2
nÿ1
literals and a reduced BDD containing 2n nonterm-
inal nodes. Some examples in B
4
are the eight functions
with value 1 in the pseudocubes of Fig. 3. It can be easily
verified that all of them have CEX expressions shorter than
the corresponding minimal SP forms and a number of
literals smaller than the number of nonterminal nodes of the
reduced BDDs.
In general, an arbitrary function can be expressed as a
disjunction of pseudoproducts, giving rise to a ªsum of
pseudoproductsº (SPP) form. For example, the set of points
of B
5
marked with a and/or b in Fig. 5 is the union of two
partially overlapping pseudocubes P
a
, P
b
. The function with
value 1 in the points of P
a
[ P
b
is then expressed as CEXP
a
+ CEXP
b
, that is:
x
1
x
0
x
2
x
3
x
0
x
3
x
1
x
4
;
while the minimal SP for the same function contains 27
literals, and the reduced BDD contains nine nonterminal
nodes. If a function has to be implemented as a digital
circuit, the role of SPP crucially relies on the use of EXOR
gates (see [8], [13], [22] for their realization). Moreover,
passing from SP to SPP amounts to pass from a two-level to
a three-level circuit. These features have always to be taken
into account, and will not be further repeated.
Important examples of SPP forms are encountered in the
design of an n-bit adder. First, consider a stage of a carry-
ripple adder with three inputs a, b (local digits), and c
LUCCIO AND PAGLI: ON A NEW BOOLEAN FUNCTION WITH APPLICATIONS 303
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
(previous carry), and two outputs s (local sum) and c
(carry
to the next stage). We have:
SP: s abc a
bc abc abc,
SPP: s a b c; (one pseudoproduct of degree 2)
SP: c
ab bc ac,
SPP: c
bc ab c; (two pseudoproducts of degree 1),
where the SPP forms are much more compact.
A more interesting circuit is a fully parallel n-bit adder,
with inputs A a
nÿ1
a
nÿ2
...a
0
, B b
nÿ1
b
nÿ2
...b
0
, and out-
put S s
n
s
nÿ1
...s
0
. Each output s
i
will be obtained as a
function of the inputs a
i
; ...;a
0
;b
i
; ...;b
0
, in SP, or SPP,
form. For studying these functions, we make use of the
function carry c
i
relative to the sum of a
iÿ1
...a
0
plus
b
iÿ1
...b
0
, although this carry will not be explicitly gener-
ated by the circuit. For SP, define s
i
through the relations:
s
0
a
0
b
0
a
0
b
0
;
s
i
a
i
b
i
c
i
a
i
b
i
c
i
a
i
b
i
c
i
a
i
b
i
c
i
;i>0;
4
where c
i
and c
i
are recursively defined as:
c
1
a
0
b
0
;
c
i
a
iÿ1
b
iÿ1
b
iÿ1
c
iÿ1
a
iÿ1
c
iÿ1
;i>1;
5:1
c
1
a
0
b
0
c
i
a
iÿ1
b
iÿ1
b
iÿ1
c
iÿ1
a
iÿ1
c
iÿ1
;i>1:
5:2
These relations can be used to derive the minimal SP forms
for all the s
i
. In fact, the expressions for s
i
and c
i
cannot be
further reduced, independently of the fact that, in the right-
hand side of the relations, a
i
, b
i
are variables and c
i
is a
function. For example, we have:
s
1
a
1
b
1
a
0
b
0
a
1
b
1
a
0
a
1
b
1
b
0
a
1
b
1
a
0
a
1
b
1
b
0
a
1
b
1
a
0
b
0
:
Instead of giving the minimal SP expression for each s
i
,
we evaluate the complexity of this expression in terms of
the number
i
of its products and the number
i
of its
literals. For this purpose, we need to evaluate the numbers
i
,
i
, and
i
,
i
of products and literals of c
i
and c
i
,
respectively. From (5.1) and (5.2), we derive the recurrences:
1
1;
i
2
iÿ1
1;
1
2;
i
2
iÿ1
2
iÿ1
2;
1
2;
i
2
iÿ1
1;
1
2;
i
2
iÿ1
2
iÿ1
2;
that have solutions:
i
2
i
ÿ 1;
i
i2
i
;
i
2
i
2
iÿ1
ÿ 1;
i
i2
i
i ÿ 12
iÿ1
:
From (4), we then have:
i
2
i
2
i
2
i2
2
i
ÿ 4: 6
To compute the number of literals of s
i
, note that, when
each term
^
a
i
^
b
i
^
c
i
of (4) is expanded by substituting the
expression for ^c
i
, each product appearing in ^c
i
is multiplied
by two new variables. We then have:
i
2
i
2
i
4
i
4
i
2
i3
i2
i2
2
i1
i ÿ 12
i
ÿ 8: 7
For example, from (6) and (7), we have
1
6,
1
20, that
are the numbers of products and literals of the minimal SP
form of s
1
, as found in the algebraic expression for s
1
above.
As a conclusion, we note that both
i
and
i
grow
exponentially with i.
To express s
i
in SPP, we represent our functions in the
recursive maps of Fig. 6 (not necessarily Karnaugh maps)
that are easily constructed from the definition of sum and
carry. Each submap containing a function (e.g., the submap
of s
i
for a
i
b
i
00, containing c
i
) recursively stands for the
map of that function (i.e., the map of c
i
labeled with
304 IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 3, MARCH 1999
Fig. 5. The union of two pseudocubes.
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
a
iÿ1
;b
iÿ1
). Consider c
i
. Each pseudocube P of c
iÿ1
, con-
tained in the submap for a
iÿ1
b
iÿ1
01, can be transformed
into a pseudocube Q in the submap for a
iÿ1
b
iÿ1
10 by
complementing a
iÿ1
and b
iÿ1
. Therefore, P and Q belong to
the same class ÿ and can be joined to form a pseudocube
R P [ Q (Theorem 2). The corresponding pseudopro-
ducts can be combined, to easily obtain:
CEXRa
iÿ1
b
iÿ1
CEXP, where CEXP is recur-
sively computed on a
iÿ2
; ...;a
0
;b
iÿ2
; ...;b
0
.InCEXR, a
iÿ1
is a new canonical variable and b
iÿ1
is a new noncanonical
variable. To form a (not necessarily minimal) SPP expres-
sion for c
i
, we consider all the pseudoproducts of c
iÿ1
,
pairwise combined as above, plus the pseudoproduct a
i
b
i
corresponding to the submap for a
iÿ1
b
iÿ1
11,which
contains all 1s. We inductively assume that c
iÿ1
is expressed
in SPP, to obtain:
c
1
a
0
b
0
;
c
i
a
iÿ1
b
iÿ1
a
iÿ1
b
iÿ1
c
iÿ1
a
iÿ1
b
iÿ1
a
iÿ1
b
iÿ1
a
iÿ2
b
iÿ2
a
iÿ1
b
iÿ1
a
iÿ2
b
iÿ2
c
iÿ2

a
iÿ1
b
iÿ1
a
iÿ1
b
iÿ1
a
iÿ2
b
iÿ2
a
iÿ1
b
iÿ1
a
iÿ2
b
iÿ2
a
iÿ3
b
iÿ3

a
iÿ1
b
iÿ1
a
1
b
1
a
0
b
0
:
8
Similarly, we have:
c
1
a
0
b
0
a
0
b
0
;
c
i
a
iÿ1
b
iÿ1
a
iÿ1
b
iÿ1
c
iÿ1

a
iÿ1
b
iÿ1
a
iÿ1
b
iÿ1
a
iÿ2
b
iÿ2
a
iÿ1
b
iÿ1
a
iÿ2
b
iÿ2
a
iÿ3
b
iÿ3

a
iÿ1
b
iÿ1
a
1
b
1
a
0
b
0
a
iÿ1
b
iÿ1
a
1
b
1
a
0
b
0
:
9
Consider now s
i
. We can combine the pseudocubes in
the two submaps containing c
i
and the ones in the two
submaps containing
c
i
, to obtain the expression:
s
i
a
i
b
i
c
i
a
i
b
i
c
i
a
i
b
i
c
i
a
i
b
i
c
i
: 10
Combining (8), (9), and (10), we directly obtain an SPP form
for s
i
that can be easily simplified to the following:
s
i
a
i
a
iÿ1
b
i
a
iÿ1
b
iÿ1
a
i
a
iÿ2
b
i
a
iÿ1
b
iÿ1
a
iÿ2
b
iÿ2

a
i
a
0
b
i
a
iÿ1
b
iÿ1
a
iÿ2
b
iÿ2
a
0
b
0
a
i
b
i
a
iÿ1
b
iÿ1
a
iÿ2
b
iÿ2
a
0
b
0
:
11
It must be noted that all the pseudoproducts appearing in
(11) correspond to disjoint pseudocubes, because any two of
them respectively contain the disjoint factors a
j
b
j
and
a
j
b
j
. The last pseudoproduct represents the bottom-left
to top-right diagonal of the map of s
i
, which contains all 1s.
To compare the complexity of this new expression with
the one of a minimal SP form for s
i
, let us evaluate the
number
i
of its pseudoproducts, the number
i
of its
LUCCIO AND PAGLI: ON A NEW BOOLEAN FUNCTION WITH APPLICATIONS 305
Fig. 6. Map representation of sum and carry in a fully parallel adder.
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
EXOR-factors, and the number
i
of its literals. By
inspection of (11) we immediately have:
i
i 1; 12
i
i 1i 2
2
i
1
2
i
2
5
2
i 1; 13
i
X
iÿ1
j0
5 2j2i 2 i
2
6i 2: 14
Comparing the values of
i
and
i
with
i
of (6) may
not be particularly significant, due to the different structure
of the two forms. The superiority of SPP over SP is clearly
proven by examining the number of literals. Note the
quadratic growth of
i
versus the exponential growth of
i
shown in (7).
Many other circuits have been proposed for the adder and
is out of our scope to compare them all. We simply recall that
a three-level n-bit adder based on PLAs with input decoders
has been proposed in [16]. This circuit has n
2
1 PLA
columns (products), hence, a cubic number of literals.
6MINIMIZATION AND BENCHMARK RESULTS
In the previous section, we have shown that the SPP forms
for addition are very compact. Indeed, this may not be
surprising, due to the presence of EXOR operators in the
CEX expressions of the pseudoproducts and to the
particular distribution of the 1s in the functions to be
represented. However, we speculate on the possibility of
using SPP to express arbitrary functions economically,
hence, to get small circuits.
An important approach based on an AND±EXOR form
was devised long ago by Reed and Muller to represent
arbitrary functions [5], [12]. This form is extensively used
for function classification [19], [20] and has originated
several methods for circuit synthesis. In particular, heur-
istics for generating short AND±EXOR forms, and Decode±
AND±EXOR forms have been, respectively, proposed in
[18], [23] and [15]. Other three-level forms using EXOR are
proposed in [9], [14], [17]. None of these techniques,
however, has reached the maturity of SP minimization.
Our SPP method is a direct generalization of the one for SP
where pseudoproducts are substituted for products and
benefits of a well-established structure.
A basic concept related to SP forms is the one of prime
implicant of a function f, that is, a product implying (i.e.,
covered by) f and not implying any other product implying
f. As is well-known, a minimal SP form for f can be built as
a disjunction of prime implicants only. This concept
immediately extends to the one of prime pseudoproduct, that
is, a pseudoproduct implying f and not implying any other
pseudoproduct of f.
Prime pseudoproducts can be built with successive
pairwise combinations of pseudocubes of smaller order
belonging to the same class ÿ, using Algorithm 2 of
Section 4. This suggests an immediate extension of the
classical SP minimization methods to construct an SPP
form with minimal number of pseudoproducts, composed
of prime pseudoproducts only. For example, the well-
known method of Quine-McCluskey [7] can be immedi-
ately reformulated as follows:
Algorithm 3. (build an SPP with minimal number of
pseudoproducts)
1. Start from the CEX expressions of all the pseudoproducts
of degree k 1 (i.e., CEX of all the pairs of points);
2. For increasing k, generate the CEX expressions of the
pseudoproducts of degree k 1 from pairs of pseudopro-
ducts of degree k by applying Algorithm 2 to the
corresponding pseudocubes; for each k, retain only the
pseudoproducts corresponding to pseudocubes that cannot
be combined into larger ones, as the prime pseudoproducts
of degree k;
3. Make a minimal selection of prime pseudoproducts
covering the whole function; the OR of their CEX expres-
sions gives a minimal SPP.
The CEX expression of a pseudoproduct built by
composition of two pseudoproducts of smaller degree
contains one EXOR-factor less than the ones of the two
components. Then, an SPP form with minimal number of
EXOR-factors can also be built with prime pseudoproducts
only. Algorithm 3 can be easily transformed for this
purpose with an immediate adaptation of Step 3. Deriving
an SPP form with minimal number of literals is a more
complex task. First, the number of literals in a CEX
expression may depend on the ordering of the variables,
as noted in Section 4. That is, the minimization holds
relative to a chosen ordering. Second, when two CEX
expressions are combined by Algorithm 2, the number of
literals in the new expression not necessarily decreases. For
P P
1
[ P
2
, we have, from Rule 1, that CEXP and
CEXP
1
(or, similarly, CEXP
2
) differ for a portion of the
formula, respectively,
f
i
0
f
i
1
...
f
i
0
f
i
k
simplified
by Rule 1.1 and f
i
0
... f
i
k
. Although the former portion
contains, in general, fewer literals than the latter, due to the
simplification introduced by the rule, this is not necessarily
true. The most elementary instances of this fact are found in
B
3
. The points 000 and 111 constitute two pseudocubes P
1
,
P
2
of degree 0. Their union is a pseudocube P of degree 1.
We have CEXP
1
x
0
x
1
x
2
, CEXP
2
x
0
x
1
x
2
,
CEXPx
0
x
1
x
0
x
2
. The expressions for P
1
, P
2
have three EXOR-factors (reduced to single variables) and
three literals, while the expression for P has two EXOR-
factors and four literals. As a consequence, the construction
of an SPP with minimum number of literals cannot be
limited to prime pseudoproducts. Indeed, in such a
construction a pseudoproduct can be excluded from
consideration only if is covered by another pseudoproduct
whose expression contains fewer literals.
The above property is implemented in an easy modifica-
tion of Algorithm 3. We have:
Algorithm 4 (build an SPP with minimal number of literals,
under a chosen ordering of variables)
1. Start from the CEX expressions of all the pseudoproducts
of degree k 0 (single points);
2. For increasing k, generate the CEX expressions of the
pseudoproducts of degree k 1 from pairs of pseudopro-
ducts of degree k; discard a pseudoproduct of degree k if its
CEX expression contains h literals and is combined into one
306 IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 3, MARCH 1999
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
of degree k 1 whose expression contains h literals;
3. Make a selection with minimal number of literals from
among the pseudoproducts retained in Step 2 (with
extended terminology, call them also ªprime pseudopro-
ductsº when referring to Algorithm 4).
Depending on the function, the number of literals in a
minimal SPP expression is less than or equal to the number
of literals in a minimal SP expression for the same function.
If the two numbers are equal, Algorithm 4 may, in fact,
generate an SP expression as a special case of SPP.
Comparing Algorithms 3 and 4, we see that the selection in
Step 3 is made from among a larger number of pseudopro-
ducts in Algorithm 4 than in Algorithm 3. This does not
increase the asymptotic worst-case complexity of the method,
since the minimization problem is NP-hard for SP [6] and for
BDD [3], and remains clearly NP-hard for SPP in its two
variants. In other words, all minimization techniques are, in
theory, very hard. In practice, SP minimization is often rather
easy, although some functions of many variables may force us
to derive a suboptimal expression heuristically, due to the
high complexity of the computation required to attain a
minimal form [4], [11]. In SPP minimization, this situation is
much more likely to occur due to the possibly huge number of
prime pseudoproducts of the function. On the other hand, we
may expect that most functions have an SPP expression much
shorter than the corresponding minimal SP, since there are
many more pseudoproducts than products. The results
obtained with some benchmarks confirm these observations,
as we now outline.
We have adopted the benchmarks functions of [21] that
are widely used in the evaluation of synthesis methods (e.g.,
see [4], [15]). The results for eight such functions are shown
in the upper section of Table 1, as samples of the
potentiality of our method (Algorithm 4 has been used for
SPP). All of them have a few input variables so that the
minimal expressions were determined. The different out-
puts of each function have been minimized separately and,
for two of them, the results relative to the single outputs are
reported in the two lower sections of the table. The function
newtpla1 yields identical results in SP and SPP, meaning
that the prime pseudoproducts in the minimal form are, in
fact,primeimplicants.Forthefunctionsmax46, dc2,
newcwp, and dc1, the size of the minimal PSS expression
is about one half of the corresponding SP. The three
functions rd73, z4, and rd53 show a much greater improve-
ment of SPP over SP. Among the results for the single
outputs of rd73 and z4, we find that rd732 and z43 are,
indeed, single pseudoproducts, with enormous advantage,
in particular for rd732. Single outputs consisting of single
pseudoproducts are encountered in five other cases (not
shown) for the functions studied in Table 1. On the negative
side, we note a generalized greater effort to produce the SPP
minimal forms, due to the highest number of prime
pseudoproducts over prime implicants.
7ASPECIAL CLASS OF FUNCTIONS
To conclude our discussion on SPP forms, let us now
characterize a class of functions suitable for efficient SPP
representation, based on special symmetries. It is known
that the class of symmetric Boolean functions (i.e., functions
insensitive to variable permutations) is particularly suitable
for BDD representation [3]. For SPP, we define a new type
of symmetry. Given a function f with value 1 in S B
n
and
a subset of variables , denoted by f, the function with
value 1 in the points of S (see Definition 7).
Definition 10. A function f is auto-symmetric in if f f.
In the function f of Fig. 7, complementing x
0
and x
1
amounts to moving each 1 onto another 1 without changing
the function. That is, f is auto-symmetric in fx
0
;x
1
g (but not
in fx
0
g or in fx
1
g). Other examples are the function with
value 1 in the points marked a or b in Fig. 5, which is auto-
symmetric in fx
0
;x
3
g; and the parity function, which is
auto-symmetric in any subset of variables of even cardin-
ality. If a function is auto-symmetric in two different subsets
; , it is clearly auto-symmetric also in . The function
of Fig. 7 is auto-symmetric in fx
0
;x
1
g, fx
0
;x
2
g,and
fx
1
;x
2
gfx
0
;x
1
gfx
0
;x
2
g. For the parity function, note
that if two sets ; have even cardinality, the set also
has even cardinality.
A product function p is auto-symmetric in any subset of
the variables which do not appear in the AND expression of
p (i.e., in any subset of canonical variables). This is not
necessarily true for pseudoproducts. In fact, if p is a
pseudoproduct auto-symmetric in , then must contain at
least one canonical variable (otherwise, p6p by Theo-
rem 1). For an arbitrary function, we have:
Proposition 8. Let f be auto-symmetric in and p be a prime
pseudoproduct of f.Then,8x
i
2 , the pseudocube P
associated with p is composed of two pseudocubes lying in
the subspaces B
nÿ1
with x
i
0 and x
i
1, respectively.
LUCCIO AND PAGLI: ON A NEW BOOLEAN FUNCTION WITH APPLICATIONS 307
TABLE 1
Comparison of Benchmark Results
#I: number of input variables
#O: number of output variables
#P: total number of prime implicants (or prime pseudoproducts)
#M: number of prime implicants (or prime pseudoproducts) in the
minimal expression.
#L: number of literals in the minimal expression
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
Proof. Let B
0
, B
1
denote the two subspaces. By definition of
pseudocube, P lies in B
0
,orinB
1
, or half in B
0
and half
in B
1
.IfP is in B
0
, then P is in B
1
and P [ P is a
pseudocube of greater degree against the hypothesis that
p is prime. Similarly, P cannot lie in B
1
. tu
Proposition 8 is the basis of a stronger result, relating
auto-symmetry to primality. We have:
Theorem 6. Let f be auto-symmetric in
1
; ...;
k
. Choose the
variables x
j
1
; ...;x
j
k
such that x
j
i
2
i
, 1 i k,and
x
j
i
62
h
, 1 i<h k. Let f
k
be the restriction of f to the
subspace B
nÿk
with x
j
1
...x
j
k
v, where v is an arbitrary
binary vector of k elements. Then, f
k
and f have the same
number of prime pseudoproducts.
Proof. We prove that each pseudocube associated to a
prime pseudoproduct of f is divided into 2
k
equal
pseudocubes, lying in the subspaces where x
j
1
; ...;x
j
k
assume all the possible sets of values. For k 1 this
thesis follows from Proposition 8. Then, proceed by
induction. Let the thesis hold for the restriction f
kÿ1
of f
to the subspace B
nÿkÿ1
with x
j
1
...x
j
kÿ1
v, where v is
any binary vector of k ÿ 1 elements. Since
x
j
1
; ...;x
j
kÿ1
62
k
, the variations induced on f by
complementing the variables in
k
move the 1s of f
kÿ1
onto themselves. That is, f
kÿ1
is auto-symmetric in
k
.
Therefore, by Proposition 8, each pseudocube associated
with a prime pseudoproduct of f
kÿ1
is composed of two
pseudocubes, lying in the subspaces with x
j
1
...x
j
kÿ1
x
j
k
v0 and x
j
1
...x
j
kÿ1
x
j
k
v1. The theorem immediately
follows. tu
The function f of Fig. 7 has two prime pseudoproducts of
degree n ÿ 1 3, with CEX expressions
x
3
and x
0
x
1
x
2
,
respectively. The three sets of auto-symmetry of f cannot be
chosen together, to fulfill the conditions of Theorem 6.
Groups of two sets do. We may choose, for example:
1
fx
0
;x
1
g;
2
fx
0
;x
2
g;x
j
1
x
1
;x
j
2
x
0
;
which fulfill the theorem. Let f
k
be the restriction of f to the
subspace with x
0
x
1
00. Both f and f
k
have two prime
pseudoproducts, with each of the latter covering one fourth
of the 1s of one prime pseudoproduct of f.
Auto-symmetric functions are then suitable for SPP
representation, in particular when the minimization of the
number of pseudoproducts, or of EXOR-factors, is sought
for. In this case, only prime pseudoproducts are considered
and the study of f can be carried out on the restriction f
k
.
The algebraic expresson of f is then easily found from the
one of f
k
. Large values of k in Theorem 6 generally imply
SPP forms composed of a few prime pseudoproducts. If a
function consists of the union of a few auto-symmetric
functions, it is also suitable for SPP representation. In
particular, if f has value 1 in 2
m
points and k m, f
k
reduces to a single point, hence, f is a pseudoproduct. If
each
i
contains only one variable, f is a product.
Significant examples of auto-symmetry are exhibited by
the functions s
i
(sum) and c
i
(carry) of an n-bit adder,
discussed in Section 5. Refer to the definition of s
i
and c
i
as
presented in the maps of Fig. 6. Consider a map labeled a
j
,
b
j
. After the recursive substitutions of the submaps, the
columns (respectively, the rows) of the map become labeled
with vectors a
j
a
jÿ1
...a
0
(respectively, b
j
b
jÿ1
...b
0
), ar-
ranged in increasing binary order. (This arrangement is
not the one of a Karnaugh map and facilitates the
following). On this map, consider the portion D composed
of the cells lying on the bottom-left to top-right diagonal;
and the upper-left and lower-right triangular portions U
and L separated by D. Denote by d
j
, u
j
, `
j
the functions with
all 1s in D, U, L, respectively. Note that u
j
`
j
,
fa
j
;b
j
;a
jÿ1
;b
jÿ1
; ...;a
0
;b
0
g. It can be easily proven by
induction on i that c
i
`
iÿ1
, hence, c
i
u
iÿ1
d
iÿ1
. From
the definition of c
i
in Fig. 6, we have:
c
i
`
iÿ1
a
iÿ1
b
iÿ1
r
iÿ1
; 15
where r
iÿ1
is defined in Fig. 8. Similarly, we have:
s
i
d
i
t
i
; 16
where t
i
is also defined in Fig. 8.
The function s
i
is defined in B
2i
. Its components d
i
and t
i
are auto-symmetric. In fact, d
i
is auto-symmetric in
fa
i
;b
i
g; fa
iÿ1
;b
iÿ1
g; ...; fa
0
;b
0
g. Therefore, by Theorem 6,
d
i
can be studied in the subspace B
i
with
a
i
a
iÿ1
...a
0
00...0, where the restriction consists of
one prime pseudoproduct with a single 1. d
i
is then
expressed by one prime prime pseudoproduct, as already
found in (11).
Consider now t
i
. Recalling that u
iÿ1
`
iÿ1
,
fa
iÿ1
;b
iÿ1
; ...;a
0
;b
0
g from Fig. 8, we see that t
i
is auto-
symmetric in fa
i
;b
i
g and in fa
i
;a
iÿ1
;b
iÿ1
; ...;a
0
;b
0
g. Select-
ing b
i
from the first set and a
i
from the second, we have,
from Theorem 6, that t
i
can be studied in the subspace B
2iÿ2
with a
i
b
i
00. That is, we can restrict our study to the
prime pseudoproducts of the function `
iÿ1
that is, in turn,
given in (15). This function is composed of the product
a
iÿ1
b
iÿ1
and the function r
iÿ1
, which is auto-symmetric in
fa
iÿ1
;b
iÿ1
g (Fig. 8). r
iÿ1
is then studied in the subspace B
2iÿ3
with a
iÿ1
0. Indeed, the function has its 1s only in
a
iÿ1
b
iÿ1
01, therefore, the examination can be restricted to
this subspace only. Here, we find `
iÿ2
and the reasoning
repeats recursively until the function reduces to a single
point. Since, at each step, we add a new prime pseudopro-
308 IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 3, MARCH 1999
Fig. 7. A function auto-symmetric in fx
0
;x
1
g, fx
0
;x
2
g, fx
1
;x
2
g.
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
duct a
i
b
j
, the function `
iÿ1
is expressed by the OR of i prime
pseudoproducts, as already found in (8).
Combining all these results, s
i
is expressed by the OR of
i 1 prime pseudoproducts that are exactly the ones
included in (11).
8CONCLUDING REMARKS
In this work, we have introduced the new concept of
pseudocube in B
n
, as an extension of the concept of
subcube. Pseudocubes exhibit several properties already
known for subcubes, plus some new strong ones. We have
studied the characteristic function of a pseudocube, called
pseudoproduct, and its algebraic expression in EXOR-AND
form: This is our ªnew Boolean functionº. The expression of
a pseudoproduct is a basic tool for the algebraic representa-
tion of arbitrary Boolean functions, in the form of sum of
pseudoproducts (SPP). Compared with other forms based
on EXOR, SPP is completely new.
We have developed this work to contribute to the
comprehension, classification, and algebraic representation
of Boolean functions. However, we have also argued that
SPP may be an economic form to express functions, leading
to small combinatorial circuits. For this purpose, we have
determined the SPP expressions for the output functions of
a parallel adder, as a significant example of the advantages
of our approach. Experiments on popular benchmarks for
logic synthesis have also given encouraging results.
As in all initial works, much effort is still needed to prove
the versatility of pseudoproducts and their role in Boolean
algebra and circuit design. A challenging issue is to study the
relations between SPP forms and binary decision diagrams
(BDDs) and, in particular, the use of BDDs to build SPP forms,
asdonein [4] for SP.Onthe circuit side, otherimportantlogical
networks, like the multiplier, should be designed in SPP form
to assess the usefulness of the new technique.
APPENDIX
Proof of Proposition 2. Examine the columns of M for
increasing values of the indices. At least m columns must
be divided, otherwise the rows of M could not be all
distinct. Let C be the set of such columns. Since the rows
are sorted as binary numbers, the first column c of C is
m ÿ 1-canonical, hence, c c
i
0
. Inductively assume
that, among the first h columns of C, we have discovered
the first j canonical columns c
i
0
; ...; c
i
jÿ1
, j h<m. This
implies that the first h columns of C are all m ÿ s-
normal (or canonical), 1 s j ÿ 2. Therefore, there
must be at least one column among the remaining
columns of C that is k-normal, k<mÿ j ÿ 2, otherwise,
the rows of M cannot be all distinct. The leftmost column
c with such a property is m ÿ j ÿ 3-canonical by the
structure of the binary numbers. That is, c is the j 1th
canonical column c
i
j
. tu
Row permutations that preserve normality. For m 2 and
an arbitrary k m ÿ 2, let the row indices of a normal
matrix M be divided in 2
mÿk
consecutive groups
g
0
;g
1
; ...;g
2
mÿk
ÿ1
, each containing 2
k
consecutive indices.
Divide the groups in consecutive quartets, each com-
posed of g
4i
;g
4i1
;g
4i2
;g
4i3
, 0 i 2
mÿkÿ2
ÿ 1.The
following permutations of rows, indicated by permuta-
tions of the corresponding indices, preserve the normal-
ity of any column, hence, the normality of M:
PERM1: 8i, exchange g
4i
with g
4i1
;
PERM2: 8i, exchange g
4i1
with g
4i2
;
PERM3: 8i, exchange g
4i1
with g
4i3
.
Proof of Proposition 3. We prove that M is balanced, by
induction on m. This is trivial for m 0 and m 1. Let
the property hold for m ÿ 1, m>1. Recall that all the
columns of a normal matrix are balanced. Taking an
arbitrary divided column c
j
, we execute proper row
permutations to get c
j
01, preserving the normality of
M.Ifc
j
is m ÿ 1-normal and c
j
01, we are done. If
c
j
10, permute the upper and lower 2
mÿ1
rows of M to
get c
j
01. This operation obviously preserves the
normality of M.Ifc
j
is k<mÿ 1-normal, we have
c
j
v
0
v
1
...v
2
mÿk
ÿ1
, with each subcolumn v
i
consisting
of 2
k
equal elements. Consider the starting quartet
v
0
v
1
v
2
v
3
of subcolumns. If v
0
1 (hence, v
1
0), apply
PERM1. We now have: v
0
0, v
1
1.Ifv
2
0 (hence,
v
3
1), apply PERM2; otherwise, v
2
1, v
3
0, apply
PERM3. We now have: v
0
v
1
00, v
2
v
3
11, and all the
other quartets have been similarly permuted. c
j
has then
become k 1-normal, and the construction repeats
until c
j
becomes m ÿ 1-normal. We then have c
j
01.
Since the performed permutations have preserved the
normality of the matrix, M
j
and M
j
are also normal,
hence, they are balanced by induction. The above
construction can be repeated for any divided column
c
j
, hence, M is balanced. tu
Proof of Proposition 4. Let R be the matrix obtained by
rearranging the rows of M. We must prove that R is
normal. For 0 m 2, this holds because any balanced
column of one, two, or four elements is normal, as can be
easily verified by inspection of all cases. For m>2, scan
the columns of R from left to right, to find the first three
columns c
r
; c
s
; c
t
such that c
r
01, c
s
0101,and
c
t
01010101. It can be easily verified that these
columns exist, since R is balanced and sorted. We
now prove, by induction on m, that all the other
columns c
j
, j 6 r; s; t, are normal. The basis m 2 has
been proven above. For m>2, we inductively assume
that any balanced matrix of 2
h
rows arranged in
LUCCIO AND PAGLI: ON A NEW BOOLEAN FUNCTION WITH APPLICATIONS 309
Fig. 8. Map representation of the functions r
iÿ1
and t
i
.
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
increasing order is normal, for h m ÿ 1. In particular,
this occurs for all the restrictions of R. Denote by c
j
k
the restriction of c
j
to R
k
. Use the notation
~
u to indicate
that a vector u is equal to itself or to its complement
and that the same choice is maintained within an
expression (note the difference with
^
u that may indicate
u and
u in two occurrences inside the same expres-
sion). By the inductive hypothesis, we have c
j
r
u
~
u,
where c
j
r;
s
u vw (with v w or v
w). We now
prove that c
j
is normal. One of the following two cases
must be inductively verified:
1. c
j
s
c
j
r;s
c
j
r;s
uu. This implies:
c
j
r;s;
t
c
j
r;s;
t
v;
hence, c
j
t
v
~
vvx v
~
vv
~
v, hence,
c
j
r
c
j
r;
s
c
j
r;s;
t
c
j
r;s;t
u
~
vy u
~
v
~
w u
~
u:
Therefore, c
j
c
j
r
c
j
r
u
~
uu
~
u zz normal.
2. c
j
s
c
j
r;s
c
j
r;s
u
u.Thisimplies:
c
j
r;s;
t
v, hence,
c
j
t
v
~
v
vx v
~
v
v
~
v;
hence,
c
j
r
c
j
r;
s
c
j
r;s;
t
c
j
r;s;t
u
~
vy
u
~
v
~
w
u
~
u:
Therefore, c
j
c
j
r
c
j
r
u
~
u
u
~
u z
z normal. tu
ACKNOWLEDGMENTS
We are in debt to our student Luigi Palpacelli who carried
out the benchmark experimentation. This work was
supported in part by MURST of Italy.
REFERENCES
[1] S.B. Akers, ªBinary Decision Diagrams,º IEEE Trans. Computers,
vol. 27, no. 6, pp. 509-516, June 1978.
[2] R.A. Brualdi and H.J. Ryser, Combinatorial Matrix Theory. Cam-
bridge: Cambridge Univ. Press, 1991.
[3] R.E. Bryant, ªSymbolic Boolean Manipulation with Ordered
Binary-Decision Diagrams,º ACM Computing Surveys, vol. 24,
no. 3, pp. 293-318, 1992.
[4] O. Coudert, ªDoing Two Level Logic Minimization 100 Times
Faster,º Proc. ACM-SIAM Symp. Discrete Algorithms, pp. 112-121,
San Francisco, 1995.
[5] M. Davio, J.P. Dechamps and A. Thayse, Discrete and Switching
Functions. New York: McGraw-Hill, 1978.
[6] M.R. Garey and D.S. Johnson, Computers and Intractability. San
Francisco: Freeman, 1979.
[7] Z. Kohavi, Switching and Finite Automata Theory. New York:
McGraw-Hill, 1970.
[8] H.C. Lai and S. Muroga, ªLogic Networks with Minimum Number
of NOR (NAND) Gates for Parity Functions of n Variables,º IEEE
Trans. Computers, vol. 36, no. 2, pp. 157-166, Feb. 1987.
[9] G. Lakuhani, ªMinimization of Switching Functions for a Multi-
Level EXOR Realization,º Proc. IFIP WG 10.5 Workshop Applications
of the Reed-Muller Expansion in Circuit Design, pp. 185-190, 1995.
[10] F.LuccioandL.Pagli,ªNormalMatrices,Pseudo-CubesandPseudo-
Products,º Congressus Numerantium, vol. 127, pp. 33-56, 1997.
[11] P.C. McGeer, J. Sanghavi, R.K. Brayton and A.L. Sangiovanni-
Vincentelli, ªESPRESSO-SIGNATURE: A New Exact Minimizer for
Logic Functions,º IEEE Trans. VLSI, vol. 1, no. 4, pp. 432-440, 1993.
[12] D.E. Muller, ªApplication of Boolean Algebra to Switching Circuit
Design and to Error Detection,º IRE Trans. Electronic Computers,
vol. 3, pp. 6-12, 1954.
[13] S. Muroga,LogicDesignandSwitchingTheory. New York: Wiley, 1979.
[14] T. Sasao, ªLogic Synthesis with EXOR Logic Gates,º Logic
Synthesis and Optimization, T. Sasao, ed. Kluwer Academic, 1993.
[15] T. Sasao, ªEXMIN2: A Simplification Algorithm for Exclusive-OR-
Sum-of-Products Expressions for Multiple-Valued Input Two-
Valued Output Functions,º IEEE Trans. Computer-Aided Design of
Integrated Circuits and Systems, vol. 12, pp. 621-632, 1993.
[16] T. Sasao, ªInput Variable Assignment and Output Phase Optimi-
zation of PLA's,º IEEE Trans. Computers, vol. 33, no. 10, pp. 879-
894, Oct. 1984.
[17] T. Sasao, ªRepresentation of Logic Functions Using EXOR
Operators,º Representation of Discrete Functions, T. Sasao and M.
Fujita, eds. Kluwer Academic, 1996.
[18] A. Tran, ªGraphical Method for the Convertion of Minterms to
Reed-Muller Coefficients and the Minimization of Exclusive-OR
Switching Functions,º IEE Proc. Part E, vol. 134, pp. 93-99, 1987.
[19] C.C. Tsai and M. Marek-Sadovska, ªGeneralized Reed-Muller
Forms as a Tool to Detect Symmetries,º IEEE Trans. Computers,
vol. 45, no. 1, pp. 33-40, Jan. 1996.
[20] C.C. Tsai and M. Marek-Sadovska, ªBoolean Function Classifica-
tion via Fixed Polarity Reed-Muller Forms,º IEEE Trans. Compu-
ters, vol. 46, no. 2, pp. 173-186, Feb. 1997.
[21] S. Yang, Logic Synthesis and Optimization Benchmarks, User Guide.
Microelectronic Center of North Carolina, 1991. Benchmarks
available at: ftp://ftp.mcnc.org/pub/benchmark/Benchmark-
dirs/LGSynth93/.
[22] K. Yano, Y. Sasaki, K. Rikino, and K. Seki, ªTop-Down Pass
Transistor Logic Design,º IEEE J. Solid State and Circuits, vol. 31,
no. 6, pp. 792-803, 1996.
[23] K. Yasuoka, ªA Generation Method for Exor-Sum-of-Products
Expressions Using Shared Binary Decision Diagrams,º Logic
Synthesis and Optimization, T. Saso, ed. Kluwer Academic, 1993.
Fabrizio Luccio received the Dr.Ing. degree in
electrical engineering from the Politecnico di
Milano, Italy, in 1962, and the Libera Docenza in
electronic computers from the Italian university
system in 1968. He is currently a professor of
computer science at the University of Pisa, Italy.
After an industrial experience with Olivetti, he
joined the Politecnico di Milano, starting his
research activity in logical design and in program-
ming language translation. In 1966, he moved to
M.I.T. as a staff member at Project MAC, working in compiling techniques.
He then became a professor at the University of Southern California and,
then, at New York University, pursuing research in theoretical and
algorithmic aspects of logical network synthesis. In 1971, he permanently
returned to Italy as a lecturer and, later, a professor of informatics at the
University of Pisa. He spent several sabbatical periods as a visiting
professor at UCLA, the University of Illinois, the National University of
Singapore, the University of Hawaii, and Carleton University in Ottawa,
Canada. He has also been a visiting scientist at the IBM T.J. Watson
Research Center and at the NTT LSI Laboratories in Morinosato, Japan.
Hiscurrentresearchinterestsareinalgorithmdesignandintherelationship
between abstract computational models and realistic computers and
circuits. Professor Luccio is a fellow of the IEEE and a member of the ACM.
Linda Pagli received the Laurea in information
sciences from the University of Pisa, Italy, in 1973.
She is currently a professor of computer science at
the University of Pisa. After receiving her degree,
she was associated as a researcher with the
Departmentof InformaticsoftheUniversityofPisa,
starting her research activity in data structures
and, then, in VLSI computation. In 1987, she was
appointed a professor of computer science at the
University of Salerno, Italy, returning to Pisa three
years later. She has been a visiting professor at
Carleton University in Ottawa, Canada. Her current research interests are
in the bases of computation and in design and analysis of sequential and
parallel algorithms. Professor Pagli has pursued intense activities in higher
education in favor of developing countries. In this framework, she has been
a professor at the National University of Somalia for an extensive period of
time. She is a member of the ACM.
310 IEEE TRANSACTIONS ON COMPUTERS, VOL. 48, NO. 3, MARCH 1999
Authorized licensed use limited to: Baylor University. Downloaded on June 25, 2009 at 11:07 from IEEE Xplore. Restrictions apply.
... Autosymmetric Boolean functions are functions that exhibit a structural regularity based on the notion of affine spaces and are easily expressed using XORs. They were introduced in [20] and further studied in [4], [8], [9], [18], where it was shown how this regularity can be exploited to derive, in shorter synthesis time, compact logic representations for CMOS technology. More recently, the autosymmetry property has been applied in logic synthesis for emerging technologies, i.e., Switching Nano-Crossbars [7], and to better estimate the multiplicative complexity of functions for security protocols [5], [41]. ...
... Autosymmetric Boolean functions [9], [10], [20] exhibit a special type of regularity based on the notion of affine spaces and are easily expressed using XORs. A function f over n variables is autosymmetric if it can be projected onto a function depending on a smaller number of variables and containing a reduced number of minterms. ...
Article
Full-text available
We propose a new three-level XOR-AND-XOR form for autosymmetric functions, called XORAX expression. In general, a Boolean function f over n variables is k-autosymmetric if it can be projected onto a smaller function fk, which depends on n-k variables only. We show that XORAX expressions can ease the reversible synthesis of autosymmetric functions, producing compact reversible networks, without inserting additional new input lines. Autosymmetry occurs especially for functions that exhibit a regular structure, as for instance arithmetic functions. For this reason, compact reversible networks for autosymmetric functions might be interesting for quantum computing. Experimental results validate the proposed approach.
Chapter
In this paper we study Boolean functions that exhibit two different XOR-based regularities (i.e., autosymmetry and D-reducibility) at the same time. XOR-based regularities can be exploited for the efficient computation of multiplicative complexity of a Boolean function f (i.e., the minimum number of AND gates that are necessary and sufficient to represent f over the basis {AND, XOR, NOT}). The multiplicative complexity is crucial in cryptography protocols such as zero-knowledge protocols and secure two-party computation, where processing AND gates is more expensive than processing XOR gates.
Article
The multiplicative depth of a logic network over the gate basis {∧ , ⊕ , ¬} is the largest number of ∧ gates on any path from a primary input to a primary output in the network. We describe a dynamic programming based logic synthesis algorithm to reduce the multiplicative depth of logic networks. It makes use of cut enumeration, tree balancing, and exclusive sum-of-products (ESOP) representations. Our algorithm has applications to cryptography and quantum computing, as a reduction in the multiplicative depth directly translates to a lower T -depth of the corresponding quantum circuit. Our experimental results show improvements in T -depth over state-of-the-art methods and over several hand-optimized quantum circuits, for instance, of AES, SHA, and floating-point arithmetic.
Article
XOR-AND Graphs (XAGs) are an enrichment of the classical AND-Inverter Graphs (AIGs) with XOR nodes. In particular, XAGs are networks composed by ANDs, XORs, and inverters. Besides several emerging technologies applications, XAGs are often exploited in cryptography-related applications based on the multiplicative complexity of a Boolean function. The multiplicative complexity of a function is the minimum number of AND gates (i.e., multiplications) that are sufficient to represent the function over the basis {AND, XOR, NOT}. In fact, the minimization of the number of AND gates is important for high-level cryptography protocols such as secure multiparty computation, where processing AND gates is more expensive than processing XOR gates. Moreover, it is an indicator of the degree of vulnerability of the circuit, as a small number of AND gates corresponds to a high vulnerability to algebraic attacks. In this paper we study the multiplicative complexity of Boolean functions characterized by two particular regularities, called autosymmetry and D-reducibility. Moreover, we exploit these regularities for decreasing the number of AND nodes in XAGs. The experimental results validate the proposed approaches.
Article
Full-text available
Affine equivalent classes of Boolean functions have many applications in modern cryptography and circuit design. Previous publications have shown that affine equivalence on the entire space of Boolean functions can be computed up to 10 variables, but not on the quotient Boolean function space modulo functions of different degrees. Computing the number of equivalent classes of cosets of Reed-Muller code \(\mathcal {R}(1,n)\) is equivalent to classifying Boolean functions modulo linear functions, which can be computed only when n ≤ 7. Based on the linear representation of the affine group \(\mathcal {A}\mathcal {G}{\mathscr{L}}(n,2)\) on the quotient space \(\mathcal {R}(s,n)/\mathcal {R}(k,n)\), we obtain a useful counting formula to compute the number of equivalent classes. Instead of computing the conjugacy classes and representatives directly in \(\mathcal {A}\mathcal {G}{\mathscr{L}}(n,2)\), we reduce the computation complexity by introducing an isomorphic permutation group Pn and performing the computation in Pn. With the proposed algorithm, the number of equivalent classes of cosets of R(1,n) can be computed up to 10 variables. Furthermore, the number of equivalent classes on \(\mathcal {R}(s,n)/\mathcal {R}(k,n)\) can also be computed when − 1 ≤ k < s ≤ n ≤ 10, which is a major improvement and advancement comparing to previous methods.
Chapter
A new efficient algorithm to generate exor-sum-of-products expressions is presented. The basic idea of the algorithm is to apply the “smallest” expansion among the following 12 expansions for a given logic function repeatedly.
Article
This book, first published in 1991, is devoted to the exposition of combinatorial matrix theory. This subject concerns itself with the use of matrix theory and linear algebra in proving results in combinatorics (and vice versa), and with the intrinsic properties of matrices viewed as arrays of numbers rather than algebraic objects in themselves. There are chapters dealing with the many connections between matrices, graphs, digraphs and bipartite graphs. The basic theory of network flows is developed in order to obtain existence theorems for matrices with prescribed combinatorial properties and to obtain various matrix decomposition theorems. Other chapters cover the permanent of a matrix, and Latin squares. The final chapter deals with algebraic characterizations of combinatorial properties and the use of combinatorial arguments in proving classical algebraic theorems, including the Cayley-Hamilton Theorem and the Jordan Canonical Form. The book is sufficiently self-contained for use as a graduate course text, but complete enough for a standard reference work on the basic theory. Thus it will be an essential purchase for combinatorialists, matrix theorists, and those numerical analysts working in numerical linear algebra.
Conference Paper
We present a new algorithm for exact two-level logic optimization which radically improves the Quine-McCluskey (QM) procedure. The new algorithm derives the covering problem directly and implicitly without generating the set of all prime implicants. It then generates only those prime implicants involved in the covering problem. We represent a set of primes by the cube of their intersection. Therefore, the unique set of sets of primes which forms the covering problem can be implicitly represented by a set of cubes which forms a minimum canonical cover. We obtain the minimum canonical cover starting from any initial cover and then derive the covering problem. The method is effective; it improves on the runtime and memory usage of ESPRESSO-EXACT by average factors of 1.78 and 1.19 respectively on the 114 of 134 benchmark examples that could be completed by ESPRESSO-EXACT. Of the remaining 20 hard problems, we solve 14 exactly. For 3 of the remaining 6 the covering problem is derived but it could not be solved exactly.
Article
Logic functions are usually represented by logical expressions or decision diagrams using AND and OR operators. However, some functions have more compact representations with EXOR operators. This chapter surveys representations of logic functions using EXOR operators.