Nominal/Ex/LetFun.thy
changeset 2950 0911cb7bf696
parent 2616 dd7490fdd998
child 3029 6fd3fc3254ee
equal deleted inserted replaced
2949:adf22ee09738 2950:0911cb7bf696
    10 
    10 
    11 
    11 
    12 nominal_datatype exp =
    12 nominal_datatype exp =
    13   Var name
    13   Var name
    14 | Pair exp exp
    14 | Pair exp exp
    15 | 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  binds x in e2, binds x "bp p" in e1
    16 and pat =
    16 and pat =
    17   PVar name
    17   PVar name
    18 | PUnit
    18 | PUnit
    19 | PPair pat pat
    19 | PPair pat pat
    20 binder
    20 binder