Cic.Meta(n,l) as t ->
(try
deref subst
- (CicSubstitution.lift_meta
+ (CicSubstitution.subst_meta
l (snd (CicUtil.lookup_subst n subst)))
with
CicUtil.Subst_not_found _ -> t)
| C.Meta (i,l) as t->
(try
let (_, t') = CicMetaSubst.lookup_subst i subst in
- aux metasenv subst n context (CicSubstitution.lift_meta l t')
+ aux metasenv subst n context (CicSubstitution.subst_meta l t')
ugraph
with CicMetaSubst.SubstNotFound _ ->
let (subst, metasenv, context, local_context,ugraph1) =
begin
try
let (_, oldt) = CicMetaSubst.lookup_subst n subst in
- let lifted_oldt = S.lift_meta l oldt in
+ let lifted_oldt = S.subst_meta l oldt in
let ty_lifted_oldt,ugraph1 =
type_of_aux' metasenv subst context lifted_oldt ugraph
in
let tyt,ugraph1 = type_of_aux' metasenv subst context t ugraph in
fo_unif_subst
test_equality_only
- subst context metasenv tyt (S.lift_meta l meta_type) ugraph1
+ subst context metasenv tyt (S.subst_meta l meta_type) ugraph1
with AssertFailure _ ->
(* TODO huge hack!!!!
* we keep on unifying/refining in the hope that the problem will be
(* Unifying the types may have already instantiated n. Let's check *)
try
let (_, oldt) = CicMetaSubst.lookup_subst n subst in
- let lifted_oldt = S.lift_meta l oldt in
+ let lifted_oldt = S.subst_meta l oldt in
fo_unif_subst_ordered
test_equality_only subst context metasenv t lifted_oldt ugraph2
with
in
fo_unif_subst
test_equality_only
- subst context metasenv tyt (S.lift_meta l meta_type) ugraph1
+ subst context metasenv tyt (S.subst_meta l meta_type) ugraph1
with
UnificationFailure msg
| Uncertain msg ->
(* Unifying the types may have already instantiated n. Let's check *)
try
let (_, oldt,_) = CicUtil.lookup_subst n subst in
- let lifted_oldt = S.lift_meta l oldt in
+ let lifted_oldt = S.subst_meta l oldt in
fo_unif_subst_ordered
test_equality_only subst context metasenv t lifted_oldt ugraph2
with
*)
(try
let (_,t,_) = CicUtil.lookup_subst i subst in
- let lifted = S.lift_meta l t in
+ let lifted = S.subst_meta l t in
let reduced = beta_reduce (Cic.Appl (lifted::args)) in
fo_unif_subst
test_equality_only
| _, C.Meta (i,l)::args when not(exists_a_meta args) ->
(try
let (_,t,_) = CicUtil.lookup_subst i subst in
- let lifted = S.lift_meta l t in
+ let lifted = S.subst_meta l t in
let reduced = beta_reduce (Cic.Appl (lifted::args)) in
fo_unif_subst
test_equality_only