合成
セルを繋ぎ合わせて高次のセルを構築します。
0次合成
スペースで区切ると 0次合成 になります。左の target と右の source が一致する必要があります。
u: *
x: u → u
y: u → u
xy = x y // u → u
x の target(u)と y の source(u)が一致するため合成でき、結果は u → u の 1-cell になります。
1次合成
; で区切ると 1次合成 になります。1つ上の次元で、左の target と右の source が一致する必要があります。
u: *
x: u → u
μ: x x → x
xm = x x; μ // x x → x
n次合成
; を n 個並べると n次合成 になります。;; は 2次、;;; は 3次です。(n+1) 次元以上のセルで使います。
α: μ x; μ → x μ; μ
result =
α x; μ ;;
x μ x; α
;N(例: ;3)と書くことで任意の次数を数値で指定することもできます。
優先順位
高次の合成ほど結合が弱くなります:
- スペース(0次)— 最も強い
;(1次);;(2次);;;(3次)— …
a b; c d ;; e f; g は ((a b); (c d)) ;; ((e f); g) と解釈されます。
括弧 () で優先順位を制御できます。