src/HOL/Modelcheck/mucke_oracle.ML
changeset 33004 715566791eb0
parent 32960 69916a850301
child 33955 fff6f11b1f09
equal deleted inserted replaced
33003:1c93cfa807bc 33004:715566791eb0
   250   let val used = OldTerm.add_term_names (t, [])
   250   let val used = OldTerm.add_term_names (t, [])
   251           and vars = OldTerm.term_vars t;
   251           and vars = OldTerm.term_vars t;
   252       fun newName (Var(ix,_), (pairs,used)) = 
   252       fun newName (Var(ix,_), (pairs,used)) = 
   253           let val v = Name.variant used (string_of_indexname ix)
   253           let val v = Name.variant used (string_of_indexname ix)
   254           in  ((ix,v)::pairs, v::used)  end;
   254           in  ((ix,v)::pairs, v::used)  end;
   255       val (alist, _) = foldr newName ([], used) vars;
   255       val (alist, _) = List.foldr newName ([], used) vars;
   256       fun mk_inst (Var(v,T)) = (Var(v,T),
   256       fun mk_inst (Var(v,T)) = (Var(v,T),
   257            Free ((the o AList.lookup (op =) alist) v, T));
   257            Free ((the o AList.lookup (op =) alist) v, T));
   258       val insts = map mk_inst vars;
   258       val insts = map mk_inst vars;
   259   in subst_atomic insts t end;
   259   in subst_atomic insts t end;
   260 
   260