X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fgrafite_engine%2FgrafiteEngine.ml;h=1f32e8c9e2db06944bf86b6e4ca8938940093fca;hb=b4f6b1a39b59e923527f5c17d8fdd0fa1e13e1bf;hp=354413f1b9464307172ae2c18b3124887d3a07cd;hpb=ec0b4acecb86886baf5f785da270fd60e7910b32;p=helm.git diff --git a/helm/software/components/grafite_engine/grafiteEngine.ml b/helm/software/components/grafite_engine/grafiteEngine.ml index 354413f1b..1f32e8c9e 100644 --- a/helm/software/components/grafite_engine/grafiteEngine.ml +++ b/helm/software/components/grafite_engine/grafiteEngine.ml @@ -86,11 +86,11 @@ let rec tactic_of_ast status ast = | GrafiteAst.ApplyP (_, term) -> Tactics.applyP term | GrafiteAst.ApplyS (_, term, params) -> Tactics.applyS ~term ~params ~dbd:(LibraryDb.instance ()) - ~universe:status.GrafiteTypes.universe + ~automation_cache:status.GrafiteTypes.automation_cache | GrafiteAst.Assumption _ -> Tactics.assumption | GrafiteAst.AutoBatch (_,params) -> Tactics.auto ~params ~dbd:(LibraryDb.instance ()) - ~universe:status.GrafiteTypes.universe + ~automation_cache:status.GrafiteTypes.automation_cache | GrafiteAst.Cases (_, what, pattern, (howmany, names)) -> Tactics.cases_intros ?howmany ~mk_fresh_name_callback:(namer_of names) ~pattern what @@ -112,7 +112,7 @@ let rec tactic_of_ast status ast = | GrafiteAst.Demodulate (_, params) -> Tactics.demodulate ~dbd:(LibraryDb.instance ()) ~params - ~universe:status.GrafiteTypes.universe + ~automation_cache:status.GrafiteTypes.automation_cache | GrafiteAst.Destruct (_,xterms) -> Tactics.destruct xterms | GrafiteAst.Elim (_, what, using, pattern, (depth, names)) -> Tactics.elim_intros ?using ?depth ~mk_fresh_name_callback:(namer_of names) @@ -183,12 +183,12 @@ let rec tactic_of_ast status ast = | GrafiteAst.Suppose (_, t, id, t1) -> Declarative.suppose t id t1 | GrafiteAst.By_just_we_proved (_, just, ty, id, t1) -> Declarative.by_just_we_proved ~dbd:(LibraryDb.instance()) - ~universe:status.GrafiteTypes.universe just ty id t1 + ~automation_cache:status.GrafiteTypes.automation_cache just 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()) - ~universe:status.GrafiteTypes.universe t + ~automation_cache:status.GrafiteTypes.automation_cache t | GrafiteAst.We_proceed_by_cases_on (_, t, t1) -> Declarative.we_proceed_by_cases_on t t1 | GrafiteAst.We_proceed_by_induction_on (_, t, t1) -> @@ -197,14 +197,14 @@ let rec tactic_of_ast status ast = | GrafiteAst.Thesisbecomes (_, t) -> Declarative.thesisbecomes t | GrafiteAst.ExistsElim (_, just, id1, t1, id2, t2) -> Declarative.existselim ~dbd:(LibraryDb.instance()) - ~universe:status.GrafiteTypes.universe just id1 t1 id2 t2 + ~automation_cache:status.GrafiteTypes.automation_cache just id1 t1 id2 t2 | GrafiteAst.Case (_,id,params) -> Declarative.case id params | GrafiteAst.AndElim(_,just,id1,t1,id2,t2) -> Declarative.andelim ~dbd:(LibraryDb.instance ()) - ~universe:status.GrafiteTypes.universe just id1 t1 id2 t2 + ~automation_cache:status.GrafiteTypes.automation_cache just id1 t1 id2 t2 | GrafiteAst.RewritingStep (_,termine,t1,t2,cont) -> Declarative.rewritingstep ~dbd:(LibraryDb.instance ()) - ~universe:status.GrafiteTypes.universe termine t1 t2 cont + ~automation_cache:status.GrafiteTypes.automation_cache termine t1 t2 cont let classify_tactic tactic = match tactic with @@ -631,9 +631,14 @@ let rec eval_command = {ec_go = fun ~disambiguate_command opts status | GrafiteAst.Index (loc,None,uri) -> assert false (* TODO: for user input *) | GrafiteAst.Index (loc,Some key,uri) -> - let universe = Universe.index - status.GrafiteTypes.universe key (CicUtil.term_of_uri uri) in - let status = {status with GrafiteTypes.universe = universe} in + let universe = + status.GrafiteTypes.automation_cache.AutomationCache.univ + in + let universe = Universe.index universe key (CicUtil.term_of_uri uri) in + let cache = { + status.GrafiteTypes.automation_cache with AutomationCache.univ = universe } + in + let status = { status with GrafiteTypes.automation_cache = cache } in (* debug let msg = let candidates = Universe.get_candidates status.GrafiteTypes.universe key in