あまりにも車輪の再発明が凄まじ過ぎて、用法や雰囲気(だけ)が違う同義語が山のようだ。少し整理しておく。
基本レベルとは圏の次元を基準としたレイヤー番号のこと。基本レベルが1の存在物〈スタッフ〉はレイヤー1にいて、存在物の圏論的次元は1。
基本レベル k | k-クラス | k-インスタンス | 圏論的には |
---|---|---|---|
0 | 集合, 型 | 要素,値, データ | 要素 in 0-圏 |
1 | 2-型,種,型クラス | 型,代数系,クラス実装 | 対象 in 1-圏 |
2 | 3-型,メタ種 | 種 | 1-圏 in 圏の2-圏 |
注意:
- 0-クラスは0-圏なので集合。プレーンな集合とは限らず、直積集合とか指数集合とかかも知れない。
- 0-インスタンスは0-クラスの対象なので、集合の要素。値、データだが、タプルデータや関数データもあり得る。
- 1-クラスは1-圏なので圏。プレーンな圏とは限らず、直積圏とか関手圏とかかも知れない。
- 1-インスタンスは1-クラスの対象なので、圏の対象。集合、構造付き集合、代数系だが、公理を満たす必要があるかも知れない。
- 2-クラスは2-圏。プレーンな2-圏とは限らず、直積2-圏とか関手2-圏とかかも知れない。
- 2-インスタンスは2-クラスの対象なので、2-圏の対象。圏、構造付き圏、代数圏だが、公理を満たす必要があるかも知れない。
0-インスタンスには、制約を満たす直積集合の要素が許されるから。データベース・レコードは0-インスタンスとなる。
0-インスタンスであるレコードを要素とする集合は0-クラスになる。したがって、データベース・テーブルは1-クラスになる。1-クラスは演算を持ってもいいので、オブジェクト指向クラスは1-クラスになる。オブジェクト指向クラスの1-インスタンスは、オブジェクト・インスタンスとしてのレコード・データである。
代数系、実装/(言語処理)エンジン は同義語だけど、言葉の運用が違う。A:Σ --◇ A' がAのプロファイルだとして:
- Aは、A'におけるΣ-代数
- Aは、ΣのA'{値}?エンジン
- Aは、ΣのA'実装
- Aは、(Σ, A')-クラスのインスタンス
次の記事を見て、言葉の運用も考えるとよい。