src/HOL/IOA/ABP/Impl_finite.thy
changeset 1570 fd1b9c721ac7
parent 1376 92f83b9d17e1
equal deleted inserted replaced
1569:a89f246dee0e 1570:fd1b9c721ac7
    12 
    12 
    13 'm impl_fin_state 
    13 'm impl_fin_state 
    14 = "'m sender_state * 'm receiver_state * 'm packet list * bool list"
    14 = "'m sender_state * 'm receiver_state * 'm packet list * bool list"
    15 (*  sender_state   *  receiver_state   *    srch_state  * rsch_state *)
    15 (*  sender_state   *  receiver_state   *    srch_state  * rsch_state *)
    16 
    16 
    17 consts
    17 constdefs
    18 
    18 
    19  impl_fin_ioa    :: ('m action, 'm impl_fin_state)ioa
    19  impl_fin_ioa    :: ('m action, 'm impl_fin_state)ioa
       
    20  "impl_fin_ioa == (sender_ioa || receiver_ioa || srch_fin_ioa ||
       
    21                    rsch_fin_ioa)"
       
    22 
    20  sen_fin         :: 'm impl_fin_state => 'm sender_state
    23  sen_fin         :: 'm impl_fin_state => 'm sender_state
       
    24  "sen_fin == fst"
       
    25 
    21  rec_fin         :: 'm impl_fin_state => 'm receiver_state
    26  rec_fin         :: 'm impl_fin_state => 'm receiver_state
       
    27  "rec_fin == fst o snd"
       
    28 
    22  srch_fin        :: 'm impl_fin_state => 'm packet list
    29  srch_fin        :: 'm impl_fin_state => 'm packet list
       
    30  "srch_fin == fst o snd o snd"
       
    31 
    23  rsch_fin        :: 'm impl_fin_state => bool list
    32  rsch_fin        :: 'm impl_fin_state => bool list
    24 
    33  "rsch_fin == snd o snd o snd"
    25 defs
       
    26 
       
    27  impl_fin_def
       
    28   "impl_fin_ioa == (sender_ioa || receiver_ioa || srch_fin_ioa || rsch_fin_ioa)"
       
    29  sen_fin_def   "sen_fin == fst"
       
    30  rec_fin_def   "rec_fin == fst o snd"
       
    31  srch_fin_def "srch_fin == fst o snd o snd"
       
    32  rsch_fin_def "rsch_fin == snd o snd o snd"
       
    33 
    34 
    34 end
    35 end
    35 
    36