definition is_weak_pmap :: "['c \ 'a, ('action,'c)ioa,('action,'a)ioa] \ bool" where "is_weak_pmap f C A \
(\<forall>s\<in>starts_of(C). f(s)\<in>starts_of(A)) \<and>
(\<forall>s t a. reachable C s \<and>
(s,a,t)\<in>trans_of(C) \<longrightarrow> (if a\<in>externals(asig_of(C)) then
(f(s),a,f(t))\<in>trans_of(A)
else f(s)=f(t)))"
lemma reachable_rename_ioa: "[| reachable (rename C g) s |] ==> reachable C s" apply (simp add: reachable_def) apply (erule bexE) apply (rule_tac x = "((\i. case (fst ex i) of None \ None | Some (x) => g x) ,snd ex)" in bexI) apply (simp (no_asm)) (* execution is indeed an execution of C *) apply (simp add: executions_def is_execution_fragment_def par_def
starts_of_def trans_of_def rename_def split: option.split) apply force done
lemma rename_through_pmap: "[| is_weak_pmap f C A |]
==> (is_weak_pmap f (rename C g) (rename A g))" apply (simp add: is_weak_pmap_def) apply (rule conjI) apply (simp add: rename_def starts_of_def) apply (rule allI)+ apply (rule imp_conj_lemma) apply (simp (no_asm) add: rename_def) apply (simp add: externals_def asig_inputs_def asig_outputs_def asig_of_def trans_of_def) apply safe apply (simplesubst if_split) apply (rule conjI) apply (rule impI) apply (erule disjE) apply (erule exE) apply (erule conjE) (* x is input *) apply (drule sym) apply (drule sym) apply simp apply hypsubst+ apply (cut_tac C = "C"and g = "g"and s = "s"in reachable_rename_ioa) apply assumption apply simp (* x is output *) apply (erule exE) apply (erule conjE) apply (drule sym) apply (drule sym) apply simp apply hypsubst+ apply (cut_tac C = "C"and g = "g"and s = "s"in reachable_rename_ioa) apply assumption apply simp (* x is internal *) apply (simp (no_asm) cong add: conj_cong) apply (rule impI) apply (erule conjE) apply (cut_tac C = "C"and g = "g"and s = "s"in reachable_rename_ioa) apply auto done
declare if_split [split] if_weak_cong [cong]
end
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet)
¤
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.