このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

Globularの使い方 (2): サンプル・ワークスペース

簡単な例題のワークスペースを公開しました。

内容:

  1. 扱っているトピック
  2. 注意事項
  3. 指標(セル一覧)
  4. ワークスペースを作る手順

扱っているトピック

ワークスペースの内容は、「記法バイアスと記法独立な把握: 順序随伴を例として」そのままです。証明している定理は「順序随伴性: ガロア接続の圏論」に書いたものです。

次のセットアップ(状況設定)をします。

  1. Aはプレ順序集合である。
  2. Bはプレ順序集合である。
  3. aはAの要素である。
  4. bはBの要素である。
  5. FはAからBへの単調写像である。
  6. GはBからAへの単調写像である。

この状況のもとで、定理の仮定と結論は次のようになります。

  • 仮定1: F(a) ≦ b
  • 仮定2: idA ≦ G\circF
  • 結論: a ≦ G(b)

以上の状況と定理を、Globularのなかで再現し証明を与えたものが、当該ワークスペースです。

注意事項

僕が手書きで描いた絵をGlobularで再現するようにしました。しかし、手書きとGlobularでは方向の約束が違います。水平方向は左から右で同じですが、鉛直方向が違います。

  • 檜山手描き: 上から下に向かう
  • Globular: 下から上に向かう

檜山手描きの上下方向を逆にすると、Globularの絵になります。


記法バイアスと記法独立な把握: 順序随伴を例として」では、集合Aの要素 a∈A とその格上げ a~:☆→A を区別しました。Globularでは、集合の要素という概念はないので、aは自明なプレ順序集合IからAへの射としています。つまり、要素aと格上げa~の違いはないのです。なお、Globular内で非アスキー文字が使えないので、☆はIにしています。

指標(セル一覧)

指標(セルパレット)には合計11個のセルがあります。次元ごとの内訳は:

  • 0次元セル 3個
  • 1次元セル 4個
  • 2次元セル 3個
  • 3次元セル 1個

以下に、セル(指標の要素であるダイアグラム)を全部列挙します。セルの名前とプロファイルは、「名前:k ソース(域)→ターゲット(余域)」の書式です。ここで、kはセル次元。

番号 名前とプロファイル 説明
1 A:0 プレ順序集合
2 B:0 プレ順序集合
3 I:0 自明な(単元の)プレ順序集合
4 a:1 I→A Aの要素
5 b:1 I→A Bの要素
6 F:1 A→B 単調写像
7 G:1 B→A 単調写像
8 Ass-1:2 (a F)→b F(a) ≦ b という命題
9 Ass-2:2 A^→(F G) idA ≦ G\circF という命題
10 Concl:2 a→(b G) a ≦ G(b) という命題
11 Theorem:3 Concl→Proof 定理の結論と証明

Ass-1:2(2-セルであるAss-1)が定理の仮定1、Ass-2:2が仮定2、Concl:2が結論です。定理の全体を表すTheorem:3は、結論であるConcl:2から証明を表す2次元ダイアグラムProofへの3次元セルです。Proofはセルパレットに登録されてない(したがって、セルではない)ですが、Theoremの一部なのでビューペインに表示できます。ワークスペースの初期状態では、2次元ダイアグラムProofがビューペインに表示されています。

ワークスペースを作る手順

公開されたGlobularワークスペースは、誰でも閲覧・調査できます。しかし、同じワークスペースをスクラッチから作る手順を伝える方法がありません。あるとすれば、動画(ビデオチュートリアル)でしょうが、手間がかかりすぎます。自然言語で長々・ダラダラと書くのは書き手/読み手、どちらにとっても苦痛です。

ここでは、簡単なスクリプト言語をでっち上げて、それを使って操作法を伝達することにします。

GUI/マウスで行う基本操作をオペレーションと呼び、名前を付けます。

オペレーション名 説明
New パレット上部の"New 0-cell"ボタンを押すこと
Make セルの名前(ラベル)と色を適切に設定すること
Select マウスでセルを選択して、ビューペインに表示すること
Source 画面右の"Source"ボタンを押すこと
Target 画面右の"Target"ボタンを押すこと
Attach マウスでセルを選択して、そのセルをダイアグラムに接着すること
Theorem 画面右の"Theorem"ボタンを押すこと
SetView ビューコントロールを設定すること

Attachのとき、接着箇所の候補が出たときはそれを選びます。j番目の候補を選ぶことを Attach x (j) と書きます。実際の操作のときは、コマンドのショートカットキーを使うと速いです。

複数のオペレーションの順次実行の区切り記号にはセミコロンを使います。順次実行以外の制御構造はありません。

まず、セットアップ(状況設定)の手順を示します。

  1. New; Make A:0
  2. New; Make B:0
  3. New; Make I:0
  4. Select I; Source; Select A; Target; Make a:1 I->A
  5. Select I; Source; Select B; Target; Make b:1 I->B
  6. Select A; Source; Select B; Target; Make F:1 A->B
  7. Select B; Source; Select A; Target; Make G:1 A->B

これで使用する0-セルと1-セルが出来上がります。次に、定理の仮定となる2つの命題を2-セルとして構築します。

  1. Select a; Attach F; Source; Select b; Target; Make Ass-1:2 b->a F
  2. Select A; Identity; Source; Select F; Attach G (2); Targete; Make Ass-2:2 A^->F G

結論の2-セルを作る必要はありません(作ってもいいのですが、同じ内容のセルが重複してしまいます)。証明ダイアグラムの構成(リーズニング)は次のようにします。

  1. Select Ass-2; Attach a; Attach Ass-1; Theorem
  2. Make Concl:2 a->b G
  3. Make Theorem:3 Concl->Proof

証明ダイアグラムの部品(パーツ、ピース)としてAss-1とAss-2が使われていることが、これらが定理の仮定である意味です。Theoremコマンドは、2つのセルをパレット(指標)に追加します。

  1. 現在のダイアグラムと同じソース(域)とターゲット(余域)を持ち、唯一のノード(中心にある点)を持つダイアグラムを作り、セルとして登録する。
  2. 上記で作ったセルをソースとして、現在のダイアグラムをターゲットとして、唯一のノードを持つダイアグラムを作り、1次元高いセルとして登録する。

最初に作られたセルが定理の結論(あるいは定理のステートメント)を表します。二番目に作られた次元が高いセルは、定理の結論と証明(結論が成立する証拠)を結びつけるだけの役割です。

最後に、証明ダイアグラムをビューペインに表示しておきましょう。下のスクリプト内に出てくるTheoremは、Theoremコマンドではなくて、セルの名前としてのTheoremです。ちょっとややこしかった。

  • Select Theorem; SetView(Project=0, Slice=1)