数学記号とメタ記号

このシステムで使用される記号を数学記号と呼びます。
これは人間も機械も使用するものです。
ほとんどの数学記号は(単独で)tex表記を持ちます。通常、私たちが目にするのはtex表記ですが、web上でそれをクリックするとtxt(機械への入力時に使用される記号本体)が出てきます。例 \(=\)
php functionの tex と tex1 はtex commandを返します。tex("=") も = です。
手元のコンピュータがtex commandをtex表記にしているハズ。


tex表記が同じでも異なる記号があります。
\(=\) は2つの集合が等しいこと、\(=\) は2つのクラスが等しいことを表します。

システムについて説明するメタ部分の記号としてタイプライター体のもの使います。等号として \({\tt =}\) を、変数として \({\tt x}\) などを。「\({\tt x}\) = \(=\) のとき~」
でも見やすさの為に、メタ記号として\(=\)を使ってしまったりします。
断りなく \({\tt n}\) が出てきたときは、1以上の自然数とします。

ものを並べたものを列と言います。
\({\tt x}\) を \({\tt n}\) 個並べた列を \({\tt x}^{\tt n}\) とします。
列 \({\tt F}\) に対して\({\tt F}\)の\(n+1\)番要素を \({\tt F}[n]\) とします。\([n]\) もメタ記号です。
\({\tt F}\)の長さが\(n+1\)のとき \({\tt F}={\tt F}[0]\,{\tt F}[1]\,\cdots\,{\tt F}[n]\) となります。

一般に言語は「単語の列」で構成されます。
自然言語に於いては、単語列のうち文法を満たすものが「文」なります。
文は意味が考慮され入れ子の列になります。
例 I think that [that that that [that boy wrote] is wrong].
入れ子でない列→入れ子列 を parse、入れ子列→入れ子でない列 を flatten と言います。

列は誤解を生みうるものです。10 は「数字の十」とも「1,0の列」とも取れます。
自然言語で単語はsymbolの列です。文の列として文章が作られます。
英語では、symbolの列の区切りは無し、単語の列の区切りははスペース、文の列の区切りはドットです。

数学記号の列

私たちは数学記号の列を扱います。数学を記述するための言語を作るとも言えます。
文と呼べるものにはp-FormThmがあります。

記号列もtex表記およびtxtを持ちます。
txtは各記号のtxtをスペースで区切って並べたものです。例 \(x x\)
bracketと呼ばれる記号に \((\) \()\) \([\) \(]\) とtex表記が空の { } があります。txtにおいてbracketの前後ではスペースを略せます。例 \(( x )\)
一般にtxtの入力を補助することをsupportと呼びます。sp_support がスペースのsupportに使用されます。

tex表記を作るためにしか使用されない記号があります。
\, \; \! はtex表記でスペースを調整します。例 \(x \; x\)
\(x_{1} x_{2} \cdots x_{99}\) なんて表記もできます。