🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.specification
Article #130

Proof rules for angelic choice?

#130
From: Gary Leavens
Date: Wed, 27 Jun 1990 15:14
32 lines
1503 bytes
Has anyone written a relatively complete Hoare-style proof
rule for the angelic choice construct?
(See Broy's article in TCS, Vol. 45, Number 1, 1986.)
The idea is that
	E1 -ac- E2
executes either E1 or E2, but will angelically choose
the one that terminates if there one.
This is like running both E1 and E2
in parallel, and picking the result of the first
to terminate.  For example,
	(print 3) -ac- (loop-forever)
will print 3, and
	(print 3) -ac- (print-or-loop-forever 4)
may print either 3 or 4, but will not loop forever.

The obvious proof rule is that the desired post-condition
has to follow from the desired pre-condition for both
E1 and E2.  But such a rule is incomplete if one
is reasoning about total-correctness, as one cannot,
for example, prove that the expression
	(print 3) -ac- (loop-forever)
will print 3.  Has anyone done better?

	Gary Leavens
P.S. I realize that this is more of a verification
question, as opposed to a specification question.
But there's no comp.verification :-).
--
	229 Atanasoff Hall, Department of Computer Science
	Iowa State University, Ames, Iowa 50011-1040, USA
	phone: (515) 294-1580
Technical Details
Message-ID: <2103@dino.cs.iastate.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!dino!leavens

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!dino!leavens
From: leavens@cs.iastate.edu (Gary Leavens)
Newsgroups: comp.specification
Subject: Proof rules for angelic choice?
Keywords: Hoare logic, verification
Message-ID: <2103@dino.cs.iastate.edu>
Date: 27 Jun 90 15:14:07 GMT
Sender: usenet@dino.cs.iastate.edu
Distribution: comp
Lines: 32