- Signature (logic)
In
logic , especiallymathematical logic , a signature lists and describes thenon-logical symbol s of aformal language . Inuniversal algebra , a signature lists the operations that characterize analgebraic structure . Inmodel theory , signatures are used for both purposes.Signatures play the same role in
mathematics astype signature s incomputer programming . They are rarely made explicit in more philosophical treatments of logic.Definition
Formally, a signature can be defined as a triple σ = ("S"func, "S"rel, ar), where "S"func and "S"rel are disjoint sets not containing any other basic logical symbols, called respectively
* "function symbols" (examples: +, ×, 0, 1) and
* "relation symbols" or "predicates" (examples: ≤, ∈),and a function ar: "S"func "S"rel → which assigns a non-negative integer called "arity " to every function or relation symbol. A function or relation symbol is called "n"-ary if its arity is "n". A nullary function symbol is called a "constant symbol". A signature with no function symbols is called a relational signature, and a signature with no relation symbols is called an algebraic signature. A finite signature is a signature such that "S"func and "S"rel are finite. More generally, the cardinality of a signature σ = ("S"func, "S"rel) is defined as |σ| = |"S"func| + |"S"rel|.Other conventions
In universal algebra the word type or similarity type is often used as a synonym for "signature". In model theory, a signature σ is often called vocabulary, or identified with the (first-order) language "L" to which it provides the
non-logical symbols . However, thecardinality of the language "L" will always be infinite; if σ is finite then |L| will be ℵ0.As the formal definition is inconvenient for everyday use, the definition of a specific signature is often abbreviated in an informal way, as in:
:"The standard signature for abelian groups is σ = (+,–,0), where – is a unary operator."
Sometimes an algebraic signature is regarded as just a list of arities, as in:
:"The similarity type for abelian groups is σ = (2,1,0)."
Formally this would define the function symbols of the signature as something like "f"0 (binary), "f"1 (unary) and "f"2 (nullary), but in reality the usual names are used even in connection with this convention.
In
mathematical logic , very often symbols are not allowed to be nullary, so that constant symbols must be treated separately rather than as nullary function symbols. They form a set "S"const disjoint from "S"func, on which the arity function ar is not defined. However, this only serves to complicate matters, especially in proofs by induction over the structure of a formula, where an additional case must be considered. Any nullary relation symbol, which is also not allowed under such a definition, can be emulated by a unary relation symbol together with a sentence expressing that its value is the same for all elements. This translation fails only for empty structures (which are often excluded by convention). If nullary symbols are allowed, then every formula ofpropositional logic is also a formula offirst-order logic .Use of signatures in logic and algebra
In the context of
first-order logic , the symbols in a signature are also known as thenon-logical symbols , because together with the logical symbols they form the underlying alphabet over which twoformal language s are inductively defined: The set of "terms" over the signature and the set of (well-formed) "formulas" over the signature.In a structure, an "interpretation" ties the function and relation symbols to mathematical objects that justify their names: The interpretation of an "n"-ary function symbol "f" in a structure "A" with "domain" "A" is a function "fA": "An" → "A", and the interpretation of an "n"-ary relation symbol is a relation "RA" ⊆ "An". Here "A""n" = "A" × "A" × ... × "A" denotes the "n"-fold
cartesian product of the domain "A" with itself, and so "f" is in fact an "n"-ary function, and "R" an "n"-ary relation.Many-sorted signatures
For many-sorted logic and for many-sorted structures signatures must encode information about the sorts. The most straightforward way of doing this is via symbol types that play the role of generalized arities. [ [http://react.cs.uni-sb.de/~zarba/snow/ch01.pdf Many-Sorted Logic] , the first chapter in [http://react.cs.uni-sb.de/~zarba/notes.html Lecture notes on Decision Procedures] , written by [http://react.cs.uni-sb.de/~zarba/ Calogero G. Zarba] .]
;Symbol types
Let "S" be a set (of sorts) not containing the symbols × or →.
The symbol types over "S" are certain words over the alphabet "S" {×, →}: the relational symbol types "s"1 × ... × "s""n", and the functional symbol types "s"1 × ... × "s""n"→"s
' ", for non-negative integers "n" and "s"1,"s"2,...,"s""n","s' " "S". (For "n" = 0, the expression "s"1 × ... × "s""n" denotes the empty word.);Signature
A (many-sorted) signature is a triple ("S", "P", type) consisting of
* a set "S" of sorts,
* a set "P" of symbols, and
* a map type which associates to every symbol in "P" a symbol type over "S".Notes
References
* [http://www.thoralf.uwaterloo.ca/htdocs/ualg.html Free online edition] .
*External links
* [http://www.seop.leeds.ac.uk/ Stanford Encyclopedia of Philosophy] : " [http://www.seop.leeds.ac.uk/entries/model-theory/ Model theory] " -- by
Wilfred Hodges .
* [http://planetmath.org/ PlanetMath:] Entry " [http://planetmath.org/encyclopedia/Signature.html Signature] " describes the concept for the case when no sorts are introduced.
* [http://homepages.feis.herts.ac.uk/~comqejb/algspec/pr.html Baillie, Jean] , " [http://homepages.feis.herts.ac.uk/~comqejb/algspec/pr.html An Introduction to the Algebraic Specification of Abstract Data Types.] "
Wikimedia Foundation. 2010.