boolean matrix product

for and boolean matrices , the boolean matrix product results in a boolean matrix of size , defined by
for and . let the binary function denote this operation.
[cite:;taken from @complexity_wegener_2009 chapter 6.8 boolean matrix product]
a broken link: blk:monotone boolean function that computes reqires AND gates and OR gates.
[cite:;found in @computation_savage_1998 lemma 9.6.3]
[cite:;found in @complexity_wegener_2009 chapter 6.8 boolean matrix product; theorem 8.1]
the notation used here is equivalent to .
the definition can be used as an algorithm to compute for , from the entries in matrices and . we call this the standard matrix-multiplication algorithm. it uses ANDs and ORs. we now show that every monotone circuit for matrix multiplication requires at least this many ANDs and ORs.
every monotone circuit for boolean matrix multiplication requires at least OR gates.
[cite:;taken from @computation_savage_1998 chapter 9.6 lower-bound methods for monotone circuits; lemma 9.6.3]
in monotone_boolean_function.html we identified a set of gates called the bottleneck associated with each input variable . we demonstrated that each of these gates can be eliminated by setting and that has at least gates, where is the number of circuit outputs that depend essentially on and have at least two prime implicants. these results were shown by proving that all gates in are OR gates and that the -th of these gates' associated function contains a prime implicant of the form for . we then demonstrated that the dependence of the outputs in on the input can be eliminated by setting for , but this contradicts the definition of a semi-definite bilinear form if . finally, we proved that by setting each of the gates in could be eliminated. for this lemma, we need only strengthen the lower bound on for matrix multiplication.
consider a minimal circuit. the proof is by induction on , with the base case being . in the base case for and and no ORs are needed. as inductive hypothesis we assume that requires at least OR gates. we show that setting any column of in to 0 eliminates OR gates and reduces the problem to an instance of . it follows that requires OR gates.
when , each output function has at least two prime implicants. we apply the bottleneck argument to this case. consider the bottleneck associated with input variable . we show that , from which it follows that at least OR gates can be eliminated by setting . this reduces the problem to another set of bilinear forms. repeating this for , we eliminate OR gates, one column of , and one row of . let be the outputs that depend on .
to show that , let the gate of compute for . here and for some and . if we set all entries in to 1, we eliminate all dependence of outputs in on . however, since , the set must contain at least one variable used in for each . thus, .
every monotone circuit for Boolean matrix multiplication requires at least AND gates.
consider a minimal circuit. the proof is by induction on , the base case being . in the base case for and and ANDs are needed, since results must be computed, each requiring one AND, and all functions are different. as inductive hypothesis we assume that requires at least AND gates. we show that setting any column of in to 1 and the corresponding row of to 0 eliminates AND gates and reduces the problem to an instance of . it follows that requires AND gates.
for arbitrary let be a gate closest to inputs computing a function such that contains . since the gate associated with has as a prime implicant, there is such a gate . furthermore, must be an gate because gates cannot generate new prime implicants. let and be gates generating inputs for . let them compute functions and . it follows from the definition of that and or vice versa. let the former hold. if , and can be eliminated. we now show that for . suppose not. since or , there are at least three distinct variables among , , , and . therefore either or has at least two of these variables as prime implicants. by boolean_formula.html this circuit is not minimal, a contradiction.
[cite:;taken from @computation_savage_1998 chapter 9 circuit complexity]