src/HOL/Hoare_Parallel/RG_Com.thy
author wenzelm
Sat, 27 Dec 2014 20:32:06 +0100
changeset 59189 ad8e0a789af6
parent 58884 be4d203d35b3
child 62042 6c6ccf573479
permissions -rw-r--r--
update_cartouches; trimmed whitespace;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
59189
ad8e0a789af6 update_cartouches;
wenzelm
parents: 58884
diff changeset
     1
chapter \<open>The Rely-Guarantee Method\<close>
13020
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
     2
59189
ad8e0a789af6 update_cartouches;
wenzelm
parents: 58884
diff changeset
     3
section \<open>Abstract Syntax\<close>
13020
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
     4
16417
9bc16273c2d4 migrated theory headers to new format
haftmann
parents: 13020
diff changeset
     5
theory RG_Com imports Main begin
13020
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
     6
59189
ad8e0a789af6 update_cartouches;
wenzelm
parents: 58884
diff changeset
     7
text \<open>Semantics of assertions and boolean expressions (bexp) as sets
13020
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
     8
of states.  Syntax of commands @{text com} and parallel commands
59189
ad8e0a789af6 update_cartouches;
wenzelm
parents: 58884
diff changeset
     9
@{text par_com}.\<close>
13020
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
    10
42174
d0be2722ce9f modernized specifications;
wenzelm
parents: 32621
diff changeset
    11
type_synonym 'a bexp = "'a set"
13020
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
    12
59189
ad8e0a789af6 update_cartouches;
wenzelm
parents: 58884
diff changeset
    13
datatype 'a com =
13020
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
    14
    Basic "'a \<Rightarrow>'a"
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
    15
  | Seq "'a com" "'a com"
59189
ad8e0a789af6 update_cartouches;
wenzelm
parents: 58884
diff changeset
    16
  | Cond "'a bexp" "'a com" "'a com"
ad8e0a789af6 update_cartouches;
wenzelm
parents: 58884
diff changeset
    17
  | While "'a bexp" "'a com"
ad8e0a789af6 update_cartouches;
wenzelm
parents: 58884
diff changeset
    18
  | Await "'a bexp" "'a com"
13020
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
    19
42174
d0be2722ce9f modernized specifications;
wenzelm
parents: 32621
diff changeset
    20
type_synonym 'a par_com = "'a com option list"
13020
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
    21
791e3b4c4039 HoareParallel Theories
prensani
parents:
diff changeset
    22
end