From 01fb122158f2f6463e7d8a74d7c98185bcd3c7ff Mon Sep 17 00:00:00 2001
From: Claudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Date: Tue, 21 Aug 2007 09:48:14 +0000
Subject: [PATCH] "obtain H E1=E2 by proof" is now working

---
 helm/software/components/tactics/declarative.ml | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/helm/software/components/tactics/declarative.ml b/helm/software/components/tactics/declarative.ml
index 8e077c6bd..c248d0cad 100644
--- a/helm/software/components/tactics/declarative.ml
+++ b/helm/software/components/tactics/declarative.ml
@@ -171,7 +171,7 @@ let rewritingstep ~dbd ~universe lhs rhs just last_step =
   in
   let ty,_ =
    CicTypeChecker.type_of_aux' metasenv context rhs CicUniv.empty_ugraph in
-  let just =
+  let just' =
    match just with
       `Auto params ->
         let params =
@@ -246,8 +246,9 @@ let rewritingstep ~dbd ~universe lhs rhs just last_step =
                 ~continuations:[Tacticals.id_tac ; continuation]) (proof,goal)
             in
              let goals =
-              match goals with
-                 [g1;g2] -> [g2;newmeta;g1]
+              match just,goals with
+                 `Proof, [g1;g2;g3] -> [g2;g3;newmeta;g1]
+               | _, [g1;g2] -> [g2;newmeta;g1]
                | _ -> assert false
              in
               proof,goals)
@@ -255,11 +256,11 @@ let rewritingstep ~dbd ~universe lhs rhs just last_step =
     let continuation =
      if last_step then
       (*CSC:manca controllo sul fatto che rhs sia convertibile con prhs*)
-      just
+      just'
      else
       Tacticals.thens
        ~start:(Tactics.apply ~term:(Cic.Appl [trans;ty;plhs;rhs;prhs]))
-       ~continuations:[just ; Tacticals.id_tac]
+       ~continuations:[just' ; Tacticals.id_tac]
     in
      prepare continuation
  in
-- 
2.39.5