Wegner OOPSLA'95, " [...] formal correctness proofs have a limited role
as evidence for the correctness of interactive systems."
Massimo Dentico
m.dentico@teseo.it
Sun, 29 Aug 1999 12:39:02 +0200
Another citation from the paper of Wegner (emphasis is mine, of
course) and, after, some of my questions.
==================================================================
OOPSLA Tutorial Notes, October 1995
Tutorial Notes: Models and Paradigms of Interaction
Peter Wegner, Brown University, September 1995
(http://www.cs.brown.edu/people/pw/papers/oot1.ps)
[...]
3.1 Irreducibility and incompleteness
Gödel incompleteness for the integers reflects the incompleteness
of many other domains whose sets of true assertions are not
recursively enumerable, including that of interaction machines. It
strikes a blow against reductionism, and by implication against
philosophical rationalism. The irreducibility of semantics to
syntax, which is considered a fault from the viewpoint of
formalizability, becomes a feature of empirical models in
permitting empirical semantics to transcend the limitations of
notation. Plato's despairing metaphor that our view of the real
world consists of mere reflections of reality on the walls of a
cave was turned around by the development of empirical models that
predict and control such partially-perceived reflections of
reality. Empirical models accept inherent incompleteness and
irreducibility, developing methods of prediction, control, and
understanding for inherently partial knowledge. Empirical computer
science should, like physics, focus on prediction and control in
partially specified interactive modeled worlds, since this
provides greater modeling power than completely formalizable
algorithmic models.
In showing that the integers were not formalizable by first-order
logic, Gödel showed that Russell and Hilbert's attempts to
formalize mathematics could not succeed. These insights also open
the door to showing the limitations of formalization for
computing. The idea of incompleteness, introduced by Gödel to show
that the natural numbers are not reducible to first-order logic,
may be used also to show the irreducibility of interaction
machines and more generally of empirical systems whose validation
depends on interaction with or observation of autonomous
environments. Turing machines lose their statues as the natural,
intuitive, most powerful computing mechanism but retain their
status as the most powerful mechanism having a sound and complete
behavior specification. **These limitations of logic imply that
FORMAL CORRECTNESS PROOFS HAVE A LIMITED ROLE AS EVIDENCE FOR THE
CORRECTNESS OF INTERACTIVE SYSTEMS**. Hobbes' assertion that
"reasoning is but reckoning" remains true since logic is a form of
computing, but the converse assertion that "reckoning is but
reasoning" is false since not all computing can be reduced to
logic.
**PROOFS OF CORRECTNESS FOR ALL POSSIBLE INTERACTIONS ARE not
merely hard but IMPOSSIBLE FOR SOFTWARE SYSTEMS BECAUSE THE SET OF
ALL POSSIBLE INTERACTIONS CANNOT BE SPECIFIED. Testing provides
the primary evidence for correctness and other evidence like
result checking is needed to check that the result actually
produced is adequate. Even partial result checking, like parity
checking, can greatly increase confidence in a result. Formal
incorporation of on-line result checking into critical computing
processes reinforces off-line evidence of testing with post-
execution evidence that the actual answer is correct. The nature
of evidence for the adequacy of computations, the relation among
different kinds of evidence, and THE LIMITATIONS OF FORMAL METHODS
AND PROOF in providing such evidence ARE IMPORTANT FUNDAMENTAL
QUESTIONS.**
==================================================================
1) Are these statements acceptable ("true")? (I don't believe to
have an adequate mathematical preparation to be able to object,
but the reasoning, according to me, seems to be correct).
2) If the answer is "yes", which will be the role of the proofs
of correctness in Tunes? Will be limited to the purely
algorithmic part? And which will be the importance of the non-
interactive part (algorithms)? (Wegner defends the central role
of interective system in computer science).
--
Massimo Dentico