はじめに

私たちは、数学を「単なる記号列を変形していくゲーム」とみなします🎮
それを機械に行わせるべく、ルールを決めます。
数学の現場(大学の数学科)で使われる表現を、なるべくそのまま使用できるようにします。

ルールは完全・厳密でなくても機械化できればOKと考えます。
一部のルールは未完のまま放置されていますし、新しいルールも追加される可能性があります。
詳しいルールは補足のページにあるかもしれません。

web上でクリックすると出てくるものを注釈と言います。クイズなんかもできます。今日は?

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

列は誤解を生みうるものです。10 は「数字の十」とも「1,0の列」とも取れます。文脈から判断!?
自然言語ではsymbolの列として単語が、単語の列として文が、文の列として文章が作られます。
さらに、文は意味が考慮され入れ子の列になります。
 I think that that that that that boy wrote is wrong.

入れ子でない列→入れ子列 を parse、入れ子列→入れ子でない列 を flatten と言います。