アリティ

アリティ（）とは、代数学、論理学、計算機科学などにおいて、関数や算法（演算）が取る引数（オペランド）の個数を意味する用語である。複合語としては、「変数」（例えば、二変数函数、多変数函数）や単に「項」（二項演算、多項関係など）あるいはまた（不定元の数という意味で）「(-)元」（例えば、二元連立一次方程式）という訳語が当てられてきた概念にあたる。アリティそのものに関しては項数のような訳語が当てられる場合もあれば、アリティあるいは arity とカタカナ・英単語のまま用いられることも多い。
数学におけるアリティ.
典型的には、関数 "f" の定義域が、ある集合 "S" の "n" 項の直積である場合、"f" のアリティは "n" であると言われる。 また、ある集合 "S" 上の "n"-項関係 ("n"-ary relation) は、形式的に集合の "n" 項の直積 "S""n" の部分集合、もしくは "S""n" を定義域とする特性関数として表され、これに対しても "n" をアリティと呼ぶ。
この概念は特に代数構造を抽象化して統一的に扱おうとする普遍代数学において有用である。 例えば群は、ある空でない集合 "S" 上に2項演算 (-)・(-) : "S" × "S" → "S" と、定数である単位元 "e" ∈ "S"、および逆元を与える単項演算 (-)−1 : "S" → "S" が与えられたものと見ることができる。 単位元は形式上 0 項の演算 "e" : 1 → "S" (ただし、1 = {*} は 1 点集合) と同一視できるので、群とは、集合 "S" に異なるアリティをもつ演算の集合 "Ω" = {"e", (-)−1, ・} および演算が満たすべき等式の集合 "E" = {"e"・"x" = "x", "x"・"e" = "x", "x"・"x"−1 = "e", "x"−1・"x" = "e", ("x"・"y")・"z" = "x"・("y"・"z")} が与えられたものだとみることができる。 同様に環とは、非空の集合 "S" と、(特定の性質 "E" を備えた) 4 つの演算 "Ω" = {0, −, +, ・} の対だとみなすことができる。 これら 4 つの演算はすべて値域を "S" とするが、定義域のアリティは様々である。 演算からアリティを与える関数 ar: "Ω" → N を考えるなら、環の場合 ar(0) = 0, ar(-) = 1, ar(+) = ar(・) = 2 のようになる。 このようにしてアリティの異なる演算の集合を通じて様々な代数構造を統一的に扱う道が開ける。
計算機科学におけるアリティ.
計算機科学では、種々のプログラミング言語において関数や手続きの引数の数を指してアリティと呼び、特にこの概念は言語が可変個の引数を許すような仕組みを持つ場合に有用である。 逆に、関数がその値としてタプルなどによりいくつかの要素からなるような値を返すような場合、その要素数をコアリティ (co-arity) と呼ぶことがある。
また、関係データベースの理論である関係モデルでは、ある関係（リレーション） に含まれる属性 (attribute) の数をその関係のアリティと呼んでいる。
語源.
アリティの語は、ラテン語由来の英単語で単項を unary、二項を binary、三項を ternary のように接尾辞 -ary を付けて呼んだことに由来し、独立させたこの接尾辞に名詞語尾 -ity を付けて成立した。元となった各項数の呼称には以下のようなバリエーションがある。