diff -r 74888979e9cd -r 4355eb3b7161 Nominal/TySch.thy --- a/Nominal/TySch.thy Fri Mar 19 15:01:01 2010 +0100 +++ b/Nominal/TySch.thy Fri Mar 19 18:42:57 2010 +0100 @@ -22,39 +22,7 @@ thm t_tyS.distinct ML {* Sign.of_sort @{theory} (@{typ t}, @{sort fs}) *} -lemma finite_fv_t_tyS: - shows "finite (fv_t t)" "finite (fv_tyS ts)" - by (induct rule: t_tyS.inducts) (simp_all) - -lemma supp_fv_t_tyS: - shows "fv_t t = supp t" "fv_tyS ts = supp ts" - apply(induct rule: t_tyS.inducts) - apply(simp_all only: t_tyS.fv) - prefer 3 - apply(rule_tac t="supp (All fset t)" and s="supp (Abs (fset_to_set (fmap atom fset)) t)" in subst) - prefer 2 - apply(subst finite_supp_Abs) - apply(drule sym) - apply(simp add: finite_fv_t_tyS(1)) - apply(simp) - apply(simp_all (no_asm) only: supp_def) - apply(simp_all only: t_tyS.perm) - apply(simp_all only: permute_ABS) - apply(simp_all only: t_tyS.eq_iff Abs_eq_iff) - apply(simp_all only: alpha_gen) - apply(simp_all only: eqvts[symmetric]) - apply(simp_all only: eqvts eqvts_raw) - apply(simp_all only: supp_at_base[symmetric,simplified supp_def]) - apply(simp_all only: infinite_Un[symmetric] Collect_disj_eq[symmetric]) - apply(simp_all only: de_Morgan_conj[symmetric]) - done - -instance t and tyS :: fs - apply default - apply (simp_all add: supp_fv_t_tyS[symmetric] finite_fv_t_tyS) - done - -lemmas t_tyS_supp = t_tyS.fv[simplified supp_fv_t_tyS] +lemmas t_tyS_supp = t_tyS.fv[simplified t_tyS.supp] lemma induct: assumes a1: "\name b. P b (Var name)"