5 Equations and functions

 ここまでの段階でもtermはかなり複雑に見えるかも知れませんが,根本的には次の4種に過ぎません.
・Variables (`x:bool`や`n:num`など)
・Constants (`T`や`(~)`など)
・Applications (`~p`のような演算子を変数に作用させて得られるtermの組合せ)このApplicationを分解するには

rator `˜p`;;
val it : term = `(˜)`
rand `˜p`;;
val it : term = `p`

とします.なお,term`2`がApplicationであることは

rator `2`;;
val it : term = `NUMERAL`
rand `2`;;
val it : term = `BIT0 (BIT1 _0)`

とすれば確かめられます.
・Abstractions