src/HOL/IMP/Hoare.thy
changeset 27362 a6dc1769fdda
parent 23746 a455e69c31cc
child 35731 f139a9bb6501
     1.1 --- a/src/HOL/IMP/Hoare.thy	Wed Jun 25 21:25:51 2008 +0200
     1.2 +++ b/src/HOL/IMP/Hoare.thy	Wed Jun 25 22:01:34 2008 +0200
     1.3 @@ -10,8 +10,9 @@
     1.4  
     1.5  types assn = "state => bool"
     1.6  
     1.7 -constdefs hoare_valid :: "[assn,com,assn] => bool" ("|= {(1_)}/ (_)/ {(1_)}" 50)
     1.8 -          "|= {P}c{Q} == !s t. (s,t) : C(c) --> P s --> Q t"
     1.9 +definition
    1.10 +  hoare_valid :: "[assn,com,assn] => bool" ("|= {(1_)}/ (_)/ {(1_)}" 50) where
    1.11 +  "|= {P}c{Q} = (!s t. (s,t) : C(c) --> P s --> Q t)"
    1.12  
    1.13  inductive
    1.14    hoare :: "assn => com => assn => bool" ("|- ({(1_)}/ (_)/ {(1_)})" 50)
    1.15 @@ -26,8 +27,9 @@
    1.16  | conseq: "[| !s. P' s --> P s; |- {P}c{Q}; !s. Q s --> Q' s |] ==>
    1.17            |- {P'}c{Q'}"
    1.18  
    1.19 -constdefs wp :: "com => assn => assn"
    1.20 -          "wp c Q == (%s. !t. (s,t) : C(c) --> Q t)"
    1.21 +definition
    1.22 +  wp :: "com => assn => assn" where
    1.23 +  "wp c Q = (%s. !t. (s,t) : C(c) --> Q t)"
    1.24  
    1.25  (*
    1.26  Soundness (and part of) relative completeness of Hoare rules