私は次のプログラムの最後の行の型エラーを取得しています:Coqで `fold_right`と一緒に` app`を使用できないのはなぜですか?
Require Import List.
Import ListNotations.
(* This computes to 10 *)
Compute (fold_right plus 0 [1;2;3;4]).
(* I want this to compute to [5;6;7;8] but it gives a type error instead *)
Compute (fold_right app [] [[5;6]; [7;8]]).
これは私が取得エラーです:私はこれを取得していますなぜ
Error:
The term "app" has type "forall A : Type, list A -> list A -> list A" while it is expected to have type
"Type -> ?A -> ?A" (cannot instantiate "?A" because "A" is not in its scope).
私は本当に理解していませんエラー。 app
とplus
の違いは何ですか?それはapp
が多形であるのに対して、plus
は単形nat -> nat -> nat
の機能ですか?
重要な場合は、私のCoqのバージョンは8.5です。
私は私の答え[ここ](http://stackoverflow.com/questions/37211899/purpose-of)のこの種の動作のいくつかの例を提供しようとしました。 -maximal-vs-maximal-implicit-arguments)を指定します。 HTH。 –