comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Silly and stupid post-condition or not ?
Date: Sat, 4 Feb 2012 11:15:37 +0100
Date: 2012-02-04T11:15:37+01:00	[thread overview]
Message-ID: <muumqjj648io.18sbegxwpg3hm$.dlg@40tude.net> (raw)
In-Reply-To: jgi8jh$pva$1@munin.nbi.dk

On Fri, 3 Feb 2012 21:27:40 -0600, Randy Brukardt wrote:

> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
> news:143dxzgfasd4o$.a7lekw80xee2$.dlg@40tude.net...
>> On Thu, 2 Feb 2012 21:13:04 -0600, Randy Brukardt wrote:
>>
>>> I've always hated the emphasis on completeness of these things, because it
>>> is *exactly* the wrong approach to getting something in wide-spread use
>>> (even in the Ada community).
>>
>> Putting my hat of logicians on: you can't get anywhere without
>> completeness. This is how logical inference rules work. Sorry for that, 
>> but there is no other way.
> 
> That's complete and utter bunk. As a compiler writer, I know that a compiler 
> can prove all kinds of useful things knowing very little about the program 
> in question. And moreover, any information that the compiler can gain is 
> helpful; it does not have to be complete in any sense.

No, you don't need all information, but each piece you get must be complete
in itself. Informally, completeness is just about knowing the choices to
make.

> The problem here is that people have allowed themselves to be tied in knots 
> by formal theories, when it's obvious that you can do plenty with nothing 
> but some computing power and a bit of Boolean logic. Formal theories are 
> hardly worth the paper they're written on.

Quite so, but there still exist hard facts, which cannot be ignored without
being punished. 2x2=4, function is not a constructor (:-))

> Can I prove correctness? No, but that is not now and never will be a useful 
> goal.

I don't think so. As the amount and complexity of the software grows the
traditional means of ensuring software quality stop working both
technically and economically.

I see it on the example of GNAT compiler. Probably most experienced and
talented people in the world cannot get it right for about 20 years. 20
years is the age of one generation.

> If it was possible, it would just cause an infinite regress anyway.

True. You always need to take some things for granted. That is no problem
to me. This seems to be a problem to people from your camp: we cannot check
for Strorage_Error! Why? Of course you can, just let the programmer fill
the gaps, let proofs be conditionals. Any proof is conditional because of
that infinite regress. Why throwing everything away?

> Specifically, if you can specify the behavior of a program well enough that 
> you can prove 100% of its semantics, then the effort to write the actual 
> program was wasted (at least in the vast majority of programming tasks) --  
> you would have been better off directly executing the specification. And 
> pretty soon, people will be doing that, and we'll be back to having no 
> proofs of any kind. (And a much harder to understand specification on top of 
> it.)

