src/HOL/Statespace/state_space.ML
changeset 36506 6b56e679d9ff
parent 36149 5ca66e58dcfa
child 36610 bafd82950e24
equal deleted inserted replaced
36505:79c1d2bbe5a9 36506:6b56e679d9ff
   196 
   196 
   197 fun mk_free ctxt name =
   197 fun mk_free ctxt name =
   198   if Variable.is_fixed ctxt name orelse Variable.is_declared ctxt name
   198   if Variable.is_fixed ctxt name orelse Variable.is_declared ctxt name
   199   then
   199   then
   200     let val n' = lookupI (op =) (Variable.fixes_of ctxt) name
   200     let val n' = lookupI (op =) (Variable.fixes_of ctxt) name
   201     in SOME (Free (n',ProofContext.infer_type ctxt n')) end
   201     in SOME (Free (n',ProofContext.infer_type ctxt (n', dummyT))) end
   202   else NONE
   202   else NONE
   203 
   203 
   204 
   204 
   205 fun get_dist_thm ctxt name = Symtab.lookup (#distinctthm (NameSpaceData.get ctxt)) name;
   205 fun get_dist_thm ctxt name = Symtab.lookup (#distinctthm (NameSpaceData.get ctxt)) name;
   206 fun get_comp ctxt name =
   206 fun get_comp ctxt name =
   428       let
   428       let
   429         fun upd_prf ctxt =
   429         fun upd_prf ctxt =
   430           let
   430           let
   431             fun upd (n,v) =
   431             fun upd (n,v) =
   432               let
   432               let
   433                 val nT = ProofContext.infer_type (Local_Theory.target_of lthy) n
   433                 val nT = ProofContext.infer_type (Local_Theory.target_of lthy) (n, dummyT)
   434               in Context.proof_map
   434               in Context.proof_map
   435                   (update_declinfo (Morphism.term phi (Free (n,nT)),v))
   435                   (update_declinfo (Morphism.term phi (Free (n,nT)),v))
   436               end;
   436               end;
   437           in ctxt |> fold upd updates end;
   437           in ctxt |> fold upd updates end;
   438 
   438