PlanetMath (more info)
 Math for the people, by the people.
Encyclopedia | Requests | Forums | Docs | Wiki | Random | RSS  
Login
create new user
name:
pass:
forget your password?
Main Menu
Owner confidence rating: Very high Entry average rating: No information on entry rating
[parent] many-sorted language (Definition)

A many-sorted language is a variation of the classical first-order language. Whereas structures of a first-order language consist of a single universe, structures of a many-sorted language may contain many “universes”, where each universe is “named” by a symbol called “sort”, hence the name “many-sorted”.

To formalize the notion of a many-sorted language, we start with a non-empty set $ S$ whose elements we call sorts. Let $ S^+$ be the set of all (finite) non-empty words over $ S$. Elements of $ S^+$ are called sort types and are written as tuples. So instead of writing $ s_1s_2\cdots s_n \in S^+$, it is written $ (s_1, s_2, \cdots, s_n)\in S^+$.

The next item to be defined is the underlying signature of a many-sorted language. A signature $ \Sigma$ consists of

such that each element in $ F\cup R$ corresponds to a sort type. In other words, there is a function $ t:F\cup R\to S^+$, and for every $ r\in F\cup R$, $ t(r)$ is its sort type. An element $ c\in F$ such that $ t(c)\in S$ is called a constant symbol (of sort $ t(c)$).

In addition to the signature $ \Sigma$, we introduce additional symbols:

Using $ \Sigma$ and the additional symbols above, we can build terms inductively as follows:

  • each variable $ x\in V$ is a term of sort $ v(x)$
  • if $ f\in F$ is a function symbol of sort type $ (s_1,\ldots,s_n)$, and for each $ i=1,\ldots,n-1$, $ t_i$ is a term of sort $ s_i$, then $ f(t_1,\ldots,t_{n-1})$ is a term of sort $ s_n$.
  • all the terms are built this way.

Finally, from the terms, we inductively define formulas:

  • if $ t_1$ and $ t_2$ are terms of the same sort, then $ (t_1=t_2)$ is a formula
  • if $ r\in R$ is a relation symbol of sort type $ (s_1,\ldots,s_n)$, and for each $ i=1,\ldots,n$, $ t_i$ is a term of sort $ s_i$, then $ r(t_1,\ldots,t_n)$ is a formula
  • if $ \alpha$ is a formula, then so is $ (\neg \alpha)$
  • if $ \alpha,\beta$ are formulas, then so is $ (\alpha \vee \beta)$
  • if $ \alpha$ is a formula and $ x\in V$ is a variable, then so is $ (\forall x (\alpha))$
  • all the formulas are formed this way.

The signature $ \Sigma$, additional symbols, and terms and formulas subsequently defined constitute what is known as the many-sorted language $ L=L(\Sigma)$ on $ \Sigma$.

As in first order language, the outer most parentheses may be eliminated without causing much harm, so that $ (\neg \alpha)$ becomes $ \neg \alpha$. In addition, we may introduce other familiar logical symbols $ \wedge, \to, \leftrightarrow$, and % latex2html id marker 504 $ \exists$ in terms of $ \vee,\neg$, and $ \forall$. The specifics of how this is done can be found in the entry on first order language.

From this definition, we see at once that the classical first order language is a one-sorted language ($ S=1$). Sort types are identified with their lengths. Thus, the sort type of a function or a relation symbol is its arity.

Remark. It is not hard to show that a many-sorted language is not much different from a first-order language. Provided that $ V$ is countably infinite, a many-sorted language $ L$ can be “converted” into a first-ordered language $ L_1$. Basically, all the function and relation symbols in $ L$ are in $ L'$, as well as the additional symbols such as variables and logical symbols. For each sort $ s\in S$, we introduce a new unary relation symbol $ P_s$ in $ L_1$. For any formula that contains a subformula of the form $ \forall x \phi(x)$, we replace each occurrence of such a subformula by a formula of the form $ \forall x (P_s(x)\to \phi(x))$, where $ x$ is a variable of sort $ s$ and $ \phi$ is some formula in which $ x$ occurs as a free variable. The result is that $ L_1$ becomes a one-sorted language.



"many-sorted language" is owned by CWoo.
(view preamble)

View style:

Other names:  many sorted language, many-sorted logic
Also defines:  sort, sort type

This object's parent.

Attachments:
many-sorted structure (Definition) by CWoo
Log in to rate this entry.
(view current ratings)

Cross-references: free variable, occurrence, subformula, unary relation, arity, lengths, language, outer, first order language, formulas, terms, right, equality relation, predicates, subset, countably infinite, variables, constant symbol, function, relation symbols, function symbols, signature, tuples, finite, contain, universe, structures, first-order language, variation
There are 48 references to this entry.

This is version 9 of many-sorted language, born on 2008-01-15, modified 2008-01-19.
Object id is 10194, canonical name is ManySortedLanguage.
Accessed 1767 times total.

Classification:
AMS MSC03B10 (Mathematical logic and foundations :: General logic :: Classical first-order logic)
 03C07 (Mathematical logic and foundations :: Model theory :: Basic properties of first-order languages and structures)
 03B70 (Mathematical logic and foundations :: General logic :: Logic in computer science)

Pending Errata and Addenda
None.
Discussion
Style: Expand: Order:
forum policy

No messages.

Interact
post | correct | update request | add derivation | add example | add (any)