  We consider the dichotomy conjecture for consistent query answering under
primary key constraints. It states that, for every fixed Boolean conjunctive
query q, testing whether q is certain (i.e. whether it evaluates to true over
all repairs of a given inconsistent database) is either polynomial time or
coNP-complete. This conjecture has been verified for self-join-free and path
queries.
  We propose a simple inflationary fixpoint algorithm for consistent query
answering which, for a given database, naively computes a set $\Delta$ of
subsets of facts of the database of size at most k, where k is the size of the
query q. The algorithm runs in polynomial time and can be formally defined as:
(1) Initialize $\Delta$ with all sets $S$ of at most $k$ facts such that
$S\models q$. (2) Add any set $S$ of at most k facts to $\Delta$ if there
exists a block $B$ (i.e., a maximal set of facts sharing the same key) such
that for every fact $a \in B$ there is a set $S' \subseteq S \cup \{a\}$ such
that $S'\in \Delta$.
  For an input database $D$, the algorithm answers "q is certain" iff $\Delta$
eventually contains the empty set. The algorithm correctly computes certainty
when the query q falls in the polynomial time cases of the known dichotomies
for self-join-free queries and path queries. For arbitrary Boolean conjunctive
queries, the algorithm is an under-approximation: the query is guaranteed to be
certain if the algorithm claims so. However, there are polynomial time certain
queries (with self-joins) which are not identified as such by the algorithm.
