src/HOL/Relation.ML
changeset 9969 4753185f1dd2
parent 9113 e221d4f81d52
child 10786 04ee73606993
equal deleted inserted replaced
9968:264b16d934f9 9969:4753185f1dd2
   440 Goalw [fun_rel_comp_def] "! x. ?! y. (f x, y) : R ==> ?! g. g : fun_rel_comp f R";
   440 Goalw [fun_rel_comp_def] "! x. ?! y. (f x, y) : R ==> ?! g. g : fun_rel_comp f R";
   441 by (res_inst_tac [("a","%x. @y. (f x, y) : R")] ex1I 1);
   441 by (res_inst_tac [("a","%x. @y. (f x, y) : R")] ex1I 1);
   442 by (rtac CollectI 1);
   442 by (rtac CollectI 1);
   443 by (rtac allI 1);
   443 by (rtac allI 1);
   444 by (etac allE 1);
   444 by (etac allE 1);
   445 by (rtac (select_eq_Ex RS iffD2) 1);
   445 by (rtac (some_eq_ex RS iffD2) 1);
   446 by (etac ex1_implies_ex 1);
   446 by (etac ex1_implies_ex 1);
   447 by (rtac ext 1);
   447 by (rtac ext 1);
   448 by (etac CollectE 1);
   448 by (etac CollectE 1);
   449 by (REPEAT (etac allE 1));
   449 by (REPEAT (etac allE 1));
   450 by (rtac (select1_equality RS sym) 1);
   450 by (rtac (some1_equality RS sym) 1);
   451 by (atac 1);
   451 by (atac 1);
   452 by (atac 1);
   452 by (atac 1);
   453 qed "fun_rel_comp_unique";
   453 qed "fun_rel_comp_unique";