quotient_info.ML
changeset 318 746b17e1d6d8
parent 314 3b3c5feb6b73
child 320 7d3d86beacd6
--- a/quotient_info.ML	Fri Nov 13 19:32:12 2009 +0100
+++ b/quotient_info.ML	Wed Nov 18 23:52:48 2009 +0100
@@ -17,9 +17,10 @@
   val lookup_qenv: ((typ * typ) -> bool) -> qenv -> typ -> (typ * typ) option
 
   type qconsts_info = {qconst: term, rconst: term}
+  val qconsts_transfer: morphism -> qconsts_info -> qconsts_info
   val qconsts_lookup: theory -> string -> qconsts_info option
   val qconsts_update_thy: string -> qconsts_info -> theory -> theory    
-  val qconsts_update: string -> qconsts_info -> Proof.context -> Proof.context 
+  val qconsts_update_generic: string -> qconsts_info -> Context.generic -> Context.generic 
   val print_qconstinfo: Proof.context -> unit
 end;
 
@@ -137,17 +138,22 @@
    val extend = I
    val merge = Symtab.merge (K true))
 
+fun qconsts_transfer phi {qconst, rconst} =
+    {qconst = Morphism.term phi qconst,
+     rconst = Morphism.term phi rconst}
+
 val qconsts_lookup = Symtab.lookup o QConstsData.get
 
 fun qconsts_update_thy k qcinfo = QConstsData.map (Symtab.update (k, qcinfo))
-fun qconsts_update k qcinfo = ProofContext.theory (qconsts_update_thy k qcinfo)
+fun qconsts_update_generic k qcinfo = 
+      Context.mapping (qconsts_update_thy k qcinfo) I
 
 fun print_qconstinfo ctxt =
 let
   fun prt_qconst {qconst, rconst} = 
-      Pretty.block (Library.separate (Pretty.brk 2)
+      Pretty.block (separate (Pretty.brk 1)
           [Syntax.pretty_term ctxt qconst,
-           Pretty.str (" := "),
+           Pretty.str ":=",
            Syntax.pretty_term ctxt rconst])
 in
   QConstsData.get (ProofContext.theory_of ctxt)