--- a/Nominal/Ex/ExPS8.thy Tue May 04 14:21:18 2010 +0200
+++ b/Nominal/Ex/ExPS8.thy Tue May 04 16:22:21 2010 +0200
@@ -1,23 +1,21 @@
theory ExPS8
-imports "../Parser"
+imports "../NewParser"
begin
(* example 8 from Peter Sewell's bestiary *)
atom_decl name
-(* One function is recursive and the other one is not,
- and as the parser cannot handle this we cannot set
- the reference. *)
-ML {* val _ = recursive := false *}
+ML {* val _ = cheat_fv_rsp := true *}
+ML {* val _ = cheat_alpha_bn_rsp := true *}
nominal_datatype exp =
EVar name
| EUnit
| EPair exp exp
-| ELetRec l::lrbs e::exp bind "b_lrbs l" in e (* rec *)
+| ELetRec l::lrbs e::exp bind_set "b_lrbs l" in l e
and fnclause =
- K x::name p::pat f::exp bind "b_pat p" in f (* non-rec *)
+ K x::name p::pat f::exp bind_set "b_pat p" in f
and fnclauses =
S fnclause
| ORs fnclause fnclauses
@@ -47,8 +45,8 @@
| "b_lrb (Clause fcs) = (b_fnclauses fcs)"
| "b_fnclause (K x pat exp) = {atom x}"
-thm exp7_lrb_lrbs.eq_iff
-thm exp7_lrb_lrbs.supp
+thm exp_fnclause_fnclauses_lrb_lrbs_pat.fv
+thm exp_fnclause_fnclauses_lrb_lrbs_pat.eq_iff
end