1_basis/2_class.book(保存済みの内容) … 編集へ / 一覧へ

クラス
admin
import 1_logic.book

1 クラスの導入

このシステムではクラスというものも扱えます。gramにcが入ったwordが登場します。
クラスは素朴に「ものの集まり」と捉えるのが良いです。「属する」が基本になります。
\(\mathbb{W}_+\)(sc,p) … \(\in\)
クラスを走る変数がv_-Formです。gramが(,c)で \(X\) などがあります。
\(x \in X\) はp-Formです。「\(x\)というものがクラス\(X\)に入っている」と読むと良いでしょう。
\(X \in X\) はp-Formではありません(s-Formとc-Formは区別されます)。

クラスを扱うときには、「クラスの等号」が出てきます。
\(\mathbb{W}_+\)(cc,p) … \(=\)
これは次の「定義」を持ちます。一般に 〇. は 〇の定義 という位置づけになります。
=_. … \(X = Y \Longleftrightarrow \forall x \, ( x \in X \Leftrightarrow x \in Y )\)

cvtという規則が重要です。
〇. は自然にcvt規則を生成します。=_. は次のようなcvtを生成します。
cvt … \(X = Y\)\(\forall x \, ( x \in X \Leftrightarrow x \in Y )\)

「単ソート翻訳」では cvt規則 によって \(\mathbb{W}_+\) が処理されます。
次のthmはgoalが \(\forall x \, ( x \in X \Leftrightarrow x \in X )\) となり、自明です。
\(X = X\) \(\blacktriangleleft\) O

2 内包記法

内包記法はクラスを生成する標準的な道具です。 \(\{ x \mid P \}\) という自然な形で使用できるようにしておきます。
\(\mathbb{W}_+\)(vp,c)F … \(\mathsf{cls}\)
abbr … \(\{ x \mid P \}\)\(\mathsf{cls} ( x , P )\)

次のcvtが重要です。
cvt … \(X \in \{ x \mid P \}\) ≃ substitution(\(P\), \(x\)\(X\))
次の翻訳は内側からやる方が楽です。
  \(x \in \{ y \mid z \in \{ x \mid x = y \} \}\)\(z = x\)
外側からだと \(\int f(x)dx = \int f(y)dy\) みたいな「束縛変数の名前替え」が必要になります。

イベント 8 件