--- /dev/null
+(*
+ ||M|| This file is part of HELM, an Hypertextual, Electronic
+ ||A|| Library of Mathematics, developed at the Computer Science
+ ||T|| Department, University of Bologna, Italy.
+ ||I||
+ ||T|| HELM is free software; you can redistribute it and/or
+ ||A|| modify it under the terms of the GNU General Public License
+ \ / version 2 or (at your option) any later version.
+ \ / This software is distributed as is, NO WARRANTY.
+ V_______________________________________________________________ *)
+
+type version = int list
+
+type name = string list
+
+type names = (bool*name) list
+
+type obj = version * name
+
+type objs = (bool*obj) list
+
+type role = {
+ mutable v: version;
+ mutable o: objs;
+ mutable n: names;
+}
+
+type roles = (bool*role) list
+
+type status = {
+ mutable r: roles;
+ mutable s: version;
+ mutable t: objs;
+ mutable w: names;
+}
+
+type pointer = int list
+
+type error = EExt of string
+ | EStage of version
+ | ENoStage
+ | ENews
+ | ENameClash of name
+ | ENoEntry
+
+exception Error of error