Version française
Home     About     Download     Resources     Contact us    
Browse thread
Inter-module dependences
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Damien Bobillot <damien.bobillot@m...>
Subject: Inter-module dependences

--Apple-Mail-3-944324957
Content-Type: multipart/alternative;
	boundary=Apple-Mail-2-944324183


--Apple-Mail-2-944324183
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=US-ASCII;
	delsp=yes;
	format=flowed

Hello,

I'm defining a graph structure compatible with the ocamlgraph library.

I want to be able to access all neighbors and edge to neighbors of a  
vertex in 0(1), so I think I need to store the outgoing edge list of  
each vertex in the vertex structure. I also need to be able to access  
the source and destination of an edge in 0(1), so I store these  
vertex in the edge structure.

A standard Caml will be :

type vertex = {
     label : int;
     out_edges : edge list;
     ...
} and edge = {
     label : int;
     src : vertex;
     dst : vertex;
     ...
}

However, in ocamlgraph, the vertex and edge type must be defined by  
modules of signatures (and I cannot modify it) :

module type VERTEX = sig
     type t
     type label
     val create : label -> t
     val label : t -> label
end
module type EDGE = sig
     type t
     type label
     type vertex
     val create : vertex -> label -> vertex -> t
     val label : t -> label
     val src : t -> vertex
     val dst : t -> vertex
end
module type GRAPH = sig
     module V : VERTEX
     module E : EDGE
     ...
end

Then the graph structure is generally created with a functor like :

module Make_Graph(V : VERTEX)(E : EDGE with type vertex = V.t) = struct
     module V = V
     module E = E
     ...
end

It works fine, but it doesn't respond to my problem : I want that V  
use a type from E and at the same time E use a type of V. So I write  
the following code :

module type MYVERTEX = sig
     include VERTEX
     type edge
     val out_edges : t -> edge list
end

module MyVertex = struct
     type edge
     type t = { label : int; out_edges : edge list }
     let out_edges v = v.out_edges
     ...
end

module MyEdge = struct
     type vertex
     type t = { label : int; src : vertex; dst : vertex }
     ...
end

module Make_MyGraph(V : MYVERTEX with type edge = E.t)(E : EDGE with  
type vertex = V.t) = struct
     module V = V
     module E = E
     ...
end

