src/HOL/Nominal/Examples/Lambda_mu.thy
author wenzelm
Mon, 20 Jul 2009 00:37:39 +0200
changeset 32062 457f5bcd3d76
parent 25867 c24395ea4e71
child 41589 bbd861837ebc
permissions -rw-r--r--
Proof.future_proof: declare all assumptions as well; Proof.future_proof: removed spurious exception_trace (which might cause crash-by-interrupt); replaced Future.fork_local by Future.fork_pri (again, until group exceptions are propagated properly);

(* $Id$ *)

theory Lambda_mu 
  imports "../Nominal" 
begin

section {* Lambda-Mu according to a paper by Gavin Bierman *}

atom_decl var mvar

nominal_datatype trm = 
    Var   "var" 
  | Lam  "\<guillemotleft>var\<guillemotright>trm"   ("Lam [_]._" [100,100] 100)
  | App  "trm" "trm" 
  | Pss  "mvar" "trm"                                   (* passivate *)
  | Act  "\<guillemotleft>mvar\<guillemotright>trm"  ("Act [_]._" [100,100] 100)       (* activate  *)


end