1 (* Copyright (C) 2004, HELM Team.
3 * This file is part of HELM, an Hypertextual, Electronic
4 * Library of Mathematics, developed at the Computer Science
5 * Department, University of Bologna, Italy.
7 * HELM is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * HELM is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with HELM; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
22 * For details, see the HELM World-Wide-Web page,
23 * http://helm.cs.unibo.it/
28 The strings contains an unreadable message
30 exception UniverseInconsistency of string
38 Opaque data structure you will use to store constraints
43 returns a fresh universe
46 ?uri:UriManager.uri ->
51 really useful at the begin and in all the functions that don't care
54 val empty_ugraph: universe_graph
57 These are the real functions to add eq/ge/gt constraints
58 to the passed graph, returning an updated graph or raising
62 ?fast:bool -> universe -> universe -> universe_graph -> universe_graph
64 ?fast:bool -> universe -> universe -> universe_graph -> universe_graph
66 ?fast:bool -> universe -> universe -> universe_graph -> universe_graph
69 debug function to print the graph to standard error
72 universe_graph -> unit
75 does what expected, but I don't remember why this was exported
77 val string_of_universe:
81 given the list of visible universes (see universes_of_obj) returns a
82 cleaned graph (cleaned from the not visible nodes)
85 universe_graph -> universe list -> universe_graph
88 Since fresh() can't add the right uri to each node, you
89 must fill empty nodes with the uri before you serialize the graph to xml
91 val fill_empty_nodes_with_uri:
92 universe_graph -> UriManager.uri -> universe_graph
97 - remember already merged uri so that we completely skip already merged
98 graphs, this may include a dependecy graph (not merge a subpart of an
102 universe_graph -> universe_graph -> universe_graph
105 ugraph to xml file and viceversa
107 val write_xml_of_ugraph:
108 string -> universe_graph -> unit
111 given a filename parses the xml and returns the data structure
114 string -> universe_graph
115 val restart_numbering:
118 (** re-hash-cons URIs contained in the given universe so that phisicaly
119 * equality could be enforced. Mainly used by
120 * CicEnvironment.restore_from_channel *)
121 val recons_graph: universe_graph -> universe_graph
123 (** re-hash-cons a single universe *)
124 val recons_univ: universe -> universe
126 (** consistency chek that should be done before committin the graph to the
128 val assert_univs_have_uri: universe_graph -> unit
130 (** asserts the univers is named *)
131 val assert_univ: universe -> unit
136 val get_spent_time: unit -> float
137 val reset_spent_time: unit -> unit