X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Ftactics%2FprimitiveTactics.mli;h=24d5cbc88fd20b6ad1ddda1719473a71ab2353e5;hb=298868e07163c21863d542136733d24bfbec2482;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..24d5cbc88 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 : @@ -55,6 +64,8 @@ val apply_tac_verbose : 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,7 +83,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 *) + +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