まず、次は同義語扱いしたほうがいい。
- 変数の型宣言
- 型コンテキスト
- 0-指標
- ポイント1-射だけの1-指標
- 構造体定義
- レコード定義
- テーブルスキーマ
例えば、
variable x, y : Real, c : Color
type-context {x:Real, y:Real, c:Color}
0-signature _ {
0-mor x in Real
0-mor y in Real
0-mor c in Color
}
1-signature _ {
1-mor x : 1 → Real in Set
1-mor y : 1 → Real in Set
1-mor c : 1 → Color in Set
}
struct ColoredPoint {
Real x,
Real y,
Color c
}
record ColoredPoint {
x: Real,
y: Real y,
c: Color
}
schema ColoredPoint {
x : Real,
x: Real,
c: Color
}ソート、ポイント1-射、変数型選言、法則からなる定義を伝統的指標と呼ぶ。
参考: U+21D2 ⇒ RIGHTWARDS DOUBLE ARROW, U+21D0 ⇐ LEFTWARDS DOUBLE ARROW
trad signature Monoid {
sort U
point m:[U ⇐ U×U]
point e:U
variable x, y, z : U
law assoc :: m(m(x, y), z) = m(x, m(y, z))
varible x : U
law lunit :: m(e, x) = x
law runit :: m(x, e) = x
}伝統的指標は、無法則指標と型コンテキストと型コンテキスト上の論理式〈命題〉に分解できる。
無法則指標に対して、それから生成される型と関数の圏、型コンテキストと置換の圏が決まる。法則の命題は、ハイパードクトリンの生成系になる。
- assoc-prop ∈ Prop[{x, y, z : U}]
- lunit-prop, runit-prop ∈ Prop[{x : U}]
デカルト・ハイパードクトリンに対する演繹システムは、次の構文要素を持つ。
- 型項
- 関数項、複関数項、多関数項
- 型付き変数と型コンテキスト
- 置換〈代入〉射
- 命題項=論理式
- 導出項=マクロ導出
- リーズニング項=マクロリーズニング
Γ, Σ, Δ などは型コンテキストを表す。置換射〈substitution〉は S:Γ → Σ というプロファイルを持つ、これは導出とシーケントではない。
置換射は、反変的な翻訳関手〈translation functo〉 S* = (-)[S] を誘導する。翻訳関手、翻訳関手の対象パート/射パートを置換〈代入〉と呼ぶことがある。
限量子は翻訳関手の左右の随伴パートナー関手として定義される。限量子は命題と導出の圏のあいだの関手である。
それと、$`\Gamma \mid \Theta \vdash \psi`$ 形式のシーケント(導出のプロファイル)において、
- $`\Gamma`$ は型コンテキスト〈type context〉
- $`\Theta`$ は命題コンテキスト〈proposition context〉
- $`\psi`$ はターゲット命題〈target proposition〉
型コンテキストで宣言された自由変数しか命題内で使えない。
例:
$`\quad \{x:{\bf N}, y:{\bf N} \} \mid (\text{odd}(x), \text{odd}(y)) \vdash \text{even}(x + y)`$