I was reading "Some properties of MOD m circuits computing simple functions" (Amano & Maruoka, 2003) where the authors prove that every Boolean function can be computed by depth $2$ by $(MOD_2-MOD_3)$ circuit. They claim what follows:
It was known that the $OR$ function of $n$ variables, i.e., $\vee_{i=1}^n x_i$ , can be computed by a depth two $(MOD_3-MOD_2)$ circuit.
I agree with the above part and I am able to show a construction for $n$-ary $OR$. Based on this fact they note that:
This implies that every disjunction of $n$ literals, i.e., $\vee_{i=1}^n l_i$ where $l_i\in \{x_i,\overline{x_i}\}$ , also can be computed by a depth two $(MOD_3-MOD_2)$ circuit.
Which I also accept. Afterward, they set up grounds for the main proof:
Let $f$ be an arbitrary Boolean function on $n$ variables. Consider a CNF formula representing $f$, where each clause contains exactly $n$ literals. Without loss of generality, we can assume that the formula has $m\equiv 1(\mod 3)$ clauses.
So far so good. But then comes the part I get lost at:
If the value of $f$ is 0, then $m-1\equiv 0(\mod 3)$ clauses of $f$ takes value $1$, and if the value of $f$ is $1$, then all of the $m\equiv 0(\mod 3)$ clauses takes value $1$. Thus the $MOD_3$ gate, whose inputs are all $(MOD_3-MOD_2)$ circuit computing each clause in the CNF formula, evaluates the func- tion $f$
Could anyone please explain to me why the sentence
If the value of $f$ is 0, then $m-1\equiv 0(\mod 3)$ clauses of $f$ takes value $1$
is true? Isn't it possible for a CNF with $m$ clauses to evaluate to $0$ and have $m-2$ clauses true? Or $m-3$ or $m-113$. What if, for example, my CNF is a big $AND$ of $n$ variables? Then this doesn't hold, any number of clauses might be 'dead'...
(Note this is not the whole proof, you have to show how to transform this bigger circuit to a smaller one).