fixed problem with not fresh enough permutation name in nominal_primrec
authorChristian Urban <christian dot urban at kcl dot ac dot uk>
Thu, 29 Nov 2012 21:59:38 +0000
changeset 3204 b69c8660de14
parent 3203 01a13904aaa5
child 3205 645ee5189bec
fixed problem with not fresh enough permutation name in nominal_primrec
Nominal/nominal_mutual.ML
README
--- a/Nominal/nominal_mutual.ML	Mon Oct 29 14:00:48 2012 +0000
+++ b/Nominal/nominal_mutual.ML	Thu Nov 29 21:59:38 2012 +0000
@@ -218,8 +218,11 @@
       | [cond] => ([Thm.assume cond], Thm.implies_elim psimp (Thm.assume cond), Thm.implies_intr cond)
       | _ => raise General.Fail "Too many conditions"
 
-    val ([p], ctxt') = Variable.variant_fixes ["p"] ctxt		   
+    val ([p], ctxt') = ctxt
+      |> fold Variable.declare_term args  
+      |> Variable.variant_fixes ["p"] 		   
     val p = Free (p, @{typ perm})
+
     val ss = HOL_basic_ss addsimps 
       @{thms permute_sum.simps[symmetric] Pair_eqvt[symmetric]} @
       @{thms Projr.simps Projl.simps} @
@@ -350,6 +353,7 @@
 fun mk_partial_rules_mutual lthy inner_cont (m as Mutual {parts, fqgars, ...}) proof =
   let
     val result = inner_cont proof
+
     val NominalFunctionResult {G, R, cases, psimps, simple_pinducts=[simple_pinduct],
       termination, domintros, eqvts=[eqvt],...} = result
 
--- a/README	Mon Oct 29 14:00:48 2012 +0000
+++ b/README	Thu Nov 29 21:59:38 2012 +0000
@@ -1,6 +1,11 @@
 This repository contain a new implementation of
 Nominal Isabelle.
 
+Compilation of Tests
+====================
+
+isabelle build -d . -g Tests
+
 
 Subdirectories:
 ===============