definition
distr_spec :: "[i, i, i, i \i]\i" where "distr_spec(A, In, iIn, Out) \
distr_follows(A, In, iIn, Out) \<inter> distr_allowed_acts(Out)"
locale distr = fixesIn\<comment> \<open>items to distribute\<close> and iIn \<comment> \<open>destinations of items to distribute\<close> and Out \<comment> \<open>distributed items\<close> and A \<comment> \<open>the type of items being distributed\<close> and D assumes
var_assumes [simp]: "In \ var \ iIn \ var \ (\n. Out(n):var)" and all_distinct_vars: "\n. all_distinct([In, iIn, Out(n)])" and type_assumes [simp]: "type_of(In)=list(A) \ type_of(iIn)=list(nat) \
(\<forall>n. type_of(Out(n))=list(A))" and default_val_assumes [simp]: "default_val(In)=Nil \
default_val(iIn)=Nil \<and>
(\<forall>n. default_val(Out(n))=Nil)" and distr_spec: "D \ distr_spec(A, In, iIn, Out)"
lemma (in distr) In_value_type [simp,TC]: "s \ state \ s`In \ list(A)" unfolding state_def apply (drule_tac a = Inin apply_type, auto) done
lemma (in distr) iIn_value_type [simp,TC]: "s \ state \ s`iIn \ list(nat)" unfolding state_def apply (drule_tac a = iIn in apply_type, auto) done
lemma (in distr) Out_value_type [simp,TC]: "s \ state \ s`Out(n):list(A)" unfolding state_def apply (drule_tac a = "Out (n)"in apply_type) apply auto 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.0.0Bemerkung:
(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.