X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fsoftware%2Fcomponents%2Fgrafite_engine%2FgrafiteEngine.ml;h=43906f8cd43266ca422955c375a084d38f52e9c2;hb=3b8d99d5fdb79a5d979a8e200a4a4307fe362009;hp=3746403d951ea382e8360c2fcd2f933dc0f1cc07;hpb=fd93fa0155994b70482e0f07d8e45c238cce835d;p=helm.git diff --git a/helm/software/components/grafite_engine/grafiteEngine.ml b/helm/software/components/grafite_engine/grafiteEngine.ml index 3746403d9..43906f8cd 100644 --- a/helm/software/components/grafite_engine/grafiteEngine.ml +++ b/helm/software/components/grafite_engine/grafiteEngine.ml @@ -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 @@ -89,9 +90,9 @@ let rec tactic_of_ast status ast = | GrafiteAst.AutoBatch (_,params) -> Tactics.auto ~params ~dbd:(LibraryDb.instance ()) ~universe:status.GrafiteTypes.universe - | GrafiteAst.Cases (_, what, (howmany, names)) -> + | GrafiteAst.Cases (_, what, pattern, (howmany, names)) -> Tactics.cases_intros ?howmany ~mk_fresh_name_callback:(namer_of names) - what + ~pattern what | GrafiteAst.Change (_, pattern, with_what) -> Tactics.change ~pattern with_what | GrafiteAst.Clear (_,id) -> Tactics.clear id @@ -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)