author | Christian Urban <urbanc@in.tum.de> |
Wed, 14 Apr 2010 14:41:54 +0200 | |
changeset 1833 | 2050b5723c04 |
child 1834 | 9909cc3566c5 |
permissions | -rw-r--r-- |
(* Title: nominal_library.ML Author: Christian Urban Basic function for nominal. *) signature NOMINAL_LIBRARY = sig val mk_minus: term -> term val mk_perm: term -> term -> term end structure Nominal_Library: NOMINAL_LIBRARY = struct fun mk_minus p = Const (@{const_name "uminus"}, @{typ "perm => perm"}) $ p fun mk_perm p trm = let val ty = fastype_of trm in Const (@{const_name "permute"}, @{typ "perm"} --> ty --> ty) $ p $ trm end end (* structure *) open Nominal_Library;