  Language understanding must identify the logical connections between events
in a discourse, but core events are often unstated due to their commonsense
nature. This paper fills in these missing events by generating precondition
events. Precondition generation can be framed as a sequence-to-sequence
problem: given a target event, generate a possible precondition. However, in
most real-world scenarios, an event can have several preconditions, requiring
diverse generation -- a challenge for standard seq2seq approaches. We propose
DiP, a Diverse Precondition generation system that can generate unique and
diverse preconditions. DiP uses a generative process with three components --
an event sampler, a candidate generator, and a post-processor. The event
sampler provides control codes (precondition triggers) which the candidate
generator uses to focus its generation. Unlike other conditional generation
systems, DiP automatically generates control codes without training on diverse
examples. Analysis against baselines reveals that DiP improves the diversity of
preconditions significantly while also generating more preconditions.
