リーン チュートリアルの最初の 3 つの章を完了し、命題論理でいくつかの証明を既に完了しました。
今、私は少し戻って、愚かな質問を自問しようとしています.
私の理解は次のとおりです。
- 項には次のタイプがあります:
constant A : Type
.A
は用語でType
あり、 のタイプですA
。 - 用語はタイプになることができます:
constant a : A
. - 用語のタイプは、別の用語のタイプに依存する
constant B : A -> Type
場合があります。constant B' : Π (a : A), Type
しかし、このコードは型チェックを行っていないため、この理解は明らかに間違っています。
constant A : Type
constant a : A
constant B : A -> Type
constant B' : Π (a : A), Type
constant C : Π (b : B), Type
constant C' : Π (B : A), (Π (b : B), Type)
constant C'' : B -> Type
で始まるすべての行constant C
、つまり行 9、11、および 13 でエラーがスローされます。error: type expected at B
なんで?すべての項が型になるわけではないと思います。タイプが他のタイプに依存する用語はタイプになれないのではないかと思います。なんで?