| _ -> t'
end
in
- fun s t ->
+ fun subst t ->
(* incr apply_subst_counter; *)
- apply_subst_gen ~appl_fun s t
+match subst with
+ [] -> t
+ | _ -> apply_subst_gen ~appl_fun subst t
;;
let profiler = HExtlib.profile "U/CicMetaSubst.apply_subst"
profiler.HExtlib.profile (apply_subst s) t
-let rec apply_subst_context subst context =
+let apply_subst_context subst context =
+ match subst with
+ [] -> context
+ | _ ->
(*
incr apply_subst_context_counter;
context_length := !context_length + List.length context;
incr apply_subst_metasenv_counter;
metasenv_length := !metasenv_length + List.length metasenv;
*)
+match subst with
+ [] -> metasenv
+ | _ ->
List.map
(fun (n, context, ty) ->
(n, apply_subst_context subst context, apply_subst subst ty))
(!more_to_be_restricted, res)
let rec restrict subst to_be_restricted metasenv =
- if to_be_restricted = [] then (metasenv,subst) else
+ match to_be_restricted with
+ | [] -> metasenv, subst
+ | _ ->
let names_of_context_indexes context indexes =
String.concat ", "
(List.map
raise (MetaSubstFailure error_msg)))
subst ([], [])
in
- match more_to_be_restricted @ more_to_be_restricted' with
- | [] -> (metasenv, subst)
- | l -> restrict subst l metasenv
+ restrict subst (more_to_be_restricted @ more_to_be_restricted') metasenv
;;
(*CSC: maybe we should rename delift in abstract, as I did in my dissertation *)(*Andrea: maybe not*)