fiexed problem with constructors that have no arguments
authorChristian Urban <urbanc@in.tum.de>
Sun, 29 Aug 2010 00:36:47 +0800
changeset 2449 6b51117b8955
parent 2448 b9d9c4540265
child 2450 217ef3e4282e
fiexed problem with constructors that have no arguments
Nominal/Ex/Let.thy
Nominal/Ex/SingleLet.thy
Nominal/nominal_dt_supp.ML
--- a/Nominal/Ex/Let.thy	Sun Aug 29 00:09:45 2010 +0800
+++ b/Nominal/Ex/Let.thy	Sun Aug 29 00:36:47 2010 +0800
@@ -6,6 +6,8 @@
 
 atom_decl name
 
+declare [[STEPS = 29]]
+
 nominal_datatype trm =
   Var "name"
 | App "trm" "trm"
--- a/Nominal/Ex/SingleLet.thy	Sun Aug 29 00:09:45 2010 +0800
+++ b/Nominal/Ex/SingleLet.thy	Sun Aug 29 00:36:47 2010 +0800
@@ -39,7 +39,7 @@
 apply(rule single_let.induct)
 apply(rule supports_finite)
 apply(rule single_let.supports)
-apply(simp only: finite_supp supp_Pair finite_Un)
+apply(simp only: finite_supp supp_Pair finite_Un, simp)
 apply(rule supports_finite)
 apply(rule single_let.supports)
 apply(simp only: finite_supp supp_Pair finite_Un, simp)
--- a/Nominal/nominal_dt_supp.ML	Sun Aug 29 00:09:45 2010 +0800
+++ b/Nominal/nominal_dt_supp.ML	Sun Aug 29 00:36:47 2010 +0800
@@ -21,7 +21,8 @@
 let  
   val vs = fresh_args ctxt qtrm
   val rhs = list_comb (qtrm, vs)
-  val lhs = mk_supp (foldl1 HOLogic.mk_prod vs)
+  val lhs = fold (curry HOLogic.mk_prod) vs @{term "()"}
+    |> mk_supp
 in
   mk_supports lhs rhs
   |> HOLogic.mk_Trueprop