src/HOL/HOLCF/IOA/ABP/Env.thy
author huffman
Sat, 27 Nov 2010 16:08:10 -0800
changeset 41022 0437dbc127b3
parent 35174 src/HOLCF/IOA/ABP/Env.thy@e15040ae75d7
child 41193 b8703f63bfb2
permissions -rw-r--r--
moved directory src/HOLCF to src/HOL/HOLCF;
added HOLCF theories to src/HOL/IsaMakefile;
mueller@3072
     1
(*  Title:      HOLCF/IOA/ABP/Impl.thy
wenzelm@12218
     2
    Author:     Olaf Müller
mueller@3072
     3
*)
mueller@3072
     4
wenzelm@17244
     5
header {* The environment *}
wenzelm@17244
     6
wenzelm@17244
     7
theory Env
wenzelm@17244
     8
imports IOA Action
wenzelm@17244
     9
begin
mueller@3072
    10
mueller@3072
    11
types
wenzelm@17244
    12
  'm env_state = bool   -- {* give next bit to system *}
mueller@3072
    13
wenzelm@25131
    14
definition
wenzelm@25131
    15
  env_asig :: "'m action signature" where
wenzelm@25131
    16
  "env_asig == ({Next},
wenzelm@25131
    17
                 UN m. {S_msg(m)},
wenzelm@25131
    18
                 {})"
wenzelm@17244
    19
wenzelm@25131
    20
definition
wenzelm@25131
    21
  env_trans :: "('m action, 'm env_state)transition set" where
wenzelm@25131
    22
  "env_trans =
wenzelm@25131
    23
   {tr. let s = fst(tr);
wenzelm@25131
    24
            t = snd(snd(tr))
wenzelm@25131
    25
        in case fst(snd(tr))
wenzelm@25131
    26
        of
wenzelm@25131
    27
        Next       => t=True |
wenzelm@25131
    28
        S_msg(m)   => s=True & t=False |
wenzelm@25131
    29
        R_msg(m)   => False |
wenzelm@25131
    30
        S_pkt(pkt) => False |
wenzelm@25131
    31
        R_pkt(pkt) => False |
wenzelm@25131
    32
        S_ack(b)   => False |
wenzelm@25131
    33
        R_ack(b)   => False}"
wenzelm@17244
    34
wenzelm@25131
    35
definition
wenzelm@25131
    36
  env_ioa :: "('m action, 'm env_state)ioa" where
wenzelm@25131
    37
  "env_ioa = (env_asig, {True}, env_trans,{},{})"
mueller@3072
    38
wenzelm@25131
    39
axiomatization
wenzelm@25131
    40
  "next" :: "'m env_state => bool"
mueller@3072
    41
mueller@3072
    42
end