comp.lang.ada
 help / color / mirror / Atom feed
From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: SPARK understand me very well... me neither
Date: Sun, 15 Aug 2010 00:20:19 +0200
Date: 2010-08-15T00:20:19+02:00	[thread overview]
Message-ID: <op.vhf8b50hule2fv@garhos> (raw)
In-Reply-To: i4732h$2let$1@adenine.netfront.net

Le Sat, 14 Aug 2010 23:50:08 +0200, Jeffrey Carter  
<spam.jrcarter.not@spam.not.acm.org> a écrit:
> It doesn't prove anything, and it's not supposed to. It's a  
> precondition. It says, "This precondition must be true for this  
> operation to give correct results." It is the caller's duty to meet the  
> precondition.
I understand that objection ; but in the mean time, isn't it the purpose  
of an interface to ease use and to help to manage things ? The  
precondition is part of the interface as much as the function signature is  
after all.

I will need some time to try an imagine new approachs.

The one I was using until now was more looking mathematical proof (by the  
way, the same kind of you may have with VDM or something of the like),  
that is a step by step hypothesis -> conclusion -> new hypothesis -> new  
conclusion, each possibly referring to previous conclusions. That is the  
reason why I oftenly number each step and refer to these in conclusions as  
“... -- from (x) and (y)” where x and y are numbers of previous steps.  
Indeed, this approach does not seems to be well suited with SPARK and ends  
into unsolvable things. The fact it does not only validate proof, but also  
tries to prove things it-self is an important fact with consequences. This  
is not really a validator, this is half validator and half automatic  
prover. And this impacts the way it works. You cannot expect it to follow  
your step-by-step proof (because it may use this or that hypothesis its  
own way, possibly going into long backtrackings or explorations), and you  
cannot expect it to prove every things automatically (that point is  
obvious). This makes it unfamiliar to me, so I will have to figure some  
other ways to do with it.

Will have some opportunities, as I would like to test it on some other  
Rosetta examples (along with some personal uses I am planning and already  
started to test).



  reply	other threads:[~2010-08-14 22:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-13 20:12 SPARK understand me very well... me neither Yannick Duchêne (Hibou57)
2010-08-14  4:57 ` Yannick Duchêne (Hibou57)
2010-08-14 16:04   ` Phil Thornley
2010-08-14 16:44     ` Yannick Duchêne (Hibou57)
2010-08-14 19:08       ` Phil Thornley
2010-08-14 20:48         ` Yannick Duchêne (Hibou57)
2010-08-14 21:07           ` Yannick Duchêne (Hibou57)
2010-08-14 21:50           ` Jeffrey Carter
2010-08-14 22:20             ` Yannick Duchêne (Hibou57) [this message]
2010-08-15  0:45             ` Yannick Duchêne (Hibou57)
2010-08-14 16:57     ` Yannick Duchêne (Hibou57)
replies disabled

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