We prove a complexity classification theorem that classifies all counting constraint satisfaction problems (#CSP) over Boolean variables into exactly three categories: (1) Polynomial-time tractable;(2) #P-hard for general instances, but solvable in polynomial-time over planar graphs; and (3) #P-hard over planar graphs. The classification applies to all sets of local, not necessarily symmetric, constraint functions on Boolean variables that take complex values. It is shown that Valiant's holographic algorithm with matchgates is a universal strategy for all problems in category (2).Proof. One direction is trivial, since (= 4 ) ∈ EQ 2 . For the other direction we prove by induction. For k = 1, we have (= 2 ) ∈ EQ. For k = 2, we have (= 4 ) given. Assume that we have (= 2(k−1) ). Then connecting (= 2(k−1) ) and (= 4 ) by one edge we get (= 2k ).By (2.