[ProofPower] HELP TO AN INCONSISTENCY PROOF!!

Rob Arthan rda at lemma-one.com
Sat May 22 08:37:44 EDT 2004


Thiago,

On Friday 21 May 2004 2:34 pm, Thiago Carvalho de Sousa wrote:
> ... My research is
> how to apply belief revision theory (an AI field) in
> software engineering specifications. This theory
> provides a way to keep consistency. More specifically,
> I'll try to solve modelling inconsistencies, which
> there are no inputs for which the operation is valid.
> And we can show this operation is `inconsistent' by
> demonstrating that its precondition is false. By the
> way,I'm going to ask you some others questions:
>
> 1) Suppose I have a very large Z specification with
> several 'inconsistent' operations. Do I have to check
> the pre-condition of each operation? Is not there a
> way to check the pre-conditions of the whole system?

You have to bear in mind that if you just give a set of of schemas comprising 
the operations of a system, then you're relying on informal conventions for 
the actual construction of the system as a whole. If you're going to do 
formal proofs, then you need to specify formally how the operations are 
combined in the possible executions of the system. There is a long tradition 
of not bothering to do this, but you're going to have to if you want to 
reason about the system as a whole. Then you'll have a single schema 
combining the individual operation schemas in some way and its precondition 
is what you'll need to calculate.

I think uou also need to bear in mind that once you start composing 
operations, it is not sufficient to prove that the pre-conditions of the 
individual operations are satisfiable (i.e., not false). For example if you 
have

STATE = [counter : {0, 1}]

DEC = [Delta STATE | counter > 0 /\ counter' = counter - 1]

then

pre DEC = counter = 1

but

pre (DEC; DEC) = false

I've attached Phil's corrected version of your specs and proofs with this 
example added.

>
> 2) For statistical history, some idea about how many
> people use Proofpower in the world for software
> development?

As it's available for free public download, I don't really know. For what it's 
worth, the tarball for version 2.7.3 has been downloaded about 70 times 
(ignoring me testing it) since I uploaded it on March 22nd.

In the early days (mid-90s) before ProofPower was open source, it was used by 
its then owner, ICL, and sold under licence to a small number of 
organisations whose main interest were in security proofs for applications 
they were not allowed to tell the world about.

These days the emphasis is more on safety-critical applications rather than 
security, although it is being used by one US user for security work. The 
main user group I know of is at QinetiQ, Malvern, where the group that Phil 
belongs to use it as part of a process for verifying avionics control 
systems. There are also users whose work I know of in several UK universities 
(most notably Kent and York). But that's just people whose work I know about.

Regards,

Rob.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rda-test-reply.doc.gz
Type: application/x-gzip
Size: 823 bytes
Desc: not available
URL: <http://lemma-one.com/pipermail/proofpower_lemma-one.com/attachments/20040522/fd0050fd/attachment.bin>


More information about the Proofpower mailing list