X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2FprimitiveTactics.mli;h=95ba654f50815965c1925d7a5dce63a05c043861;hb=f3ad825f16c02c0c5fca620980882e409871e6f1;hp=c47c9e19a9347b662f3b22c04bdb5e4097ac78fd;hpb=d2ad19f46b30ed0f873635289d89bfe46e04ffb6;p=helm.git diff --git a/helm/software/components/tactics/primitiveTactics.mli b/helm/software/components/tactics/primitiveTactics.mli index c47c9e19a..95ba654f5 100644 --- a/helm/software/components/tactics/primitiveTactics.mli +++ b/helm/software/components/tactics/primitiveTactics.mli @@ -42,10 +42,19 @@ val classify_metas : (Cic.term * Cic.context * Cic.term) list * (Cic.term * Cic.context * Cic.term) 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 + (* ALB, needed by the new paramodulation... *) -val apply_tac_verbose_with_subst: - term:Cic.term -> ProofEngineTypes.proof * int -> - Cic.substitution * (ProofEngineTypes.proof * int list) +val apply_with_subst: + term:Cic.term -> ?subst:Cic.substitution -> ?maxmeta:int -> ProofEngineTypes.proof * int -> + Cic.substitution * (ProofEngineTypes.proof * int list) * int (* not a real tactic *) val apply_tac_verbose : @@ -72,7 +81,24 @@ 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 -> + Cic.term -> ProofEngineTypes.tactic + +(* FG *) + +val mk_predicate_for_elim: + context:Cic.context -> metasenv:Cic.metasenv -> + 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