]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/matitaScript.ml
New syntax for auto-related tactics and conclude/obtain.
[helm.git] / helm / software / matita / matitaScript.ml
index 828002a8bca0a522c484a0b38fd63d2328179e59..a27b0183197557d16f9782d5099580ef04274391 100644 (file)
@@ -140,7 +140,11 @@ let wrap_with_make include_paths (f : GrafiteParser.statement) x =
             HLog.error ("Unexpected " ^ snd(MatitaExcPp.to_string exn));
             assert false
       in
-      if b then f ~include_paths x 
+      if b then 
+        try f ~include_paths x with LexiconEngine.IncludedFileNotCompiled _ ->
+         raise 
+           (Failure ("Including: "^tgt^
+             "\nNothing to do... did you run matitadep?"))
       else raise (Failure ("Compiling: " ^ tgt))
 ;;
 
@@ -237,9 +241,9 @@ let cic2grafite context menv t =
       | Cic.Prod (Cic.Name n, s, t) ->
           PT.Binder (`Forall, (PT.Ident (n,None), Some (aux c s)),
             aux (Some (Cic.Name n, Cic.Decl s)::c) t)
-      | Cic.LetIn (Cic.Name n, s, t) ->
+      | Cic.LetIn (Cic.Name n, s, ty, t) ->
           PT.Binder (`Lambda, (PT.Ident (n,None), Some (aux c s)),
-            aux (Some (Cic.Name n, Cic.Def (s,None))::c) t)
+            aux (Some (Cic.Name n, Cic.Def (s,ty))::c) t)
       | Cic.Meta _ -> PT.Implicit
       | Cic.Sort (Cic.Type u) -> PT.Sort (`Type u)
       | Cic.Sort Cic.Set -> PT.Sort `Set
@@ -530,7 +534,7 @@ let rec eval_macro include_paths (buffer : GText.buffer) guistuff lexicon_status
             Auto.revision time size depth
         in
         let proof_script = 
-          if List.exists (fun (s,_) -> s = "paramodulation") params then
+          if List.exists (fun (s,_) -> s = "paramodulation") (snd params) then
               let proof_term, how_many_lambdas = 
                 Auto.lambda_close ~prefix_name:"orrible_hack_" 
                   proof_term menv cc