Nominal/LFex.thy
author Cezary Kaliszyk <kaliszyk@in.tum.de>
Sat, 20 Mar 2010 09:27:28 +0100
changeset 1561 c3dca6e600c8
parent 1553 4355eb3b7161
child 1576 7b8f570b2450
permissions -rw-r--r--
Use 'alpha_bn_refl' to get rid of one of the sorrys.

theory LFex
imports "Parser"
begin

atom_decl name
atom_decl ident

ML {* val _ = cheat_fv_rsp := false *}
ML {* val _ = cheat_alpha_bn_rsp := false *}
ML {* val _ = cheat_equivp := false *}

nominal_datatype kind =
    Type
  | KPi "ty" n::"name" k::"kind" bind n in k
and ty =
    TConst "ident"
  | TApp "ty" "trm"
  | TPi "ty" n::"name" t::"ty" bind n in t
and trm =
    Const "ident"
  | Var "name"
  | App "trm" "trm"
  | Lam "ty" n::"name" t::"trm" bind n in t

thm kind_ty_trm.supp

end