15.08.2013 Views

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A<br />

∀X.A ∀I∗<br />

[B/X](A)<br />

∃X.A ∃I<br />

∃X.A<br />

∀X.A<br />

[B/X](A) ∀E<br />

[[c/X](A)] 1<br />

C<br />

.<br />

C<br />

∃E 1<br />

∗ means that A does not depend on any hypothesis in which X is free.<br />

c○: Michael Kohlhase 198<br />

The intuition behind the rule ∀I is that a formula A with a (free) variable X can be generalized to<br />

∀X.A, if X stands for an arbitrary object, i.e. there are no restricting assumptions about X. The<br />

∀E rule is just a substitution rule that allows to instantiate arbitrary terms B for X in A. The<br />

∃I rule says if we have a witness B for X in A (i.e. a concrete term B that makes A true), then<br />

we can existentially close A. The ∃E rule corresponds to the common mathematical practice,<br />

where we give objects we know exist a new name c and continue the proof by reasoning about this<br />

concrete object c. Anything we can prove from the assumption [c/X](A) we can prove outright if<br />

∃X.A is known.<br />

With the ND calculus we have given a set of inference rules that are (empirically) complete for<br />

all the proof we need for the <strong>General</strong> <strong>Computer</strong> <strong>Science</strong> courses. Indeed Mathematicians are<br />

convinced that (if pressed hard enough) they could transform all (informal but rigorous) proofs<br />

into (formal) ND proofs. This is however seldom done in practice because it is extremely tedious,<br />

and mathematicians are sure that peer review of mathematical proofs will catch all relevant errors.<br />

In some areas however, this quality standard is not safe enough, e.g. for programs that control nuclear<br />

power plants. The field of “Formal Methods” which is at the intersection of mathematics and<br />

<strong>Computer</strong> <strong>Science</strong> studies how the behavior of programs can be specified formally in special logics<br />

and how fully formal proofs of safety properties of programs can be developed semi-automatically.<br />

Note that given the discussion in Subsection 2.6.2 fully formal proofs (in sound calculi) can be<br />

that can be checked by machines since their soundness only depends on the form of the formulae<br />

in them.<br />

105

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!