X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_tactics%2FnTactics.mli;h=25baae97a61815fcc4e7a58754dd82d3c329881a;hb=2dd6e8f11fa3ac2995f326ecb742d9b4e8948fce;hp=831704924ab46539d1d891c0144ac7afed8a9927;hpb=b225178112c2c5ef1a717ac7e647d854d94b2e52;p=helm.git diff --git a/helm/software/components/ng_tactics/nTactics.mli b/helm/software/components/ng_tactics/nTactics.mli index 831704924..25baae97a 100644 --- a/helm/software/components/ng_tactics/nTactics.mli +++ b/helm/software/components/ng_tactics/nTactics.mli @@ -11,36 +11,80 @@ (* $Id: nCic.ml 9058 2008-10-13 17:42:30Z tassi $ *) +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 +val unfocus_tac: 's NTacStatus.tactic +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 -type lowtac_status = { - pstatus : NCic.obj; - lstatus : LexiconEngine.status -} +val distribute_tac: + NTacStatus.lowtac_status NTacStatus.lowtactic -> 's NTacStatus.tactic +val block_tac: 's NTacStatus.tactic list -> 's NTacStatus.tactic -type lowtactic = lowtac_status * int -> lowtac_status * int list * int list +val apply_tac: NTacStatus.tactic_term -> 's NTacStatus.tactic +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 +val intro_tac: string -> 's NTacStatus.tactic +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 +val letin_tac: + where:NTacStatus.tactic_pattern -> + what: NTacStatus.tactic_term -> + string -> 's NTacStatus.tactic +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 -type tac_status = { - gstatus : Continuationals.Stack.t; - istatus : lowtac_status; -} +val constructor_tac : + ?num:int -> args:NTacStatus.tactic_term list -> 's NTacStatus.tactic -type tactic = tac_status -> tac_status +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 tactic_term = CicNotationPt.term Disambiguate.disambiguator_input +type indtyinfo -val dot_tac: tactic -val branch_tac: tactic -val shift_tac: tactic -val pos_tac: int list -> tactic -val wildcard_tac: tactic -val merge_tac: tactic -val focus_tac: int list -> tactic -val unfocus_tac: tactic -val skip_tac: tactic +val ref_of_indtyinfo : indtyinfo -> NReference.reference -val fold_tactic: lowtactic -> tactic +val analyze_indty_tac : + what:NTacStatus.tactic_term -> + indtyinfo option ref -> (#NTacStatus.tac_status as 'a) -> 'a -val apply_tac: tactic_term -> tactic - -val pp_tac_status: tac_status -> unit +val find_in_context : 'a -> ('a * 'b) list -> int