src/HOLCF/IOA/ABP/Correctness.thy
changeset 25131 2c8caac48ade
parent 20918 b9068bd7255c
child 26342 0f65fa163304
equal deleted inserted replaced
25130:d91391a8705b 25131:2c8caac48ade
    18                      [] => [x]
    18                      [] => [x]
    19                |   y#ys => (if (x=y)
    19                |   y#ys => (if (x=y)
    20                               then reduce xs
    20                               then reduce xs
    21                               else (x#(reduce xs))))"
    21                               else (x#(reduce xs))))"
    22 
    22 
    23 constdefs
    23 definition
    24   abs where
    24   abs where
    25     "abs  ==
    25     "abs  =
    26       (%p.(fst(p),(fst(snd(p)),(fst(snd(snd(p))),
    26       (%p.(fst(p),(fst(snd(p)),(fst(snd(snd(p))),
    27        (reduce(fst(snd(snd(snd(p))))),reduce(snd(snd(snd(snd(p))))))))))"
    27        (reduce(fst(snd(snd(snd(p))))),reduce(snd(snd(snd(snd(p))))))))))"
    28 
    28 
    29   system_ioa       :: "('m action, bool * 'm impl_state)ioa"
    29 definition
    30   "system_ioa == (env_ioa || impl_ioa)"
    30   system_ioa :: "('m action, bool * 'm impl_state)ioa" where
    31 
    31   "system_ioa = (env_ioa || impl_ioa)"
    32   system_fin_ioa   :: "('m action, bool * 'm impl_state)ioa"
    32 
    33   "system_fin_ioa == (env_ioa || impl_fin_ioa)"
    33 definition
    34 
    34   system_fin_ioa :: "('m action, bool * 'm impl_state)ioa" where
    35 
    35   "system_fin_ioa = (env_ioa || impl_fin_ioa)"
    36 axioms
    36 
    37 
    37 
    38   sys_IOA:     "IOA system_ioa"
    38 axiomatization where
       
    39   sys_IOA: "IOA system_ioa" and
    39   sys_fin_IOA: "IOA system_fin_ioa"
    40   sys_fin_IOA: "IOA system_fin_ioa"
    40 
    41 
    41 
    42 
    42 
    43 
    43 declare split_paired_All [simp del] Collect_empty_eq [simp del]
    44 declare split_paired_All [simp del] Collect_empty_eq [simp del]