The universe of strings is a very useful medium for the representation of information as long as there exists a function that provides the interpretation for the information carried by the strings. An interpretation is just the contrary of the mapping that a representation provides, that is, an interpretation is a function g from Σ* to D for some alphabet Σ and some set D. The string 111, for instance, can be interpreted as the number one hundred and eleven represented by a decimal string, as the number seven represented by a binary string, and as the number three represented by a unary string.

In general, if Σ is an alphabet and L is a subset of Σ*, then L is said to be a language over Σ, or simply a language if Σ is understood. Each element of L is said to be a sentence or a word or a stringof the language.

**"Example-** {0, 11, 001}, {ε, 10}, and {0, 1}* are subsets of {0, 1}*, and so they are languages over the alphabet {0, 1}.

The empty set Ø and the set {ε} are languages over every alphabet. Ø is a language that contains no string. {ε} is a language that contains just the empty string.

The union of two languages L_{1} and L_{2}, denoted L_{1} U L_{2}, refers to the language that consists of all the strings that are either in L_{1} or in L_{2}, that is, to { x | x is in L_{1} or x is in L_{2} }. The intersection of L_{1} and L_{2}, denoted L_{1} ∩ L_{2}, refers to the language that consists of all the strings that are both in L_{1} and L_{2}, that is, to {x | x is in L_{1} and in L_{2}}. The complementation of a language L over Σ, or just the complementation of L when Σ is understood, denoted L, refers to the language that consists of all the strings over Σ that are not in L, that is, to { x | x is in Σ* but not in L }".

A set of real values for a problem is called an instance of the problem. So a problem, specifies what an instance is, i.e., what is the input, problem, or output and how the solution is related to the input.