# HG changeset patch # User Cezary Kaliszyk # Date 1324454700 -32400 # Node ID 9bcf02a6eea9e57c31c1eddef90621a06a4e569a # Parent 5e74bd87bcda558bc9b23daf1151a0d3cb685bbd Reorder constructors to match Lambda diff -r 5e74bd87bcda -r 9bcf02a6eea9 Nominal/Ex/CPS/CPS1_Plotkin.thy --- a/Nominal/Ex/CPS/CPS1_Plotkin.thy Wed Dec 21 15:47:42 2011 +0900 +++ b/Nominal/Ex/CPS/CPS1_Plotkin.thy Wed Dec 21 17:05:00 2011 +0900 @@ -17,12 +17,12 @@ apply (auto) apply (rule_tac x="name" and ?'a="name" in obtain_fresh) apply (simp_all add: fresh_at_base)[3] -apply (rule_tac x="(name, lt)" and ?'a="name" in obtain_fresh) -apply (simp add: fresh_Pair_elim fresh_at_base)[2] apply (rule_tac x="(lt1, lt2)" and ?'a="name" in obtain_fresh) apply (rule_tac x="(lt2, a)" and ?'a="name" in obtain_fresh) apply (rule_tac x="(a, aa)" and ?'a="name" in obtain_fresh) apply (simp add: fresh_Pair_elim fresh_at_base) +apply (rule_tac x="(name, lt)" and ?'a="name" in obtain_fresh) +apply (simp add: fresh_Pair_elim fresh_at_base)[2] apply (simp add: Abs1_eq_iff lt.fresh fresh_at_base) --"-" apply(rule_tac s="[[atom ka]]lst. ka~ $ Lam x (CPS_sumC M)" in trans) @@ -30,7 +30,7 @@ apply simp apply(simp (no_asm) add: Abs1_eq_iff del:eqvts) apply (simp del: eqvts add: lt.fresh fresh_at_base) -apply (simp only: lt.perm_simps(1) lt.perm_simps(3) flip_def[symmetric] lt.eq_iff(3)) +apply (simp only: lt.perm_simps(1) lt.perm_simps(2) flip_def[symmetric] lt.eq_iff) apply (subst flip_at_base_simps(2)) apply simp apply (intro conjI refl) diff -r 5e74bd87bcda -r 9bcf02a6eea9 Nominal/Ex/CPS/CPS2_DanvyNielsen.thy --- a/Nominal/Ex/CPS/CPS2_DanvyNielsen.thy Wed Dec 21 15:47:42 2011 +0900 +++ b/Nominal/Ex/CPS/CPS2_DanvyNielsen.thy Wed Dec 21 17:05:00 2011 +0900 @@ -74,19 +74,20 @@ apply (case_tac x) apply (rule_tac y="a" in lt.exhaust) apply auto + apply blast apply (rule_tac x="lt" and ?'a="name" in obtain_fresh) apply (simp add: Abs1_eq_iff) apply blast+ apply (rule_tac y="b" in lt.exhaust) apply auto - apply (rule_tac x="lt" and ?'a="name" in obtain_fresh) - apply (simp add: Abs1_eq_iff) - apply blast apply (rule_tac ?'a="name" in obtain_fresh) apply (rule_tac x="(lt1, lt2, a)" and ?'a="name" in obtain_fresh) apply (simp add: fresh_Pair_elim) apply (case_tac "isValue lt1", case_tac [!] "isValue lt2")[1] apply (simp_all add: fresh_Pair)[4] + apply (rule_tac x="lt" and ?'a="name" in obtain_fresh) + apply (simp add: Abs1_eq_iff) + apply blast --"" apply (rule_tac x="(y, ya, b, ba, M, Ma)" and ?'a="name" in obtain_fresh) apply (subgoal_tac "Lam b (Sum_Type.Projr (CPSv_CPS_sumC (Inr M))<(b~)>) = Lam a (Sum_Type.Projr (CPSv_CPS_sumC (Inr M))<(a~)>)") diff -r 5e74bd87bcda -r 9bcf02a6eea9 Nominal/Ex/CPS/CPS3_DanvyFilinski.thy --- a/Nominal/Ex/CPS/CPS3_DanvyFilinski.thy Wed Dec 21 15:47:42 2011 +0900 +++ b/Nominal/Ex/CPS/CPS3_DanvyFilinski.thy Wed Dec 21 17:05:00 2011 +0900 @@ -26,10 +26,9 @@ apply (case_tac b) apply (rule_tac y="a" in lt.strong_exhaust) apply auto[3] - apply blast + apply blast+ apply (rule_tac x="(name, lt)" and ?'a="name" in obtain_fresh) apply (simp add: fresh_at_base Abs1_eq_iff) - apply blast --"-" apply (subgoal_tac "Lam c (ka (c~)) = Lam ca (ka (ca~))") apply (simp only:) diff -r 5e74bd87bcda -r 9bcf02a6eea9 Nominal/Ex/CPS/Lt.thy --- a/Nominal/Ex/CPS/Lt.thy Wed Dec 21 15:47:42 2011 +0900 +++ b/Nominal/Ex/CPS/Lt.thy Wed Dec 21 17:05:00 2011 +0900 @@ -7,8 +7,8 @@ nominal_datatype lt = Var name ("_~" [150] 149) + | App lt lt (infixl "$" 100) | Lam x::"name" t::"lt" binds x in t - | App lt lt (infixl "$" 100) nominal_primrec subst :: "lt \ name \ lt \ lt" ("_ [_ ::= _]" [90, 90, 90] 90)