Petri net unfoldings are a useful tool to tackle state-space
explosion in verification and related tasks. Moreover, their structure allows
to access directly the relations of causal precedence, concurrency, and
conflict between events. Here, we explore the data structure further, to
determine the following relation: event a is said to reveal event b
iff the occurrence of a implies that b inevitably occurs, too, be it
before, after, or concurrently with a. Knowledge of reveals facilitates
in particular the analysis of partially observable systems, in the context of
diagnosis, testing, or verification; it can also be used to generate more
concise representations of behaviours via abstractions. The reveals relation
was previously introduced in the context of fault diagnosis, where it was
shown that the reveals relation was decidable: for a given pair a,b in
the unfolding U of a safe Petri net N, a finite prefix P of U
is sufficient to decide whether or not a reveals b. In this paper, we
first considerably improve the bound on |P|. We then show that there
exists an efficient algorithm for computing the relation on a given prefix.
We have implemented the algorithm and report on experiments.