substaux 1
;;
-(* l is the relocation list *)
+(* lift_meta [t_1 ; ... ; t_n] t *)
+(* returns the term [t] where [Rel i] is substituted with [t_i] *)
+(* [t_i] is lifted as usual when it crosses an abstraction *)
let lift_meta l t =
- let module C = Cic in
- if l = [] then t else
- let rec aux k = function
+ let module C = Cic in
+ if l = [] then t else
+ let rec aux k = function
C.Rel n as t ->
- if n <= k then t else
+ if n <= k then t else
(try
match List.nth l (n-k-1) with
None -> raise RelToHiddenHypothesis
val subst_vars :
Cic.term Cic.explicit_named_substitution -> Cic.term -> Cic.term
-(* ?????????? *)
+(* lift_meta [t_1 ; ... ; t_n] t *)
+(* returns the term [t] where [Rel i] is substituted with [t_i] *)
+(* [t_i] is lifted as usual when it crosses an abstraction *)
val lift_meta : (Cic.term option) list -> Cic.term -> Cic.term