続・バンチと圏論を使えばいいのに

バンチと圏論を使えばいいのに - (新) 檜山正幸のキマイラ飼育記 メモ編 の続き。

一般論だが; 集合、部分集合、要素の区別はけっこう難しい。要素と単元集合、ボトム要素と空集合などがある。同様にクラス/型とインスタンスの区別も難しい。クラス/型はスキーマ=指標で定義されるが、スキーマとインスタンスの区別は難しいことになる。

実際、JSONの場合、型を値に認めて、値と単元型を同一視すると、スキーマとインスタンスの区別はなくなる。スキーマはインスタンスの集合を定義し、インスタンスは単元集合を定義するスキーマとみなせる。

スキーマは制約条件なので、論理式でも書ける。論理式とインスタンスは一見別物だが、上記の事情で同一視可能かも知れない。

メタレベルもあやしい。メタ型やメタクラスが何を言っているかは様々。ベキ集合を型と認めているだけかも知れないし、圏を型と認めているのかも知れない。指数の存在かも知れないし、もっと一般的なレイフィケーション機構かも知れない。homoiconicityを持つ言語でゲーデルエンコードすると、エンコード=レイフィケーションの前後の区別が付きにくい。

パターンマッチング方式の問い合わせ言語では、スキーマと問い合わせ〈query〉の区別がしにくい。問い合わせと制約条件の区別もしにくいし、そもそも区別する必要があるかも疑問。