アイバーソン括弧()は、数式中の命題(論理式)P を、真なら 1、偽なら 0 を返す関数として扱うための記法である。数学における指示関数(特性関数)を、式変形に使いやすい形で表す目的で用いられる。ケネス・アイバーソンにちなんで名づけられた。
一般に命題 P に対して
と定義し、角括弧([ ])に命題を入れて表す。
なお「アイバーソン記法」という語は、アイバーソンが開発した言語であるAPL(あるいは Iverson language)を指す文脈でも用いられるため、用語の混同に注意が必要である。所真理雄「IVERSON 言語 (A Programming Language)」『情報処理』14巻3号、196頁(1973年)。
概要 アイバーソン括弧は、命題を 0/1 値の関数として扱うことで、和・積・条件付きの式を「添字の条件を取り払った形」で表しやすくする。たとえば、条件付きの総和
を、無条件の総和に直して
と書ける。
また、クロネッカーのデルタはアイバーソン括弧で
と表せ、特性関数・デルタ記号を同一の枠組みで扱える。
表記と定義 角括弧の利用と注意点 この記法は角括弧([ ])を用いることが多いが、角括弧は他の用途(例えば床関数の表記など)に使われることもあるため、同一文脈での混同が起きないよう配慮が必要である。
指示関数との関係 集合 の指示関数 は
と書ける。つまり、アイバーソン括弧は命題(または集合への所属)を 0/1 値に写す指示関数を、式操作に適した形で表したものとみなせる。
歴史 名称はケネス・アイバーソンに由来し、プログラミング言語・記法の設計を通じて広められたとされる。 その後、離散数学や計算機科学の数学的基礎を扱う文脈で有用性が強調され、ドナルド・クヌースは「命題を 0/1 の関数として書く」記法として、特性関数やクロネッカーのデルタを明快に扱える点を論じた。
性質 アイバーソン括弧の基本的な計算規則は、論理や集合演算の規則と対応する。命題 P、Q に対して以下が成り立つ。 論理演算との対応
集合演算との対応( を任意の元とする)
さらに、量化(全称・存在)や個数(基数)も、積・和で表せる。 全称量化(有限集合上の積として)
存在量化(有限集合上の和として)
条件を満たす元の個数
応用 条件付き総和の変形 添字に条件が付いた総和を、無条件の総和に置き換える操作は、離散数学・確率論・計算機科学で頻用される。 たとえば、区間条件 を用いた和は
のように表せる(右辺では が範囲外で 0 となる)。
クロネッカーのデルタ・選択の表現 と書けることから、式中の「一致した場合だけ寄与する」条件を統一的に表せる。 例えば、有限集合 上で
は「 成分の選択」を意味し、アイバーソン括弧を用いると
と表現できる。
床・天井関数の議論における利用 クヌースらの教科書では、床・天井関数の性質を扱う際にもアイバーソン括弧を用いた等式が登場し、「真偽によって 0/1 を返す」関数として式を完結させる用法が示されている。
脚注
参考文献
所真理雄「IVERSON 言語 (A Programming Language)」『情報処理』14巻3号、196頁(1973年)。
関連項目 クロネッカーのデルタ 指示関数 特性関数 APL