Nominal/Ex/TestMorePerm.thy
author Cezary Kaliszyk <kaliszyk@in.tum.de>
Mon, 10 May 2010 18:29:45 +0200
changeset 2095 ae94bae5bb93
parent 2082 0854af516f14
child 2104 2205b572bc9b
permissions -rw-r--r--
Restore set bindings in CoreHaskell

theory TestMorePerm
imports "../NewParser"
begin

text {* 
  "Weirdo" example from Peter Sewell's bestiary. 

  This example is not covered by our binding 
  specification.

*}
ML {* val _ = cheat_equivp := true *}

atom_decl name

nominal_datatype weird =
  Foo_var "name"
| Foo_pair "weird" "weird" 
| Foo x::"name" y::"name" p1::"weird" p2::"weird" p3::"weird"
    bind x in p1 p2, 
    bind y in p2 p3

thm alpha_weird_raw.intros[no_vars]

thm permute_weird_raw.simps[no_vars]
thm alpha_weird_raw.intros[no_vars]
thm fv_weird_raw.simps[no_vars]

declare permute_weird_raw.simps[eqvt]
declare alpha_gen_eqvt[eqvt]
equivariance alpha_weird_raw


end