In mathematical logic, a truth function is a function from a set of truth values to truth values. Classically the domain and range of a truth function are {truth, falsehood}, but they may have any number of truth values, including an infinity of these. A logical connective is truth-functional if the truth-value of a compound sentence is a function of the truth-value of its sub-sentences. A class of connectives is truth-functional if each of its members is. For example, the connective “and” is truth-functional since a sentence like “Apples are fruits and carrots are vegetables” is true if, and only if each of its sub-sentences “apples are fruits” and “carrots are vegetables” is true, and it is false otherwise. Some connectives of a natural language, such as English, are not truth-functional. Connectives of the form “x believes that …” are typical examples of connectives that are not truth-functional. If e.g. Mary mistakenly believes that Al Gore was President of the USA on April 20, 2000, but she does not believe that the moon is made of green cheese, then the sentence “Mary believes that Al Gore was President of the USA on April 20, 2000” is true while “Mary believes that the moon is made of green cheese” is false. In both cases, each component sentence (i.e. “Al Gore was president of the USA on April 20, 2000” and “the moon is made of green cheese”) is false, but each compound sentence formed by prefixing the phrase “Mary believes that” differs in truth-value. That is, the truth-value of a sentence of the form “Mary believes that…” is not determined solely by the truth-value of its component sentence, and hence the (unary) connective (or simply operator since it is unary) is non-truth-functional. The class of classical logic connectives (e.g. &, →) used in the construction of formulas is truth-functional. Their values for various truth-values as argument are usually given by truth tables. Truth-functional propositional calculus is a formal system whose formulas may be interpreted as either true or false.