3
Piタイプのfunsplitと極性
Agdaメーリングリストの最近のスレッドで、法則の問題が浮かび上がり、そこでPeter Hancockが示唆に富む発言をしました。ηη\eta 私の理解では、法則には負のタイプがあります。導入規則が可逆的である接続詞。関数のを無効にするために、ハンクは、通常のアプリケーションルールの代わりに、カスタムメイドのエリミネーターfunsplitを使用することをお勧めします。極性の観点からハンクの発言を理解したいと思います。ηη\etaηη\eta たとえば、 -typesという2つのプレゼンテーションがあります。ポジティブなスタイルの伝統的なMartin-Löf スプリットエリミネーターがあります。ΣΣ\Sigma Γ⊢f:(a:A)(b:Ba)→C(a,b)Γ⊢p:Σa:A.BΓ⊢splitfp:CpΓ⊢f:(a:A)(b:Ba)→C(a,b)Γ⊢p:Σa:A.BΓ⊢splitfp:Cp \begin{array}{l} \Gamma \vdash f : (a : A)(b : B\: a) \to C (a , b) \\ \Gamma \vdash p : \Sigma a : A. B \\ \hline \\ \Gamma \vdash \mathrm{split}\: f\: p : C\: p \end{array} そして、ネガティブバージョンがあります: Γ⊢p:Σa:A.BΓ⊢π0p:AΓ⊢p:Σa:A.BΓ⊢π1p:B[π0p/a]Γ⊢p:Σa:A.BΓ⊢π0p:AΓ⊢p:Σa:A.BΓ⊢π1p:B[π0p/a] \begin{array}{l} \Gamma \vdash …