equal
deleted
inserted
replaced
21 apply (rule compatibility_consequence3) |
21 apply (rule compatibility_consequence3) |
22 apply (simp_all add: ext_is_act ext1_ext2_is_not_act1) |
22 apply (simp_all add: ext_is_act ext1_ext2_is_not_act1) |
23 done |
23 done |
24 |
24 |
25 |
25 |
26 (* the next two theorems are only necessary, as there is no theorem ext (A||B) = ext (B||A) *) |
26 (* the next two theorems are only necessary, as there is no theorem ext (A\<parallel>B) = ext (B\<parallel>A) *) |
27 |
27 |
28 lemma compatibility_consequence4: "[|eA --> A ; eB & ~eA --> ~A|] ==> (eB | eA) --> A=eA" |
28 lemma compatibility_consequence4: "[|eA --> A ; eB & ~eA --> ~A|] ==> (eB | eA) --> A=eA" |
29 apply auto |
29 apply auto |
30 done |
30 done |
31 |
31 |
44 is_asig_of A1; is_asig_of A2; |
44 is_asig_of A1; is_asig_of A2; |
45 is_asig_of B1; is_asig_of B2; |
45 is_asig_of B1; is_asig_of B2; |
46 compatible A1 B1; compatible A2 B2; |
46 compatible A1 B1; compatible A2 B2; |
47 A1 =<| A2; |
47 A1 =<| A2; |
48 B1 =<| B2 |] |
48 B1 =<| B2 |] |
49 ==> (A1 || B1) =<| (A2 || B2)" |
49 ==> (A1 \<parallel> B1) =<| (A2 \<parallel> B2)" |
50 apply (simp add: is_asig_of_def) |
50 apply (simp add: is_asig_of_def) |
51 apply (frule_tac A1 = "A1" in compat_commute [THEN iffD1]) |
51 apply (frule_tac A1 = "A1" in compat_commute [THEN iffD1]) |
52 apply (frule_tac A1 = "A2" in compat_commute [THEN iffD1]) |
52 apply (frule_tac A1 = "A2" in compat_commute [THEN iffD1]) |
53 apply (simp add: ioa_implements_def inputs_of_par outputs_of_par externals_of_par) |
53 apply (simp add: ioa_implements_def inputs_of_par outputs_of_par externals_of_par) |
54 apply auto |
54 apply auto |