Nominal/Ex/Classical.thy
author Christian Urban <urbanc@in.tum.de>
Wed, 02 Jun 2010 11:37:51 +0200
changeset 2308 387fcbd33820
parent 2120 2786ff1df475
child 2311 4da5c5c29009
permissions -rw-r--r--
fixed problem with bn_info

theory Classical
imports "../NewParser"
begin

(* example from my Urban's PhD *)

atom_decl name
atom_decl coname

declare [[STEPS = 9]]

nominal_datatype trm =
   Ax "name" "coname"
|  Cut n::"coname" t1::"trm" c::"coname" t2::"trm"              bind_set n in t1, bind_set c in t2
|  AndR c1::"coname" t1::"trm" c2::"coname" t2::"trm" "coname"  bind_set c1 in t1, bind_set c2 in t2
|  AndL1 n::"name" t::"trm" "name"                              bind_set n in t
|  AndL2 n::"name" t::"trm" "name"                              bind_set n in t
|  ImpL c::"coname" t1::"trm" n::"name" t2::"trm" "name"        bind_set c in t1, bind_set n in t2
|  ImpR c::"coname" n::"name" t::"trm" "coname"                 bind_set n c in t

thm alpha_trm_raw.intros[no_vars]

(*
thm trm.fv
thm trm.eq_iff
thm trm.bn
thm trm.perm
thm trm.induct
thm trm.distinct
thm trm.fv[simplified trm.supp]
*)


end