Nominal/Ex/LetFun.thy
changeset 2616 dd7490fdd998
parent 2475 486d4647bb37
child 2950 0911cb7bf696
equal deleted inserted replaced
2615:d5713db7e146 2616:dd7490fdd998
     6 
     6 
     7 (* x is bound in both e1 and e2;
     7 (* x is bound in both e1 and e2;
     8    bp-names in p are bound only in e1 
     8    bp-names in p are bound only in e1 
     9 *)
     9 *)
    10 
    10 
    11 declare [[STEPS = 100]]
       
    12 
    11 
    13 nominal_datatype exp =
    12 nominal_datatype exp =
    14   Var name
    13   Var name
    15 | Pair exp exp
    14 | Pair exp exp
    16 | LetRec x::name p::pat e1::exp e2::exp  bind x in e2, bind x "bp p" in e1
    15 | LetRec x::name p::pat e1::exp e2::exp  bind x in e2, bind x "bp p" in e1