natural deduction  A set of rules expressing how valid proofs may be
constructed in predicate logic.
A horizontal line separates premises (above) from conclusions
(below). Vertical ellipsis (dots) stand for a series of
applications of the rules. "T" is the constant "true" and "F"
is the constant "false" (sometimes written with a LaTeX
\perp).
"^" is the AND (conjunction) operator, "v" is the inclusive OR
(disjunction) operator and "/" is NOT (negation or
complement, normally written with a LaTeX \neg).
P, Q, P1, P2, etc. stand for propositions such as "Socrates
was a man". P[x] is a proposition possibly containing
instances of the variable x, e.g. "x can fly".
A proof (a sequence of applications of the rules) may be
enclosed in a box. A boxed proof produces conclusions that
are only valid given the assumptions made inside the box,
however, the proof demonstrates certain relationships which
are valid outside the box. For example, the box below
labelled "Implication introduction" starts by assuming P,
which need not be a true propoistion so long as it can be
used to derive Q.
Truth introduction:

T
(Truth is free).
Binary AND introduction:

 .  . 
 .  . 
 Q1  Q2 

Q1 ^ Q2
(If we can derive both Q1 and Q2 then Q1^Q2 is true).
Nary AND introduction:

 .  ..  . 
 .  ..  . 
 Q1  ..  Qn 

Q1^..^Qi^..^Qn
Other nary rules follow the binary versions similarly.
Quantified AND introduction:

 x . 
 . 
 Q[x] 

For all x . Q[x]
(If we can prove Q for arbitrary x then Q is true for all x).
Falsity elimination:
F

Q
(Falsity opens the floodgates).
OR elimination:
P1 v P2

 P1  P2 
 .  . 
 .  . 
 Q  Q 

Q
(Given P1 v P2, if Q follows from both then Q is true).
Exists elimination:
Exists x . P[x]

 x P[x] 
 . 
 . 
 Q 

Q
(If Q follows from P[x] for arbitrary x and such an x exists
then Q is true).
OR introduction 1:
P1

P1 v P2
(If P1 is true then P1 OR anything is true).
OR introduction 2:
P2

P1 v P2
(If P2 is true then anything OR P2 is true). Similar
symmetries apply to ^ rules.
Exists introduction:
P[a]

Exists x.P[x]
(If P is true for "a" then it is true for all x).
AND elimination 1:
P1 ^ P2

P1
(If P1 and P2 are true then P1 is true).
For all elimination:
For all x . P[x]

P[a]
(If P is true for all x then it is true for "a").
For all implication introduction:

 x P[x] 
 . 
 . 
 Q[x] 

For all x . P[x] > Q[x]
(If Q follows from P for arbitrary x then Q follows from P for
all x).
Implication introduction:

 P 
 . 
 . 
 Q 

P > Q
(If Q follows from P then P implies Q).
NOT introduction:

 P 
 . 
 . 
 F 

/ P
(If falsity follows from P then P is false).
NOTNOT:
//P

P
(If it is not the case that P is not true then P is true).
For all implies exists:
P[a] For all x . P[x] > Q[x]

Q[a]
(If P is true for given "a" and P implies Q for all x then Q
is true for a).
Implication elimination, modus ponens:
P P > Q

Q
(If P and P implies Q then Q).
NOT elimination, contradiction:
P /P

F
(If P is true and P is not true then false is true).  