数学が密かなブームということで、遠山啓著「現代数学入門」(ちくま学芸文庫)をもとに現代数学について解説しています。
数学では極端なものが重要な意味を持っている場合が多いですが、体でも極端に要素が少ない体が注目するべき性質を持っています。
そのような最小の体は、前章で述べましたが、0とeだけからできている体で、それはもちろん標数2の素体です。
eを1で書くことにしますと、加法と乗法は次のようになります。
■加法
0 1
0 0 1
1 1 0
■乗法
0 1
0 0 0
1 0 1
この体をGF(2)と書くことにします。
一般に有限体をGalois fieldと言いますので、その頭文字をとってGFと書きます。
かっこの中の2は位数を表わします。
それ故にGF(2)は位数2の有限体という意味です。
GF(2)は記号論理学と密接な関係にあります。
A、B、C、……が「雨が降る」「風が吹く」「私は学校へ行く」、などという命題を表わす記号とします。
これらの命題は真であるか偽であるかのどちらかであるとします。
世論調査では「賛成」「反対」のほかに「わからない」という票がかなりあのますが、ここでは、或る命題は真か偽かのどちらかであるとして、第3の場合を許さないものとします。
AとBを「または」(or)でつないだ命題をA∨Bで表し、これを選言命題と名付けます。
Aが「雨が降る」、Bが「風が吹く」であったならA∨Bは、「雨が降るか、または風が吹く」という命題になります。
これに対してAとBを「そして」(and)でつないだ命題A∧Bで表し、これを連言命題と呼びます。
上の例では、A∧Bは「雨が降って、そして風が吹く」ということになります。
A、Bは真、偽いづれもなり得るものと看做せば、A∨BとA∧Bはそれにつれてどうなるのかを考えてみましょう。
すると以下の表のようになります。
A B A∨B A∧B
真 真 真 真
偽 真 真 偽
真 偽 真 偽
偽 偽 偽 偽
ここで、仮にA∨B=f(A,B)という2変数関数の形に書いて、A、Bは{真,偽}という値をとる変数で、f(A,B)はそれについて、やはり真、偽いづれかの値をとる関数と看做すことができます。
ここで真、偽という値をGF(2)の0と1をうまく対応させることを考えてみましょう。
連言命題にはまず、次の恒等式が成立することに注目します。
A∧A=A
ここで∧を×になぞらえてみますと、A×A=Aになり、Aは0か1かの値をとり、その関係がそっくりそのままになっていることに気付く筈です。
ここで偽→0、真→1と置き換えてみますと、それは以下のような表で表すことができます。
■A∧B
A\B 偽 真
偽 偽 偽
真 偽 真
■A×B
A\B 0 1
0 0 0
1 0 1
つまり、A∧B=f(A,B)という{真,偽}の値をとる関数は、A・BというGF(2)の値をとる関数で置き換えることがができるのです。
次に、「否定」はどうでしょうか。
Aが「雨が降る」であるとしたならば、Aの否定は「雨が降らない」であり、これはA'(もしくはAの上に―、~A、……などと書くこともあります)で表すことにします。
A'はAとは真、偽の値が正反対です。
GF(2)の中で言いますと、Aが0のときはA'は1、Aが1のときはA'は0です。
このような関数は、1-Aです。
それ故に、
A'=1-A
と書けます。
否定の否定は肯定ですので、
A''=A
ところで、連言と宣言との間には次のような関係があります。
(A∨B)'=A'∧B'
(A∧B)'=A'∨B'
これに具体的な命題を当てはめてみますと、
(A∨B)'=A'∧B'
両辺の否定をつくりますと、
A∨B=(A'∧B')
これをGF(2)の中で考えますと、
A∨B=1-(A'∧B')
= 1-(1-A)(1-B)
= 1-(1-A-B+AB)
= A+B-AB
しかし、-AB=ABですので、
= A+B+AB
と書いても間違いではありません。
つまり、∨と∧はGF(2)のなかの+、×で表すことができます。
ところで、A∨BやA∧BはGF(2)の上で定義された、2つの関数ですが、このような関数を一般化してみましょう。
y=f(x1,x2,x3,……,xn)
を考えてみます。ここで、x1、x2、x3、……xnはGF(2)の要素である0、1という値をとるものとします。
このときx1、x2、x3、……、xnが互いに他と無関係に0と1かの値をとるものとします。
x1、x2、x3、……、xnの値の組み合わせは2^nとなります。
x1 x2 x3 …… xn
0 0 0 …… 0
1 1 1 …… 1
換言すれば、GF(2)の直積となります。
GF(2)×GF(2)×……×GF(2) n
ところで、yもGF(2)の要素0と1という値をとります。
つまり、むf(x1,x2,x3,……,xn)はGF(2)×GF(2)×……×GF(2)からGF(2)への写像を与えていると看做せます。
そのような写像の全体は全部でいくつあるかと言いますと、それは2^(2^n)なのは明らかです。
それ故に、n=2のときは、
2^(2^n)=
2^(2^2)=16
だけの関数が存在することになります。
GF(2)×GF(2)
を図で書きますと、座標(0,0)、(1,0)、(0,1)、(1,1)となります。
□
この四点における値が0、1のいづれかになるのですが、その組み合わせは以下の通りになります。
0 1 1 1 0 1 0 1 0 0
0 0 1 0 1 0 1 1 1 0
1 1 1 0 1 0 0 0 1 0
0 1 0 0 0 1 0 1 1 1
0 0 1 1 0 1
0 0 0 0 0 1
1 1 0 0 1 0
2 1 1 1 1 0
上記の中で
0 1
0 0
がA∧B、
1 1 0 1
がA∨Bとなります。
このような関数f(x1,x2,x3,……,xn)の具体的なモデルとしては、スイッチ回路が考えられます。
x1、x2、x3、……、xnはn個のスイッチが一つの回路に直列的につながれていてそのおのおのがオン、オフのどちらかの状態にあります。
例えばyをランプとしてx1、x2、x3、……、xnの状態に従ってランプがついたり消えたりします。
この場合、
オン→1
オフ→0
という対応を付けますと、このyは
y=f(x1,x2,x3,……,xn)
という関数になります。
このようにスイッチ回路の研究はGF(2)の上のn変数の関数が利用されています。