[ formulas
| nd
| and
| lv
| nd -> and
| and -> lv
| lv -> and
| and -> nd
| reductions
|| minimal linear logic
|| LLF
]
Sequent Derivations to Annotated Natural Deductions
%%% Translating Sequent Derivations to Annotated
%%% Natural Deductions in Minimal Linear Logic.
lv2i : (pos A -o #) -> intro A -> type.
lv2e : neg A -> elim A -> type.
lv2e! : neg! A -> elim A -> type.
%% Axioms and Cut
lv2i_axiom : lv2i ([p^pos A] axiom N p) (e2i E)
o- lv2e N E.
lv2i_cut : lv2i ([p^pos C] cut Q1 (Q2 p)) (I2 (i2e I1))
o- lv2i Q1 I1
o- ({n1:neg A} {u1:elim A}
lv2e n1 u1
-o lv2i ([p^pos C] Q2 p n1) (I2 u1)).
lv2i_cut! : lv2i ([p^pos C] cut! Q1 (Q2 p)) (!e' I2 (i2e (!i' I1)))
<- lv2i Q1 (I1:intro A)
o- ({n1!:neg! A} {u1!:elim A}
lv2e! n1! u1!
-> lv2i ([p^pos C] Q2 p n1!) (I2 u1!)).
%% Multiplicative Connectives
lv2i_impr : lv2i (impr Q1) (impi' I1)
o- ({n1:neg A} {u1:elim A}
lv2e n1 u1
-o lv2i (Q1 n1) (I1 u1)).
lv2i_impe : lv2i ([p^pos C] impl Q1 (Q2 p) N) (I2 (impe' I1 E))
o- lv2e N E
o- lv2i Q1 I1
o- ({n2:neg B} {u2:elim B}
lv2e n2 u2
-o lv2i ([p^pos C] Q2 p n2) (I2 u2)).
lv2i_timesr : lv2i (timesr Q1 Q2) (timesi' I1 I2)
o- lv2i Q1 I1
o- lv2i Q2 I2.
lv2i_timesl : lv2i ([p^pos C] timesl (Q1 p) N) (timese' I1 E)
o- lv2e N E
o- ({n1:neg A} {u1:elim A}
{n2:neg B} {u2:elim B}
lv2e n1 u1
-o lv2e n2 u2
-o lv2i ([p^pos C] Q1 p n1 n2) (I1 u1 u2)).
lv2i_oner : lv2i (oner) (onei').
lv2i_onee : lv2i ([p^pos C] onel (Q1 p) N) (onee' I1 E)
o- lv2e N E
o- lv2i Q1 I1.
%% Additive Connectives
lv2i_withr : lv2i (withr (Q1 , Q2)) (withi' (I1 , I2))
o- (lv2i Q1 I1
& lv2i Q2 I2).
lv2i_withl1 : lv2i ([p^pos C] withl1 (Q1 p) N) (I1 (withe1' E))
o- lv2e N E
o- ({n1:neg A} {u1:elim A}
lv2e n1 u1
-o lv2i ([p^pos C] Q1 p n1) (I1 u1)).
lv2i_withl2 : lv2i ([p^pos C] withl2 (Q2 p) N) (I2 (withe2' E))
o- lv2e N E
o- ({n2:neg B} {u2:elim B}
lv2e n2 u2
-o lv2i ([p^pos C] Q2 p n2) (I2 u2)).
lv2i_topr : lv2i (topr ()) (topi' ())
o- <T>.
% no topl
lv2i_plusr1 : lv2i (plusr1 Q1) (plusi1' I1)
o- lv2i Q1 I1.
lv2i_plusr2 : lv2i (plusr2 Q2) (plusi2' I2)
o- lv2i Q2 I2.
lv2i_plusl : lv2i ([p^pos C] plusl (Q1 p , Q2 p) N) (pluse' (I1 , I2) E)
o- lv2e N E
o- ({n1:neg A} {u1:elim A}
lv2e n1 u1
-o lv2i ([p^pos C] Q1 p n1) (I1 u1))
& ({n2:neg B} {u2:elim B}
lv2e n2 u2
-o lv2i ([p^pos C] Q2 p n2) (I2 u2)).
% no zeroi
lv2i_zerol : lv2i ([p^pos C] zerol () N) (zeroe' () E)
o- lv2e N E
o- <T>.
%% Quantifiers
lv2i_forallr : lv2i (forallr Q1) (foralli' I1)
o- ({a:i} lv2i (Q1 a) (I1 a)).
lv2i_foralll : lv2i ([p^pos C] foralll T (Q1 p) N) (I1 (foralle' T E))
o- lv2e N E
o- ({n1} {u1}
lv2e n1 u1
-o lv2i ([p^pos C] Q1 p n1) (I1 u1)).
lv2i_existsr : lv2i (existsr T Q1) (existsi' T I1)
o- lv2i Q1 I1.
lv2i_existsl : lv2i ([p^pos C] existsl (Q1 p) N) (existse' I1 E)
o- lv2e N E
o- ({a:i}
{n1:neg (A a)} {u1:elim (A a)}
lv2e n1 u1
-o lv2i ([p^pos C] Q1 p a n1) (I1 a u1)).
%% Exponentials
lv2i_!r : lv2i (!r Q1) (!i' I1)
<- lv2i Q1 I1.
lv2i_!l : lv2i ([p^pos C] !l (Q1 p) N) (!e' I1 E)
o- lv2e N E
o- ({n1!:neg! A} {u1!:elim A}
lv2e! n1! u1!
-> lv2i ([p^pos C] Q1 p n1!) (I1 u1!)).
lv2i_!d : lv2i ([p^pos C] !d (Q1 p) N!) (I1 U!)
o- lv2e! N! U!
o- ({n1:neg A} {u1:elim A}
lv2e n1 u1
-o lv2i ([p^pos C] Q1 p n1) (I1 u1)).
[ formulas
| nd
| and
| lv
| nd -> and
| and -> lv
| lv -> and
| and -> nd
| reductions
|| minimal linear logic
|| LLF
]
Frank Pfenning