1. A computer-implemented method of generating a score for a candidate answer to an input query, the method comprising: receiving an input query at a computer processor system; identifying, by the computer processor system, a candidate answer to the input query; determining, by the computer processor system, a set of documents using theorem proving for scoring the candidate answer, including: identifying a plurality of logical proof of the candidate answer, the logical proof including a conclusion and a sequence of premises that logically prove the conclusion, including using the candidate answer as the conclusion of the logical proof, and identifying a set of documents that establish all the premises of the logical proof, including searching through a group of documents to identify a sub-group of documents of the group of documents that include one or more of the premises of the logical proof, and wherein each of the premises of the logical proof is included in at least one of the documents of the sub-group of document, and selecting for said set of documents a plurality of the documents of the sub-group of documents, including selecting for said set of documents the plurality of the documents of the sub-group of documents in order of a number of the premises in each of the documents of said sub-group of documents until all the premises are included in at least one of the documents selected for said set of documents; and using, by the computer processor system the set of documents to generate a score for the candidate answer.