Theory Impl_finite
section ‹The implementation›
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"
definition
impl_fin_ioa :: "('m action, 'm impl_fin_state)ioa" where
"impl_fin_ioa = (sender_ioa ∥ receiver_ioa ∥ srch_fin_ioa ∥
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 ∘ snd"
definition
srch_fin :: "'m impl_fin_state => 'm packet list" where
"srch_fin = fst ∘ snd ∘ snd"
definition
rsch_fin :: "'m impl_fin_state => bool list" where
"rsch_fin = snd ∘ snd ∘ snd"
end