David Hilbert formulated the problem in 1928 : Is there an algorithm that will take a formal language , and a logical statement in that language , and that will output `` True '' or `` False '' , depending on the truth value of the statement . In mathematics , the ( , German for ` decision problem ' ) is a challenge posed by David Hilbert in 1928 . The asks for an algorithm that will take as input a description of a formal language and a mathematical statement in the language and produce as output either `` True '' or `` False '' according to whether the statement is true or false .