作成者 |
|
|
|
本文言語 |
|
出版者 |
|
|
発行日 |
|
収録物名 |
|
巻 |
|
号 |
|
開始ページ |
|
終了ページ |
|
出版タイプ |
|
アクセス権 |
|
Crossref DOI |
|
関連DOI |
|
|
関連URI |
|
|
関連情報 |
|
|
概要 |
Since Griffin's work in 1990, classical logic has been an attractive target for extracting computational contents. However, the classical principle used in Griffin's type system is the double-negation...-elimination rule, which prevents one to analyze the intuitionistic part and the purely classical part separately. By formulating a calculus with $ mathrm{J} $ (for the elimination rule of falsehood) and $ mathrm{P} $ (for Peirce formula which is concerned with purely classical reasoning) combinators, we can separate these two parts. This paper studies the $ lambda mathrm{PJ} $ calculus with $ mathrm{P} $ and $ mathrm{J} $ combinators and the $ lambda mathrm{C} $ calculus with $ mathrm{C} $ combinator(for the double-negation-elimination rule). We also propose two $ lambda $-calculi which correspond to $ lambda mathrm{PJ} $ and $ lambda mathrm{C} $. We give four classes of reduction rules for each calculus, and systematically study their relationship by simulating reduction rules in one calculus by the corresponding one in the other. It is shown that, by restricting the type of $ P $, simulation succeeds for several choices of reduction rules, but that simulating the full calculus $ lambda mathrm{PJ} $ in $ lambda mathrm{C} $ succeeds only for one class. Some programming examples of our calculi such as encoding of conjunction and disjunction are also given.続きを見る
|