# HG changeset patch # User Christian Urban # Date 1350636024 -3600 # Node ID 3611bc56c177994af9c561d8bf535400e570b3dc # Parent 3e6f4320669f474e270583f41b03636eee35a16a updated to changes in the type-def package diff -r 3e6f4320669f -r 3611bc56c177 Nominal/Atoms.thy --- a/Nominal/Atoms.thy Thu Oct 04 12:44:43 2012 +0100 +++ b/Nominal/Atoms.thy Fri Oct 19 09:40:24 2012 +0100 @@ -42,7 +42,7 @@ section {* Manual instantiation of class @{text at}. *} -typedef (open) name = "{a. sort_of a = Sort ''name'' []}" +typedef name = "{a. sort_of a = Sort ''name'' []}" by (rule exists_eq_simple_sort) instantiation name :: at @@ -143,7 +143,7 @@ declare sort_of_ty.simps [simp del] -typedef (open) var = "{a. sort_of a \ range sort_of_ty}" +typedef var = "{a. sort_of a \ range sort_of_ty}" by (rule_tac x="Atom (sort_of_ty x) y" in exI, simp) instantiation var :: at_base diff -r 3e6f4320669f -r 3611bc56c177 Nominal/Nominal2_Base.thy --- a/Nominal/Nominal2_Base.thy Thu Oct 04 12:44:43 2012 +0100 +++ b/Nominal/Nominal2_Base.thy Fri Oct 19 09:40:24 2012 +0100 @@ -80,10 +80,12 @@ section {* Sort-Respecting Permutations *} -typedef perm = - "{f. bij f \ finite {a. f a \ a} \ (\a. sort_of (f a) = sort_of a)}" +definition + "perm \ {f. bij f \ finite {a. f a \ a} \ (\a. sort_of (f a) = sort_of a)}" + +typedef perm = "perm" proof - show "id \ ?perm" by simp + show "id \ perm" unfolding perm_def by simp qed lemma permI: diff -r 3e6f4320669f -r 3611bc56c177 Nominal/nominal_atoms.ML --- a/Nominal/nominal_atoms.ML Thu Oct 04 12:44:43 2012 +0100 +++ b/Nominal/nominal_atoms.ML Fri Oct 19 09:40:24 2012 +0100 @@ -35,7 +35,7 @@ val set = atom_decl_set str; val tac = rtac @{thm exists_eq_simple_sort} 1; val ((full_tname, info as ({Rep_name, Abs_name, ...}, {type_definition, ...})), thy) = - Typedef.add_typedef_global false NONE (name, [], NoSyn) set NONE tac thy; + Typedef.add_typedef_global (name, [], NoSyn) set NONE tac thy; (* definition of atom and permute *) val newT = #abs_type (fst info); diff -r 3e6f4320669f -r 3611bc56c177 Tutorial/Tutorial2s.thy --- a/Tutorial/Tutorial2s.thy Thu Oct 04 12:44:43 2012 +0100 +++ b/Tutorial/Tutorial2s.thy Fri Oct 19 09:40:24 2012 +0100 @@ -346,7 +346,8 @@ moreover have "Lam [x]. Var x \ Var x" using unbind_simple by auto ultimately - have "atom x \ Var x" using unbind_fake by auto + have "atom x \ Var x" + by (rule_tac unbind_fake) (auto) then have "x \ x" by (simp add: lam.fresh fresh_at_base) then show "False" by simp qed