And again, this is what you get. If you refuse to integrate formal stuff
into the language, then, inevitably, an ugly modeling tool to come. And one
uglier on top of it and so on. Tools prey and feed on weak languages.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2012-02-04 10:15 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-30 23:11 Silly and stupid post‑condition or not ? Yannick Duchêne (Hibou57)
2012-01-31  6:47 ` J-P. Rosen
2012-01-31 18:48   ` Jeffrey Carter
2012-01-31 22:02     ` Yannick Duchêne (Hibou57)
2012-01-31  8:54 ` Dmitry A. Kazakov
2012-01-31  9:35   ` Georg Bauhaus
2012-01-31 10:22     ` Dmitry A. Kazakov
2012-01-31 12:33       ` Georg Bauhaus
2012-01-31 13:52         ` Dmitry A. Kazakov
2012-01-31 15:34           ` Georg Bauhaus
2012-01-31 16:24             ` Dmitry A. Kazakov
2012-01-31 19:44               ` Georg Bauhaus
2012-02-01  8:41                 ` Dmitry A. Kazakov
2012-02-01 10:37                   ` stefan-lucks
2012-02-01 10:51                     ` Yannick Duchêne (Hibou57)
2012-02-01 13:49                     ` Yannick Duchêne (Hibou57)
2012-02-01 13:49                     ` Dmitry A. Kazakov
2012-02-01 16:37                       ` stefan-lucks
2012-02-02  1:50                         ` Silly and stupid post�?'condition " Randy Brukardt
2012-02-02  1:56                           ` Silly and stupid postâ?'condition or not ? Yannick Duchêne (Hibou57)
2012-02-03  2:45                             ` Silly and stupid post�?'condition or not ? Randy Brukardt
2012-02-02  8:25                         ` Silly and stupid post‑condition " Dmitry A. Kazakov
2012-02-02  9:01                           ` stefan-lucks
2012-02-02  9:18                           ` stefan-lucks
2012-02-02 10:04                             ` Dmitry A. Kazakov
2012-01-31 22:08         ` Yannick Duchêne (Hibou57)
2012-01-31 17:28 ` Dmitry A. Kazakov
2012-01-31 22:12   ` Yannick Duchêne (Hibou57)
2012-02-01  8:49     ` Dmitry A. Kazakov
2012-02-01  8:36 ` Stephen Leake
2012-02-01 16:30   ` Silly and stupid post-condition " Adam Beneschan
2012-02-02  9:40     ` Stephen Leake
2012-02-02 13:20       ` Georg Bauhaus
2012-02-02 13:35         ` Yannick Duchêne (Hibou57)
2012-02-03  3:13       ` Randy Brukardt
2012-02-03  3:33         ` Yannick Duchêne (Hibou57)
2012-02-03  8:12         ` Simon Wright
2012-02-07  2:29           ` BrianG
2012-02-07 10:43             ` Simon Wright
2012-02-08  2:25               ` BrianG
2012-02-07 21:15             ` Robert A Duff
2012-02-03  9:11         ` Dmitry A. Kazakov
2012-02-04  3:27           ` Randy Brukardt
2012-02-04 10:15             ` Dmitry A. Kazakov [this message]
2012-02-03 12:25         ` Phil Thornley
2012-02-04  9:30         ` Phil Thornley
2012-02-04 12:02         ` Phil Thornley
2012-02-05  6:18           ` Randy Brukardt
2012-02-05 10:23             ` Phil Thornley
2012-02-05 10:55               ` Yannick Duchêne (Hibou57)
2012-02-05 15:03               ` Robert A Duff
2012-02-05 18:04                 ` Phil Thornley
2012-02-05 21:27                   ` Robert A Duff
2012-02-05 23:09                     ` Phil Thornley
2012-02-07  2:05               ` Randy Brukardt
2012-02-07  9:38                 ` Dmitry A. Kazakov
2012-02-05 11:31             ` Yannick Duchêne (Hibou57)
2012-02-05 14:50             ` Robert A Duff
2012-02-07  2:11               ` Randy Brukardt
2012-02-07  2:34             ` BrianG
2012-02-07  4:38               ` Yannick Duchêne (Hibou57)
2012-02-09  3:10               ` Randy Brukardt
2012-02-04 23:07         ` Stephen Leake
2012-02-05  2:49           ` Yannick Duchêne (Hibou57)
2012-02-05  6:29           ` Randy Brukardt
2012-02-05 11:40             ` Yannick Duchêne (Hibou57)
2012-02-07  1:36               ` Randy Brukardt
2012-02-05 15:16             ` Robert A Duff
2012-02-06  4:56               ` Yannick Duchêne (Hibou57)
2012-02-06 14:39                 ` Robert A Duff
2012-02-06 16:12                   ` Yannick Duchêne (Hibou57)
2012-02-07  1:46               ` Randy Brukardt
2012-02-07 17:24                 ` Robert A Duff
2012-02-03  6:26       ` J-P. Rosen
2012-02-03  9:12         ` Dmitry A. Kazakov
2012-02-03  9:48           ` Yannick Duchêne (Hibou57)
2012-02-03 11:09             ` Dmitry A. Kazakov
2012-02-03 11:40               ` Yannick Duchêne (Hibou57)
2012-02-03 13:18                 ` Dmitry A. Kazakov
2012-02-03 14:14                   ` Yannick Duchêne (Hibou57)
2012-02-03 14:45                     ` Dmitry A. Kazakov
2012-02-04  3:16           ` Randy Brukardt
2012-02-04  6:27             ` Yannick Duchêne (Hibou57)
2012-02-04 10:47             ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox