バンチ書き換え

対象物:

  1. 関数
  2. 値〈データ | ポイント〉 特別な関数
  3. 汎関数〈メタ関数〉
  4. 命題(真偽値、述語、論理式)
  5. 導出
  6. 保証 特別な導出
  7. リーズニング〈メタ導出〉

カリー/ハワード/ランベック対応

命題
関数 導出
保証
汎関数 リーズニング

項:

  1. 型項(多くの場合は集合項)
  2. 関数項〈項〉
  3. 値項
  4. 汎関数項
  5. 命題項〈論理式〉
  6. 導出項〈証明項〉
  7. 保証項
  8. リーズニング項

バンチと書き換えアクション:

  1. 型バンチと型構成子〈型コネクティブ〉
  2. 関数バンチと関数構成子〈関数コネクティブ〉
  3. 値バンチと値構成子〈値コネクティブ〉=関数後結合主体
  4. 汎関数バンチと汎関数構成子〈汎関数コネクティブ〉
  5. 命題バンチと命題構成子〈論理コネクティブ〉
  6. 導出バンチと導出構成子〈導出コネクティブ〉
  7. 保証バンチと保証構成子〈保証コネクティブ〉=導出後結合+リーズニング
  8. リーズニングバンチとリーズニング構成子〈リーズニングコネクティブ〉

構成スクリプト:

  1. 型構成スクリプト
  2. 関数構成スクリプト=汎関数スクリプト
  3. 値構成スクリプト=関数スクリプト
  4. 汎関数構成スクリプト
  5. 命題構成スクリプト=導出スクリプト
  6. 導出構成スクリプト=リーズニング・スクリプト
  7. 保証構成スクリプト=導出スクリプト?

課題:スクリプトレベルでのカリー/ハワード/ランベック対応