X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2FprimitiveTactics.mli;h=f2178fb388030fcf443ef69a8a008054e8704730;hb=f9abd21eb0d26cf9b632af4df819225be4d091e3;hp=ce5194ad133e4c1435ed6932189c86628f60916d;hpb=72858765956176eebbd67669db6e2cee8cdb0de0;p=helm.git diff --git a/helm/software/components/tactics/primitiveTactics.mli b/helm/software/components/tactics/primitiveTactics.mli index ce5194ad1..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_tac_verbose_with_subst: - term:Cic.term -> ProofEngineTypes.proof * int -> - Cic.substitution * (ProofEngineTypes.proof * int list) +(* 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: @@ -72,13 +79,25 @@ val letin_tac: val elim_intros_simpl_tac: ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic + ?depth:int -> ?using:Cic.term -> + ?pattern:ProofEngineTypes.lazy_pattern -> Cic.term -> + ProofEngineTypes.tactic val elim_intros_tac: ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> - ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic + ?depth:int -> ?using:Cic.term -> + ?pattern:ProofEngineTypes.lazy_pattern -> Cic.term -> + ProofEngineTypes.tactic + +val cases_intros_tac: + ?howmany:int -> + ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type -> + ?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 -> 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.substitution * Cic.term * Cic.term * Cic.term list