
diff -r fb201e383f1b -r da575186d492 Nominal/Ex/Weakening.thy
--- a/Nominal/Ex/Weakening.thy	Tue Feb 19 05:38:46 2013 +0000
+++ b/Nominal/Ex/Weakening.thy	Tue Feb 19 06:58:14 2013 +0000
@@ -49,7 +49,7 @@
 
 nominal_inductive typing
   avoids t_Lam: "x"
-  by (simp_all add: fresh_star_def fresh_ty)
+  by (simp_all add: fresh_star_def fresh_ty lam.fresh)
 
 
 abbreviation
@@ -122,7 +122,7 @@
 
 nominal_inductive typing2
   avoids t2_Lam: "x"
-  by (simp_all add: fresh_star_def fresh_ty)
+  by (simp_all add: fresh_star_def fresh_ty lam.fresh)
 
 lemma weakening_version3: 
   fixes \<Gamma>::"(name \<times> ty) fset"
@@ -133,7 +133,7 @@
 apply(nominal_induct \<Gamma> t T avoiding: x rule: typing2.strong_induct)
 apply(auto)[2]
 apply(rule t2_Lam)
-apply(simp add: fresh_insert_fset fresh_ty)
+apply(simp add: fresh_insert_fset fresh_Pair fresh_ty)
 apply(simp)
 apply(drule_tac x="xa" in meta_spec)
 apply(drule meta_mp)
@@ -141,24 +141,6 @@
 apply(simp add: insert_fset_left_comm)
 done
 
-lemma weakening_version4: 
-  fixes \<Gamma>::"(name \<times> ty) fset"
-  assumes a: "\<Gamma> 2\<turnstile> t : T" 
-  and     b: "(x, T') |\<notin>| \<Gamma>"
-  shows "{|(x, T')|} |\<union>| \<Gamma> 2\<turnstile> t : T"
-using a b
-apply(induct \<Gamma> t T arbitrary: x T')
-apply(auto)[2]
-apply(blast)
-apply(simp)
-apply(rule_tac ?'a="name" and x="(x, xa, t, T', \<Gamma>)" in obtain_fresh)
-apply(rule_tac t= "Lam [x]. t" and s="Lam [a]. ((a \<leftrightarrow> x) \<bullet> t)" in subst)
-defer
-apply(rule t2_Lam)
-apply(simp add: fresh_insert_fset)
-oops
-
-
 
 end
 




