equal
deleted
inserted
replaced
194 ((\<forall>m. n \<le> m \<longrightarrow> s m = TVar m) \<and> |
194 ((\<forall>m. n \<le> m \<longrightarrow> s m = TVar m) \<and> |
195 (\<forall>l. l < n \<longrightarrow> new_tv n (s l)))" |
195 (\<forall>l. l < n \<longrightarrow> new_tv n (s l)))" |
196 apply (unfold new_tv_def) |
196 apply (unfold new_tv_def) |
197 apply (tactic "safe_tac HOL_cs") |
197 apply (tactic "safe_tac HOL_cs") |
198 -- {* @{text \<Longrightarrow>} *} |
198 -- {* @{text \<Longrightarrow>} *} |
199 apply (tactic {* fast_tac (HOL_cs addDs [leD] addss (simpset() |
199 apply (tactic {* fast_tac (HOL_cs addDs [@{thm leD}] addss (simpset() |
200 addsimps [thm "free_tv_subst", thm "dom_def"])) 1 *}) |
200 addsimps [thm "free_tv_subst", thm "dom_def"])) 1 *}) |
201 apply (subgoal_tac "m \<in> cod s \<or> s l = TVar l") |
201 apply (subgoal_tac "m \<in> cod s \<or> s l = TVar l") |
202 apply (tactic "safe_tac HOL_cs") |
202 apply (tactic "safe_tac HOL_cs") |
203 apply (tactic {* fast_tac (HOL_cs addDs [UnI2] addss (simpset() |
203 apply (tactic {* fast_tac (HOL_cs addDs [UnI2] addss (simpset() |
204 addsimps [thm "free_tv_subst"])) 1 *}) |
204 addsimps [thm "free_tv_subst"])) 1 *}) |