Lably
Skip to content

Formal language

Sequence of words formed by specific rules

  • 12 min read
  • 7 chapters

Related on Lably

Through Logic, Mathematics and Computer science

The alphabet of a formal language consists of symbols that concatenate into strings (also called "words"). Words that belong to a particular formal language are sometimes called well-formed words. A formal language is often defined by means of a formal grammar such as a regular grammar or context-free grammar.

In computer science, formal languages are used, among others, as the basis for defining the grammars of programming languages and controlled natural languages (i.e., formalized versions of subsets of natural languages). In computational complexity theory, decision problems are typically defined as formal languages, and complexity classes are defined as the sets of the formal languages that can be parsed by machines with limited computational power. In logic and the foundations of mathematics, formal languages are used to represent the syntax of axiomatic systems, and mathematical formalism is the philosophy that all of mathematics can be reduced to the syntactic manipulation of formal languages in this way.

The field of formal language theory studies primarily the purely syntactic aspects of such languages—that is, their internal structural patterns. Formal language theory sprang out of linguistics, as a way of understanding the syntactic regularities of natural languages.

History

In the 17th century, Gottfried Leibniz imagined and described the characteristica universalis, a universal and formal language which utilised pictographs. Later, Carl Friedrich Gauss investigated the problem of Gauss codes.

In the mid-19th century, George Boole established the field of boolean algebra, which is a formal way of describing logical operations using truth values and set operators. In his work An Investigation of The Laws of Thought, he demonstrated that logical reasoning can be expressed and manipulated through Symbolic equations.

Gottlob Frege attempted to realize Leibniz's ideas, through a notational system, first outlined in Begriffsschrift (1879) and more fully developed in his 2-volume Grundgesetze der Arithmetik (1893/1903). This described a "formal language of pure language."

In the first half of the 20th century, several developments were made with relevance to formal languages. Axel Thue published four papers relating to words and language between 1906 and 1914. The last of these introduced what Emil Post later termed 'Thue Systems', and gave an early example of an undecidable problem. Post would later use this paper as the basis for a 1947 proof "that the word problem for semigroups was recursively insoluble", and later devised the canonical system for the creation of formal languages.

In 1907, Leonardo Torres Quevedo introduced a formal language for the description of mechanical drawings (mechanical devices), in Vienna. He published "Sobre un sistema de notaciones y símbolos destinados a facilitar la descripción de las máquinas" ("On a system of notations and symbols intended to facilitate the description of machines"). Heinz Zemanek rated it as an equivalent to a programming language for the numerical control of machine tools.

Noam Chomsky devised an abstract representation of formal and natural languages, known as the Chomsky hierarchy. In 1959, John Backus developed the Backus-Naur form to describe the syntax of a high-level programming language, following his work in the creation of FORTRAN. Peter Naur was the secretary/editor for the ALGOL60 Report in which he used Backus–Naur form to describe the Formal part of ALGOL 60.

Sign in to keep reading

6 more chapters are free with a Lably account.

More in Discrete mathematics