1. A method of generating an answer to a question, comprising: receiving an input query; analyzing the input query to identify a defined type of information to answer the input query; processing the input query to formulate a plurality of subqueries, wherein each of the subqueries has an answer, and the answers of the subqueries are of a specified type of data for determining 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 subqueries, selecting one of the identified candidate answers to the subquery; using the input query to determine a procedure for using the selected ones of the candidate answers to determine a candidate answer to the input query; and using said determined procedure to use the selected ones of the candidate answers to the subqueries to determine the candidate answer to the input query wherein: the using said determined procedure includes applying a logical synthesis component for synthesizing the candidate answers for the input query from the selected candidate answers to the subqueries the using said determined procedure to use the selected ones of the candidate answers to determine a candidate answer to the input query includes using the logical synthesis component to perform a mathematical operation on data in the selected candidate answers to synthesize the candidate answer for the input query.