comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: SPARK - divide algorithm issue
Date: Mon, 22 Apr 2013 00:50:37 -0700 (PDT)
Date: 2013-04-22T00:50:37-07:00	[thread overview]
Message-ID: <1207e7ed-e279-4e31-93fc-350f5dcef671@googlegroups.com> (raw)
In-Reply-To: <MPG.2bdc69f5c3cf28749896a6@news.zen.co.uk>

W dniu sobota, 20 kwietnia 2013 11:02:18 UTC+2 użytkownik Phil Thornley napisał:

> This can be proved by contradiction: if q >= 2147483647 then there is a 
> contradiction with H1, H4 and H6 (remembering that n is integer). 
> 
> Victor/Alt-Ergo does prove this VC:
> 
> ,divide,procedure,,,5,,true,0.016,,,

Thank you for directions!

> No matter how good the proof tools are, there will probably always be 
> some proveable VCs that they fail to prove in practicable time

Yes, but the notion of "practicability" is a bit sensitive. :-) In this case the tool gives up after just few milliseconds and then the programmer has to spend orders of magnitude longer with the interactive prover. It would be practical for the tool to invest more effort (that is, more time and memory), as the potential savings are huge. Would one second be enough for the tool to exhaustively try various combinations of available hypotheses (there are only 9 of them here) and contradict them? Certainly, I would be happy to wait that much.
Or maybe 10 seconds would be fine, too?
Or maybe the actual meaning of "practicable" should be a config parameter?

In any case, what is most intriguing is the fact that this example is claimed to verify OK in the book. Is it a regression in the toolchain?

> If you are using worked examples to help with understanding SPARK proof, 
> 
> you may find the proof tutorials at:
> 
> http://www.sparksure.com
> 
> helpful.

Yes, I'm aware of this site and I appreciate your efforts in this area. :-)
Thank you again,

-- 
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com



      reply	other threads:[~2013-04-22  7:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-19 21:33 SPARK - divide algorithm issue Maciej Sobczak
2013-04-20  9:02 ` Phil Thornley
2013-04-22  7:50   ` Maciej Sobczak [this message]
replies disabled

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