命題を組み立てる Well-Formed


|| 数学と言えば命題ってなってほしい

この記事では『命題』の中身の詳細を扱います。

スポンサーリンク

具体的には「記号」についてですね。

 

 

それぞれ「項」「論理式」みたいな単語があって、

ざっくり言えば、命題はその組み合わせでできてるんで、

ここではその解説をする感じです。

 

 

 


目次

 

記号について

   論理記号\mathrm{and} とか \mathrm{or} とかを表す記号」

   非論理記号「論理記号じゃない記号」

 

「いわゆる一個のもの」

論理式「命題の厳密な定義」

   原子論理式「項と項を繋いだ論理式の最小単位」

 

まとめ

 

 

 


 


論理記号 Logical Symbol

 

|| 論理な記号ってどういう意味?

これは『演繹ができる記号』のことで、

まあつまり『一階述語論理で採用されてる記号』のこと。

 

\begin{array}{lllllll} 1&\top&\mathrm{T}&&&\mathrm{True} \\ \\ 0&\bot&\mathrm{F}&&&\mathrm{False} \\ \\ \\ \lnot & & &&&\mathrm{not} \\ \\ \land && &&& \mathrm{and} \\ \\ \lor && &&& \mathrm{or} \\ \\ \displaystyle \to & & &&&\mathrm{if}\text{-}\mathrm{then} \\ \\ \leftrightarrow&\equiv& &&&\mathrm{equal} \\ \\ \\ \forall&& &&&\mathrm{All} \\ \\ \exists&& &&&\mathrm{Exist} \\ \\ \\ ()&& &&&\mathrm{unit} \\ \\ \coloneqq&\equiv& &&&\mathrm{define} \\ \\ \\ \vdash&& &&&\mathrm{proof} \\ \\ \vDash&& &&& \mathrm{implication} \\ \\ \\ \therefore&& &&&\mathrm{Therefore} \\ \\ \because && &&&\mathrm{Because} \end{array}

 

具体的にはこれらのことです。

どれも学校じゃあんま見ないかもしれませんが、

実は数学の基本的な記号はこっち。あっちはあれです…







非論理記号 Non-(Logical Symbol)

 

|| というか論理記号じゃない記号

一言で言えば「論理記号じゃない記号」のことです。

 

\begin{array}{llllllll} \displaystyle 0&1&2&10 \\ \\ >&<&≧&≦ \\ \\ +&-&×&÷ \end{array}

 

見ての通り、論理記号以外の記号はたくさんあります。

というか、論理記号はあくまで基礎なので、

当然のように非論理記号の方が多いです。

 

 

というか、非論理記号というより、

単に『論理記号ではない記号』と呼んだ方が良くて、

 

\begin{array}{llllll} \displaystyle \mathrm{non}\text{-}\mathrm{ Logical \,\, Symbol }&\equiv&\mathrm{Symbol}\setminus \mathrm{ Logical \,\, Symbol } \end{array}

 

『人が扱う記号』のほとんどは

この「非論理記号」に含まれます。

 

 

 

 

 

アリティ

 

あんまり使いませんけど、

「記号がいくつの引数を持つか」を示す値のことを、

こういう風に言うことがあります。

 

 

具体的には、

=,< 」なら引数は 2 つ必要なので、アリティは 2

a=b なら、引数は ab

 

 

 

 

 

次に紹介する 3 つの記号の説明でちょっと使うので、

なんとなく覚えておきましょう。

 

 

 

 

 

定数記号

 

「定数を表す記号」のことを、

そのまんまこんな風に言うことがあります。

 

 

具体的には「 0,1,2,10,100,100000,a,b,\mathrm{const} 」とか

こういうやつのことなんですけど、

基本的に、人が使ってる記号のほとんどはこれですね。

 

 

 

ただ、これらはあくまで『記号』でしかなくて、

「解釈されるまで意味を持たない」

ということに注意してください。

 

 

というのも、例えば「 5 」を「 n0 」と表しても

分かりにくいとかなじみが無いとか、

そういうのを除けば、これといって特に問題は生じません。

 

 

というのも、

両者の『意味の解釈』は「後付け」されるので、

 

 

それが「どういう意味を持つか」は、

『決められるまで』不確定。

 

 

まあつまり「 5 」なら、

5 だろうが n0 だろうが、

どちらも 1+1+1+1+1 と定義すれば同じなわけです。

 

 

 

はい、とまあそんな感じで、

「定数を表す記号」のことを、定数記号と言います。

 

 

厳密には『解釈の一意性』が重要なんですが、

これの厳密な話は哲学の領域になるのでここではカット。

 

 

なんにしても、

『厳密に定義されている』状態で、

「それがそうだと分かる」なら、それが『定数』です。

 

 

 

 

 

関数記号

 

「元のものからなにかを得る操作」を表す『記号』

そういう記号のことをこんな風に呼ぶことがあります。

 

\begin{array}{llllllll} \displaystyle 1+2&=&3 \\ \\ 3-1&=&2 \end{array}

 

\begin{array}{lllllll} \displaystyle f(x,y)&=&z \\ \\ +(1,2)&=&3 \\ \\ -(3,1)&=&2 \end{array}

 

大体は1つか2つのものから

1つのものを得る(必ず1つだけ)やつだけを表していて、

 

 

そういう特別な記号の名前として、

「関数記号」なんて言葉がある、って感じですね。

 

 

 

用語としては、

写像(集合論)や射(圏論)の中で、

「ただ一つの値だけを返す」ものがこれで、

 

 

「関数」の意味はこれに限定されています。

 

 

なので、関数と言われたら、

基本的に複数の値を返すことはないと思ってください。

 

 

 

 

 

定数記号との違い

 

案外、これらの境界は曖昧です。

というのも「アリティ 0 の関数記号」は、

 

\begin{array}{llllll} \displaystyle f&:&\mathrm{No}&→&f \end{array}

 

「引数を持たない」ことから、

まあこんな感じの『何も変化が無い写像』になるので、

 

\begin{array}{lllrlllll} \displaystyle \sum_{k=1}^{n}a_k&=&a_1+a_2+a_3+\cdots +a_{n-1}+a_n&+&0 \\ \\ \displaystyle \sum_{}^{}&=& & &0 \\ \\ \\ \displaystyle\prod_{k=1}^{n}a_k&=&a_1\times a_2\times a_3 \cdots a_{n-1} \times a_n &\times&1 \\ \\ \displaystyle \prod_{}^{}&=& & &1 \end{array}

 

『演算の性質』と「定義」からこういう感じになって、

『結果的に定数に落ち着く』ことから、

 

\begin{array}{lllll} \displaystyle \sum_{}^{}&=&0 \\ \\ \displaystyle \prod_{}^{}&=&1 \end{array}

 

この「関数記号」は、

結果的に「定数記号」とも解釈できちゃうんです。

 

 

 

まあですから、これと定数記号を明確に分けるなら、

実は「アリティが 1 以上」である必要があって、

ここで「アリティ」が必要になる、と。

 

 

まあ、区別する必要はあんまりないんですが、

ともかく、こういうこともあるよ

くらいに思ってればそれでOKです。

 

 

 

 

 

述語記号

 

これは「状態」を表す『記号』のことです。

「なには、こういう状態だよ」みたいな。

 

\begin{array}{llllll} a&∈&S &&& a \,\, \mathrm{ is \,\, an \,\, element \,\, of } \,\, S \\ \\ \displaystyle a&>&b&&& a \mathrm{\,\, is \,\, more \,\, than \,\, } b \end{array}

 

\begin{array}{llllll} \forall x&A &&&\mathrm{All} \,\, x \,\, \mathrm{are} \,\, A \\ \\ \exists x&B &&&\mathrm{There \,\, exists} \,\, x \,\, \mathrm{that \,\, is} \,\, B \end{array}

 

代表的なものだとこういうのがありますね。

 

 

 

より意訳するなら、

a<b 」は「 ab よりも小さいよ 」

x∈A 」は「 xA に属してるよ」

 

 

とまあこういう感じで、

『記号』はこれらを省略して記述するために存在しています。

 

 

 

ちなみに、

」は「 の集まり」で、

」は「 の集まり」です。

 

\begin{array}{llllll} \displaystyle \forall x∈S &A &&\equiv&& \displaystyle \Bigl( \bigwedge_{x∈S} x \mathrm{\,\, is \,\, } A \Bigr) & \mathrm{is \,\, True} \\ \\ \displaystyle \exists x∈S &B &&\equiv&& \displaystyle \Bigl( \bigvee_{x∈S} x \mathrm{\,\, is \,\, } B \Bigr) & \mathrm{is \,\, True} \end{array}

 

詳しくは述語論理にて。

 

 

 


 


項 Term

 

|| 分かるようで分からない単語

一言で言えば「定数と変数」のことです。

 

 

「関数記号と数字の組み合わせ」

こういうのも『項』に含まれます。

 

 

 

 

 

具体例

 

定数だと「 0,1,2,3,10,500,1000000,a,b 」とか

変数だと「 x,y,z,k,n,m 」とか

関数記号との組合せだと「 -1,+x,f(3,x)=(3+x) 」とか

 

 

この辺りのものをまとめて『項』と呼んでいます。

要は「一塊の記号の列」のことですね。

(その塊の定義は↓)

 

 

 

 

 

厳密な定義

 

帰納的に定義されています。

(自然数 n を使って)

 

 

規則は以下の3つです。

「変数と定数」「関数記号」「限定」

 

 

 

 

 

規則1(当然)

 

「定数記号」と「変数」はすべて項である。

 

\begin{array}{lllll} \displaystyle 0&1&2 \\ \\ a&b&c \\ \\ p&q&r \\ \\ s&t&u \\ \\ x&y&z \end{array}

 

まあつまり、

こういう記号は全部『項』だよってことです。

 

 

 

 

 

規則2(一般化)

 

t_1,t_2,...,t_n 」が項で、

f 」が「アリティ n の関数記号」なら、

f(t_1,t_2,...,t_n) 」は『項』である。

 

 

 

具体的には、

t_1,t_2 」が『項』で、

f 」がアリティ 2 の関数記号なら、

 

 

f(t_1,t_2) 」これもまた『項』だということ。

(これを n 個にしただけ)

 

 

より具体的には、

f(1,2)=(1+2) 」これが項だって言ってます。

+ はアリティ 2 の関数記号 )

 

 

 

 

 

規則3(限定)

 

上記の『規則1,2で定めたものだけが項である』

(他の規則勝手につけちゃダメ)

 

 

 


 


論理式・整式 Well-Formed Formula

 

|| 字面からは意味が掴みにくい

要約すれば「命題を表すもの」のことです。

 

 

さて、さてさて、

ここでようやく「命題」が登場しました。

 

 

「項」とかなんかいろいろあってあれでしたが、

ここでようやくゴールです。

 

 

やっと「数学で扱う一番小さな意味あるもの」として、

「命題」を厳密に定義することができます。

 

 

 

 

 

具体例


よく使うのはだいたいアリティ 2 の記号で、

代表的なのだと以下のようなものがあります。

 

\begin{array}{llllll} \displaystyle x&=&a \\ \\ x&+&y \\ \\ x&>&y \\ \\ x&∈&A \end{array}

 

ちなみにアリティ n の記号は

 

\begin{array}{llllll} \displaystyle f(x_1,x_2,x_3,...,x_n) \\ \\ P(t_1,t_2,t_3,...,t_n) \end{array}

 

こんなやつです。

「一般形」の記述とかでそこそこ使うので、

プログラミングとかしたい人は覚えといた方が良いかも。

 

 

 

 

 

厳密な定義


論理式(あるいは式 Formula)を説明するために、

まずは「原子論理式」について見ていきます。

 

 

 

 

 

原子論理式 Atomic Formula

 

|| 最小サイズの論理式

これは、いわゆる「一番簡単な文」のことです。

まだ『真偽』は分かりません。

 

 

アリティ n の述語記号 P と、

n 個のt_1,t_2,...,t_n 」があって、

 

 

このとき、

P(t_1,t_2,...,t_n) 」という『記号の列』が、

原子論理式になります。(真偽の割り当てはこの後)

 

 

 

具体例としては、

例えばアリティ 2 の述語記号なら、

 

\begin{array}{lllll} \displaystyle P(x,y)&≡&x>y \\ \\ P(x,f(x))&≡&x=f(x) \end{array}

 

こういう感じのやつが「原子論理式」です。

 

 

 

 

 

※この概念の注意点

 

定義に書いてある通り、

これは採用される「記号」によって定義が変化します。

 

 

「ある形式で使う記号」が決定されて、

その後に、この概念は完全に定義されるんです。

んで、これを用いることで、論理式は厳密に定義されます。

 

 

 

 

 

規則1(そりゃそうだ)

 

「原子論理式」は論理式である。

 

 

これが一個目の規則です。

当然ですね。

 

 

んでまあ当然ではあるんですが、

実はこの宣言によって、

 

\begin{array}{rlc} \displaystyle \mathrm{Atomic \,\, Formula} &∈&\mathrm{Well}\text{-}\mathrm{Formed \,\, Formula} \end{array}

 

「原子論理式」は初めて『論理式の最小単位』として決定されます。

 

 

 

 

 

規則2(結合記号について)

 

φ,ψ 」が論理式を表す記号であるなら、

 

\begin{array}{llllll} \displaystyle \lnot &φ \\ \\ &φ&\land&ψ \\ \\ &φ&\lor&ψ \\ \\ &φ&\to&ψ \\ \\ &φ&\leftrightarrow&ψ \end{array}

 

これらも論理式である。

 

 

これは単に論理式同士を結合記号を使って繋げても、

そいつは論理式だと言ってるだけです。

 

 

 

具体的には、

例えば「あいつは最低だ」と

「あいつは面白い」っていう論理式があったとして、

 

 

「あいつは最低であり、かつ面白い」

これもまた論理式だ、って言ってる感じ。

 

 

 

 

 

規則3(量化記号について)

 

φ 」が論理式で、

x 」が変数なら、

∀x\,φ,∃x\,φ 」もまた論理式である。

 

 

これも単に「量化(大量に繋げる感じ)」しても、

論理式は論理式だと言ってるだけです。

 

 

 

具体的には、

「論理式 A 」があったら、

 

\begin{array}{lllllll} \displaystyle \forall x &A &&\equiv&& \displaystyle \Bigl( \bigwedge x \mathrm{\,\, is \,\, } A \Bigr) & \mathrm{is \,\, True} \end{array}

 

これも論理式だって言ってるだけ。

 

 

 

 

 

規則4(限定)

 

『規則1,2,3を満たすものだけが論理式である』

「項」と同じく、ここで限定して論理式を定義します。

 

 

 


 


まとめ

 

記号いっぱい

→「関数記号」「定数記号」「変数」で『』が出来上がり

→「述語記号」「」で『原子論理式』が完成(真偽割り当て待ち)

→「原子論理式」「論理記号」から『論理式』が誕生しましたとさ

 

おしまい