diff -r 35c570891a3a -r 98236fbd8aa6 Nominal/Ex/Foo2.thy --- a/Nominal/Ex/Foo2.thy Mon Nov 29 08:01:09 2010 +0000 +++ b/Nominal/Ex/Foo2.thy Fri Dec 03 13:51:07 2010 +0000 @@ -64,7 +64,6 @@ tests by cu *} - lemma yy: assumes a: "p \ bs \ bs = {}" and b: "finite bs" @@ -100,6 +99,8 @@ apply(simp add: mem_permute_iff) done + + lemma Abs_rename_set: fixes x::"'a::fs" assumes a: "(p \ bs) \* (bs, x)" @@ -217,7 +218,7 @@ fixes c::"'a::fs" assumes "\name. y = Var name \ P" and "\trm1 trm2. y = App trm1 trm2 \ P" - and "\name trm. {atom name} \* c \ y = Lam name trm \ P" + and "\name trm. \{atom name} \* c; y = Lam name trm\ \ P" and "\a1 trm1 a2 trm2. ((set (bn a1)) \ (set (bn a2))) \* c \ y = Let1 a1 trm1 a2 trm2 \ P" and "\x1 x2 trm1 trm2. {atom x1, atom x2} \* c \ y = Let2 x1 x2 trm1 trm2 \ P" shows "P" @@ -230,7 +231,6 @@ apply(assumption) apply(subgoal_tac "\p. (p \ {atom name}) \* (c, [atom name], trm)") apply(erule exE) -apply(rule assms(3)) apply(insert Abs_rename_list)[1] apply(drule_tac x="p" in meta_spec) apply(drule_tac x="[atom name]" in meta_spec) @@ -239,12 +239,14 @@ apply(drule meta_mp) apply(simp) apply(erule exE) -apply(rule exI)+ +apply(rule assms(3)) apply(perm_simp) apply(erule conjE)+ -apply(rule conjI) apply(assumption) -apply(simp add: foo.eq_iff) +apply(clarify) +apply(simp (no_asm) add: foo.eq_iff) +apply(perm_simp) +apply(assumption) apply(rule at_set_avoiding1) apply(simp) apply(simp add: finite_supp)