質問

main

私は、並びにλ2のタイプシステムで見つけることができるП型の表記の必要性の背後にある動機について混乱しています。答えは通常そのようになります - Identity関数の署名を表すことができる方法について考えます - それはλa:type.λx:a.xまたはλb:type.λx:b.xにすることができます。微妙な部分は、それらが言うと、これら2つの署名はnot equalだけでなく、それらが型変数の型変数としてAlpha-italyではなく、aはそれらの対応抽象化の内部での自由変数ではありません。そのため、このペスキーの構文上の問題を克服するために、アルファ変換でうまく演奏する順式を提示します。

だから質問:なぜですか? Alpha-Timalenceの概念を修正するだけではありませんか?

更新Z:

OH、MEの愚かな、bλa:type.λx:a.xはアルファ当量です。しかし、なぜλb:type.λx:b.xa:type -> a -> aが存在します。

SUC Z:

AHA、興味深い、これは選択的盲検性= d

の完全な例であると思います

タイプ理論と正式な証明、およびIN Lambda2 Authorについての章は、b:type -> b -> bПと正確に\t:*.\v:t.vを使用して* -> t -> tの存在をモービティブ化します。 \t:*.\v:t.vは実際にはアルファ不変です。 \g:*.\v:g.vt:* -> t -> t の違いを考えています。しかし、それはこの議論を少し些細にするわけではなく、t:* -> t -> t* -> t -> tがどんな定量化因子変数によってバインドされていないタイプa -> bについても意味のあるものでさえあります。 aは、bが実際には、追加のベルと笛を伴うラムダの抽象化に似ています。

all全体で、私はそのものを使ってやっています、ありがとう

役に立ちましたか?

解決

ここでまっすぐなことを手に入れる必要があると思います:

    $ \ lambda a:\ mathsf {type}で
  1. 。 \ Lambda x:a。 X $ 変数 $ a $ (外部 $ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \} Lambda $ )。式 $ \ lambda a:\ mathsf {type}。 \ Lambda x:a。 X $ $ \ lambda b:\ mathsf {type}。 \ Lambda x:b。 X $ $ \ alpha $ です。
  2. $ \ lambda a:\ mathsf {type}。 \ Lambda x:a。 X $ 識別関数です。 not は「ID関数の署名」です。
  3. 「ID関数の署名」が「ID関数の種類」と言っている場合は、 $ \ pi_ {a:\ mathsf {li)です。タイプ}}。 (a \ to a)$ 、または製品タイプのみが必要な場合は $ \ pi_ {a:\ mathsf {type}} \ pi_ {x: a} $
  4. まだ質問がありますか?

    多分これは助けになるでしょう:

    • ID関数の型 $ \ lambda x:a。 X $ $ a \
    • です。
    • ID関数の種類 $ \ lambda y:b。 Y $ $ b \ to b $
    • です。
    • 関数 $ \ lambda x:a。 X $ $ \ lambda y:b。 y $ は異なります
    • $ a \ $ と $ b \ to b $ の種類李>
    • 多形 identity関数 $ \ lambda c:\ mathsf {type}。 \ Lambda Z:c。 z $ $ \ pi_ {c:\ mathsf {type}}です。 c \ to c $
    • 関数 $ \ lambda a:\ mathsf {type}。 \ Lambda x:a。 X $ $ \ lambda c:\ mathsf {type}。 \ Lambda Z:c。 z $ $ \ alpha $ です.qualal
    • $ \ pi_ {a:\ mathsf {type}}。 A $ $ \ pi_ {c:\ mathsf {type}}。 c \ to c $ $ \ alpha $ です。

    補足:紅茶の上にアレックスシンプソンと話した後、もう1つのことがあることがあります。 別の $ \ lambda $ $ \ pi $ 両方とも同じ構文形状を持つように、コンストラクタは(2つの引数を取り、1つの変数をバインドされます)。実際、私の記憶が正しい場合、 automath $ \ Lambda $ -abstractionsと $ \ pi $ -types。しかし、ポイントは、の異なる概念を示すので、が2つの異なるコンストラクタを使用することです。

ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top