Translations of intuitionistic logic
(Definitions of three translations) |
m (→Call-by-value translation A\imp B \mapsto \oc{(A\limp B)}: T L rule) |
||
(11 intermediate revisions by one user not shown) | |||
Line 25: | Line 25: | ||
<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^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 41: | Line 41: | ||
\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 49: | Line 49: | ||
\UnaRule{\oc{\Gamma^n}\vdash \oc{A^n}} |
\UnaRule{\oc{\Gamma^n}\vdash \oc{A^n}} |
||
\AxRule{\oc{\Delta^n},\oc{A^n}\vdash B^n} |
\AxRule{\oc{\Delta^n},\oc{A^n}\vdash B^n} |
||
− | \LabelRule{\textit{cut}} |
+ | \LabelRule{\rulename{cut}} |
\BinRule{\oc{\Gamma^n},\oc{\Delta^n}\vdash B^n} |
\BinRule{\oc{\Gamma^n},\oc{\Delta^n}\vdash B^n} |
||
\DisplayProof |
\DisplayProof |
||
Line 108: | Line 108: | ||
\LabelRule{\oc R} |
\LabelRule{\oc R} |
||
\UnaRule{\oc{\Gamma^n}\vdash \oc{A^n}} |
\UnaRule{\oc{\Gamma^n}\vdash \oc{A^n}} |
||
− | \LabelRule{\textit{ax}} |
+ | \LabelRule{\rulename{ax}} |
\NulRule{B^n\vdash B^n} |
\NulRule{B^n\vdash B^n} |
||
\LabelRule{\limp L} |
\LabelRule{\limp L} |
||
Line 117: | Line 117: | ||
\UnaRule{\oc{\Gamma^n},\oc{(\oc{A^n}\limp B^n)}\vdash \oc{B^n}} |
\UnaRule{\oc{\Gamma^n},\oc{(\oc{A^n}\limp B^n)}\vdash \oc{B^n}} |
||
\AxRule{\oc{\Delta^n},\oc{B^n}\vdash C^n} |
\AxRule{\oc{\Delta^n},\oc{B^n}\vdash C^n} |
||
− | \LabelRule{\textit{cut}} |
+ | \LabelRule{\rulename{cut}} |
\BinRule{\oc{\Gamma^n},\oc{\Delta^n},\oc{(\oc{A^n}\limp B^n)}\vdash C^n} |
\BinRule{\oc{\Gamma^n},\oc{\Delta^n},\oc{(\oc{A^n}\limp B^n)}\vdash C^n} |
||
\DisplayProof |
\DisplayProof |
||
Line 146: | Line 146: | ||
\DisplayProof |
\DisplayProof |
||
\qquad\mapsto\qquad |
\qquad\mapsto\qquad |
||
− | \LabelRule{\textit{ax}} |
+ | \LabelRule{\rulename{ax}} |
\NulRule{A^n\vdash A^n} |
\NulRule{A^n\vdash A^n} |
||
\LabelRule{\with_1 L} |
\LabelRule{\with_1 L} |
||
Line 155: | Line 155: | ||
\UnaRule{\oc{(A^n\with B^n)}\vdash \oc{A^n}} |
\UnaRule{\oc{(A^n\with B^n)}\vdash \oc{A^n}} |
||
\AxRule{\oc{\Gamma^n},\oc{A^n}\vdash C^n} |
\AxRule{\oc{\Gamma^n},\oc{A^n}\vdash C^n} |
||
− | \LabelRule{\textit{cut}} |
+ | \LabelRule{\rulename{cut}} |
\BinRule{\oc{\Gamma^n},\oc{(A^n\with B^n)}\vdash C^n} |
\BinRule{\oc{\Gamma^n},\oc{(A^n\with B^n)}\vdash C^n} |
||
\DisplayProof |
\DisplayProof |
||
Line 242: | Line 242: | ||
\DisplayProof |
\DisplayProof |
||
\qquad\mapsto\qquad |
\qquad\mapsto\qquad |
||
− | \LabelRule{\textit{ax}} |
+ | \LabelRule{\rulename{ax}} |
\NulRule{A^n[\tau^n/\xi]\vdash A^n[\tau^n/\xi]} |
\NulRule{A^n[\tau^n/\xi]\vdash A^n[\tau^n/\xi]} |
||
\LabelRule{\forall L} |
\LabelRule{\forall L} |
||
Line 251: | Line 251: | ||
\UnaRule{\oc{\forall\xi A^n}\vdash \oc{(A^n[\tau^n/\xi])}} |
\UnaRule{\oc{\forall\xi A^n}\vdash \oc{(A^n[\tau^n/\xi])}} |
||
\AxRule{\oc{\Gamma^n},\oc{(A^n[\tau^n/\xi])}\vdash C^n} |
\AxRule{\oc{\Gamma^n},\oc{(A^n[\tau^n/\xi])}\vdash C^n} |
||
− | \LabelRule{\textit{cut}} |
+ | \LabelRule{\rulename{cut}} |
\BinRule{\oc{\Gamma^n},\oc{\forall\xi A^n}\vdash C^n} |
\BinRule{\oc{\Gamma^n},\oc{\forall\xi A^n}\vdash C^n} |
||
\DisplayProof |
\DisplayProof |
||
Line 287: | Line 287: | ||
\DisplayProof |
\DisplayProof |
||
</math> |
</math> |
||
− | |||
== Call-by-value translation <math>A\imp B \mapsto \oc{(A\limp B)}</math> == |
== Call-by-value translation <math>A\imp B \mapsto \oc{(A\limp B)}</math> == |
||
Line 301: | 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 313: | 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 327: | 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 333: | 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 395: | 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 429: | 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 445: | 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 525: | 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 581: | 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 597: | 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 609: | 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 623: | 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 629: | 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 673: | 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 691: | 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 791: | 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 810: | 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 843: | 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.