このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

指標と仕様と表明

nに対して、n-指標はn-セル=n-項までを持つコンピュータッドとして定義される。n-指標はn-コンピュータッドだから、n-圏を生成する。このn-圏に、(n+1)-射の族を追加する役割が(n+1)-表明。n-指標と(n+1)-表明の組み合わせがn-仕様((n+1)-仕様ではない)。

  • n-仕様 ≒ (n+1)-指標

だがイコールではない。微妙な差がよく分かってない。

とりあえず表明〈assertion〉の構文だが、

  • ∀{ ここにn-指標 } ⇒ (n+1)セルの定義

型シーケント=型文脈と似ている。だが、⇒の左に出てくる指標の名前は束縛変数であり、特定の射を表してない。左辺はパターンなのだ。「左辺のパターンが出現したとき、右辺のセル(射)を生成していい」が表明の意味。

等式的表明の場合は、

  • ∀{ ここにn-指標 } ⇒ α = β

αとβはn-式で、左辺の束縛変数と、指標部分で出現した名前(項目)を使って組み立ててよい。等号が(n+1)-射を意味していて、等号だから恒等射であるという制約がある。また、意味である圏がn-圏だとすると、(n + 1)以上は潰れているから、等式に対応する射は存在しても1個である。

ソフトウェア的に考えると、指標部分には宣言と定義しかない。これはオペレーター=オペレーションコマンドで実装する。オペレーションコマンドは、実は何もしなくて、式を生成するだけ。その式を評価/還元することはない。

一方、表明、特に等式的表明はリライターで実装される。リライターはオペレーターとしても使える。オペレーター機能(式の生成機能)にさらに、式の評価/還元機能を持っている。生成と評価/還元をワンタイミングでやることをリライトと呼ぶ。

オペレーターとリライターを作ってみて、動かしてみると謎が解けるかもしれない。おそらくは、階層的・段階的なリライトという概念があるのだと思う。= と ⇔ が似ているのは、それが最上位にあるときはリライターとなるからだろう。

  1. 算数では、+や*はリライターである。= の判定は自明。
  2. 記号算では、+や*はオペレーターで、=はリライターとなる。それとは別に、等式のあいだの⇔の判断があり、自明ではなく、等式的論理レベルのリライターがある。
  3. 論理計算では、⇔はオペレーターで、命題の書き換えのリライターがある。

次のようなリライターが登場した。

  1. 具体的な数の計算のリライター
  2. 代数式(文字式)のリライター
  3. 等式のリライター
  4. 論理式のリライター

これらの階層性・段階性を考える。