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

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

管理・配布のメカニズムと論理構成素

管理・配布のメカニズム

  • パッケージ
  • バージョン(パッケージに付く)
  • スクリプト(物理的にはファイル、拡張子は.tenjinscript)
  • モジュール(スクリプトに制限を付けたもの、拡張子は.tenjin)
  • リポジトリ インターネット上でパッケージを保存している場所
  • ストレージ 主にローカルで、処理系がアクセスできる場所
  • ワークスペース 処理系のメモリ

リポジトリからパッケージをストレージに持ってくることをインストールと呼ぶ。インストールされたパッケージの集合体を(ストレージ化された)ライブラリと呼ぶ。ライブラリに対応する配布形式をディストリビューションと呼ぶ。

モジュール、パッケージ、ディストリビューションそれぞれに作成者や著作権がある。

論理構成素

  • 命題〈proposition〉
  • 定理〈theorem〉
  • 手続き〈procedure〉

プリミティブ〈原始、基本〉と絶対〈absolute〉という形容詞を付けることができる(無意味なこともある)。

  • 基本命題=(述語または命題文字または命題定数)
  • 絶対命題は無意味
  • 基本定理=公理
  • 絶対定理=所与命題〈given proposition〉を持たない定理
  • 絶対基本定理=絶対公理=所与仮定〈given assumptioins〉を持たない公理
  • 基本手続き=推論規則=規則
  • 絶対手続き=所与定理〈given theorem〉を持たない手続き
  • 絶対基本手続き=所与定理〈given theorem〉を持たない推論規則

最近のフェイク情報問題は、命題と定理の区別が付いてないことが原因。

非絶対定理を条件付き定理〈conditional theorem〉とも呼ぶ。条件付き定理を絶対定理に書き換えられることを主張するのが演繹定理

基本命題、基本定理、基本手続きはコンピュータッドを定義するので、2-圏が生成される。その2-圏を論理圏と呼ぶ。

用語法:基本定理はなんか誤解されそうだから、原始命題、原始定理、原始手続きがいいかも。命題、論理式、論理文は区別しない。

僕は「型クラスないと死んじゃう」病なので、当然に型クラスは入る。

  • 指標:型、関数、関係を表す変数の集まり。型理論の型文脈と同様なものだと思ってよい。指標の上に項〈term〉の集合と論理式〈命題〉の集合が定義できる。
  • 項は指標射を定義する材料に使う。論理式は、論理圏の対象となる。
  • 論理圏は、最初は最小の両付点デカルト閉圏または両デカルト閉圏として与えられる。
  • 公理(原始射=生成射)の追加で、最小のデカルト閉圏を膨らますことができる。
  • 公理の追加で、対応するモデル圏は縮退して小さな部分圏に制限される。
  • 型クラスは、指標と、その指標上の論理圏の対象のペアなので、グロタンディーク平坦化の対象となる。
  • 型クラスにより、指標のモデル圏(=マグマ圏)の部分圏が決まり、それが型クラスのモデル圏となる。
  • 型クラスのモデル圏の対象を、その型クラスのインスタンスと呼ぶ。インスタンス構造〈structure〉とも呼ぶ。
  • 論理圏をインデックス付き圏とみなした場合のグロタンディーク平坦化の射をトランスレーション〈翻訳〉と呼ぶ。トランスレーションは型クラスと型クラスを繋ぐもの。

簡素化したいので、

  • 指標と型クラスを区別せず、指標は特殊な(公理を持たない)型クラスの形で書く。
  • 指標射とトランスレーションを区別せず、指標射は特殊な(定理を持たない)トランスレーションの形で書く。

新しい論理構成素は:

  1. 型クラス classキーワード
  2. 型クラスのインスタンス instanceキーワード
  3. トランスレーション translationキーワード

相互関係

管理・配布と論理は直交しているので、お互いに干渉することはない。モジュールには何を書いてもよい。

絶対原始 原始 絶対 一般
命題 無意味 predicate 無意味 proposition
定理 givenなしaxiom axiom givenなし theorem
手続き givenなしrule rule givenなし procedure
無意味 primitive type 無意味 type
関数 primitive const primitive function const function
手続き? ? ? ? ?

 

結合子
命題 ∧, ∨, ⊃, ¬, ∀, E, True, False
定理 id, ;, <, >, [ , ], ( , )
手続き id, ;, <, >, [ , ], ( , )
×, +, >^, ^<, unit, empty
関数 id, ;, <, >, [ , ], ( , )
手続き? ?