X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_tactics%2FzipTree.mli;h=751d3720dd61a01b2375cc9c0a8ca339b27f2ffa;hb=6c4c95026020ae9924ac652482a8a0f731719e6c;hp=6a6c4d67f4a51d3dbb1ef937eb664680c319ba10;hpb=204600c93b7e4d0bbd8c414835c6d57917b1f1a0;p=helm.git diff --git a/helm/software/components/ng_tactics/zipTree.mli b/helm/software/components/ng_tactics/zipTree.mli index 6a6c4d67f..751d3720d 100644 --- a/helm/software/components/ng_tactics/zipTree.mli +++ b/helm/software/components/ng_tactics/zipTree.mli @@ -11,34 +11,28 @@ (* $Id: nCic.ml 9058 2008-10-13 17:42:30Z tassi $ *) -val repeat : ('a -> 'a option) -> 'a -> 'a +type ('s,'g) tree = Node of 's * ('g * ('s,'g) tree) list | Nil +type ('a,'s,'g) position -module type Elem = sig type t val pp : t -> string end ;; +val start : ('s,'g) tree -> ('a,'s,'g) position -module type ZipTree = sig - type t - type tree = Node of (t * tree) list - type position +val up : ('a,'s,'g) position -> ('b,'s,'g) position option +val down : ('a,'s,'g) position -> ('b,'s,'g) position option +val downr : ('a,'s,'g) position -> ('b,'s,'g) position option +val left : ('a,'s,'g) position -> ('b,'s,'g) position option +val right : ('a,'s,'g) position -> ('b,'s,'g) position option - val start : tree -> position +val is_top : ('a,'s,'g) position -> bool - val up : position -> position option - val down : position -> position option - val left : position -> position option - val right : position -> position option +val root: ('a,'s,'g) position -> ('s,'g) tree - val root: position -> tree - val previsit: ('a -> t -> 'a) -> 'a -> position -> 'a +val get: ('a,'s,'g) position -> 's * 'g +val set: 's -> 'g -> ('a,'s,'g) position -> ('a,'s,'g) position - val get: position -> t - val set: t -> position -> position +val inject: ('s,'g) tree -> ('a,'s,'g) position -> ('a,'s,'g) position +val eject: ('a,'s,'g) position -> ('s,'g) tree - val inject: tree -> position -> position - val eject: position -> tree +val dump: ('g -> string) -> ('s -> string -> Format.formatter -> unit) -> + ('a,'s,'g) position -> Format.formatter -> unit - val dump: position -> Format.formatter -> unit - -end - -module Make(T : Elem) : ZipTree with type t = T.t