X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgrafite_engine%2FgrafiteEngine.ml;h=b177435d4143943e62352bc357d6fc5e918d2e53;hb=bf71f28526258043857cc389adda5ce58fd236be;hp=ab43c6cc18e67c0684562e4ed2a6dffeacb589bf;hpb=50fd7ca0b4e54ee341517ea653b3862b9655d4c5;p=helm.git diff --git a/helm/software/components/grafite_engine/grafiteEngine.ml b/helm/software/components/grafite_engine/grafiteEngine.ml index ab43c6cc1..b177435d4 100644 --- a/helm/software/components/grafite_engine/grafiteEngine.ml +++ b/helm/software/components/grafite_engine/grafiteEngine.ml @@ -156,13 +156,23 @@ let tactic_of_ast ast = | GrafiteAst.Transitivity (_, term) -> Tactics.transitivity term (* Implementazioni Aggiunte *) | GrafiteAst.Assume (_, id, t) -> Declarative.assume id t - | GrafiteAst.Suppose (_, t, id) -> Declarative.suppose t id - | GrafiteAst.By_term_we_proved (_, t, ty, id) -> - Declarative.by_term_we_proved t ty id - | GrafiteAst.We_need_to_prove (_, t, id) -> Declarative.we_need_to_prove t id - | GrafiteAst.Bydone (_, t) -> Declarative.bydone t + | GrafiteAst.Suppose (_, t, id, t1) -> Declarative.suppose t id t1 + | GrafiteAst.By_term_we_proved (_, t, ty, id, t1) -> + Declarative.by_term_we_proved t ty id t1 + | GrafiteAst.We_need_to_prove (_, t, id, t2) -> + Declarative.we_need_to_prove t id t2 + | GrafiteAst.Bydone (_, t) -> Declarative.bydone t + | GrafiteAst.We_proceed_by_induction_on (_, t, t1) -> + Declarative.we_proceed_by_induction_on t t1 + | GrafiteAst.Byinduction (_, t, id) -> Declarative.byinduction id t + | GrafiteAst.Thesisbecomes (_, t) -> Declarative.thesisbecomes t + | GrafiteAst.ExistsElim (_, t, id1, t1, id2, t2) -> + Declarative.existselim t id1 t1 id2 t2 + | GrafiteAst.Case (_,id,params) -> Declarative.case id params + | GrafiteAst.AndElim(_,t,id1,t1,id2,t2) -> Declarative.andelim t id1 t1 id2 t2 + | GrafiteAst.RewritingStep (_,termine,t1,t2,cont) -> + Declarative.rewritingstep termine t1 t2 cont -(* maybe we only need special cases for apply and goal *) let classify_tactic tactic = match tactic with (* tactics that can't close the goal (return a goal we want to "select") *) @@ -582,6 +592,11 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status let status,cmd = disambiguate_command status (text,prefix_len,cmd) in let status,uris = match cmd with + | GrafiteAst.Print (_,"proofterm") -> + let _,_,p,_ = GrafiteTypes.get_current_proof status in + print_endline (AutoTactic.pp_proofterm p); + status,[] + | GrafiteAst.Print (_,_) -> status,[] | GrafiteAst.Default (loc, what, uris) as cmd -> LibraryObjects.set_default what uris; GrafiteTypes.add_moo_content [cmd] status,[] @@ -620,9 +635,12 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status LibraryClean.clean_baseuris [value]; assert (Http_getter_storage.is_empty value); end; - HExtlib.mkdir - (Filename.dirname (Http_getter.filename ~writable:true (value ^ - "/foo.con"))); + if not (Helm_registry.get_opt_default Helm_registry.bool "matita.nodisk" + ~default:false) + then + HExtlib.mkdir + (Filename.dirname (Http_getter.filename ~writable:true (value ^ + "/foo.con"))); end; GrafiteTypes.set_option status name value,[] | GrafiteAst.Drop loc -> raise Drop