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

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

論理資源管理

ざっと調べたが、雑でイイカゲンで未完成である。

一般的な概念

  1. モジュールとパッケージ:モジュールを集めてパッケージ
  2. パッケージマネージャ
  3. グローバルインストールとローカルインストール
  4. プロジェクト: 作業をするための環境
  5. パッケージのメタ情報
  6. パッケージのパブリッシュまたはアドバタイズ:公開する/投稿する
  7. パッケージのバージョニング
  8. ユーザー=オーサーのメタ情報

Mizar

  1. 基本単位は Mizar article
  2. ローカルでの場所は $MIZAR_HOME/mml/
  3. 「.mizファイル=article=記事」で、すべての記事がフラットに配置される。
  4. 記事名はなんと8文字まで。アホか!
  5. 依存関係は、記事のenvironとbeginの間に書く。
  6. environ部の記述は異常に分かりにくい。超難解。クソ。
  7. article構文は http://www.mizar.org/language/mizar-grammar.xml#Article
  8. コンパイルされた記事は $MIZAR_HOME/prel/ の下に独自形式で格納。
  9. 記事の管理は中央集権方式
  10. 野良記事は認めない。
  11. articleの内容:definition, theorem, scheme, notation, ...
  12. .mizソースコードから自動的にPDFが生成されるようだが、ツールは非公開。
  13. 雑誌"Formalized Mathematics"は年4回出版。Volumeが単位で、Volumeは記事の集合。
  14. 過去に"Formalized Mathematics"に載った記事はすべてMMLに入るので、中央集権的に単調にMMLは膨張する。
  15. MMLは、特定時点(特定バージョン)では唯一の存在で、その信頼性や有意義性は委員会方式で担保される。
  16. ある意味、単純明快であるが、メカニズムは最悪。

Isabelle

  1. ライブラリのトップレベルの文書的単位はチャプター、物理的にはディレクトリ。
  2. チャプターディレクトリは $ISABELLE_HOME/src/ の直下に全て大文字の名前。ただし、$ISABELLE_HOME/src/ には、プログラムソースも一緒くたになっている。
  3. チャプターのメタデータは $chapter/ROOT というテキストファイル
  4. チャプターの下にファイルやディレクトリを作れる。
  5. チャプターやそのサブディレクトリの文書テンプレートと参考文献データは ./document/ に置く。ROOTを持つのはchapterだけ。
  6. 「.thyファイル=セオリー」は、ライブラリルート($ISABELLE_HOME/src/)からの相対パスで識別する。
  7. 文書構造としては、チャプターの下はセクション
  8. 物理的なディレクトリを論理構造としてはセッションと呼ぶ。
  9. セッションにオーナーシップがある。この意味でセッションはパッケージ。
  10. セッションの階層構造を許す。セッションの子はセッションでもセオリーでもよい。
  11. セッションはセオリーを含む。
  12. セオリーごとにタイトルと著者と著作権を持ってもよい。
  13. セオリーは依存関係を持つ。importsで依存関係を示す。
  14. セッション/セオリー構造はファイルシステムと同じで、ファイルシステムにそのままマップされる。セッション→ディレクトリ、セオリー→.thyファイル。

Coq

また後日。