Nominal/Ex/Lambda.thy
changeset 2793 8042bf23af1c
parent 2792 c4ed08a7454a
child 2794 9bc46d04fb2c
--- a/Nominal/Ex/Lambda.thy	Tue May 31 12:59:10 2011 +0900
+++ b/Nominal/Ex/Lambda.thy	Tue May 31 13:21:00 2011 +0900
@@ -100,9 +100,7 @@
   unfolding eqvt_def frees_lst_graph_def
   apply (rule, perm_simp, rule)
 apply(rule_tac y="x" in lam.exhaust)
-apply(simp_all)[3]
-apply(auto)[1]
-apply(simp_all)
+apply(auto)
 apply (erule Abs1_eq_fdest)
 apply(simp add: supp_removeAll fresh_def)
 apply(drule supp_eqvt_at)
@@ -111,9 +109,7 @@
 done
 
 termination
-  apply(relation "measure size")
-  apply(simp_all add: lam.size)
-  done
+  by (relation "measure size") (simp_all add: lam.size)
 
 text {* a small test lemma *}
 lemma
@@ -147,8 +143,7 @@
 done
 
 termination
-  by (relation "measure (\<lambda>(t,_,_). size t)")
-     (simp_all add: lam.size)
+  by (relation "measure (\<lambda>(t,_,_). size t)") (simp_all add: lam.size)
 
 lemma subst_eqvt[eqvt]:
   shows "(p \<bullet> t[x ::= s]) = (p \<bullet> t)[(p \<bullet> x) ::= (p \<bullet> s)]"
@@ -511,6 +506,11 @@
   "map_term f (Var x) = f (Var x)"
 | "map_term f (App t1 t2) = App (f t1) (f t2)"
 | "map_term f (Lam [x].t) = Lam [x].(f t)"
+unfolding eqvt_def map_term_graph_def
+apply (rule, perm_simp, rule)
+apply (case_tac x, case_tac b rule: lam.exhaust)
+apply auto
+(*apply (erule Abs1_eq_fdest)*)
 oops
 
 nominal_primrec