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
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
((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;
+ 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