X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2Fdeclarative.ml;h=79e627409ed5794f451f23b40c13316bde7e3379;hb=b4f6b1a39b59e923527f5c17d8fdd0fa1e13e1bf;hp=be4724b55509124678137083d36c040e519d8dab;hpb=ec0b4acecb86886baf5f785da270fd60e7910b32;p=helm.git diff --git a/helm/software/components/tactics/declarative.ml b/helm/software/components/tactics/declarative.ml index be4724b55..79e627409 100644 --- a/helm/software/components/tactics/declarative.ml +++ b/helm/software/components/tactics/declarative.ml @@ -25,11 +25,11 @@ type just = [ `Term of Cic.term | `Auto of Auto.auto_params ] -let mk_just ~dbd ~universe = +let mk_just ~dbd ~automation_cache = function `Auto (l,params) -> Tactics.auto ~dbd - ~params:(l,("skip_trie_filtering","1")::("skip_context","1")::params) ~universe + ~params:(l,("skip_trie_filtering","1")::("skip_context","1")::params) ~automation_cache | `Term t -> Tactics.apply t ;; @@ -55,8 +55,8 @@ let suppose t id ty = (fun _ metasenv ugraph -> ty,metasenv,ugraph)) ;; -let by_just_we_proved ~dbd ~universe just ty id ty' = - let just = mk_just ~dbd ~universe just in +let by_just_we_proved ~dbd ~automation_cache just ty id ty' = + let just = mk_just ~dbd ~automation_cache just in match id with None -> (match ty' with @@ -89,8 +89,8 @@ let by_just_we_proved ~dbd ~universe just ty id ty' = ~continuations:[ Tacticals.id_tac ; continuation ] ;; -let bydone ~dbd ~universe just = - mk_just ~dbd ~universe just +let bydone ~dbd ~automation_cache just = + mk_just ~dbd ~automation_cache just ;; let we_need_to_prove t id ty = @@ -128,7 +128,7 @@ let we_need_to_prove t id ty = ProofEngineTypes.mk_tactic aux ;; -let existselim ~dbd ~universe just id1 t1 id2 t2 = +let existselim ~dbd ~automation_cache just id1 t1 id2 t2 = let aux (proof, goal) = let (n,metasenv,_subst,bo,ty,attrs) = proof in let metano,context,_ = CicUtil.lookup_meta goal metasenv in @@ -144,13 +144,13 @@ let existselim ~dbd ~universe just id1 t1 id2 t2 = fun _ _ _ ~typ -> incr i; if !i = 1 then Cic.Name id1 else Cic.Name id2) ; - (mk_just ~dbd ~universe just) + (mk_just ~dbd ~automation_cache just) ]) (proof', goal) in ProofEngineTypes.mk_tactic aux ;; -let andelim ~dbd ~universe just id1 t1 id2 t2 = +let andelim ~dbd ~automation_cache just id1 t1 id2 t2 = Tacticals.thens ~start:(Tactics.cut (Cic.Appl [Cic.MutInd (UriManager.uri_of_string "cic:/matita/logic/connectives/And.ind", 0, []); t1 ; t2])) ~continuations: @@ -160,10 +160,10 @@ let andelim ~dbd ~universe just id1 t1 id2 t2 = fun _ _ _ ~typ -> incr i; if !i = 1 then Cic.Name id1 else Cic.Name id2) ; - (mk_just ~dbd ~universe just) ] + (mk_just ~dbd ~automation_cache just) ] ;; -let rewritingstep ~dbd ~universe lhs rhs just last_step = +let rewritingstep ~dbd ~automation_cache lhs rhs just last_step = let aux ((proof,goal) as status) = let (curi,metasenv,_subst,proofbo,proofty, attrs) = proof in let _,context,gty = CicUtil.lookup_meta goal metasenv in @@ -189,14 +189,14 @@ let rewritingstep ~dbd ~universe lhs rhs just last_step = else params in if params = params' then - Tactics.auto ~dbd ~params:(univ, params) ~universe + Tactics.auto ~dbd ~params:(univ, params) ~automation_cache else Tacticals.first - [Tactics.auto ~dbd ~params:(univ, params) ~universe ; - Tactics.auto ~dbd ~params:(univ, params') ~universe] + [Tactics.auto ~dbd ~params:(univ, params) ~automation_cache ; + Tactics.auto ~dbd ~params:(univ, params') ~automation_cache] | `Term just -> Tactics.apply just | `SolveWith term -> - Tactics.solve_rewrite ~universe ~params:([term],["steps","1"]) () + Tactics.solve_rewrite ~automation_cache ~params:([term],["steps","1"]) () | `Proof -> Tacticals.id_tac in