NB: I've been trying to Google for prior work on the problem described later in this post, but the search results I get for all the keywords I can come up with (e.g.
minimal satisfying sets) are inundated with false positives. In this post I'm just asking for terminology/nomenclature/buzzwords to make my Google searches more specific.
First, some assumptions and definitions.
We restrict our attention to subsets of some finite set $U$. (IOW, below, a "set" is shorthand for a "subset of $U$".)
Let $p$ be a predicate on sets such that
$$(p(A) \land (A \subseteq B)) \Longrightarrow p(B).$$
Let's say that a set $A$ is satisfying iff $p(A)$. If $A$ is satisfying, and no proper subset of $A$ is satisfying, then we'll say that $A$ is a minimal satisfying set.
The problem is:
Find all the minimal satisfying sets.
More specifically, I'm looking for algorithms to find all minimal satisfying sets optimally (or at least efficiently).
I should mention a variant of this problem that I'm particularly interested in, just in case it goes by a different name. This variant is the special case of the above where $p(U)$ holds. IOW, we know that there is at least one satisfying set.