equal
deleted
inserted
replaced
585 (etac spec 1), |
585 (etac spec 1), |
586 (Asm_simp_tac 1) |
586 (Asm_simp_tac 1) |
587 ]); |
587 ]); |
588 |
588 |
589 |
589 |
590 val adm_flat = flat_imp_chain_finite RS adm_chain_finite; |
590 bind_thm ("adm_flat", flat_imp_chain_finite RS adm_chain_finite); |
591 (* is_flat(?x::?'a) ==> adm(?P::?'a => bool) *) |
591 (* is_flat(?x::?'a) ==> adm(?P::?'a => bool) *) |
592 |
592 |
593 qed_goalw "flat_void" Fix.thy [is_flat_def] "is_flat(UU::void)" |
593 qed_goalw "flat_void" Fix.thy [is_flat_def] "is_flat(UU::void)" |
594 (fn prems => |
594 (fn prems => |
595 [ |
595 [ |
826 (rtac allI 1), |
826 (rtac allI 1), |
827 (dtac spec 1), |
827 (dtac spec 1), |
828 (etac spec 1) |
828 (etac spec 1) |
829 ]); |
829 ]); |
830 |
830 |
831 val adm_all2 = (allI RS adm_all); |
831 bind_thm ("adm_all2", allI RS adm_all); |
832 |
832 |
833 qed_goal "adm_subst" Fix.thy |
833 qed_goal "adm_subst" Fix.thy |
834 "[|cont t; adm P|] ==> adm(%x. P (t x))" |
834 "[|cont t; adm P|] ==> adm(%x. P (t x))" |
835 (fn prems => |
835 (fn prems => |
836 [ |
836 [ |