2016-07-11 7 views
2

Coq/CICヘッドノーマルフォームの理解に問題があります。具体的には、私は頭が何かを理解していません。リファレンスマニュアル(8.5p1)は言うことCoq head normal formのヘッドとは何ですか?

任意の用語は、以下のように書くことができる

hnf

しかし、上記の定義は、否定的な意味である:それはではないt0が必要ですアプリケーションは、t0ができることを言っていない。実際には、私が覚えている限り、t0 t1 t2 ...として書かれる唯一のものは、の関数またはコンストラクタのアプリケーションt0です。

誰かがここで首尾よく何ができるのかを綴ることができますか?

答えて

1

はい、t0 t1 ... tnはアプリケーションですが、マニュアルではt0のフォームについて話しています。手動で

、一部iためtまたはti通常用語を示し、そうt0は、任意の用語であることができ、それはアプリケーションではなく、例えばλ抽象化など - マニュアルのsect. 4.1.2と構文についてはsect. 1.2.1のリストを参照してください。

また、thisウィキペディアのページが役立つかもしれません。

+0

't0'はラムダ抽象化することができますが、この場合は' t0 t1'がベータ版であるため、通常の形式ではありません。 – pintoch

+0

確かに、あなたは正しいです。しかしマニュアルも私もそれは普通の形では言いません*。セクション[4.4](https://coq.inria.fr/distrib/current/refman/Reference-Manual006.html#subtyping-rules)、サブセクション "標準フォーム"を参照してください。問題は、OPのそれを介して動作しようとしているから来ています。 –

関連する問題