1. A system for generating answers to questions, comprising: a computer device comprising at least one distinct software module, each distinct software module being embodied on a tangible computer-readable medium; a memory; and at least one processor coupled to the memory and operative for: receiving an input query; formulating a plurality of different subqueries to answer the input query, wherein each of the subqueries has an associated answer to the each subquery, and the answers to the subqueries are used to determine an answer to the input query; conducting a search in one or more data sources to identify at least one candidate answer to each of the subqueries; for each of the candidate answers for each of the subqueries, applying a candidate ranking function to determine a ranking for said each of the candidate answers; for each of the subqueries, selecting one of the candidate answers to the subquery based on the ranking of said one of the candidate answers; and applying a logical synthesis component to synthesize a candidate answer for the input query from the selected ones of the candidate answers to the subqueries.