(* Title: HOL/HOLCF/IOA/Compositionality.thy Author: Olaf Müller
*)
section \<open>Compositionality of I/O automata\<close> theory Compositionality imports CompoTraces begin
lemma compatibility_consequence3: "eA \ A \ eB \ \ eA \ \ A \ (eA \ eB) \ A = eA" by auto
lemma Filter_actAisFilter_extA: "compatible A B \ Forall (\a. a \ ext A \ a \ ext B) tr \
Filter (\<lambda>a. a \<in> act A) \<cdot> tr = Filter (\<lambda>a. a \<in> ext A) \<cdot> tr" apply (rule ForallPFilterQR) text\<open>i.e.: \<open>(\<forall>x. P x \<longrightarrow> (Q x = R x)) \<Longrightarrow> Forall P tr \<Longrightarrow> Filter Q \<cdot> tr = Filter R \<cdot> tr\<close>\<close> prefer 2 apply assumption apply (rule compatibility_consequence3) apply (simp_all add: ext_is_act ext1_ext2_is_not_act1) done
text\<open>
The next two theorems are only necessary, as there is no theorem \<open>ext (A \<parallel> B) = ext (B \<parallel> A)\<close> \<close>
lemma compatibility_consequence4: "eA \ A \ eB \ \ eA \ \ A \ (eB \ eA) \ A = eA" by auto
lemma Filter_actAisFilter_extA2: "compatible A B \ Forall (\a. a \ ext B \ a \ ext A) tr \
Filter (\<lambda>a. a \<in> act A) \<cdot> tr = Filter (\<lambda>a. a \<in> ext A) \<cdot> tr" apply (rule ForallPFilterQR) prefer 2 apply (assumption) apply (rule compatibility_consequence4) apply (simp_all add: ext_is_act ext1_ext2_is_not_act1) done
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.