]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite_engine/grafiteEngine.ml
- new tactic applyP for use in the *P*rocedural script reconstruction
[helm.git] / helm / software / components / grafite_engine / grafiteEngine.ml
index 8813e498bed94ae6425757af2e4d88ed1c025794..43906f8cd43266ca422955c375a084d38f52e9c2 100644 (file)
@@ -82,6 +82,7 @@ let rec tactic_of_ast status ast =
   (* First order tactics *)
   | GrafiteAst.Absurd (_, term) -> Tactics.absurd term
   | GrafiteAst.Apply (_, term) -> Tactics.apply term
+  | GrafiteAst.ApplyP (_, term) -> Tactics.applyP term
   | GrafiteAst.ApplyS (_, term, params) ->
      Tactics.applyS ~term ~params ~dbd:(LibraryDb.instance ())
        ~universe:status.GrafiteTypes.universe
@@ -455,7 +456,8 @@ type 'a eval_from_moo =
  { efm_go: GrafiteTypes.status -> string -> GrafiteTypes.status }
       
 let coercion_moo_statement_of (uri,arity, saturations) =
-  GrafiteAst.Coercion (HExtlib.dummy_floc, uri, false, arity, saturations)
+  GrafiteAst.Coercion
+   (HExtlib.dummy_floc, CicUtil.term_of_uri uri, false, arity, saturations)
 
 let refinement_toolkit = {
   RefinementTool.type_of_aux' = 
@@ -481,6 +483,11 @@ let refinement_toolkit = {
  }
   
 let eval_coercion status ~add_composites uri arity saturations =
+ let uri = 
+   try CicUtil.uri_of_term uri 
+   with Invalid_argument _ -> 
+     raise (Invalid_argument "coercion can only be constants/constructors")
+ in
  let status,compounds =
   GrafiteSync.add_coercion ~add_composites refinement_toolkit status uri arity
    saturations (GrafiteTypes.get_baseuri status)