Up to index of Isabelle/HOLCF/IOA/NTP
theory Correctness(* Title: HOL/IOA/NTP/Correctness.thy
ID: $Id: Correctness.thy,v 1.6 2005/09/03 14:50:24 wenzelm Exp $
Author: Tobias Nipkow & Konrad Slind
*)
header {* The main correctness proof: Impl implements Spec *}
theory Correctness
imports Impl Spec
begin
constdefs
hom :: "'m impl_state => 'm list"
"hom(s) == rq(rec(s)) @ (if rbit(rec s) = sbit(sen s) then sq(sen s)
else tl(sq(sen s)))"
ML {* use_legacy_bindings (the_context ()) *}
end
theorem externals_lemma:
(a ∈ ext (restrict impl_ioa (externals spec_sig))) = (case a of S_msg m => True | R_msg m => True | _ => False)
theorem ntp_correct:
is_weak_ref_map hom (restrict impl_ioa (externals spec_sig)) spec_ioa