equal
deleted
inserted
replaced
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 => |