src/HOL/Statespace/state_space.ML
changeset 42488 4638622bcaa1
parent 42368 3b8498ac2314
child 43278 1fbdcebb364b
equal deleted inserted replaced
42487:398d7d6bba42 42488:4638622bcaa1
   185 
   185 
   186 fun get_statespace ctxt name =
   186 fun get_statespace ctxt name =
   187       Symtab.lookup (StateSpaceData.get ctxt) name;
   187       Symtab.lookup (StateSpaceData.get ctxt) name;
   188 
   188 
   189 
   189 
   190 fun lookupI eq xs n =
       
   191   (case AList.lookup eq xs n of
       
   192      SOME v => v
       
   193    | NONE => n);
       
   194 
       
   195 fun mk_free ctxt name =
   190 fun mk_free ctxt name =
   196   if Variable.is_fixed ctxt name orelse Variable.is_declared ctxt name
   191   if Variable.is_fixed ctxt name orelse Variable.is_declared ctxt name
   197   then
   192   then
   198     let val n' = lookupI (op =) (Variable.fixes_of ctxt) name
   193     let val n' = Variable.intern_fixed ctxt name
   199     in SOME (Free (n',Proof_Context.infer_type ctxt (n', dummyT))) end
   194     in SOME (Free (n', Proof_Context.infer_type ctxt (n', dummyT))) end
   200   else NONE
   195   else NONE
   201 
   196 
   202 
   197 
   203 fun get_dist_thm ctxt name = Symtab.lookup (#distinctthm (NameSpaceData.get ctxt)) name;
   198 fun get_dist_thm ctxt name = Symtab.lookup (#distinctthm (NameSpaceData.get ctxt)) name;
   204 fun get_comp ctxt name =
   199 fun get_comp ctxt name =