X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=inline;f=components%2Fgrafite_engine%2FgrafiteEngine.ml;h=ac63812461ab3002c9eb4ee5e2a4c42f9ce7ef6c;hb=9e18c7f8aa6c5b905598521c769c1a2f58c13262;hp=6dff5468dc631abf05b87431898fe464e4c844dd;hpb=d0e212dcd4bdbeaee9979e53bedd3258cd8e8d0f;p=helm.git diff --git a/components/grafite_engine/grafiteEngine.ml b/components/grafite_engine/grafiteEngine.ml index 6dff5468d..ac6381246 100644 --- a/components/grafite_engine/grafiteEngine.ml +++ b/components/grafite_engine/grafiteEngine.ml @@ -152,17 +152,28 @@ let tactic_of_ast ast = | GrafiteAst.Right _ -> Tactics.right | GrafiteAst.Ring _ -> Tactics.ring | GrafiteAst.Split _ -> Tactics.split + | GrafiteAst.Subst (_, hyp) -> Tactics.subst ~hyp | GrafiteAst.Symmetry _ -> Tactics.symmetry | 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 ~dbd:(LibraryDb.instance()) 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 ~dbd:(LibraryDb.instance()) t + | GrafiteAst.We_proceed_by_induction_on (_, t, t1) -> + Declarative.we_proceed_by_induction_on t t1 + | GrafiteAst.Byinduction (_, t, id) -> Declarative.byinduction t id + | 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 ~dbd:(LibraryDb.instance ()) 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") *)