tuned code
authorChristian Urban <urbanc@in.tum.de>
Wed, 25 Aug 2010 20:04:49 +0800
changeset 38718 c7cbbb18eabe
parent 38717 a365f1fc5081
child 38719 7f69af169e87
child 38727 c7f5f0b7dc7f
tuned code
src/HOL/Tools/Quotient/quotient_tacs.ML
src/HOL/Tools/Quotient/quotient_term.ML
--- a/src/HOL/Tools/Quotient/quotient_tacs.ML	Wed Aug 25 18:26:58 2010 +0800
+++ b/src/HOL/Tools/Quotient/quotient_tacs.ML	Wed Aug 25 20:04:49 2010 +0800
@@ -310,7 +310,7 @@
 
 
 
-(* Injection means to prove that the regularised theorem implies
+(* Injection means to prove that the regularized theorem implies
    the abs/rep injected one.
 
    The deterministic part:
@@ -541,8 +541,7 @@
 end
 
 
-
-(** Tactic for Generalising Free Variables in a Goal **)
+(* Tactic for Generalising Free Variables in a Goal *)
 
 fun inst_spec ctrm =
    Drule.instantiate' [SOME (ctyp_of_term ctrm)] [NONE, SOME ctrm] @{thm spec}
@@ -649,6 +648,7 @@
 
 (** lifting as a tactic **)
 
+
 (* the tactic leaves three subgoals to be proved *)
 fun lift_procedure_tac ctxt rthm =
   Object_Logic.full_atomize_tac
@@ -691,7 +691,7 @@
   val goal = derive_qtrm ctxt' qtys (prop_of rthm'')
 in
   Goal.prove ctxt' [] [] goal 
-    (K (HEADGOAL (asm_full_simp_tac ss THEN' lift_single_tac ctxt' rthm'')))
+    (K (EVERY1 [asm_full_simp_tac ss, lift_single_tac ctxt' rthm'']))
   |> singleton (ProofContext.export ctxt' ctxt)
 end
 
--- a/src/HOL/Tools/Quotient/quotient_term.ML	Wed Aug 25 18:26:58 2010 +0800
+++ b/src/HOL/Tools/Quotient/quotient_term.ML	Wed Aug 25 20:04:49 2010 +0800
@@ -68,7 +68,7 @@
 let
   val thy = ProofContext.theory_of ctxt
   val exn = LIFT_MATCH ("No map function for type " ^ quote s ^ " found.")
-  val mapfun = #mapfun (maps_lookup thy s) handle Quotient_Info.NotFound => raise exn
+  val mapfun = #mapfun (maps_lookup thy s) handle NotFound => raise exn
 in
   Const (mapfun, dummyT)
 end
@@ -105,7 +105,7 @@
 let
   val thy = ProofContext.theory_of ctxt
   val exn = LIFT_MATCH ("No quotient type " ^ quote s ^ " found.")
-  val qdata = quotdata_lookup thy s handle Quotient_Info.NotFound => raise exn
+  val qdata = quotdata_lookup thy s handle NotFound => raise exn
 in
   (#rtyp qdata, #qtyp qdata)
 end
@@ -277,7 +277,7 @@
 let
   val thy = ProofContext.theory_of ctxt
   val exn = LIFT_MATCH ("get_relmap (no relation map function found for type " ^ s ^ ")")
-  val relmap = #relmap (maps_lookup thy s) handle Quotient_Info.NotFound => raise exn
+  val relmap = #relmap (maps_lookup thy s) handle NotFound => raise exn
 in
   Const (relmap, dummyT)
 end
@@ -301,7 +301,7 @@
   val thy = ProofContext.theory_of ctxt
   val exn = LIFT_MATCH ("get_quotdata (no quotient found for type " ^ s ^ ")")
 in
-  #equiv_rel (quotdata_lookup thy s) handle Quotient_Info.NotFound => raise exn
+  #equiv_rel (quotdata_lookup thy s) handle NotFound => raise exn
 end
 
 fun equiv_match_err ctxt ty_pat ty =
@@ -436,7 +436,7 @@
         if length rtys <> length qtys then false else
         forall (fn x => x = true) (map2 (matches_typ thy) rtys qtys)
       else
-        (case Quotient_Info.quotdata_lookup_raw thy qs of
+        (case quotdata_lookup_raw thy qs of
           SOME quotinfo => Sign.typ_instance thy (rT, #rtyp quotinfo)
         | NONE => false)
   | _ => false
@@ -446,7 +446,7 @@
 
    - the result might contain dummyTs
 
-   - for regularisation we do not need any
+   - for regularization we do not need any
      special treatment of bound variables
 *)
 fun regularize_trm ctxt (rtrm, qtrm) =
@@ -550,7 +550,7 @@
          val rel' = equiv_relation_chk ctxt (domain_type rel_ty, domain_type ty')
        in
          if rel' aconv rel then rtrm
-         else term_mismatch "regularise (relation mismatch)" ctxt rel rel'
+         else term_mismatch "regularize (relation mismatch)" ctxt rel rel'
        end
 
   | (_, Const _) =>
@@ -563,10 +563,10 @@
          else
            let
              val rtrm' = #rconst (qconsts_lookup thy qtrm)
-               handle Quotient_Info.NotFound => term_mismatch "regularize(constant notfound)" ctxt rtrm qtrm
+               handle NotFound => term_mismatch "regularize (constant not found)" ctxt rtrm qtrm
            in
              if Pattern.matches thy (rtrm', rtrm)
-             then rtrm else term_mismatch "regularize(constant mismatch)" ctxt rtrm qtrm
+             then rtrm else term_mismatch "regularize (constant mismatch)" ctxt rtrm qtrm
            end
        end
 
@@ -751,7 +751,7 @@
 let
   val thy = ProofContext.theory_of ctxt  
 in
-  Quotient_Info.quotdata_dest ctxt
+  quotdata_dest ctxt
    |> map (fn x => (#rtyp x, #qtyp x))
    |> filter (fn (_, qty) => member (Sign.typ_instance thy o swap) qtys qty)
    |> map (if direction then swap else I)
@@ -763,12 +763,12 @@
   fun proper (t1, t2) = subst_typ' (fastype_of t1) = fastype_of t2
 
   val const_substs = 
-    Quotient_Info.qconsts_dest ctxt
+    qconsts_dest ctxt
      |> map (fn x => (#rconst x, #qconst x))
      |> map (if direction then swap else I)
 
   val rel_substs =
-    Quotient_Info.quotdata_dest ctxt
+    quotdata_dest ctxt
      |> map (fn x => (#equiv_rel x, HOLogic.eq_const (#qtyp x)))
      |> map (if direction then swap else I)
 in