[ formulas |
inference rules |
cut elimination algorithm ||
cut elimination ||
LLF ]
Inference Rules of Classical Linear Logic
%%% Cut-Free Classical Linear Sequent Calculus
%%% Author: Frank Pfenning
%%%
%%% The three rules for cut can also be formulated and are
%%% given in a comment at the end
# : type. % Token (for derivations)
neg!: o -> type. % Modal Hypotheses (far left)
neg : o -> type. % Hypotheses (left)
pos : o -> type. % Conclusions (right)
pos?: o -> type. % Modal Conclusions (far right)
%name # D
%name neg! N!
%name neg N
%name pos P
%name pos? N?
%% Axioms
axiom : (neg A -o pos A -o #).
%% Multiplicative Connectives
timesr : (pos A -o #)
-o (pos B -o #)
-o (pos (A times B) -o #).
timesl : (neg A -o neg B -o #)
-o (neg (A times B) -o #).
oner : (pos one -o #).
onel : #
-o (neg one -o #).
%% Additive Connectives
andr : ((pos A -o #) & (pos B -o #))
-o (pos (A and B) -o #).
andl1 : (neg A -o #)
-o (neg (A and B) -o #).
andl2 : (neg B -o #)
-o (neg (A and B) -o #).
topr : -o (pos (top) -o #).
% no topl
%% Involution
perpr : (neg A -o #)
-o (pos (perp A) -o #).
perpl : (pos A -o #)
-o (neg (perp A) -o #).
%% Modal Operators
!r : (pos A -o #)
-> (pos (! A) -o #).
!l : (neg! A -> #)
-o (neg (! A) -o #).
!d : (neg A -o #)
-o (neg! A -> #).
?r : (pos? A -> #)
-o (pos (? A) -o #).
?l : (neg A -o #)
-> (neg (? A) -o #).
?d : (pos A -o #)
-o (pos? A -> #).
%{
%% Cuts
cut : (pos A -o #)
-o (neg A -o #)
-o #.
cut! : (pos A -o #)
-> (neg! A -> #)
-o #.
cut? : (neg? A -> #)
-o (pos A -o #)
-> #.
}%
[ formulas |
inference rules |
cut elimination algorithm ||
cut elimination ||
LLF ]
Frank Pfenning