equal
deleted
inserted
replaced
76 moreover |
76 moreover |
77 from R wf ty |
77 from R wf ty |
78 have "R \<noteq> ClassT Object \<Longrightarrow> ?thesis" |
78 have "R \<noteq> ClassT Object \<Longrightarrow> ?thesis" |
79 by (auto simp add: is_ty_def is_class_def split_tupled_all |
79 by (auto simp add: is_ty_def is_class_def split_tupled_all |
80 elim!: subcls1.cases |
80 elim!: subcls1.cases |
81 elim: converse_rtranclE' |
81 elim: converse_rtranclpE |
82 split: ref_ty.splits) |
82 split: ref_ty.splits) |
83 ultimately |
83 ultimately |
84 show ?thesis by blast |
84 show ?thesis by blast |
85 qed |
85 qed |
86 qed |
86 qed |
144 apply (frule widen_RefT) |
144 apply (frule widen_RefT) |
145 apply (erule exE) |
145 apply (erule exE) |
146 apply (case_tac t) |
146 apply (case_tac t) |
147 apply simp |
147 apply simp |
148 apply simp |
148 apply simp |
149 apply (insert rtrancl_r_diff_Id' [symmetric, standard, of "subcls1 G"]) |
149 apply (insert rtranclp_r_diff_Id [symmetric, standard, of "subcls1 G"]) |
150 apply simp |
150 apply simp |
151 apply (erule rtrancl.cases) |
151 apply (erule rtranclp.cases) |
152 apply blast |
152 apply blast |
153 apply (drule rtrancl_converseI') |
153 apply (drule rtranclp_converseI) |
154 apply (subgoal_tac "(inf (subcls1 G) op \<noteq>)^--1 = (inf ((subcls1 G)^--1) op \<noteq>)") |
154 apply (subgoal_tac "(inf (subcls1 G) op \<noteq>)^--1 = (inf ((subcls1 G)^--1) op \<noteq>)") |
155 prefer 2 |
155 prefer 2 |
156 apply (simp add: converse_meet) |
156 apply (simp add: converse_meet) |
157 apply simp |
157 apply simp |
158 apply (blast intro: rtrancl_into_trancl2') |
158 apply (blast intro: rtranclp_into_tranclp2) |
159 done |
159 done |
160 |
160 |
161 lemma closed_err_types: |
161 lemma closed_err_types: |
162 "\<lbrakk> ws_prog G; single_valuedP (subcls1 G); acyclicP (subcls1 G) \<rbrakk> |
162 "\<lbrakk> ws_prog G; single_valuedP (subcls1 G); acyclicP (subcls1 G) \<rbrakk> |
163 \<Longrightarrow> closed (err (types G)) (lift2 (sup G))" |
163 \<Longrightarrow> closed (err (types G)) (lift2 (sup G))" |