Theory Lambda_mu

theory Lambda_mu
imports Nominal
theory Lambda_mu 
  imports "HOL-Nominal.Nominal" 
begin

section ‹Lambda-Mu according to a paper by Gavin Bierman›

atom_decl var mvar

nominal_datatype trm = 
    Var   "var" 
  | Lam  "«var»trm"   ("Lam [_]._" [100,100] 100)
  | App  "trm" "trm" 
  | Pss  "mvar" "trm"                                   (* passivate *)
  | Act  "«mvar»trm"  ("Act [_]._" [100,100] 100)       (* activate  *)


end