src/HOL/ZF/HOLZF.thy
changeset 56073 29e308b56d23
parent 46752 e9e7209eb375
child 57492 74bf65a1910a
equal deleted inserted replaced
56072:31e427387ab5 56073:29e308b56d23
   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]]