  In settings from fact-checking to question answering, we frequently want to
know whether a collection of evidence (premises) entails a hypothesis. Existing
methods primarily focus on the end-to-end discriminative version of this task,
but less work has treated the generative version in which a model searches over
the space of statements entailed by the premises to constructively derive the
hypothesis. We propose a system for doing this kind of deductive reasoning in
natural language by decomposing the task into separate steps coordinated by a
search procedure, producing a tree of intermediate conclusions that faithfully
reflects the system's reasoning process. Our experiments on the EntailmentBank
dataset (Dalvi et al., 2021) demonstrate that the proposed system can
successfully prove true statements while rejecting false ones. Moreover, it
produces natural language explanations with a 17% absolute higher step validity
than those produced by an end-to-end T5 model.
