Translations of intuitionistic logic
m (→Call-by-name Girard's translation A\imp B \mapsto \oc{A}\limp B: use of \rulename) |
m (→Call-by-value translation A\imp B \mapsto \oc{(A\limp B)}: T L rule) |
||
(10 intermediate revisions by one user not shown) | |||
Line 31: | Line 31: | ||
\LabelRule{\rulename{ax}} |
\LabelRule{\rulename{ax}} |
||
\NulRule{A^n\vdash A^n} |
\NulRule{A^n\vdash A^n} |
||
− | \LabelRule{\oc L} |
+ | \LabelRule{\oc d L} |
\UnaRule{\oc{A^n}\vdash A^n} |
\UnaRule{\oc{A^n}\vdash A^n} |
||
\DisplayProof |
\DisplayProof |
||
Line 300: | Line 300: | ||
(A\vee B)^v & = & \oc{(A^v\plus B^v)} \\ |
(A\vee B)^v & = & \oc{(A^v\plus B^v)} \\ |
||
F^v & = & \oc{\zero} \\ |
F^v & = & \oc{\zero} \\ |
||
− | (\forall\xi A)^v & = & \oc{(\forall\xi A^v)} \\ |
+ | (\forall\xi A)^v & = & \oc{\forall\xi A^v} \\ |
− | (\exists\xi A)^v & = & \oc{(\exists\xi A^v)} |
+ | (\exists\xi A)^v & = & \oc{\exists\xi A^v} |
\end{array} |
\end{array} |
||
</math> |
</math> |
||
Line 312: | Line 312: | ||
<math> |
<math> |
||
− | \LabelRule{\textit{ax}} |
+ | \LabelRule{\rulename{ax}} |
\NulRule{A\vdash A} |
\NulRule{A\vdash A} |
||
\DisplayProof |
\DisplayProof |
||
\qquad\mapsto\qquad |
\qquad\mapsto\qquad |
||
− | \LabelRule{\textit{ax}} |
+ | \LabelRule{\rulename{ax}} |
\NulRule{A^v\vdash A^v} |
\NulRule{A^v\vdash A^v} |
||
\DisplayProof |
\DisplayProof |
||
Line 326: | Line 326: | ||
\AxRule{\Gamma\vdash A} |
\AxRule{\Gamma\vdash A} |
||
\AxRule{\Delta,A\vdash B} |
\AxRule{\Delta,A\vdash B} |
||
− | \LabelRule{\textit{cut}} |
+ | \LabelRule{\rulename{cut}} |
\BinRule{\Gamma,\Delta\vdash B} |
\BinRule{\Gamma,\Delta\vdash B} |
||
\DisplayProof |
\DisplayProof |
||
Line 332: | Line 332: | ||
\AxRule{\Gamma^v\vdash A^v} |
\AxRule{\Gamma^v\vdash A^v} |
||
\AxRule{\Delta^v,A^v\vdash B^v} |
\AxRule{\Delta^v,A^v\vdash B^v} |
||
− | \LabelRule{\textit{cut}} |
+ | \LabelRule{\rulename{cut}} |
\BinRule{\Gamma^v,\Delta^v\vdash B^v} |
\BinRule{\Gamma^v,\Delta^v\vdash B^v} |
||
\DisplayProof |
\DisplayProof |
||
Line 394: | Line 394: | ||
\LabelRule{\limp L} |
\LabelRule{\limp L} |
||
\BinRule{\Gamma^v,\Delta^v,A^v\limp B^v\vdash C^v} |
\BinRule{\Gamma^v,\Delta^v,A^v\limp B^v\vdash C^v} |
||
− | \LabelRule{\oc L} |
+ | \LabelRule{\oc d L} |
\UnaRule{\Gamma^v,\Delta^v,\oc{(A^v\limp B^v)}\vdash C^v} |
\UnaRule{\Gamma^v,\Delta^v,\oc{(A^v\limp B^v)}\vdash C^v} |
||
\DisplayProof |
\DisplayProof |
||
Line 428: | Line 428: | ||
\LabelRule{\tens L} |
\LabelRule{\tens L} |
||
\UnaRule{\Gamma^v,A^v\tens B^v\vdash C^v} |
\UnaRule{\Gamma^v,A^v\tens B^v\vdash C^v} |
||
− | \LabelRule{\oc L} |
+ | \LabelRule{\oc d L} |
\UnaRule{\Gamma^v,\oc{(A^v\tens B^v)}\vdash C^v} |
\UnaRule{\Gamma^v,\oc{(A^v\tens B^v)}\vdash C^v} |
||
\DisplayProof |
\DisplayProof |
||
Line 444: | Line 444: | ||
\LabelRule{\oc R} |
\LabelRule{\oc R} |
||
\UnaRule{{}\vdash \oc{\one}} |
\UnaRule{{}\vdash \oc{\one}} |
||
+ | \DisplayProof |
||
+ | </math> |
||
+ | |||
+ | <br /> |
||
+ | |||
+ | <math> |
||
+ | \AxRule{\Gamma\vdash C} |
||
+ | \LabelRule{T L} |
||
+ | \UnaRule{\Gamma,T\vdash C} |
||
+ | \DisplayProof |
||
+ | \qquad\mapsto\qquad |
||
+ | \AxRule{\Gamma^v\vdash C^v} |
||
+ | \LabelRule{\one L} |
||
+ | \UnaRule{\Gamma^v,\one\vdash C^v} |
||
+ | \LabelRule{\oc d L} |
||
+ | \UnaRule{\Gamma^v,\oc{\one}\vdash C^v} |
||
\DisplayProof |
\DisplayProof |
||
</math> |
</math> |
||
Line 524: | Line 540: | ||
\LabelRule{\forall L} |
\LabelRule{\forall L} |
||
\UnaRule{\Gamma^v,\forall\xi A^v\vdash C^v} |
\UnaRule{\Gamma^v,\forall\xi A^v\vdash C^v} |
||
− | \LabelRule{\oc L} |
+ | \LabelRule{\oc d L} |
− | \UnaRule{\Gamma^v,\oc{(\forall\xi A^v)}\vdash C^v} |
+ | \UnaRule{\Gamma^v,\oc{\forall\xi A^v}\vdash C^v} |
\DisplayProof |
\DisplayProof |
||
</math> |
</math> |
||
Line 580: | Line 596: | ||
If we define <math>(\Gamma\vdash A)^{\underline{v}} = \oc{\Gamma^{\underline{v}}}\vdash\oc{A^{\underline{v}}}</math>, we have <math>(\Gamma\vdash A)^{\underline{v}} = (\Gamma\vdash A)^v</math> and thus we obtain the same translation of proofs. |
If we define <math>(\Gamma\vdash A)^{\underline{v}} = \oc{\Gamma^{\underline{v}}}\vdash\oc{A^{\underline{v}}}</math>, we have <math>(\Gamma\vdash A)^{\underline{v}} = (\Gamma\vdash A)^v</math> and thus we obtain the same translation of proofs. |
||
− | |||
== Call-by-value Girard's translation <math>A\imp B \mapsto \oc{(A\limp B)}</math> == |
== Call-by-value Girard's translation <math>A\imp B \mapsto \oc{(A\limp B)}</math> == |
||
Line 596: | Line 611: | ||
(A\vee B)^w & = & A^w\plus B^w \\ |
(A\vee B)^w & = & A^w\plus B^w \\ |
||
F^w & = & \zero \\ |
F^w & = & \zero \\ |
||
− | (\forall\xi A)^w & = & \oc{(\forall\xi A^w)} \\ |
+ | (\forall\xi A)^w & = & \oc{\forall\xi A^w} \\ |
(\exists\xi A)^w & = & \exists\xi A^w |
(\exists\xi A)^w & = & \exists\xi A^w |
||
\end{array} |
\end{array} |
||
Line 608: | Line 623: | ||
<math> |
<math> |
||
− | \LabelRule{\textit{ax}} |
+ | \LabelRule{\rulename{ax}} |
\NulRule{A\vdash A} |
\NulRule{A\vdash A} |
||
\DisplayProof |
\DisplayProof |
||
\qquad\mapsto\qquad |
\qquad\mapsto\qquad |
||
− | \LabelRule{\textit{ax}} |
+ | \LabelRule{\rulename{ax}} |
\NulRule{A^w\vdash A^w} |
\NulRule{A^w\vdash A^w} |
||
\DisplayProof |
\DisplayProof |
||
Line 622: | Line 637: | ||
\AxRule{\Gamma\vdash A} |
\AxRule{\Gamma\vdash A} |
||
\AxRule{\Delta,A\vdash B} |
\AxRule{\Delta,A\vdash B} |
||
− | \LabelRule{\textit{cut}} |
+ | \LabelRule{\rulename{cut}} |
\BinRule{\Gamma,\Delta\vdash B} |
\BinRule{\Gamma,\Delta\vdash B} |
||
\DisplayProof |
\DisplayProof |
||
Line 628: | Line 643: | ||
\AxRule{\Gamma^w\vdash A^w} |
\AxRule{\Gamma^w\vdash A^w} |
||
\AxRule{\Delta^w,A^w\vdash B^w} |
\AxRule{\Delta^w,A^w\vdash B^w} |
||
− | \LabelRule{\textit{cut}} |
+ | \LabelRule{\rulename{cut}} |
\BinRule{\Gamma^w,\Delta^w\vdash B^w} |
\BinRule{\Gamma^w,\Delta^w\vdash B^w} |
||
\DisplayProof |
\DisplayProof |
||
Line 672: | Line 687: | ||
\LabelRule{\limp R} |
\LabelRule{\limp R} |
||
\UnaRule{\Gamma^w\vdash A^w\limp B^w} |
\UnaRule{\Gamma^w\vdash A^w\limp B^w} |
||
− | \LabelRule{\oc R} |
+ | \LabelRule{+ \oc R} |
\UnaRule{\Gamma^w\vdash \oc{(A^w\limp B^w)}} |
\UnaRule{\Gamma^w\vdash \oc{(A^w\limp B^w)}} |
||
\DisplayProof |
\DisplayProof |
||
Line 690: | Line 705: | ||
\LabelRule{\limp L} |
\LabelRule{\limp L} |
||
\BinRule{\Gamma^w,\Delta^w,A^w\limp B^w\vdash C^w} |
\BinRule{\Gamma^w,\Delta^w,A^w\limp B^w\vdash C^w} |
||
− | \LabelRule{\oc L} |
+ | \LabelRule{\oc d L} |
\UnaRule{\Gamma^w,\Delta^w,\oc{(A^w\limp B^w)}\vdash C^w} |
\UnaRule{\Gamma^w,\Delta^w,\oc{(A^w\limp B^w)}\vdash C^w} |
||
\DisplayProof |
\DisplayProof |
||
Line 790: | Line 805: | ||
\LabelRule{\forall R} |
\LabelRule{\forall R} |
||
\UnaRule{\Gamma^w\vdash \forall\xi A^w} |
\UnaRule{\Gamma^w\vdash \forall\xi A^w} |
||
− | \LabelRule{\oc R} |
+ | \LabelRule{+ \oc R} |
\UnaRule{\Gamma^w\vdash \oc{\forall\xi A^w}} |
\UnaRule{\Gamma^w\vdash \oc{\forall\xi A^w}} |
||
\DisplayProof |
\DisplayProof |
||
Line 809: | Line 824: | ||
\LabelRule{\forall L} |
\LabelRule{\forall L} |
||
\UnaRule{\Gamma^w,\forall\xi A^w\vdash C^w} |
\UnaRule{\Gamma^w,\forall\xi A^w\vdash C^w} |
||
− | \LabelRule{\oc L} |
+ | \LabelRule{\oc d L} |
− | \UnaRule{\Gamma^w,\oc{(\forall\xi A^w)}\vdash C^w} |
+ | \UnaRule{\Gamma^w,\oc{\forall\xi A^w}\vdash C^w} |
\DisplayProof |
\DisplayProof |
||
</math> |
</math> |
||
Line 842: | Line 857: | ||
\DisplayProof |
\DisplayProof |
||
</math> |
</math> |
||
− | |||
== References == |
== References == |
Latest revision as of 21:25, 5 October 2009
The genesis of linear logic comes with a decomposition of the intuitionistic implication. Once linear logic properly defined, it corresponds to a translation of intuitionistic logic into linear logic, often called Girard's translation. In fact Jean-Yves Girard has defined two translations in his linear logic paper[1]. We call them the call-by-name translation and the call-by-value translation.
These translations can be extended to translations of classical logic into linear logic.
Contents |
[edit] Call-by-name Girard's translation
Formulas are translated as:
This is extended to sequents by .
This allows one to translate the rules of intuitionistic logic into linear logic:
[edit] Call-by-value translation
Formulas are translated as:
The translation of any formula starts with , we define such that .
The translation of sequents is .
This allows one to translate the rules of intuitionistic logic into linear logic:
We use .
[edit] Alternative presentation
It is also possible to define as the primitive construction.
If we define , we have and thus we obtain the same translation of proofs.
[edit] Call-by-value Girard's translation
The original version of the call-by-value translation given by Jean-Yves Girard[1] is an optimisation of the previous one using properties of positive formulas.
Formulas are translated as:
The translation of any formula is a positive formula.
The translation of sequents is .
This allows one to translate the rules of intuitionistic logic into linear logic:
We use .
[edit] References
- ↑ 1.0 1.1 Girard, Jean-Yves. Linear logic. Theoretical Computer Science. Volume 50, Issue 1, pp. 1-101, doi:10.1016/0304-3975(87)90045-4, 1987.