Article View: comp.lang.prolog
Article #2344Re: origin of "arity"
From: Richard A. O'Keefe
Date: Thu, 20 Jun 1991 11:06
Date: Thu, 20 Jun 1991 11:06
44 lines
2698 bytes
2698 bytes
In article <3405@shodha.enet.dec.com>, wahl@shodha.enet.dec.com (David Wahl) writes:
> The word "arity" came up during lunch today in our group and our
> resident mathematician asked whether the word was invented by
> logic programming people or whether it was borrowed from another
> field. We looked it up in both a standard college English dictionary
> and in a scientific and technical English dictionary and couldn't
> find the word "arity" in either of them.
> Does anyone know where the origin of the word "arity"?
I _wonder_ what field your resident mathematician works in, and I
suggest that you look around for another dictionary.
Neither ``arity'' nor ``functor'' was invented by logic programmers.
You can find ``functor'' in Robinson's book.
On p16 of Gallier's "Logic for Computer Science" we find
A ranked alphabet is a set \Sigma together with a rank function
r: \Sigma -> N. Every symbol f \in \Sigma has a rank (or arity)
r(f) indicating the fixed number of arguments of f. ^^^^^
Symbols of arity 0 are also called constants.
On p96 of Boyer & Moore's "A Computational Logic Handbook", we find
Associated with every function symbol is a nonnegative integer
called the arity of the symbol. The arity indicates how many
arguments must follow each application of the function symbol.
Buchberge & Loos, in a paper on Algebraic Simplification, write
A signature (or arity-function) is a family of non-negative
integers (i.e. a function a: Def(a) -> N_0.) The index set
of a (i.e. Def(a)) may be called the set of function symbols
of a, in short F(a). Furthermore, F(a,n) := {f\in F(a)|a(f)=n}
(a set of n-ary function symbols).
The word comes from mathematical logic and ``higher algebra''.
It comes from talking about un-ary, bin-ary, tern-ary, ... n-ary functions.
The point is that (Edinburgh) Prolog borrowed its *entire* set of
data structures from mathematical logic, in which a _term_ is a
_variable_ or a _function symbol_ together with 0 or more _arguments_
each of which is a term, function symbols of arity 0 being identified
with constants. Prolog borrowed much of its vocabulary from the same
source.
--
I agree with Jim Giles about many of the deficiencies of present UNIX.
Technical Details
Message-ID:
<6402@goanna.cs.rmit.oz.au>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!goanna!okReferences:
<3405@shodha.enet.dec.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!goanna!ok From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) Newsgroups: comp.lang.prolog Subject: Re: origin of "arity" Message-ID: <6402@goanna.cs.rmit.oz.au> Date: 20 Jun 91 11:06:32 GMT References: <3405@shodha.enet.dec.com> Organization: Comp Sci, RMIT, Melbourne, Australia Lines: 44