src/Pure/Isar/proof_context.ML
changeset 12213 264f17d14ad9
parent 12147 64e69a8a945f
child 12291 43f37745b600
equal deleted inserted replaced
12212:657ad5edeab6 12213:264f17d14ad9
  1110 
  1110 
  1111 fun fix_frees ts ctxt =
  1111 fun fix_frees ts ctxt =
  1112   let
  1112   let
  1113     val frees = foldl Drule.add_frees ([], ts);
  1113     val frees = foldl Drule.add_frees ([], ts);
  1114     fun new (x, T) = if is_fixed ctxt x then None else Some ([x], Some T);
  1114     fun new (x, T) = if is_fixed ctxt x then None else Some ([x], Some T);
  1115   in fix_direct (mapfilter new frees) ctxt end;
  1115   in fix_direct (rev (mapfilter new frees)) ctxt end;
  1116 
  1116 
  1117 
  1117 
  1118 (*Note: improper use may result in variable capture / dynamic scoping!*)
  1118 (*Note: improper use may result in variable capture / dynamic scoping!*)
  1119 fun bind_skolem ctxt xs =
  1119 fun bind_skolem ctxt xs =
  1120   let
  1120   let