In this paper we address the problem of generating all elements obtained by
the saturation of an initial set by some operations. More precisely, we prove
that we can generate the closure of a boolean relation (a set of boolean
vectors) by polymorphisms with a polynomial delay. Therefore we can compute
with polynomial delay the closure of a family of sets by any set of "set
operations": union, intersection, symmetric difference, subsets, supersets
…). To do so, we study the MembershipF​ problem: for a set
of operations F, decide whether an element belongs to the closure
by F of a family of elements. In the boolean case, we prove that
MembershipF​ is in P for any set of boolean operations
F. When the input vectors are over a domain larger than two
elements, we prove that the generic enumeration method fails, since
MembershipF​ is NP-hard for some F. We also study the
problem of generating minimal or maximal elements of closures and prove that
some of them are related to well known enumeration problems such as the
enumeration of the circuits of a matroid or the enumeration of maximal
independent sets of a hypergraph. This article improves on previous works of
the same authors.Comment: 30 pages, 1 figure. Long version of the article arXiv:1509.05623 of
the same name which appeared in STACS 2016. Final version for DMTCS journa