この質問は #haskell の議論で出てきました。
深くネストされた forall の発生が正の場合、その forall を一番上に持ち上げることは常に正しいですか?
例えば:
((forall a. P(a)) -> S) -> T
(ここで、P、S、T はメタ変数として理解されるべきです)
forall a. (P(a) -> S) -> T
(通常は次のように記述します。(P(a) -> S) -> T
ラストの右側など、いくつかのポジティブな位置からフォーラルを収集することが確かに許可されていることを私は知っています->
。
これは古典論理では有効なので、ばかげた考えではありませんが、一般的に直観主義論理では無効です。ただし、各型変数が「呼び出し元によって選択された」または「呼び出し先によって選択された」という量指定子の非公式のゲーム理論の直感は、実際には2つの選択肢しかなく、すべての「呼び出し元によって選択された」オプションを持ち上げることができることを示唆していますトップ。ゲーム内の動きのインターリーブが重要でない限り?