equal
deleted
inserted
replaced
148 primrec (unchecked perm_nprod) |
148 primrec (unchecked perm_nprod) |
149 perm_nProd_def: "pi\<bullet>(nPair x1 x2) = nPair (pi\<bullet>x1) (pi\<bullet>x2)" |
149 perm_nProd_def: "pi\<bullet>(nPair x1 x2) = nPair (pi\<bullet>x1) (pi\<bullet>x2)" |
150 |
150 |
151 (* permutation on characters (used in strings) *) |
151 (* permutation on characters (used in strings) *) |
152 defs (unchecked overloaded) |
152 defs (unchecked overloaded) |
153 perm_char_def: "pi\<bullet>(s::char) \<equiv> s" |
153 perm_char_def: "pi\<bullet>(c::char) \<equiv> c" |
|
154 |
|
155 lemma perm_string: |
|
156 fixes s::"string" |
|
157 shows "pi\<bullet>s = s" |
|
158 by (induct s)(auto simp add: perm_char_def) |
154 |
159 |
155 (* permutation on ints *) |
160 (* permutation on ints *) |
156 defs (unchecked overloaded) |
161 defs (unchecked overloaded) |
157 perm_int_def: "pi\<bullet>(i::int) \<equiv> i" |
162 perm_int_def: "pi\<bullet>(i::int) \<equiv> i" |
158 |
163 |
270 done |
275 done |
271 |
276 |
272 lemma supp_string: |
277 lemma supp_string: |
273 fixes s::"string" |
278 fixes s::"string" |
274 shows "supp (s) = {}" |
279 shows "supp (s) = {}" |
275 apply(induct s) |
280 apply(simp add: supp_def perm_string) |
276 apply(auto simp add: supp_char supp_list_nil supp_list_cons) |
|
277 done |
281 done |
278 |
282 |
279 lemma fresh_set_empty: |
283 lemma fresh_set_empty: |
280 shows "a\<sharp>{}" |
284 shows "a\<sharp>{}" |
281 by (simp add: fresh_def supp_set_empty) |
285 by (simp add: fresh_def supp_set_empty) |