]> matita.cs.unibo.it Git - helm.git/commitdiff
Corrections to "auto" tactic
authorMatteo Selmi <matteo.selmi@mail.polimi.it>
Fri, 18 Jun 2004 13:50:11 +0000 (13:50 +0000)
committerMatteo Selmi <matteo.selmi@mail.polimi.it>
Fri, 18 Jun 2004 13:50:11 +0000 (13:50 +0000)
helm/ocaml/tactics/filter_auto.ml
helm/ocaml/tactics/match_concl.ml
helm/ocaml/tactics/tacticChaser.ml

index f4964f575327f8695eb08dfcfc8dda19e9ebf0fc..a87be6c49bd8408f8c46b443a8505e004fa735e5 100644 (file)
@@ -32,6 +32,8 @@ let main_conclusion = "'http://www.cs.unibo.it/helm/schemas/schema-helm#MainConc
 
 let in_conclusion = "'http://www.cs.unibo.it/helm/schemas/schema-helm#InConclusion'" ;;
 
+let in_body = "'http://www.cs.unibo.it/helm/schemas/schema-helm#InBody'";;
+
 let escape = Str.global_replace (Str.regexp_string "\'") "\\'";;
 
 let hyp_const (conn:Mysql.dbd) uri =
@@ -39,9 +41,8 @@ let hyp_const (conn:Mysql.dbd) uri =
   (*query to obtain all the constants in the hypothesis and conclusion of the theorem*)
   let query =
      "select h_occurrence from refObj where source='"^uri^
-    "' and (h_position="^main_hypothesis^" or h_position="^in_hypothesis^
-    "or h_position="^main_conclusion^" or h_position="^in_conclusion^")" in
-(*  prerr_endline ("$$$$$$$$$$$$$$$"^query);*)
+    "' and (not (h_position ="^in_body^"))" in
+  (*prerr_endline ("$$$$$$$$$$$$$$$"^query);*)
   let result = Mysql.exec conn query in 
   (* now we transform the result in a set *)
   let f a = 
@@ -71,10 +72,7 @@ let rec exec_query (conn:Mysql.dbd) uris k =
     let refObjn = "refObj" ^ (string_of_int n) in
     let new_must =
       [ refObjn^".h_occurrence = '" ^ uri ^ "'";
-        "("^refObjn^".h_position = " ^ main_conclusion^ " or "
-       ^refObjn^".h_position = " ^ in_conclusion^ " or "
-       ^refObjn^".h_position = " ^ main_hypothesis^ " or "
-       ^refObjn^".h_position = " ^ in_hypothesis^ ")"] in
+        "(not ("^refObjn^".h_position ="^in_body^"))"] in
     let where' = 
       if n = 0 then new_must@where
       else 
@@ -91,8 +89,8 @@ let rec exec_query (conn:Mysql.dbd) uris k =
   in
   let from = String.concat "," from in
   let where = String.concat " and " where in
-  let query = "select refObj0.source from " ^ from ^ " where " ^ where in
-   (* prerr_endline query;*)
+  let query = "select distinct(refObj0.source) from " ^ from ^ " where " ^ where in
+    (* prerr_endline query;*)
     Mysql.exec conn query
 ;;
 
index 078cb931a903b26ac2281d6dd8fa7b4a0236fc78..c2266cd1004fbb0e4a2018ee3b7859e6843c4e32 100644 (file)
@@ -136,8 +136,9 @@ let rec exec_must (conn:Mysql.dbd) (l:MQGTypes.r_obj list) (cc:count_condition)
             ("no_inconcl_aux.source = refObj0.source")::where) in
   let from = String.concat "," from in
   let where = String.concat " and " where in
-  let query = "select refObj0.source from " ^ from ^ " where " ^ where in
-    prerr_endline query;
+  let query = 
+        "select refObj0.source from " ^ from ^ " where " ^ where in
+   (* prerr_endline query;*)
     Mysql.exec conn query
 ;;
 
index c8217e78660b33a24a94f08a1fcdee6f18eb31f9..b0148224c7b10953a9776e08257afe1b646b35ff 100644 (file)
@@ -136,7 +136,7 @@ let matchConclusion2 mqi_handle ?(output_html = (fun _ -> ())) ~choose_must() st
     let len = String.length s in
     let suffix = String.sub s (len-4) 4 in
       not (suffix  = ".var") in
-  let uris = List.filter isvar uris in
+  let uris = List.filter isvar uris in 
   (* delete all not "cic:/Coq" uris *)
   (*
   let uris =
@@ -145,7 +145,7 @@ let matchConclusion2 mqi_handle ?(output_html = (fun _ -> ())) ~choose_must() st
   *)
   (* concl_cost are the costants in the conclusion of the proof 
      while hyp_const are the constants in the hypothesis *)
-  let (_,concl_const) = NewConstraints.constants_of ty in
+  let concl_const = NewConstraints.constants_concl ty in
   prerr_endline ("Ne sono rimasti " ^ string_of_int (List.length uris));
   let hyp t set =
     match t with