]> matita.cs.unibo.it Git - helm.git/blob - helm/software/components/ng_tactics/zipTree.mli
the edges must be quoted as well (not only the nodes)
[helm.git] / helm / software / components / ng_tactics / zipTree.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 type ('s,'g) tree = Node of 's * ('g * ('s,'g) tree) list | Nil 
15 type ('a,'s,'g) position
16
17 val start : ('s,'g) tree -> ('a,'s,'g) position
18
19 val up    : ('a,'s,'g) position -> ('b,'s,'g) position option
20 val down  : ('a,'s,'g) position -> ('b,'s,'g) position option
21 val downr : ('a,'s,'g) position -> ('b,'s,'g) position option
22 val left  : ('a,'s,'g) position -> ('b,'s,'g) position option
23 val right : ('a,'s,'g) position -> ('b,'s,'g) position option
24
25 val is_top :  ('a,'s,'g) position -> bool
26
27 val root: ('a,'s,'g) position -> ('s,'g) tree
28
29 val get: ('a,'s,'g) position -> 's * 'g
30 val set: 's -> 'g -> ('a,'s,'g) position -> ('a,'s,'g) position
31
32 val inject: ('s,'g) tree -> ('a,'s,'g) position -> ('a,'s,'g) position
33 val eject: ('a,'s,'g) position -> ('s,'g) tree
34
35 val dump: ('g -> string) -> ('s -> string -> Format.formatter -> unit) -> 
36             ('a,'s,'g) position -> Format.formatter -> unit
37
38