src/HOLCF/Fix.ML
changeset 1274 ea0668a1c0ba
parent 1267 bca91b4e1710
child 1410 324aa8134639
equal deleted inserted replaced
1273:6960ec882bca 1274:ea0668a1c0ba
   336  (fn prems =>
   336  (fn prems =>
   337 	[
   337 	[
   338 	(cut_facts_tac prems 1),
   338 	(cut_facts_tac prems 1),
   339 	(asm_simp_tac (!simpset addsimps [cont_Ifix]) 1),
   339 	(asm_simp_tac (!simpset addsimps [cont_Ifix]) 1),
   340 	(etac Ifix_least 1)
   340 	(etac Ifix_least 1)
       
   341 	]);
       
   342 
       
   343 
       
   344 qed_goal "fix_eqI" Fix.thy
       
   345 "[| F`x = x; !z. F`z = z --> x << z |] ==> x = fix`F"
       
   346  (fn prems =>
       
   347 	[
       
   348 	(cut_facts_tac prems 1),
       
   349 	(rtac antisym_less 1),
       
   350 	(etac allE 1),
       
   351 	(etac mp 1),
       
   352 	(rtac (fix_eq RS sym) 1),
       
   353 	(etac fix_least 1)
   341 	]);
   354 	]);
   342 
   355 
   343 
   356 
   344 qed_goal "fix_eq2" Fix.thy "f == fix`F ==> f = F`f"
   357 qed_goal "fix_eq2" Fix.thy "f == fix`F ==> f = F`f"
   345  (fn prems =>
   358  (fn prems =>