Quot/quotient_term.ML
changeset 1188 e5413596e098
parent 1128 17ca92ab4660
--- a/Quot/quotient_term.ML	Thu Feb 18 10:01:48 2010 +0100
+++ b/Quot/quotient_term.ML	Thu Feb 18 11:19:16 2010 +0100
@@ -26,6 +26,7 @@
   val inj_repabs_trm: Proof.context -> term * term -> term
   val inj_repabs_trm_chk: Proof.context -> term * term -> term
 
+  val quotient_lift_const: string * term -> local_theory -> term
   val quotient_lift_all: Proof.context -> term -> term
 end;
 
@@ -732,6 +733,15 @@
   (ty_substs, const_substs @ rel_substs)
 end
 
+fun quotient_lift_const (b, t) ctxt =
+let
+  val thy = ProofContext.theory_of ctxt
+  val (ty_substs, _) = get_ty_trm_substs ctxt;
+  val (_, ty) = dest_Const t;
+  val nty = subst_tys thy ty_substs ty;
+in
+  Free(b, nty)
+end
 
 (*
 Takes a term and