1 (* Title: HOLCF/IOA/ABP/Correctness.thy
6 header {* The main correctness proof: System_fin implements System *}
9 imports IOA Env Impl Impl_finite
13 reduce :: "'a list => 'a list"
15 reduce_Nil: "reduce [] = []"
16 reduce_Cons: "reduce(x#xs) =
21 else (x#(reduce xs))))"
26 (%p.(fst(p),(fst(snd(p)),(fst(snd(snd(p))),
27 (reduce(fst(snd(snd(snd(p))))),reduce(snd(snd(snd(snd(p))))))))))"
29 system_ioa :: "('m action, bool * 'm impl_state)ioa"
30 "system_ioa == (env_ioa || impl_ioa)"
32 system_fin_ioa :: "('m action, bool * 'm impl_state)ioa"
33 "system_fin_ioa == (env_ioa || impl_fin_ioa)"
38 sys_IOA: "IOA system_ioa"
39 sys_fin_IOA: "IOA system_fin_ioa"
41 ML {* use_legacy_bindings (the_context ()) *}