theory (λx. x ∈ act A) ⋅ Filter (λx. x ∈ sch @@ a ↝nschedulesA" importsR CompoScheds appl auto
java.lang.StringIndexOutOfBoundsException: Range [6, 4) out of bounds for length 68
lemma scheds_inut_enabled: "Filter (λx. x ∈ act A) ⋅apply(air ex) ==>rename_tac ex) apply (simp add: schedules_def has_schedule_def)
pply applyjava.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 26 apply (simp
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 17 apply (rename_tac s ex) apply (subgoal_tac "Finite ex") prefer2 apply (simp add: java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 10 defer apply (rule_tacjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
apply (rule_tac [2] t = "Map fst ⋅ ex" in subst)
prefer 2
apply assumption
(erule_tac [2] FiniteFilter)
text ‹subgoal 1›
apply (frule exists_laststate)
apply (erule allE)
apply (erule exE)
text \<apply (blast
apply (simp add: input_enabled_def)
apply (erule conjE)+
apply (erule_tac x = "a" in allE)
apply simp
apply (erule_tac x = "u" in allE)
apply (erule exE)
text ‹instantiate execution›
apply (rule_tac x = " (s, ex @@ (a, s2) ↝ nil) " in exI)
apply (simp add: filter_act_def MapConc)
apply (erule_tac t = "u" in lemma_2_1)
apply simp
apply (rule sym)
apply assumption
done
‹
Deadlock freedom: component B cannot block an out or int action of component
A in every schedule.
Needs compositionality on schedule level, input-enabledness, compatibility
and distributivity of ‹is_exec_frag› over ‹@@›. ›
IOA_deadlock_free:
assumes "a ∈ local A"
and "Finite sch"
and "sch ∈ schedules (A ∥ B)"
and "Filter (λx. x ∈ act A) ⋅ (sch @@ a ↝ nil) ∈ schedules A"
and "compatible A B"
and "input_enabled B"
shows "(sch @@ a ↝ nil) ∈ schedules (A ∥ B)"
supply if_split [split del]
apply (insert assms)
apply (simp add: compositionality_sch locals_def)
apply (rule conjI)
text ‹‹a ∈ act (A ∥ B)››
prefer 2
apply (simp add: actions_of_par)
apply (blast dest: int_is_act out_is_act)
text ‹‹Filter B (sch @@ [a]) ∈ schedules B››
apply (case_tac "a ∈ int A")
apply (drule intA_is_not_actB)
apply (assumption) (* \<longrightarrow> a \<notin> act B *) apply simp
text‹case ‹a ∉ int A›, i.e. ‹a ∈ out A›› apply (case_tac "a ∉ act B") apply simp text‹case ‹a ∈ act B›› apply simp apply (subgoal_tac "a ∈ out A") prefer2 apply blast apply (drule outAactB_is_inpB) apply assumption apply assumption apply (rule scheds_input_enabled) apply simp apply assumption+ done
end
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.8Angebot
¤
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 und die Messung sind noch experimentell.