Decomposition of Boolean Functions
Jan C. Bioch · Cambridge University Press eBooks · 2010
Introduction The basic step in functional decomposition of a Boolean function f : {0, 1} n ↦ {0, 1} with input variables N = { x 1 , x 2 , … x n } is essentially the partitioning of the set N into two disjoint sets A = { x 1 , x 2 , …, x p } (the “modular set”) and B = { x p +1 , …, x n } (the “free set”), such that f = F(g(x A ), x B ) . The function g is called a component (subfunction) of f , and F is called a composition (quotient) function of f . The idea here is that F computes f based on the intermediate result computed by g and the variables in the free set. More complex (Ashenhurst) decompositions of a function f can be obtained by recursive application of the basic decomposition step to a component function or to a quotient function of f . Functional decomposition for general Boolean functions has been introduced in switching theory in the late 1950s and early 1960s by Ashenhurst, Curtis, and Karp [1, 2, 20, 23, 24]. More or less independent from these developments, decomposition of positive functions has been initiated by Shapley [36], Billera [5, 4], and Birnbaum and Esary [12] in several contexts such as voting theory (simple games), clutters, and reliability theory. However, the results in these areas are mainly formulated in terms of set systems and set operations.