  We show that the control of the false discovery rate (FDR) for a multiple
testing procedure is implied by two coupled simple sufficient conditions. The
first one, which we call ``self-consistency condition'', concerns the algorithm
itself, and the second, called ``dependency control condition'' is related to
the dependency assumptions on the $p$-value family. Many standard multiple
testing procedures are self-consistent (e.g. step-up, step-down or step-up-down
procedures), and we prove that the dependency control condition can be
fulfilled when choosing correspondingly appropriate rejection functions, in
three classical types of dependency: independence, positive dependency (PRDS)
and unspecified dependency. As a consequence, we recover earlier results
through simple and unifying proofs while extending their scope to several
regards: weighted FDR, $p$-value reweighting, new family of step-up procedures
under unspecified $p$-value dependency and adaptive step-up procedures. We give
additional examples of other possible applications. This framework also allows
for defining and studying FDR control for multiple testing procedures over a
continuous, uncountable space of hypotheses.
