let _,metasenv,_,_ = proof in
let _,context,_ = CicUtil.lookup_meta goal metasenv in
let termty,_ = (* TASSI: FIXME *)
- CicTypeChecker.type_of_aux' metasenv context term CicUniv.empty_ugraph in
+ CicTypeChecker.type_of_aux' metasenv context term CicUniv.empty_ugraph
+ in
ProofEngineTypes.apply_tactic
(match termty with
(C.Appl [(C.MutInd (equri, 0, [])) ; tty ; t1 ; t2])
[],[] -> T.id_tac
| hd1::tl1,hd2::tl2 ->
T.then_
- ~start:(injection1_tac ~i ~term)
+ ~start:
+ (injection1_tac ~i
+ ~term:(CicSubstitution.lift (i-1) term))
~continuation:(traverse_list (i+1) tl1 tl2)
| _ -> raise (ProofEngineTypes.Fail (lazy "Discriminate: i 2 termini hanno in testa lo stesso costruttore, ma applicato a un numero diverso di termini. possibile???"))
in traverse_list 1 applist1 applist2