| 3664 |      1 | (*  Title:      HOLCF/IMP/HoareEx.thy
 | 
|  |      2 |     ID:         $Id$
 | 
|  |      3 |     Author:     Tobias Nipkow, TUM
 | 
|  |      4 |     Copyright   1997 TUM
 | 
|  |      5 | 
 | 
|  |      6 | An example from the HOLCF paper by Mueller, Nipkow, Oheimb, Slotosch.
 | 
|  |      7 | It demonstrates fixpoint reasoning by showing the correctness of the Hoare
 | 
|  |      8 | rule for while-loops.
 | 
|  |      9 | *)
 | 
|  |     10 | 
 | 
|  |     11 | HoareEx = Denotational +
 | 
|  |     12 | 
 | 
|  |     13 | types assn = state => bool
 | 
|  |     14 | 
 | 
|  |     15 | constdefs hoare_valid :: [assn,com,assn] => bool ("|= {(1_)}/ (_)/ {(1_)}" 50)
 | 
|  |     16 |  "|= {A} c {B} == !s t. A s & D c `(Discr s) = Def t --> B t"
 | 
|  |     17 | 
 | 
|  |     18 | end
 |