
What is it? 

  This is the metarouting environment implemented in Coq and Ocaml. 

  It is in three parts. 

  1) Coq theories 
  2) Ocaml code extracted from the Coq theories 
  3) An interface written in Ocaml that uses (2). 
     This is called MRE (Metarouting Environment, pronounced "Mr. E", or "mystery") 

  A user can compile a released version of (2) and (3) without installing 
  the Coq theorem prover. 

Compilation

  Coq : tested with Coq version 8.2pl1 

  Ocaml: tested with version 3.11.2

Making 

   To compile the coq theories (this is optional, you need coq intalled) do 

      make metarouting 
  
   To make the MRE interface, enter the mre directory. 
   You now have a choice 
   1) If you do not want to install coq, or work on the coq theories locally, 
      then do 

      make mre

   2) If you have already done "make metarouting" then you can do 

     make mre-local

Directory structure:

  Metarouting/ 
    Contains coq theories

  mre/extracted/ 
    Contains the Ocaml code extracted from coq theories.
    mre/extracted/released/src : extracted and released 
    mre/extracted/released/inc : for library files generated by the ocaml compiler. 
    mre/extracted/local/src : extracted locally (for development) 
    mre/extracted/local/inc : for library files generated by the ocaml compiler. 

  mre/ 
    contains Ocaml code for the MRE interface 
