X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Focaml%2Fgrafite_engine%2FgrafiteEngine.ml;h=65dd17b6a096c1e144daf7068e80cf49cba2ce2d;hb=b555e6b8c27c765a4611dda9528963ebff116412;hp=c0a453c932e0eae3dee583458e3d07f76bc6d9d8;hpb=4c2a5e7da43e15d9a5f35d65f6bd6eda9a117d93;p=helm.git diff --git a/helm/ocaml/grafite_engine/grafiteEngine.ml b/helm/ocaml/grafite_engine/grafiteEngine.ml index c0a453c93..65dd17b6a 100644 --- a/helm/ocaml/grafite_engine/grafiteEngine.ml +++ b/helm/ocaml/grafite_engine/grafiteEngine.ml @@ -95,6 +95,8 @@ let tactic_of_ast ast = | GrafiteAst.Fold (_, reduction_kind, term, pattern) -> let reduction = match reduction_kind with + | `Demodulate -> + GrafiteTypes.command_error "demodulation can't be folded" | `Normalize -> PET.const_lazy_reduction (CicReduction.normalize ~delta:false ~subst:[]) @@ -136,11 +138,12 @@ let tactic_of_ast ast = Tactics.letin term ~mk_fresh_name_callback:(namer_of [name]) | GrafiteAst.Reduce (_, reduction_kind, pattern) -> (match reduction_kind with - | `Normalize -> Tactics.normalize ~pattern - | `Reduce -> Tactics.reduce ~pattern - | `Simpl -> Tactics.simpl ~pattern - | `Unfold what -> Tactics.unfold ~pattern what - | `Whd -> Tactics.whd ~pattern) + | `Demodulate -> Tactics.demodulate ~dbd:(LibraryDb.instance ()) ~pattern + | `Normalize -> Tactics.normalize ~pattern + | `Reduce -> Tactics.reduce ~pattern + | `Simpl -> Tactics.simpl ~pattern + | `Unfold what -> Tactics.unfold ~pattern what + | `Whd -> Tactics.whd ~pattern) | GrafiteAst.Reflexivity _ -> Tactics.reflexivity | GrafiteAst.Replace (_, pattern, with_what) -> Tactics.replace ~pattern ~with_what @@ -394,6 +397,7 @@ let coercion_moo_statement_of uri = let eval_coercion status ~add_composites uri = let basedir = Helm_registry.get "matita.basedir" in let status,compounds = + prerr_endline "evaluating a coercion command"; GrafiteSync.add_coercion ~basedir ~add_composites status uri in let moo_content = coercion_moo_statement_of uri in let status = GrafiteTypes.add_moo_content [moo_content] status in @@ -519,18 +523,14 @@ let add_coercions_of_record_to_moo obj lemmas status = None) lemmas) in + prerr_endline "actual coercions:"; List.iter (fun u -> prerr_endline (UriManager.string_of_uri u)) coercions; - let status = GrafiteTypes.add_moo_content moo_content status in - let basedir = Helm_registry.get "matita.basedir" in - List.fold_left - (fun (status,lemmas) uri -> - let status,new_lemmas = - GrafiteSync.add_coercion ~basedir ~add_composites:true status uri - in - status,new_lemmas@lemmas - ) (status,[]) coercions + let status = GrafiteTypes.add_moo_content moo_content status in + {status with + GrafiteTypes.coercions = coercions @ status.GrafiteTypes.coercions}, + lemmas let add_obj uri obj status = let basedir = Helm_registry.get "matita.basedir" in