monotone boolean function
for two vectors
we write
if
for all positions
. a boolean function
is monotone, if
implies
.
if we view
as a set-theoretic predicate
, then
is monotone iff
and
implies 
[cite:;taken from @complexity_jukna_2012 chapter 1 our adversary: the circuit]
if we view
[cite:;taken from @complexity_jukna_2012 chapter 1 our adversary: the circuit]
the following problems can be formulated as monotonic functions:
- is a given graph connected?
- does the graph contain a hamiltonian cycle?
- does the graph contain a clique of size
?
a replacement rule is a rule that allows a function computed at a vertex of a circuit to be replaced by another without changing the function computed by the circuit.
we present a replacement rule for monotone functions that captures the following idea: if a function let
and
be two monotone functions. let
be computed within a monotone circuit for
. the following is a replacement rule for
:
we show that any monom - let
and let
be defined by
. replace the gate computing
by one computing
if for all monoms
(including the empty monom),
.
let
and
be two monotone functions and let
be such that for all monoms
(including the empty monom),
. let
be defined by
. if
is computed in some monotone circuit for
, the circuit obtained by replacing
by
also computes
.
[cite:;taken from @computation_savage_1998 lemma 9.6.1]
[cite:;taken from @computation_savage_1998 lemma 9.6.1]
let
, where each
,
, is a monotone boolean function on
-tuple
and
-tuple
; that is,
.
is a bilinear form if each prime implicant of each
,
, contains one variable of
and one of
. a function
is a semi-disjoint bilinear form if in addition
for
, and each variable is contained in at most one prime implicant of any one function.
[cite:;taken from @computation_savage_1998 definition 9.6.4]
before deriving a lower bound on the number of gates needed for a semi-disjoint bilinear form, we introduce a new replacement rule peculiar to these forms.[cite:;taken from @computation_savage_1998 definition 9.6.4]
no gate of a monotone circuit of minimal size for a semi-disjoint bilinear form
computes a function
whose prime implicants include either two variables of
or of
.
[cite:;taken from @computation_savage_1998 lemma 9.6.2]
[cite:;taken from @computation_savage_1998 lemma 9.6.2]
we suppose that a minimal monotone circuit does contain a gate
whose prime implicants contain either two variables of
or two of
and show that a contradiction results. without loss of generality, assume that
contains
and
,
. if there is a gate
satisfying this hypothesis, there is one that is closest to an input variable. this must be an
gate because
gates increase the length of prime implicants. because the gate in question is closest to inputs, at least one of
and
is either an input to this
gate or is the input to some
gate that is on a path of
gates to this gate.
a simple proof by induction on its circuit size demonstrates that if a circuit for
contains a gate computing
then
,
, can be written as follows ([cite:;see @computation_savage_1998 problem 9.36]):
here
and
are boolean functions. of course, if for no
is
a function of
, then we can set
and the circuit is not minimal.
if
depends on
,
. however,
because otherwise both
and
are prime implicants of
(for every
), contradicting its definition. also,
cannot have any monoms containing one or more instances of a variable in
or two or more instances of variables in
because when
ed with
they produce monoms that could be removed by replacement rule 1 and the circuit would not be minimal. it follows that
can contain only single variables of
. but this implies that for some
,
, which together with the fact that
implies that
. but
and
cannot both be prime implicants of
, because they violate the requirement that no two prime implicants of
contain the same variable. it follows that
does not depend on
.
[cite:;taken from @computation_savage_1998 lemma 9.6.2]
the boolean convolution function is a semi-disjoint bilinear form. each implicant of each component of a simple proof by induction on its circuit size demonstrates that if a circuit for
if
[cite:;taken from @computation_savage_1998 lemma 9.6.2]
let
,
, be a semi-disjoint bilinear form, where
. let
be the number of functions in
that are essentially dependent on the input variable
,
. then the monotone circuit size of
must satisfy the following lower bound:
[cite:;taken from @computation_savage_1998 theorem 9.6.4]
the proof is by induction. the basis for induction is the semi-disjoint bilinear form on two variables
. in this case
and
. we assume that any semi-disjoint bilinear form in
or fewer variables satisfies the lower bound. we show that setting
produces another function that is a semi-disjoint bilinear form and allows the removal of at least
gates. the lower bound follows by induction. we consider only minimal circuits.
let
denote the number of functions in
that are essentially dependent on
and have a single prime implicant (such as
and
for convolution). setting
eliminates the
gates at which these outputs are computed. we show that at least
gates can also be eliminated. since
, we have the desired conclusion.
let
denote those outputs that depend on
whose associated function has at least two prime implicants. then
. there must be at least one
gate on each path
from
to
because, if not, each path contains only
s and
has only one prime implicant (the one that contains
), in contradiction to the definition of
.
we claim that on each path
from an input labeled
to some
there is an
gate computing a function
such that
for some
. let
be those
gates closest to an input vertex
. call
the bottleneck for variable
(this is demonstrated in broken link: blk:fig-bool-func-1). we shall show that
and that each of the gates in
can be eliminated by setting
.
broken link: xopp-figure:/home/mahmooz/brain/pen/1733575184.2236493.xopp
if the claim is false, then there is a path
from input
to output
such that for each
gate (let it compute
) on
there is no
such that
. therefore, either all monoms of
: a. contain
or b. are monoms that are not implicants of an output (they are not of the form
). in case (a), setting
causes the
gates on
to have value 0, which forces the
gates on
and
to have value 0, contradicting the definition of
(it has at least two prime implicants). in the second case under replacement rule 1 the monomos not containing
can be removed without changing the functions computed. thus, when
, the output of each
gate on
has value 0, which contradicts the definition of
since it contains at least two prime implicants.
we now show that
. since each of the
gates in
has a prime implicant
not containing
, their outputs can be set to 1 by setting
for
. this eliminates all dependence of
on
. however, since inputs have only been assigned value 1 (and not 0), this dependence on
can be eliminated only if all functions in
have value 1; that is, at least one prime implicant of each of them is set to 1 by this assignment. since each variable appears in at most one prime implicant of a function, the number of different variables
(and
) that are set to 1 is at most
. thus, at most
prime implicants can be assigned value 1 by this assignment. thus, if
, we have a contradiction since
.
we now show that
gates can be eliminated by setting
. since each gate in
is the closest
gate to an input labeled
, setting
eliminates one of the two inputs to the
gate and the need for the gate itself.
[cite:;taken from @computation_savage_1998 chapter 9.6 lower-bound methods for monotone circuits]let
let
we claim that on each path
broken link: xopp-figure:/home/mahmooz/brain/pen/1733575184.2236493.xopp
if the claim is false, then there is a path
we now show that
we now show that