X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2FprimitiveTactics.mli;h=f2178fb388030fcf443ef69a8a008054e8704730;hb=bd3680d6b90f6c8bdda4eb4a915a86a0e806de63;hp=890874a89447507173fb3cfb19e27c286b646cb1;hpb=797f61edb93f41eb2c5e281bc9457f6bff633063;p=helm.git diff --git a/helm/software/components/tactics/primitiveTactics.mli b/helm/software/components/tactics/primitiveTactics.mli index 890874a89..f2178fb38 100644 --- a/helm/software/components/tactics/primitiveTactics.mli +++ b/helm/software/components/tactics/primitiveTactics.mli @@ -42,10 +42,14 @@ val classify_metas : (Cic.term * Cic.context * Cic.term) list * (Cic.term * Cic.context * Cic.term) list -(* ALB, needed by the new paramodulation... *) -val apply_with_subst: - term:Cic.term -> ?subst:Cic.substitution -> ?maxmeta:int -> ProofEngineTypes.proof * int -> - Cic.substitution * (ProofEngineTypes.proof * int list) * int +(* Not primitive, but useful for elim *) + +exception AllSelectedTermsMustBeConvertible;; + +val generalize_tac: + ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> + ProofEngineTypes.lazy_pattern -> + ProofEngineTypes.tactic (* not a real tactic *) val apply_tac_verbose : @@ -53,8 +57,11 @@ val apply_tac_verbose : ProofEngineTypes.proof * int -> (Cic.term -> Cic.term) * (ProofEngineTypes.proof * int list) +(* the proof status has a subst now, and apply_tac honors it *) val apply_tac: term: Cic.term -> ProofEngineTypes.tactic +val applyP_tac: (* apply for procedural reconstruction *) + term: Cic.term -> ProofEngineTypes.tactic val exact_tac: term: Cic.term -> ProofEngineTypes.tactic val intros_tac: @@ -84,16 +91,13 @@ val elim_intros_tac: val cases_intros_tac: ?howmany:int -> ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - Cic.term -> ProofEngineTypes.tactic + ?pattern:ProofEngineTypes.lazy_pattern -> Cic.term -> + ProofEngineTypes.tactic (* FG *) -(* inserts a hole in the context *) -val letout_tac: - ProofEngineTypes.tactic - val mk_predicate_for_elim: - context:Cic.context -> metasenv:Cic.metasenv -> + context:Cic.context -> metasenv:Cic.metasenv -> subst:Cic.substitution -> ugraph:CicUniv.universe_graph -> goal:Cic.term -> arg:Cic.term -> using:Cic.term -> cpattern:Cic.term -> args_no:int -> - Cic.metasenv * Cic.term * Cic.term * Cic.term list + Cic.metasenv * Cic.substitution * Cic.term * Cic.term * Cic.term list