The compiler found an error on "with type edge = E.t" : "Unbound type  
constructor E.t". I understood it, E has not been defined yet, but I  
want to do that any way : if I suppress "with type edge = E.t", the  
V.edge and E.t types are not the same (and some other functions  
inside Make_MyGraph won't work).

I tried things like :
module Make_MyGraph(VV : MYVERTEX)(EE : EDGE with type vertex = V.t)  
= struct
     module E = EE
     module V = VV with type edge = E.t (*ocamlc doesn't understand  
the with keyword here*)
     ...
end

or
module Make_MyEdge(E : EDGE)(V : MYVERTEX with type edge = E.t) = struct
     include V
end
module Make_MyGraph(VV : MYVERTEX)(EE : EDGE with type vertex = VV.t)  
= struct
     module E = EE
     module V = Make_MyEdge(E)(VV) (*ocamlc doesn't accepte VV,
Modules do not match:
   sig type t = VV.t type label = VV.label type edge = VV.edge end
is not included in
   sig type t type label type edge = E.t end
*)
     ...
end

-- 
Damien Bobillot

Test.ml file :
===================
module type VERTEX = sig
     type t
     type label
end
module type EDGE = sig
     type t
     type label
     type vertex
end
module type MYVERTEX = sig
     include VERTEX
     type edge
end

module MyVertex = struct
     type edge
     type t = { label : int; out_edges : edge list }
end
module MyEdge = struct
     type vertex
     type t = { label : int; src : vertex; dst : vertex }
end
module Make_MyGraph(V : MYVERTEX with type edge = E.t)(E : EDGE with  
type vertex = V.t) = struct
     module V = V
     module E = E
end

(*module Make_MyGraph(VV : MYVERTEX)(EE : EDGE with type vertex =  
V.t) = struct
     module E = EE
     module V = VV with type edge = E.t
end*)

(*module Make_MyEdge(E : EDGE)(V : MYVERTEX with type edge = E.t) =  
struct
     include V
end
module Make_MyGraph(VV : MYVERTEX)(EE : EDGE with type vertex = VV.t)  
= struct
     module E = EE
     module V = Make_MyEdge(E)(VV)
end*)
===========


--Apple-Mail-2-944324183
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=ISO-8859-1

<HTML><BODY style=3D"word-wrap: break-word; -khtml-nbsp-mode: space; =
-khtml-line-break: after-white-space; ">Hello,<DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I'm defining a graph =
structure compatible with the ocamlgraph library.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>I want to be able to access =
all=A0neighbors and edge to=A0neighbors of a vertex in 0(1), so I think =
I need to store the outgoing edge list of each vertex in the vertex =
structure. I also need to be able to access the source and destination =
of an edge in 0(1), so I store these vertex in the edge =
structure.</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>A=A0standard Caml will be =
:</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex =3D {</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">label : int;</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">out_edges : edge list;</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">} =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">and</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D =
{</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">label : int;</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">src : vertex;</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">dst : vertex;</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">}</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;"><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>However, in ocamlgraph, the =
vertex and edge type must be defined by modules of signatures (and I =
cannot modify it) :</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> VERTEX =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">=A0</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> create : label =
-&gt; t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> label : t -&gt; =
label</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> EDGE =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> create : vertex =
-&gt; label -&gt; vertex -&gt; t</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">val</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label : t -&gt; label</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> src : t -&gt; =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> dst : t -&gt; =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> GRAPH =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V : VERTEX</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E : EDGE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;"><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>Then the graph structure =
is=A0generally created with a functor like :</DIV><DIV><BR =
class=3D"khtml-block-placeholder"></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> Make_Graph(V : =
VERTEX)(E : EDGE </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">with</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D V.t) =3D=
 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D E</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;"><BR =
class=3D"khtml-block-placeholder"></DIV><DIV>It works fine, but it =
doesn't respond to my problem : I want that V use a type from E and at =
the same time E use a type of V.=A0So I write the following code =
:</DIV><DIV><BR class=3D"khtml-block-placeholder"></DIV><DIV><DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> </SPAN></FONT><FONT class=3D"Apple-style-span"=
 color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
MYVERTEX =3D </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">sig</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">include</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
VERTEX</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
edge</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">val</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> out_edges : t =
-&gt; edge list</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; font: normal normal normal 10px/normal Monaco; =
min-height: 14px; "><BR></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> MyVertex =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
edge</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> t =3D { label : =
int; out_edges : edge list }</SPAN></FONT></DIV><DIV style=3D"text-indent:=
 -48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">let</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> out_edges v =3D =
v.out_edges</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; font: normal normal normal =
10px/normal Monaco; min-height: 14px; "><BR></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> MyEdge =3D </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">struct</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> t =3D { label : =
int; src : vertex; dst : vertex }</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; font: normal normal normal =
10px/normal Monaco; min-height: 14px; "><BR></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> Make_MyGraph(V : MYVERTEX =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D E.t)(E : =
EDGE </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D V.t) =3D=
 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D E</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><P style=3D"text-indent:=
 -24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; min-height: 14px; "><BR></P><P style=3D"margin: 0.0px =
0.0px 0.0px 0.0px; min-height: 14.0px">The compiler found an error on =
"with type edge =3D E.t" : "Unbound type constructor E.t". I understood =
it, E has not been defined yet, but I want to do that any way : if I =
suppress "with type edge =3D E.t", the V.edge and E.t types are not the =
same (and some other functions inside=A0Make_MyGraph won't work).</P><P =
style=3D"margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px"><BR =
class=3D"khtml-block-placeholder"></P><P style=3D"margin: 0.0px 0.0px =
0.0px 0.0px; min-height: 14.0px">I tried things like :</P><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> Make_MyGraph(VV : MYVERTEX)(EE : EDGE =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D V.t) =3D=
 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D EE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D VV </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">with</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D E.t =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">(*ocamlc doesn't understand the with keyword =
here*)</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><P style=3D"text-indent:=
 -24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; min-height: 14px; "><BR =
class=3D"khtml-block-placeholder"></P><P style=3D"margin: 0.0px 0.0px =
0.0px 0.0px; min-height: 14.0px">or=A0</P><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> Make_MyEdge(E : =
EDGE)(V : MYVERTEX </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">with</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D E.t) =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">include</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> Make_MyGraph(VV : =
MYVERTEX)(EE : EDGE </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">with</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D VV.t) =
=3D </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D EE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D Make_MyEdge(E)(VV) </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#236E25" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">(*ocamlc doesn't accepte VV,</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">Modules do not =
match:</SPAN></FONT></DIV><DIV style=3D"text-indent: -36px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 36px; "><FONT =
class=3D"Apple-style-span" color=3D"#236E25" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig type t =3D VV.t type label =3D VV.label =
type edge =3D VV.edge end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">is not included in</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -36px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 36px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig type t type label type edge =3D E.t =
end</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#236E25" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">*)</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">...</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><P style=3D"text-indent:=
 -24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 0px; min-height: 14px; "><BR =
class=3D"khtml-block-placeholder"></P> <P style=3D"margin: 0.0px 0.0px =
0.0px 0.0px"><FONT face=3D"Helvetica" size=3D"3" style=3D"font: 12.0px =
Helvetica">--<SPAN class=3D"Apple-converted-space">=A0</SPAN></FONT></P> =
<P style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><FONT face=3D"Helvetica" =
size=3D"3" style=3D"font: 12.0px Helvetica">Damien Bobillot</FONT></P><P =
style=3D"margin: 0.0px 0.0px 0.0px 0.0px"><BR =
class=3D"khtml-block-placeholder"></P><P style=3D"margin: 0.0px 0.0px =
0.0px 0.0px">Test.ml file :</P><P style=3D"margin: 0.0px 0.0px 0.0px =
0.0px">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</P><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> </SPAN></FONT><FONT class=3D"Apple-style-span"=
 color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
VERTEX =3D </SPAN></FONT><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">sig</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> EDGE =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
t</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
label</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> MYVERTEX =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">sig</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">include</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> VERTEX</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
edge</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; font: normal normal normal 10px/normal Monaco; =
min-height: 14px; "><BR></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> MyVertex =3D =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">type</SPAN></FONT><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
edge</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> t =3D { label : =
int; out_edges : edge list }</SPAN></FONT></DIV><DIV style=3D"text-indent:=
 -24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> MyEdge =3D </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">struct</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-48px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 48px; "><FONT class=3D"Apple-style-span" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0=
 =A0 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
vertex</SPAN></FONT></DIV><DIV style=3D"text-indent: -48px;margin-top: =
0px; margin-right: 0px; margin-bottom: 0px; margin-left: 48px; "><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> t =3D { label : =
int; src : vertex; dst : vertex }</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> Make_MyGraph(V : =
MYVERTEX </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> edge =3D E.t)(E : =
EDGE </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">with</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">type</SPAN></FONT><FONT =
class=3D"Apple-style-span" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;"> vertex =3D V.t) =3D=
 </SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#760F50" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> V =3D V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">=A0 =A0 </SPAN></FONT><FONT =
class=3D"Apple-style-span" color=3D"#760F50" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">module</SPAN></FONT><FONT class=3D"Apple-style-span" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;"> E =3D E</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#760F50" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; font: normal normal normal 10px/normal Monaco; =
min-height: 14px; "><BR></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">(*module Make_MyGraph(VV : MYVERTEX)(EE : =
EDGE with type vertex =3D V.t) =3D struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module E =3D EE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module V =3D VV with type edge =3D =
E.t</SPAN></FONT></DIV><DIV style=3D"text-indent: -24px;margin-top: 0px; =
margin-right: 0px; margin-bottom: 0px; margin-left: 24px; "><FONT =
class=3D"Apple-style-span" color=3D"#236E25" face=3D"Monaco" =
size=3D"2"><SPAN class=3D"Apple-style-span" style=3D"font-size: =
10px;">end*)</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; font: normal normal normal 10px/normal Monaco; =
min-height: 14px; "><BR></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">(*module Make_MyEdge(E : EDGE)(V : MYVERTEX =
with type edge =3D E.t) =3D struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">include V</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 24px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: =
10px;">end</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module Make_MyGraph(VV : MYVERTEX)(EE : EDGE =
with type vertex =3D VV.t) =3D struct</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module E =3D EE</SPAN></FONT></DIV><DIV =
style=3D"text-indent: -48px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 48px; "><FONT class=3D"Apple-style-span" =
color=3D"#236E25" face=3D"Monaco" size=3D"2"><SPAN =
class=3D"Apple-style-span" style=3D"font-size: 10px;">=A0 =A0 =
</SPAN></FONT><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">module V =3D =
Make_MyEdge(E)(VV)</SPAN></FONT></DIV><DIV style=3D"text-indent: =
-24px;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; =
margin-left: 24px; "><FONT class=3D"Apple-style-span" color=3D"#236E25" =
face=3D"Monaco" size=3D"2"><SPAN class=3D"Apple-style-span" =
style=3D"font-size: 10px;">end*)</SPAN></FONT></DIV><P =
style=3D"text-indent: -24px;margin-top: 0px; margin-right: 0px; =
margin-bottom: 0px; margin-left: 0px; ">=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<=
/P>  </DIV><BR></DIV></BODY></HTML>=

--Apple-Mail-2-944324183--

--Apple-Mail-3-944324957
Content-Transfer-Encoding: base64
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Disposition: attachment;
	filename=smime.p7s

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGIjCCAtsw
ggJEoAMCAQICAw54xzANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh
d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt
YWlsIElzc3VpbmcgQ0EwHhcNMDUwNDEzMTc1MTAxWhcNMDYwNDEzMTc1MTAxWjBJMR8wHQYDVQQD
ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSYwJAYJKoZIhvcNAQkBFhdkYW1pZW4uYm9iaWxsb3RA
bTR4Lm9yZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ1TOYBqwJ42s0Fzz56jY1p0
fplGyikFgoNEUKGnOpqt4vpeoqUppAnORt2yvdQJxfIkhsWkrD/diiPS7MTF73wcxlSJtqYzVzPK
G/2WDm6dBinuWCIyWYFhtGedyxbap3kJW44H7cL7HUVVxZ0JhOIOTsjCoEzaeKnML7bctbIJeXEE
lErfbDv2jA1PDG1ru5dx+Q+AmbexX92ygnntE6aX3QZLSbhrytg4yCRdV8cOyQ9eFruZBI42RJv3
nJXevjUOr4n+y/7bzijAJj4BFyUU+dllvj6bmk5brnUXheCSOD0Ci20dqGNC1MyJ43b6MoIrbW7j
JwYIv12D6KuWoaUCAwEAAaM0MDIwIgYDVR0RBBswGYEXZGFtaWVuLmJvYmlsbG90QG00eC5vcmcw
DAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQB0u5b6wgwsbcyzDHJTzshlCn4gshxWtU/1
mH77gBCpsY8L554YV4/Tvm1PzmDzErm++drQf5HMy8sEFjmwLvNfBP0BqtkSqsdRFGR4wHzTjMhS
EW5LgmlaccqBQzqQrANtzglgBVbtmBDAV92qHjQslwHK4FohCRRzGl4DLQmqBDCCAz8wggKooAMC
AQICAQ0wDQYJKoZIhvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENh
cGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNV
BAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJz
b25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3Rl
LmNvbTAeFw0wMzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYD
VQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29u
YWwgRnJlZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV
+065yplaHmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqq
P3FWy688Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEE
QB5kGXJgt/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSG
Mmh0dHA6Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1Ud
DwQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZI
hvcNAQEFBQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNw
PP2t4WFiw9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTl
EBpbNU1341YheILcIRk13iSx0x1G/11fZU8xggLnMIIC4wIBATBpMGIxCzAJBgNVBAYTAlpBMSUw
IwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVy
c29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIDDnjHMAkGBSsOAwIaBQCgggFTMBgGCSqGSIb3DQEJ
AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA1MDYxNTEyMTkyMlowIwYJKoZIhvcNAQkE
MRYEFAKgwkCW1up4y16I3Ne55Lsq/3VqMHgGCSsGAQQBgjcQBDFrMGkwYjELMAkGA1UEBhMCWkEx
JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ
ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMOeMcwegYLKoZIhvcNAQkQAgsxa6BpMGIxCzAJ
BgNVBAYTAlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQD
EyNUaGF3dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIDDnjHMA0GCSqGSIb3DQEBAQUA
BIIBAEZr21taGXdpgU2d++77gj/fUUIKLgdjNoIrGhmn524wleGTEkTD410/wdW+sDvUY+GCmRjQ
LMjySFTujYuVcc+MGM4ZhQcIKnsG58yEmjOm4+m4LRd6Xtgxa+IAqtTrIiDbfTOKG54IN+YlENYY
HS6K/IUDl1Kv77P93q5d8GGnGhmBRMP72EIv7cmoU2wR6rtDUhe2/ChIeOk8tjtUEYQsAlz98d75
Vpm36oDsSfy8gbqxRrii5tBa++9Sj2GA3Cq+2IU53RSqY37V1kPFpKDEq9j8bfl97BzYNBcM7Fnr
JTFfoTBUw+lqjZmCMhllzOnmJXn3+PyFjDQs4lMsnoYAAAAAAAA=

--Apple-Mail-3-944324957--