src/HOL/HOLCF/IOA/ABP/Impl_finite.thy
author wenzelm
Wed, 30 Dec 2015 21:57:52 +0100
changeset 62002 f1599e98c4d0
parent 61999 89291b5d0ede
child 62116 bc178c0fe1a1
permissions -rw-r--r--
isabelle update_cartouches -c -t;

(*  Title:      HOL/HOLCF/IOA/ABP/Impl_finite.thy
    Author:     Olaf Müller
*)

section \<open>The implementation\<close>

theory Impl_finite
imports Sender Receiver Abschannel_finite
begin

type_synonym
  'm impl_fin_state
    = "'m sender_state * 'm receiver_state * 'm packet list * bool list"
(*  sender_state   *  receiver_state   *    srch_state  * rsch_state *)

definition
  impl_fin_ioa :: "('m action, 'm impl_fin_state)ioa" where
  "impl_fin_ioa = (sender_ioa \<parallel> receiver_ioa \<parallel> srch_fin_ioa \<parallel>
                  rsch_fin_ioa)"

definition
  sen_fin :: "'m impl_fin_state => 'm sender_state" where
  "sen_fin = fst"

definition
  rec_fin :: "'m impl_fin_state => 'm receiver_state" where
  "rec_fin = fst o snd"

definition
  srch_fin :: "'m impl_fin_state => 'm packet list" where
  "srch_fin = fst o snd o snd"

definition
  rsch_fin :: "'m impl_fin_state => bool list" where
  "rsch_fin = snd o snd o snd"

end