## FANDOM

92 Pages

In information theory and computer science, a code is usually considered as an algorithm which uniquely represents symbols from some source alphabet, by encoded strings, which may be in some other target alphabet. An extension of the code for representing sequences of symbols over the source alphabet is obtained by concatenating the encoded strings. Before giving a mathematically precise definition, this is a brief example. The mapping $C-5 V-32$ is a code, whose source alphabet is the set \{a,b,c\} and whose target alphabet is the set \{0,1\}. Using the extension of the code, the encoded string 0011001011 can be grouped into codewords as 0 011 0 01 011, and these in turn can be decoded to the sequence of source symbols acabc. Using terms from formal language theory, the precise mathematical definition of this concept is as follows: Let S and T be two finite sets, called the source and target alphabets, respectively. A code C:\, S \to T^* is a total function mapping each symbol from S to a sequence of symbols over T, and the extension of C to a homomorphism of S^* into T^*, which naturally maps each sequence of source symbols to a sequence of target symbols, is referred to as its extension.