to get the carrier of a coercion. this is useful in case of terms generated by paramodulation
(and we want to refine the proof letting the refiner add symmetry steps)
where we have ((\lambda x:A.P(x)) t) === P'(t)
and P/P' is M=N/N=M
(* we search a coercion from hety to s *)
let coer, tgt_carr =
let carr t subst context =
- CicMetaSubst.apply_subst subst t
+ CicReduction.whd ~delta:false
+ context (CicMetaSubst.apply_subst subst t )
in
let c_hety = carr hety subst context in
let c_s = carr s subst context in