]> matita.cs.unibo.it Git - helm.git/blob - helm/software/components/ng_tactics/nTactics.mli
1) mk_meta now returns also the index of the created meta
[helm.git] / helm / software / components / ng_tactics / nTactics.mli
1 (*
2     ||M||  This file is part of HELM, an Hypertextual, Electronic        
3     ||A||  Library of Mathematics, developed at the Computer Science     
4     ||T||  Department, University of Bologna, Italy.                     
5     ||I||                                                                
6     ||T||  HELM is free software; you can redistribute it and/or         
7     ||A||  modify it under the terms of the GNU General Public License   
8     \   /  version 2 or (at your option) any later version.      
9      \ /   This software is distributed as is, NO WARRANTY.     
10       V_______________________________________________________________ *)
11
12 (* $Id: nCic.ml 9058 2008-10-13 17:42:30Z tassi $ *)
13
14 exception Error of string lazy_t
15
16 type lowtac_status = {
17         pstatus : NCic.obj;
18         lstatus : LexiconEngine.status
19 }
20
21 type lowtactic = lowtac_status -> int -> lowtac_status
22
23 type tac_status = {
24         gstatus : Continuationals.Stack.t; 
25         istatus : lowtac_status;
26
27
28 type tactic = tac_status -> tac_status
29
30 type tactic_term = CicNotationPt.term Disambiguate.disambiguator_input
31 type tactic_pattern = GrafiteAst.npattern Disambiguate.disambiguator_input
32
33 val dot_tac: tactic
34 val branch_tac: tactic
35 val shift_tac: tactic
36 val pos_tac: int list -> tactic
37 val wildcard_tac: tactic
38 val merge_tac: tactic
39 val focus_tac: int list -> tactic
40 val unfocus_tac: tactic
41 val skip_tac: tactic
42
43 val distribute_tac: lowtactic -> tactic
44 val block_tac: tactic list -> tactic
45
46 val apply_tac: tactic_term -> tactic
47 val change_tac: where:tactic_pattern -> with_what:tactic_term -> tactic
48
49
50 val pp_tac_status: tac_status -> unit