Translations of classical logic

From LLWiki
Revision as of 22:04, 21 September 2009 by Olivier Laurent (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

T-translation A\imp B \mapsto \oc{\wn{A}}\limp\wn{B}

Formulas are translated as:


\begin{array}{rcl}
X^T & = & X \\
(A\imp B)^T & = & \oc{\wn{A^T}}\limp\wn{B^T} \\
(A\wedge B)^T & = & \wn{A^T} \with \wn{B^T} \\
T^T & = & \top \\
(A\vee B)^T & = & \wn{A^T}\parr\wn{B^T} \\
F^T & = & \bot \\
(\neg A)^T & = & \wn{\oc{(A^T)\orth}} \\
(\forall\xi A)^T & = & \forall\xi \wn{A^T} \\
(\exists\xi A)^T & = & \exists\xi \oc{\wn{A^T}}
\end{array}

This is extended to sequents by (\Gamma\vdash\Delta)^T = \oc{\wn{\Gamma^T}}\vdash\wn{\Delta^T}.

This allows one to translate the rules of classical logic into linear logic:


\LabelRule{\rulename{ax}}
\NulRule{A\vdash A}
\DisplayProof
\qquad\mapsto\qquad
\LabelRule{\rulename{ax}}
\NulRule{\wn{A^T}\vdash\wn{A^T}}
\LabelRule{\oc L}
\UnaRule{\oc{\wn{A^T}}\vdash\wn{A^T}}
\DisplayProof



\AxRule{\Gamma\vdash A,\Delta}
\AxRule{\Gamma',A\vdash\Delta'}
\LabelRule{\rulename{cut}}
\BinRule{\Gamma,\Gamma'\vdash\Delta,\Delta'}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash\wn{A^T},\wn{\Delta^T}}
\LabelRule{\oc R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash\oc{\wn{A^T}},\wn{\Delta^T}}
\AxRule{\oc{\wn{\Gamma'^T}},\oc{\wn{A^T}}\vdash\wn{\Delta'^T}}
\LabelRule{\rulename{cut}}
\BinRule{\oc{\wn{\Gamma^T}},\oc{\wn{\Gamma'^T}}\vdash\wn{\Delta^T},\wn{\Delta'^T}}
\DisplayProof



\AxRule{\Gamma,A,A\vdash\Delta}
\LabelRule{c L}
\UnaRule{\Gamma,A\vdash\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}},\oc{\wn{A^T}},\oc{\wn{A^T}}\vdash\wn{\Delta^T}}
\LabelRule{\oc c L}
\UnaRule{\oc{\wn{\Gamma^T}},\oc{\wn{A^T}}\vdash\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma\vdash A,A,\Delta}
\LabelRule{c R}
\UnaRule{\Gamma\vdash A,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash\wn{A^T},\wn{A^T},\wn{\Delta^T}}
\LabelRule{\wn c R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash\wn{A^T},\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma\vdash\Delta}
\LabelRule{w L}
\UnaRule{\Gamma,A\vdash\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash\wn{\Delta^T}}
\LabelRule{\oc w L}
\UnaRule{\oc{\wn{\Gamma^T}},\oc{\wn{A^T}}\vdash\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma\vdash\Delta}
\LabelRule{w R}
\UnaRule{\Gamma\vdash A,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash\wn{\Delta^T}}
\LabelRule{\wn w R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash\wn{A^T},\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma,A\vdash B,\Delta}
\LabelRule{\imp R}
\UnaRule{\Gamma\vdash A\imp B,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}},\oc{\wn{A^T}}\vdash\wn{B^T},\wn{\Delta^T}}
\LabelRule{\limp R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \oc{\wn{A^T}}\limp\wn{B^T},\wn{\Delta^T}}
\LabelRule{\wn d R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{(\oc{\wn{A^T}}\limp\wn{B^T})},\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma\vdash A,\Delta}
\AxRule{\Gamma',B\vdash\Delta'}
\LabelRule{\imp L}
\BinRule{\Gamma,\Gamma',A\imp B\vdash\Delta,\Delta'}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash\wn{A^T},\wn{\Delta^T}}
\LabelRule{\oc R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash\oc{\wn{A^T}},\wn{\Delta^T}}
\LabelRule{\rulename{ax}}
\NulRule{\wn{B^T}\vdash\wn{B^T}}
\LabelRule{\limp L}
\BinRule{\oc{\wn{\Gamma^T}},\oc{\wn{A^T}}\limp\wn{B^T}\vdash\wn{B^T},\wn{\Delta^T}}
\LabelRule{\wn L}
\UnaRule{\oc{\wn{\Gamma^T}},\wn{(\oc{\wn{A^T}}\limp\wn{B^T})}\vdash\wn{B^T},\wn{\Delta^T}}
\LabelRule{\oc d L}
\UnaRule{\oc{\wn{\Gamma^T}},\oc{\wn{(\oc{\wn{A^T}}\limp\wn{B^T})}}\vdash\wn{B^T},\wn{\Delta^T}}
\LabelRule{\oc R}
\UnaRule{\oc{\wn{\Gamma^T}},\oc{\wn{(\oc{\wn{A^T}}\limp\wn{B^T})}}\vdash\oc{\wn{B^T}},\wn{\Delta^T}}
\AxRule{\oc{\wn{\Gamma'^T}},\oc{\wn{B^T}}\vdash\wn{\Delta'^T}}
\LabelRule{\rulename{cut}}
\BinRule{\oc{\wn{\Gamma^T}},\oc{\wn{\Gamma'^T}},\oc{\wn{(\oc{\wn{A^T}}\limp\wn{B^T})}}\vdash\wn{\Delta^T},\wn{\Delta'^T}}
\DisplayProof



\AxRule{\Gamma\vdash A,\Delta}
\AxRule{\Gamma\vdash B,\Delta}
\LabelRule{\wedge R}
\BinRule{\Gamma\vdash A\wedge B,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash \wn{A^T},\wn{\Delta^T}}
\AxRule{\oc{\wn{\Gamma^T}}\vdash \wn{B^T},\wn{\Delta^T}}
\LabelRule{\with R}
\BinRule{\oc{\wn{\Gamma^T}}\vdash \wn{A^T}\with \wn{B^T},\wn{\Delta^T}}
\LabelRule{\wn d R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{(\wn{A^T}\with \wn{B^T})},\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma,A\vdash \Delta}
\LabelRule{\wedge_1 L}
\UnaRule{\Gamma,A\wedge B\vdash \Delta}
\DisplayProof
\qquad\mapsto\qquad
\LabelRule{\rulename{ax}}
\NulRule{\wn{A^T}\vdash \wn{A^T}}
\LabelRule{\with_1 L}
\UnaRule{\wn{A^T}\with \wn{B^T}\vdash \wn{A^T}}
\LabelRule{\wn L}
\UnaRule{\wn{(\wn{A^T}\with \wn{B^T})}\vdash \wn{A^T}}
\LabelRule{\oc d L}
\UnaRule{\oc{\wn{(\wn{A^T}\with \wn{B^T})}}\vdash \wn{A^T}}
\LabelRule{\oc R}
\UnaRule{\oc{\wn{(\wn{A^T}\with \wn{B^T})}}\vdash \oc{\wn{A^T}}}
\AxRule{\oc{\wn{\Gamma^T}},\oc{\wn{A^T}}\vdash \wn{\Delta^T}}
\LabelRule{\rulename{cut}}
\BinRule{\oc{\wn{\Gamma^T}},\oc{\wn{(\wn{A^T}\with \wn{B^T})}}\vdash \wn{\Delta^T}}
\DisplayProof



\LabelRule{T R}
\NulRule{\Gamma\vdash T,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\LabelRule{\top R}
\NulRule{\oc{\wn{\Gamma^T}}\vdash \top,\wn{\Delta^T}}
\LabelRule{\wn d R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{\top},\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma\vdash A,B,\Delta}
\LabelRule{\vee R}
\UnaRule{\Gamma\vdash A\vee B,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash \wn{A^T},\wn{B^T},\wn{\Delta^T}}
\LabelRule{\parr R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{A^T}\parr\wn{B^T},\wn{\Delta^T}}
\LabelRule{\wn d R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{(\wn{A^T}\parr\wn{B^T})},\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma,A\vdash \Delta}
\AxRule{\Gamma',B\vdash \Delta'}
\LabelRule{\vee L}
\BinRule{\Gamma,\Gamma',A\vee B\vdash \Delta,\Delta'}
\DisplayProof
\qquad\mapsto\qquad
\LabelRule{\rulename{ax}}
\NulRule{\wn{A^T}\vdash \wn{A^T}}
\LabelRule{\rulename{ax}}
\NulRule{\wn{B^T}\vdash \wn{B^T}}
\LabelRule{\parr L}
\BinRule{\wn{A^T}\parr \wn{B^T}\vdash \wn{A^T},\wn{B^T}}
\LabelRule{\wn L}
\UnaRule{\wn{(\wn{A^T}\parr \wn{B^T})}\vdash \wn{A^T},\wn{B^T}}
\LabelRule{\oc d L}
\UnaRule{\oc{\wn{(\wn{A^T}\parr \wn{B^T})}}\vdash \wn{A^T},\wn{B^T}}
\LabelRule{\oc R}
\UnaRule{\oc{\wn{(\wn{A^T}\parr \wn{B^T})}}\vdash \wn{A^T},\oc{\wn{B^T}}}
\AxRule{\oc{\wn{\Gamma'^T}},\oc{\wn{B^T}}\vdash \wn{\Delta'^T}}
\LabelRule{\rulename{cut}}
\BinRule{\oc{\wn{\Gamma'^T}},\oc{\wn{(\wn{A^T}\parr \wn{B^T})}}\vdash \wn{A^T},\wn{\Delta'^T}}
\LabelRule{\oc R}
\UnaRule{\oc{\wn{\Gamma'^T}},\oc{\wn{(\wn{A^T}\parr \wn{B^T})}}\vdash \oc{\wn{A^T}},\wn{\Delta'^T}}
\AxRule{\oc{\wn{\Gamma^T}},\oc{\wn{A^T}}\vdash \wn{\Delta^T}}
\LabelRule{\rulename{cut}}
\BinRule{\oc{\wn{\Gamma^T}},\oc{\wn{\Gamma'^T}},\oc{\wn{(\wn{A^T}\parr \wn{B^T})}}\vdash \wn{\Delta^T},\wn{\Delta'^T}}
\DisplayProof



\AxRule{\Gamma\vdash \Delta}
\LabelRule{F R}
\UnaRule{\Gamma\vdash F,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash \wn{\Delta^T}}
\LabelRule{\bot R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \bot,\wn{\Delta^T}}
\LabelRule{\wn R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{\bot},\wn{\Delta^T}}
\DisplayProof



\LabelRule{F L}
\NulRule{F\vdash {}}
\DisplayProof
\qquad\mapsto\qquad
\LabelRule{\bot L}
\NulRule{\bot\vdash {}}
\LabelRule{\wn L}
\UnaRule{\wn{\bot}\vdash {}}
\LabelRule{\oc d L}
\UnaRule{\oc{\wn{\bot}}\vdash {}}
\DisplayProof



\AxRule{\Gamma,A\vdash \Delta}
\LabelRule{\neg R}
\UnaRule{\Gamma\vdash \neg A,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}},\oc{\wn{A^T}}\vdash \wn{\Delta^T}}
\LabelRule{(.)\orth R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{\oc{(A^T)\orth}},\wn{\Delta^T}}
\LabelRule{\wn d R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{\wn{\oc{(A^T)\orth}}},\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma\vdash A,\Delta}
\LabelRule{\neg L}
\UnaRule{\Gamma,\neg A\vdash \Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash \wn{A^T},\wn{\Delta^T}}
\LabelRule{(.)\orth L}
\UnaRule{\oc{\wn{\Gamma^T}},\oc{(A^T)\orth}\vdash \wn{\Delta^T}}
\LabelRule{\wn L}
\UnaRule{\oc{\wn{\Gamma^T}},\wn{\oc{(A^T)\orth}}\vdash \wn{\Delta^T}}
\LabelRule{\wn L}
\UnaRule{\oc{\wn{\Gamma^T}},\wn{\wn{\oc{(A^T)\orth}}}\vdash \wn{\Delta^T}}
\LabelRule{\oc d L}
\UnaRule{\oc{\wn{\Gamma^T}},\oc{\wn{\wn{\oc{(A^T)\orth}}}}\vdash \wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma\vdash A,\Delta}
\LabelRule{\forall R}
\UnaRule{\Gamma\vdash \forall\xi A,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash \wn{A^T},\wn{\Delta^T}}
\LabelRule{\forall R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \forall\xi \wn{A^T},\wn{\Delta^T}}
\LabelRule{\wn d R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{\forall\xi \wn{A^T}},\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma,A[\tau/\xi]\vdash \Delta}
\LabelRule{\forall L}
\UnaRule{\Gamma,\forall\xi A\vdash \Delta}
\DisplayProof
\qquad\mapsto\qquad
\LabelRule{\rulename{ax}}
\NulRule{\wn{A^T}[\tau^T/\xi]\vdash \wn{A^T}[\tau^T/\xi]}
\LabelRule{\forall L}
\UnaRule{\forall\xi \wn{A^T}\vdash \wn{A^T}[\tau^T/\xi]}
\LabelRule{\wn L}
\UnaRule{\wn{\forall\xi \wn{A^T}}\vdash \wn{A^T}[\tau^T/\xi]}
\LabelRule{\oc d L}
\UnaRule{\oc{\wn{\forall\xi \wn{A^T}}}\vdash \wn{A^T}[\tau^T/\xi]}
\LabelRule{\oc R}
\UnaRule{\oc{\wn{\forall\xi \wn{A^T}}}\vdash \oc{\wn{A^T}}[\tau^T/\xi]}
\AxRule{\oc{\wn{\Gamma^T}},\oc{\wn{(A^T[\tau^T/\xi])}}\vdash \wn{\Delta^T}}
\LabelRule{\rulename{cut}}
\BinRule{\oc{\wn{\Gamma^T}},\oc{\wn{\forall\xi \wn{A^T}}}\vdash \wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma\vdash A[\tau/\xi],\Delta}
\LabelRule{\exists R}
\UnaRule{\Gamma\vdash \exists\xi A,\Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}}\vdash \wn{A^T[\tau^T/\xi]},\wn{\Delta^T}}
\LabelRule{\oc R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \oc{\wn{A^T[\tau^T/\xi]}},\wn{\Delta^T}}
\LabelRule{\exists R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \exists\xi \oc{\wn{A^T}},\wn{\Delta^T}}
\LabelRule{\wn d R}
\UnaRule{\oc{\wn{\Gamma^T}}\vdash \wn{\exists\xi \oc{\wn{A^T}}},\wn{\Delta^T}}
\DisplayProof



\AxRule{\Gamma,A\vdash \Delta}
\LabelRule{\exists L}
\UnaRule{\Gamma,\exists\xi A\vdash \Delta}
\DisplayProof
\qquad\mapsto\qquad
\AxRule{\oc{\wn{\Gamma^T}},\oc{\wn{A^T}}\vdash \wn{\Delta^T}}
\LabelRule{\exists L}
\UnaRule{\oc{\wn{\Gamma^T}},\exists\xi\oc{\wn{A^T}}\vdash \wn{\Delta^T}}
\LabelRule{\wn L}
\UnaRule{\oc{\wn{\Gamma^T}},\wn{\exists\xi\oc{\wn{A^T}}}\vdash \wn{\Delta^T}}
\LabelRule{\oc d L}
\UnaRule{\oc{\wn{\Gamma^T}},\oc{\wn{\exists\xi\oc{\wn{A^T}}}}\vdash \wn{\Delta^T}}
\DisplayProof

Alternative presentation

It is also possible to define A^{\overline{T}} by:


\begin{array}{rcl}
X^{\overline{T}} & = & \wn{X} \\
(A\imp B)^{\overline{T}} & = & \wn{(\oc{A^{\overline{T}}}\limp B^{\overline{T}})} \\
(A\wedge B)^{\overline{T}} & = & \wn{(A^{\overline{T}} \with B^{\overline{T}})} \\
T^{\overline{T}} & = & \wn{\top} \\
(A\vee B)^{\overline{T}} & = & \wn{(A^{\overline{T}}\parr B^{\overline{T}})} \\
F^{\overline{T}} & = & \wn{\bot} \\
(\neg A)^{\overline{T}} & = & \wn{\wn{(A^{\overline{T}})\orth}} \\
(\forall\xi A)^{\overline{T}} & = & \wn{\forall\xi A^{\overline{T}}} \\
(\exists\xi A)^{\overline{T}} & = & \wn{\exists\xi \oc{A^{\overline{T}}}}
\end{array}

If we define (\Gamma\vdash\Delta)^{\overline{T}} = \oc{\Gamma^{\overline{T}}}\vdash \Delta^{\overline{T}}, we have (\Gamma\vdash\Delta)^{\overline{T}} = (\Gamma\vdash\Delta)^T and thus we obtain the same translation of proofs.

Personal tools