]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaEngine.ml
prima implementazione di demodulate, superposition_left e superposition_right
[helm.git] / helm / matita / matitaEngine.ml
index 3c141126d3c26f8c80be266fc8e18588c42016b4..8aae7633a9222fd8f8dc86b0a3d737369827492b 100644 (file)
@@ -226,8 +226,15 @@ let eval_coercion status coercion =
     aux ty
   in
   let ty_src,ty_tgt = extract_last_two_p coer_ty in
-  let src_uri = UriManager.uri_of_string (CicUtil.uri_of_term ty_src) in
-  let tgt_uri = UriManager.uri_of_string (CicUtil.uri_of_term ty_tgt) in
+  let context = [] in 
+  let src_uri = 
+    let ty_src = CicReduction.whd context ty_src in
+    UriManager.uri_of_string (CicUtil.uri_of_term ty_src) 
+  in
+  let tgt_uri = 
+    let ty_tgt = CicReduction.whd context ty_tgt in
+    UriManager.uri_of_string (CicUtil.uri_of_term ty_tgt) 
+  in
   let new_coercions =
     (* also adds them to the Db *)
     CoercGraph.close_coercion_graph src_uri tgt_uri coer_uri
@@ -647,9 +654,8 @@ let disambiguate_executable status ex =
       let status, cmd = disambiguate_command status cmd in
       status, (TacticAst.Command (loc, cmd))
   | TacticAst.Macro (_, mac) -> 
-      command_error 
-        (sprintf ("The engine is not allowed to disambiguate any macro, "^^
-                 "in particular %s") (TacticAstPp.pp_macro_ast mac))
+      command_error (sprintf "The macro %s can't be in a script" 
+        (TacticAstPp.pp_macro_ast mac))
 
 let disambiguate_comment status c = 
   match c with