  A monotone CNF formula is a Boolean formula in conjunctive normal form where
each variable appears positively. We design a deterministic fully
polynomial-time approximation scheme (FPTAS) for counting the number of
satisfying assignments for a given monotone CNF formula when each variable
appears in at most $5$ clauses. Equivalently, this is also an FPTAS for
counting set covers where each set contains at most $5$ elements. If we allow
variables to appear in a maximum of $6$ clauses (or sets to contain $6$
elements), it is NP-hard to approximate it. Thus, this gives a complete
understanding of the approximability of counting for monotone CNF formulas. It
is also an important step towards a complete characterization of the
approximability for all bounded degree Boolean #CSP problems. In addition, we
study the hypergraph matching problem, which arises naturally towards a
complete classification of bounded degree Boolean #CSP problems, and show an
FPTAS for counting 3D matchings of hypergraphs with maximum degree $4$.
  Our main technique is correlation decay, a powerful tool to design
deterministic FPTAS for counting problems defined by local constraints among a
number of variables. All previous uses of this design technique fall into two
categories: each constraint involves at most two variables, such as independent
set, coloring, and spin systems in general; or each variable appears in at most
two constraints, such as matching, edge cover, and holant problem in general.
The CNF problems studied here have more complicated structures than these
problems and require new design and proof techniques. As it turns out, the
technique we developed for the CNF problem also works for the hypergraph
matching problem. We believe that it may also find applications in other CSP or
more general counting problems.
