このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

定義のメカニズム

データ型と型シノニム - 檜山正幸のキマイラ飼育記 メモ編 で、コンプリヘンションとコンビネーションと言ったが、

  • コンプリヘンション(了解)
  • コンストラクション(構成)

にする。定義を、

  • 了解〈コンプリヘンション〉による定義
  • 構成〈コンストラクション〉による定義

に分ける。了解による定義には、それを支える了解方式〈コンプリヘンション・スキーマ〉が必要。構成のときは、構成方法を表すコンストラクタが必要。別名:

  • 構成=コンストラクション=組み合わせ=コンビネーション=マニピュレーション
  • コンストラクタ=構成子=構築子=結合子=コネクティブ

定義が付値のことなのか、着項のことなのかが曖昧で、通常は、「着項すれば付値される」を暗黙の前提にしている。

  • 了解による定義では、了解方式を記述項を書けば、それが付値を意味する。構文的に正しい記述項(構成項とは違う)は自動的に付値を保証して、その背景は了解方式である。
  • 構成による定義では、名前に構文的に正しい構成項を着項する。しかし、着項により付値は保証されない。構成項の要求指標〈requiremtn signature〉が付値されてないといけない。付値された要求指標とは、要求指標上のモデルに他ならない。つまり、付値可能条件は、構成項の要求モデル〈requirement model = requirement signatureのmodel〉が指定されていること。
  • 要求モデルのなかで、要求項は評価されるが、評価には評価用の射が必要で、それは要求モデル・要求項より次元が上がったモデルが必要。その評価モデルは、通常はシステムでbuiltinに提供される。

「定義」に関連したことで、特殊な次元で特殊な事象が起きることがある。

次元0だ(0-射だけ考える)と、区分け=プロファイリングになる。特殊事情だ。圏を指定すると、その圏が有界(有限なnでのn-圏)だとすると、(n + 1)-射は、n-射の等号になる。つまり、(n + 1)-ホムセットが単元集合になる。ホムセットが単元だということは、プロファイリングすると付値が保証される。

  • 0次元では、区分けがプロファイリングを保証する。
  • (n + 1)次元では、プロファイリングが付値を保証する。

圏がn-等式的とは、(n + 1)-射が、n-射の恒等に限ること。通常の圏は、1-等式的だとして扱っていると思う。証明の圏がやっかいのは、1-等式的ではないことである。

圏の議論を単純化するためにワイヤーフレームを取るが、もとの圏とワイヤーフレーム圏、さらにはワイヤーフレームの骨格(=リンデンバウム/タルスキー圏)がゴッチャになっていて、どこの何を指しているのかが不明になっている。

StandardMLでfunctorを使っているのは、代入子が共変でリダクト関手を誘導するから、代入子とリダクト関手を同一視してもいいだろう、ということだが、これをやっていると、そのうち何がなんだか分からなくなる。「クワってプロフする」のがとても大事。