X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_tactics%2FnTactics.mli;h=efb4e843c99a2e91da86a04144f657c666370c55;hb=0232b651c37511743ce9e99d517a41adac3a7064;hp=4e21cbb459da35d9f6de97d84b2daa11f2ca5342;hpb=da2c7f7bb1d9f27d998e54e09218be2245a00805;p=helm.git diff --git a/helm/software/components/ng_tactics/nTactics.mli b/helm/software/components/ng_tactics/nTactics.mli index 4e21cbb45..efb4e843c 100644 --- a/helm/software/components/ng_tactics/nTactics.mli +++ b/helm/software/components/ng_tactics/nTactics.mli @@ -15,6 +15,7 @@ val dot_tac: 's NTacStatus.tactic val branch_tac: 's NTacStatus.tactic val shift_tac: 's NTacStatus.tactic val pos_tac: int list -> 's NTacStatus.tactic +val case_tac: string -> 's NTacStatus.tactic val wildcard_tac: 's NTacStatus.tactic val merge_tac: 's NTacStatus.tactic val focus_tac: int list -> 's NTacStatus.tactic @@ -23,8 +24,14 @@ val skip_tac: 's NTacStatus.tactic val try_tac: 's NTacStatus.tactic -> 's NTacStatus.tactic val repeat_tac: NTacStatus.tac_status NTacStatus.tactic -> 's NTacStatus.tactic +val compare_statuses : past:#NTacStatus.lowtac_status -> present:#NTacStatus.lowtac_status -> int list * int list + val distribute_tac: NTacStatus.lowtac_status NTacStatus.lowtactic -> 's NTacStatus.tactic +val exec : ((int * Continuationals.Stack.switch) list * 'a list * 'b list * + [> `NoTag ]) + list NTacStatus.status NTacStatus.tactic -> + (#NTacStatus.lowtac_status as 's) -> Continuationals.goal -> 's val block_tac: 's NTacStatus.tactic list -> 's NTacStatus.tactic val apply_tac: NTacStatus.tactic_term -> 's NTacStatus.tactic @@ -32,6 +39,7 @@ val assumption_tac: 's NTacStatus.tactic val change_tac: where:NTacStatus.tactic_pattern -> with_what:NTacStatus.tactic_term -> 's NTacStatus.tactic +val cut_tac: NTacStatus.tactic_term -> 's NTacStatus.tactic val elim_tac: what:NTacStatus.tactic_term -> where:NTacStatus.tactic_pattern -> 's NTacStatus.tactic @@ -40,11 +48,13 @@ val cases_tac: what:NTacStatus.tactic_term -> where:NTacStatus.tactic_pattern -> 's NTacStatus.tactic val case1_tac: string -> 's NTacStatus.tactic +val lapply_tac: NTacStatus.tactic_term -> 's NTacStatus.tactic val rewrite_tac: dir:[ `LeftToRight | `RightToLeft ] -> what:NTacStatus.tactic_term -> where:NTacStatus.tactic_pattern -> 's NTacStatus.tactic val generalize_tac : where:NTacStatus.tactic_pattern -> 's NTacStatus.tactic +val clear_tac : string list -> 's NTacStatus.tactic val reduce_tac: reduction:[ `Normalize of bool | `Whd of bool ] -> where:NTacStatus.tactic_pattern -> 's NTacStatus.tactic @@ -56,9 +66,32 @@ val assert_tac: ((string * [`Decl of NTacStatus.tactic_term | `Def of NTacStatus.tactic_term * NTacStatus.tactic_term]) list * NTacStatus.tactic_term) list -> 's NTacStatus.tactic -val auto_tac: - params:(NTacStatus.tactic_term list * (string * string) list) -> - 's NTacStatus.tactic - val constructor_tac : ?num:int -> args:NTacStatus.tactic_term list -> 's NTacStatus.tactic + +val atomic_tac : + (((int * Continuationals.Stack.switch) list * 'a list * 'b list * + [> `NoTag ]) + list NTacStatus.status -> + (< auto_cache : NCicLibrary.automation_cache; + eq_cache : NCicLibrary.unit_eq_cache; + coerc_db : NCicCoercion.db; dump : NCicLibrary.obj list; + lstatus : LexiconEngine.lexicon_status; obj : NCic.obj; + set_coerc_db : NCicCoercion.db -> 'c; + set_coercion_status : 'd. (#NCicCoercion.g_status as 'd) -> 'c; + set_uhint_db : NCicUnifHint.db -> 'c; + set_unifhint_status : 'e. (#NCicUnifHint.g_status as 'e) -> 'c; + timestamp : NCicLibrary.timestamp; uhint_db : NCicUnifHint.db; .. > + as 'c)) -> + (#NTacStatus.tac_status as 'f) -> 'f + +type indtyinfo + +val ref_of_indtyinfo : indtyinfo -> NReference.reference + +val analyze_indty_tac : + what:NTacStatus.tactic_term -> + indtyinfo option ref -> (#NTacStatus.tac_status as 'a) -> 'a + + +val find_in_context : 'a -> ('a * 'b) list -> int