equal
deleted
inserted
replaced
259 lemma PFun_inj: "Elem F (PFun U V) \<Longrightarrow> Elem x F \<Longrightarrow> Elem y F \<Longrightarrow> Fst x = Fst y \<Longrightarrow> Snd x = Snd y" |
259 lemma PFun_inj: "Elem F (PFun U V) \<Longrightarrow> Elem x F \<Longrightarrow> Elem y F \<Longrightarrow> Fst x = Fst y \<Longrightarrow> Snd x = Snd y" |
260 apply (frule Elem_Elem_PFun[where p=x], simp) |
260 apply (frule Elem_Elem_PFun[where p=x], simp) |
261 apply (frule Elem_Elem_PFun[where p=y], simp) |
261 apply (frule Elem_Elem_PFun[where p=y], simp) |
262 apply (subgoal_tac "isFun F") |
262 apply (subgoal_tac "isFun F") |
263 apply (simp add: isFun_def isOpair_def) |
263 apply (simp add: isFun_def isOpair_def) |
264 apply (auto simp add: Fst Snd, blast) |
264 apply (auto simp add: Fst Snd) |
265 apply (auto simp add: PFun_def Sep) |
265 apply (auto simp add: PFun_def Sep) |
266 done |
266 done |
267 |
267 |
268 lemma Fun_total: "\<lbrakk>Elem F (Fun U V); Elem a U\<rbrakk> \<Longrightarrow> \<exists>x. Elem (Opair a x) F" |
268 lemma Fun_total: "\<lbrakk>Elem F (Fun U V); Elem a U\<rbrakk> \<Longrightarrow> \<exists>x. Elem (Opair a x) F" |
269 using [[simp_depth_limit = 2]] |
269 using [[simp_depth_limit = 2]] |