equal
deleted
inserted
replaced
321 by (simp add: fresh_def supp_list_rev) |
321 by (simp add: fresh_def supp_list_rev) |
322 |
322 |
323 lemma fresh_none: |
323 lemma fresh_none: |
324 fixes a :: "'x" |
324 fixes a :: "'x" |
325 shows "a\<sharp>None" |
325 shows "a\<sharp>None" |
326 apply(simp add: fresh_def supp_none) |
326 by (simp add: fresh_def supp_none) |
327 done |
|
328 |
327 |
329 lemma fresh_some: |
328 lemma fresh_some: |
330 fixes a :: "'x" |
329 fixes a :: "'x" |
331 and x :: "'a" |
330 and x :: "'a" |
332 shows "a\<sharp>(Some x) = a\<sharp>x" |
331 shows "a\<sharp>(Some x) = a\<sharp>x" |
333 apply(simp add: fresh_def supp_some) |
332 by (simp add: fresh_def supp_some) |
334 done |
|
335 |
333 |
336 lemma fresh_int: |
334 lemma fresh_int: |
337 fixes a :: "'x" |
335 fixes a :: "'x" |
338 and i :: "int" |
336 and i :: "int" |
339 shows "a\<sharp>i" |
337 shows "a\<sharp>i" |
340 apply(simp add: fresh_def supp_int) |
338 by (simp add: fresh_def supp_int) |
341 done |
|
342 |
339 |
343 lemma fresh_nat: |
340 lemma fresh_nat: |
344 fixes a :: "'x" |
341 fixes a :: "'x" |
345 and n :: "nat" |
342 and n :: "nat" |
346 shows "a\<sharp>n" |
343 shows "a\<sharp>n" |
347 apply(simp add: fresh_def supp_nat) |
344 by (simp add: fresh_def supp_nat) |
348 done |
|
349 |
345 |
350 lemma fresh_char: |
346 lemma fresh_char: |
351 fixes a :: "'x" |
347 fixes a :: "'x" |
352 and c :: "char" |
348 and c :: "char" |
353 shows "a\<sharp>c" |
349 shows "a\<sharp>c" |
354 apply(simp add: fresh_def supp_char) |
350 by (simp add: fresh_def supp_char) |
355 done |
|
356 |
351 |
357 lemma fresh_string: |
352 lemma fresh_string: |
358 fixes a :: "'x" |
353 fixes a :: "'x" |
359 and s :: "string" |
354 and s :: "string" |
360 shows "a\<sharp>s" |
355 shows "a\<sharp>s" |
361 apply(simp add: fresh_def supp_string) |
356 by (simp add: fresh_def supp_string) |
362 done |
357 |
|
358 lemma fresh_bool: |
|
359 fixes a :: "'x" |
|
360 and b :: "bool" |
|
361 shows "a\<sharp>b" |
|
362 by (simp add: fresh_def supp_bool) |
363 |
363 |
364 text {* Normalization of freshness results; cf.\ @{text nominal_induct} *} |
364 text {* Normalization of freshness results; cf.\ @{text nominal_induct} *} |
365 |
365 |
366 lemma fresh_unit_elim: |
366 lemma fresh_unit_elim: |
367 shows "(a\<sharp>() \<Longrightarrow> PROP C) \<equiv> PROP C" |
367 shows "(a\<sharp>() \<Longrightarrow> PROP C) \<equiv> PROP C" |