In mathematics and theoretical computer science, a splicing language is a formal language which formalizes the action of gene splicing in molecular biology. Splicing languages have a variety of definitions based on the form of splicing rules allowed, which describe how one may "cut" and "paste together" strings from the language to obtain new strings. In all of them, given an initial language I {\displaystyle I} over a finite alphabet Σ {\displaystyle \Sigma } and a set of splicing rules R {\displaystyle R} , a splicing language is the smallest language containing I {\displaystyle I} which is closed under applying any splicing rule r ∈ R {\displaystyle r\in R} . The original definition of a splicing language was given by Head in 1987. Later on, alternative and inequivalent definitions were provided by Păun and Pixton. The class of languages generated by Head splicing is strictly contained in that of those generated by Păun splicing, which is in turn strictly contained in that of those generated by Pixton splicing.
… excerpt ends here. Continue reading the full article.
