src/HOL/Prod.ML
changeset 4192 c38ab5af38b5
parent 4134 5c6cb2a25816
child 4423 a129b817b58a
equal deleted inserted replaced
4191:f967419250d1 4192:c38ab5af38b5
   134 by (EVERY1[stac fst_conv, stac snd_conv]);
   134 by (EVERY1[stac fst_conv, stac snd_conv]);
   135 by (rtac refl 1);
   135 by (rtac refl 1);
   136 qed "split";
   136 qed "split";
   137 
   137 
   138 val split_select = prove_goalw Prod.thy [split_def] 
   138 val split_select = prove_goalw Prod.thy [split_def] 
   139 	"(®(x,y). P x y) = (®xy. P (fst xy) (snd xy))" (K [rtac refl 1]);
   139 	"(@(x,y). P x y) = (@xy. P (fst xy) (snd xy))" (K [rtac refl 1]);
   140 
   140 
   141 Addsimps [fst_conv, snd_conv, split];
   141 Addsimps [fst_conv, snd_conv, split];
   142 
   142 
   143 goal Prod.thy "(s=t) = (fst(s)=fst(t) & snd(s)=snd(t))";
   143 goal Prod.thy "(s=t) = (fst(s)=fst(t) & snd(s)=snd(t))";
   144 by (res_inst_tac[("p","s")] PairE 1);
   144 by (res_inst_tac[("p","s")] PairE 1);