Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
システム F では、次の 3 つのタイプの違いは何ですか。
ここにテキストで再現:
∀X.((X → X) → (X → X)) ∀X.((X → X) → ∀X.(X → X)) ((∀X.X → X) → (∀X.X → X))
2番目のものは最初のものよりも一般的ですか?
forall量指定子のバインドの強さに依存します。()次の端末式 (変数または-block)にバインドすると仮定しましょう。
forall
()
最初は(X0 -> X0) -> (X0 -> X0)where X0is a fresh type variable になります。
(X0 -> X0) -> (X0 -> X0)
X0
(X0 -> X0) -> forall X1. (X1 -> X1)2つ目はどこX0になるのかX1新鮮です。
(X0 -> X0) -> forall X1. (X1 -> X1)
X1
3 番目の(bot -> X) -> (bot -> X)場所Xは古いバインディングで、ボットは無人forall X. Xです。
(bot -> X) -> (bot -> X)
X
forall X. X