(Tacticals.then_
(rewrite_tac ~direction
~pattern:(None,[he],None) equality)
- (rewrite_tac ~direction ~pattern:(None,tl,concl_pat) equality)
+ (rewrite_tac ~direction ~pattern:(None,tl,concl_pat)
+ (CicSubstitution.lift 1 equality))
) status
| [_] as hyps_pat when concl_pat <> None ->
PET.apply_tactic
(Tacticals.then_
(rewrite_tac ~direction
~pattern:(None,hyps_pat,None) equality)
- (rewrite_tac ~direction ~pattern:(None,[],concl_pat) equality)
+ (rewrite_tac ~direction ~pattern:(None,[],concl_pat)
+ (CicSubstitution.lift 1 equality))
) status
| _ ->
let arg,dir2,tac,concl_pat,gty =
let t1 = CicMetaSubst.apply_subst subst t1 in
let t2 = CicMetaSubst.apply_subst subst t2 in
let ty = CicMetaSubst.apply_subst subst ty in
+ let pbo = CicMetaSubst.apply_subst subst pbo in
+ let pty = CicMetaSubst.apply_subst subst pty in
let equality = CicMetaSubst.apply_subst subst equality in
let abstr_gty =
ProofEngineReduction.replace_lifting_csc 0