Haskell演算には、加減乗除(+, -, *, /)、累乗(整数の^と実数の**)、余り mod がある。これを例とする。
- 中置→前置変換 (+) 3 2 、(-) 3 2
- 前置→後置変換 10 `mod` 3 、 10 `div` 3
セクション記法
- (^2) 、 (2^) 、(*3)
- 例外 (-2) は -2 のこと。部分適用 (subtract 2) またはセクション (+ (-2))
CoqのNotation宣言
- Notation "A /\ B" := (and A B).
変数名(A, B)と演算子記号を含む文字列に意味を割り当てる。
変数を無名ラムダ変数にして、簡易ラムダ記法(関数記法)に使う。
- "_ /\ _" = λ(A, B).(and A B)
- "_ /\ _"(A, B) = (and A B)
演算子記号の記法情報〈notatinal information〉が事前にあるときは、無名ラムダ変数を省略してよい。
- "!"(n) = n! = fact(n)
- "+"(2, 3) = 2 + 3
- "+2"(3) = 3 + 2
- "3^"(5) = 3^5
記法情報とは: