1. A method of searching through a database of documents for documents to generate a score for a candidate answer to an input query, the method comprising: indexing the documents in the database, including for each of the documents, annotating spans of text in said each document that refer to entities with entity types to form entity annotations, and annotating spans of text in said each document that refer to facts with fact types to form relation annotations, for each of the annotated spans of text that refers to one of the facts, linking said one of the facts to said each annotation, and recording in an index the entities, the facts, the annotations that refer to said entities, and the annotations that refer to said facts; receiving an input query; conducting a search in a data source to identify a candidate answer to the input query; determining a set of the documents in the database using theorem proving for scoring the candidate answer, including: identifying a plurality of logical proofs of the candidate answer, each of the logical proofs including a conclusion and a sequence of premises that logically prove the conclusion, including using the candidate answer as the conclusion of each of the logical proofs, and wherein the sequence of the premises of each of the logical proofs forms a logical proof of the candidate answer; for each of the logical proofs, identifying one or more documents in the database of documents that establish all the premises of the each of the logical proofs, including for each of the premises of said each of the logical proofs, searching through the database of documents to identify one or more of the documents in the database of documents that include said each of the premises, and selecting a plurality of the identified documents in the database of documents to form a set of documents for said each of the logical proofs, wherein the set of documents for said each of the logical proofs includes all the premises of said each of the logical; and selecting, based on specified criteria, one of the sets of documents for the logical proofs as the set of documents for scoring the candidate answer; and using the set of documents selected for scoring the candidate answer to generate a score for the candidate answer.