「多ベクトル空間=ベクトル空間のリスト」を対象として多線形写像を射とする圏をPLとする。PLは複線形写像の圏(ちょっと奇妙な圏だが)の上のモナドのクライスリ圏。そのモナドは拡張スタイルで定義すると:
- 型構成子は、T: (V1, ..., Vn) (V1...Vn)
- 単位は、τV:V→T(V)
- 拡張は、複線形写像の線形化 f fL
クライスリ圏PLにおけるプロファイル計算を、ゲンツェンのLK風に行う。
プロファイル=シーケントの推論を、多線形写像の“変換”と呼ぶことにする。
プロファイル -------------- 変換 プロファイル
変換は、PLのホムセットのあいだの写像になる。変換は:
- 換: リストの置換、置換射の前結合と後結合
- 増減: Iの挿入と削除
- カット: 縮約
- 導入: 左辺または右辺にを入れてよい
- ゲルファント変換: 右辺の項目を、¬を付けて左辺に移動
- 反ゲルファント変換: 左辺の項目を、¬を付けて右辺に移動
使ってよい基本シーケントは:
- A → A
- ¬A, A → I
- I→A, ¬A
- A, B → B, A (換と同等)
- I, A → A, A→I, A (増減と同等)
- A → ¬¬A, ¬¬A → A (ゲルファント同型)
カリー化/反カリー化:
U, V → W ---------------- カリー化 U → [V → W]
ここで、[V → W] = homPL(V, W) PL(V, W)。
他にシェーピング〈shaping〉という操作がある。
U, ¬V → W ---------------- シェーピング [¬V/U] → W
フル・ゲルファント変換とシェーピングを続けた変換をネルソン変換と呼ぶ。
U → V ----------- フル・ゲルファント変換 ¬V, U → ----------- シェーピング [¬V/U] →
ネルソン変換に基底選択を続けると、成分表示
U → V in PL ------------------- ネルソン変換 [¬V/U] → in PL ------------------- 基底選択 [J/I] >→ R in Set
シェーピングに関連して
- 形状付き型
- 形状付きデータ
- 形状付き引数
- 形状付き引数関数
形状の書き方: