CicTypeChecker.type_of_aux' metasenv context term ugraph
in
let candidates = get_candidates Unification table term in
+ (* List.iter (fun (_,e) -> debug_print (lazy (Equality.string_of_equality e))) candidates; *)
let r =
if subterms_only then
[]
Utils.guarded_simpl context
(apply_subst subst (CicSubstitution.subst other t))
in
- let bo' = apply_subst subst t in
- let ty = apply_subst subst ty in
- let name = Cic.Name "x" in
- let newgoalproofstep = (rule,pos,id,subst,Cic.Lambda (name,ty,bo')) in
+ let name = Cic.Name "x" in
+ let pred = apply_subst subst (Cic.Lambda (name,ty,t)) in
+ let newgoalproofstep = (rule,pos,id,subst,pred) in
bo, (newgoalproofstep::goalproof)
in
let newmetasenv = (* Founif.filter subst *) menv in
Utils.guarded_simpl context
(apply_subst subst (CicSubstitution.subst other t))
in
- let bo' = apply_subst subst t in
- let ty = apply_subst subst ty in
let name = Cic.Name "x" in
- let newgoalproofstep = (rule,pos,id,subst,Cic.Lambda (name,ty,bo')) in
+ let pred = apply_subst subst (Cic.Lambda (name,ty,t)) in
+ let newgoalproofstep = (rule,pos,id,subst,pred) in
bo, (newgoalproofstep::goalproof)
in
let newmetasenv = (* Founif.filter subst *) menv in
end
else
match c with
- | Utils.Gt -> (* prerr_endline "GT"; *)
+ | Utils.Gt ->
let big,small,possmall = l,r,Utils.Right in
let expansions, _ = betaexpand_term menv context ugraph table 0 big in
List.map