X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=components%2Ftactics%2FequalityTactics.ml;h=69466c272a458ad4c49386ae69b5dad8895ed13a;hb=ce800b0b7acf3940cad3afc5b1d2296155affb1c;hp=b1727fb7d401d35fa761a2dd9c4cbb3540c9bf6e;hpb=ec7717f5e0dd4c295ba1cfd57a0a6a46170490ef;p=helm.git diff --git a/components/tactics/equalityTactics.ml b/components/tactics/equalityTactics.ml index b1727fb7d..69466c272 100644 --- a/components/tactics/equalityTactics.ml +++ b/components/tactics/equalityTactics.ml @@ -80,7 +80,7 @@ let rec rewrite_tac ~direction ~(pattern: ProofEngineTypes.lazy_pattern) equalit ~pattern: (None,[name,Cic.Implicit (Some `Hole)], None) (ProofEngineTypes.const_lazy_term typ); - ProofEngineStructuralRules.clear dummy + ProofEngineStructuralRules.clear [dummy] ]), Some pat,gty | _::_ -> assert false @@ -146,6 +146,8 @@ let rec rewrite_tac ~direction ~(pattern: ProofEngineTypes.lazy_pattern) equalit 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 @@ -289,15 +291,15 @@ let replace_tac ~(pattern: ProofEngineTypes.lazy_pattern) ~with_what = (function ((proof,goal) as status) -> let _,metasenv,_,_ = proof in let _,context,_ = CicUtil.lookup_meta goal metasenv in - let hyp = + let hyps = try match List.hd context with - Some (Cic.Name name,_) -> name + Some (Cic.Name name,_) -> [name] | _ -> assert false with (Failure "hd") -> assert false in ProofEngineTypes.apply_tactic - (ProofEngineStructuralRules.clear ~hyp) status)) + (ProofEngineStructuralRules.clear ~hyps) status)) ~continuation:(aux_tac (n + 1) tl)); T.id_tac]) status