src/HOL/UNITY/Extend.thy
changeset 69597 ff784d5a5bfb
parent 69313 b021008c5397
equal deleted inserted replaced
69596:c8a2755bf220 69597:ff784d5a5bfb
   165 qed 
   165 qed 
   166 
   166 
   167 end
   167 end
   168 
   168 
   169 
   169 
   170 subsection\<open>@{term extend_set}: basic properties\<close>
   170 subsection\<open>\<^term>\<open>extend_set\<close>: basic properties\<close>
   171 
   171 
   172 lemma project_set_iff [iff]:
   172 lemma project_set_iff [iff]:
   173      "(x \<in> project_set h C) = (\<exists>y. h(x,y) \<in> C)"
   173      "(x \<in> project_set h C) = (\<exists>y. h(x,y) \<in> C)"
   174 by (simp add: project_set_def)
   174 by (simp add: project_set_def)
   175 
   175 
   213 lemma extend_set_UNIV_eq [simp]: "extend_set h UNIV = UNIV"
   213 lemma extend_set_UNIV_eq [simp]: "extend_set h UNIV = UNIV"
   214 apply (unfold extend_set_def)
   214 apply (unfold extend_set_def)
   215 apply (auto simp add: split_extended_all)
   215 apply (auto simp add: split_extended_all)
   216 done
   216 done
   217 
   217 
   218 subsection\<open>@{term project_set}: basic properties\<close>
   218 subsection\<open>\<^term>\<open>project_set\<close>: basic properties\<close>
   219 
   219 
   220 (*project_set is simply image!*)
   220 (*project_set is simply image!*)
   221 lemma project_set_eq: "project_set h C = f ` C"
   221 lemma project_set_eq: "project_set h C = f ` C"
   222 by (auto intro: f_h_eq [symmetric] simp add: split_extended_all)
   222 by (auto intro: f_h_eq [symmetric] simp add: split_extended_all)
   223 
   223 
   260 
   260 
   261 lemma extend_set_subset_Compl_eq: "(extend_set h A \<subseteq> - extend_set h B) = (A \<subseteq> - B)"
   261 lemma extend_set_subset_Compl_eq: "(extend_set h A \<subseteq> - extend_set h B) = (A \<subseteq> - B)"
   262   by (auto simp: extend_set_def)
   262   by (auto simp: extend_set_def)
   263 
   263 
   264 
   264 
   265 subsection\<open>@{term extend_act}\<close>
   265 subsection\<open>\<^term>\<open>extend_act\<close>\<close>
   266 
   266 
   267 (*Can't strengthen it to
   267 (*Can't strengthen it to
   268   ((h(s,y), h(s',y')) \<in> extend_act h act) = ((s, s') \<in> act & y=y')
   268   ((h(s,y), h(s',y')) \<in> extend_act h act) = ((s, s') \<in> act & y=y')
   269   because h doesn't have to be injective in the 2nd argument*)
   269   because h doesn't have to be injective in the 2nd argument*)
   270 lemma mem_extend_act_iff [iff]: "((h(s,y), h(s',y)) \<in> extend_act h act) = ((s, s') \<in> act)"
   270 lemma mem_extend_act_iff [iff]: "((h(s,y), h(s',y)) \<in> extend_act h act) = ((s, s') \<in> act)"