X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2FprimitiveTactics.mli;h=f2178fb388030fcf443ef69a8a008054e8704730;hb=4693f3b9de6d867921b51f61e9a7dc36c3da1b77;hp=492fbf601c8d53c2edb4061a13e733e72798fd80;hpb=cc23f034c9419186602d9250456241f2eba90d7c;p=helm.git diff --git a/helm/software/components/tactics/primitiveTactics.mli b/helm/software/components/tactics/primitiveTactics.mli index 492fbf601..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,12 +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 *) 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