From fa077ec417f06b3785ef4ce629f793ce8e8b3690 Mon Sep 17 00:00:00 2001
From: Andrei Paskevich <andrei@lri.fr>
Date: Thu, 21 Mar 2013 11:10:12 +0100
Subject: [PATCH] fix why3session.dtd

---
 .../logic/triangle_inequality/why3session.xml | 622 ++++++++----------
 share/why3session.dtd                         |   9 +-
 src/session/session.ml                        |  19 +-
 3 files changed, 293 insertions(+), 357 deletions(-)

diff --git a/examples/logic/triangle_inequality/why3session.xml b/examples/logic/triangle_inequality/why3session.xml
index a9857010d9..94d62b8e67 100644
--- a/examples/logic/triangle_inequality/why3session.xml
+++ b/examples/logic/triangle_inequality/why3session.xml
@@ -28,13 +28,9 @@
  <prover
   id="6"
   name="Z3"
-  version="2.19"/>
- <prover
-  id="7"
-  name="Z3"
   version="3.2"/>
  <prover
-  id="8"
+  id="7"
   name="Z3"
   version="4.3.1"/>
  <file
@@ -61,18 +57,10 @@
      memlimit="1000"
      obsolete="false"
      archived="false">
-     <result status="valid" time="0.02"/>
-    </proof>
-    <proof
-     prover="7"
-     timelimit="3"
-     memlimit="1000"
-     obsolete="false"
-     archived="false">
      <result status="valid" time="0.01"/>
     </proof>
     <proof
-     prover="8"
+     prover="7"
      timelimit="5"
      memlimit="1000"
      obsolete="false"
@@ -106,14 +94,6 @@
     </proof>
     <proof
      prover="7"
-     timelimit="3"
-     memlimit="1000"
-     obsolete="false"
-     archived="false">
-     <result status="valid" time="0.00"/>
-    </proof>
-    <proof
-     prover="8"
      timelimit="5"
      memlimit="1000"
      obsolete="false"
@@ -180,14 +160,6 @@
     </proof>
     <proof
      prover="7"
-     timelimit="3"
-     memlimit="1000"
-     obsolete="false"
-     archived="false">
-     <result status="valid" time="0.02"/>
-    </proof>
-    <proof
-     prover="8"
      timelimit="5"
      memlimit="1000"
      obsolete="false"
@@ -218,631 +190,631 @@
       name="int"
       arity="0"
       id="1"
-      
       ip_theory="BuiltIn">
-       <ip_library
-        name="why3"/>
-       <ip_qualid
-        name="int"/></ts_pos>
+      <ip_library
+       name="why3"/>
+      <ip_qualid
+       name="int"/>
+     </ts_pos>
      <ls_pos
       name="infix ="
       id="10"
-      
       ip_theory="BuiltIn">
-       <ip_library
-        name="why3"/>
-       <ip_qualid
-        name="infix ="/></ls_pos>
+      <ip_library
+       name="why3"/>
+      <ip_qualid
+       name="infix ="/>
+     </ls_pos>
      <ls_pos
       name="one"
       id="131"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="one"/></ls_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="one"/>
+     </ls_pos>
      <ls_pos
       name="infix &lt;"
       id="132"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="infix &lt;"/></ls_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="infix &lt;"/>
+     </ls_pos>
      <ls_pos
       name="infix &lt;="
       id="144"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="infix &lt;="/></ls_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="infix &lt;="/>
+     </ls_pos>
      <ls_pos
       name="infix +"
       id="1232"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="infix +"/></ls_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="infix +"/>
+     </ls_pos>
      <ls_pos
       name="prefix -"
       id="1233"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="prefix -"/></ls_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="prefix -"/>
+     </ls_pos>
      <ls_pos
       name="infix *"
       id="1234"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="infix *"/></ls_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="infix *"/>
+     </ls_pos>
      <ls_pos
       name="inv"
       id="1300"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="inv"/></ls_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="inv"/>
+     </ls_pos>
      <ls_pos
       name="infix &gt;="
       id="1357"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="infix &gt;="/></ls_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="infix &gt;="/>
+     </ls_pos>
      <ls_pos
       name="sqrt"
       id="2564"
-      
       ip_theory="Square">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="sqrt"/></ls_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="sqrt"/>
+     </ls_pos>
      <pr_pos
       name="Assoc"
       id="1235"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="CommutativeGroup"/>
-       <ip_qualid
-        name="Assoc"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="CommutativeGroup"/>
+      <ip_qualid
+       name="Assoc"/>
+     </pr_pos>
      <pr_pos
       name="Unit_def_l"
       id="1242"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="CommutativeGroup"/>
-       <ip_qualid
-        name="Unit_def_l"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="CommutativeGroup"/>
+      <ip_qualid
+       name="Unit_def_l"/>
+     </pr_pos>
      <pr_pos
       name="Unit_def_r"
       id="1245"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="CommutativeGroup"/>
-       <ip_qualid
-        name="Unit_def_r"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="CommutativeGroup"/>
+      <ip_qualid
+       name="Unit_def_r"/>
+     </pr_pos>
      <pr_pos
       name="Inv_def_l"
       id="1248"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="CommutativeGroup"/>
-       <ip_qualid
-        name="Inv_def_l"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="CommutativeGroup"/>
+      <ip_qualid
+       name="Inv_def_l"/>
+     </pr_pos>
      <pr_pos
       name="Inv_def_r"
       id="1251"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="CommutativeGroup"/>
-       <ip_qualid
-        name="Inv_def_r"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="CommutativeGroup"/>
+      <ip_qualid
+       name="Inv_def_r"/>
+     </pr_pos>
      <pr_pos
       name="Comm"
       id="1254"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="CommutativeGroup"/>
-       <ip_qualid
-        name="Comm"/>
-       <ip_qualid
-        name="Comm"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="CommutativeGroup"/>
+      <ip_qualid
+       name="Comm"/>
+      <ip_qualid
+       name="Comm"/>
+     </pr_pos>
      <pr_pos
       name="Assoc"
       id="1259"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Assoc"/>
-       <ip_qualid
-        name="Assoc"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Assoc"/>
+      <ip_qualid
+       name="Assoc"/>
+     </pr_pos>
      <pr_pos
       name="Mul_distr_l"
       id="1266"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Mul_distr_l"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Mul_distr_l"/>
+     </pr_pos>
      <pr_pos
       name="Mul_distr_r"
       id="1273"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Mul_distr_r"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Mul_distr_r"/>
+     </pr_pos>
      <pr_pos
       name="Comm"
       id="1291"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Comm"/>
-       <ip_qualid
-        name="Comm"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Comm"/>
+      <ip_qualid
+       name="Comm"/>
+     </pr_pos>
      <pr_pos
       name="Unitary"
       id="1296"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Unitary"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Unitary"/>
+     </pr_pos>
      <pr_pos
       name="NonTrivialRing"
       id="1299"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="NonTrivialRing"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="NonTrivialRing"/>
+     </pr_pos>
      <pr_pos
       name="Inverse"
       id="1301"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Inverse"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Inverse"/>
+     </pr_pos>
      <pr_pos
       name="add_div"
       id="1315"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="add_div"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="add_div"/>
+     </pr_pos>
      <pr_pos
       name="sub_div"
       id="1322"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="sub_div"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="sub_div"/>
+     </pr_pos>
      <pr_pos
       name="neg_div"
       id="1329"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="neg_div"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="neg_div"/>
+     </pr_pos>
      <pr_pos
       name="assoc_div_mul"
       id="1341"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="assoc_div_mul"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="assoc_div_mul"/>
+     </pr_pos>
      <pr_pos
       name="assoc_div_div"
       id="1348"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="assoc_div_div"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="assoc_div_div"/>
+     </pr_pos>
      <pr_pos
       name="Refl"
       id="1366"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Refl"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Refl"/>
+     </pr_pos>
      <pr_pos
       name="Trans"
       id="1369"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Trans"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Trans"/>
+     </pr_pos>
      <pr_pos
       name="Antisymm"
       id="1376"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Antisymm"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Antisymm"/>
+     </pr_pos>
      <pr_pos
       name="Total"
       id="1381"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Total"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Total"/>
+     </pr_pos>
      <pr_pos
       name="ZeroLessOne"
       id="1386"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="ZeroLessOne"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="ZeroLessOne"/>
+     </pr_pos>
      <pr_pos
       name="CompatOrderAdd"
       id="1387"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="CompatOrderAdd"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="CompatOrderAdd"/>
+     </pr_pos>
      <pr_pos
       name="CompatOrderMult"
       id="1394"
-      
       ip_theory="Real">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="CompatOrderMult"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="CompatOrderMult"/>
+     </pr_pos>
      <pr_pos
       name="Sqrt_positive"
       id="2566"
-      
       ip_theory="Square">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Sqrt_positive"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Sqrt_positive"/>
+     </pr_pos>
      <pr_pos
       name="Sqrt_square"
       id="2569"
-      
       ip_theory="Square">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Sqrt_square"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Sqrt_square"/>
+     </pr_pos>
      <pr_pos
       name="Square_sqrt"
       id="2572"
-      
       ip_theory="Square">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Square_sqrt"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Square_sqrt"/>
+     </pr_pos>
      <pr_pos
       name="Sqrt_mul"
       id="2575"
-      
       ip_theory="Square">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Sqrt_mul"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Sqrt_mul"/>
+     </pr_pos>
      <pr_pos
       name="Sqrt_le"
       id="2580"
-      
       ip_theory="Square">
-       <ip_library
-        name="real"/>
-       <ip_qualid
-        name="Sqrt_le"/></pr_pos>
+      <ip_library
+       name="real"/>
+      <ip_qualid
+       name="Sqrt_le"/>
+     </pr_pos>
      <pr_pos
       name="norm2_pos"
       id="2841"
-      
       ip_theory="CauchySchwarzInequality">
-       <ip_qualid
-        name="norm2_pos"/></pr_pos>
+      <ip_qualid
+       name="norm2_pos"/>
+     </pr_pos>
      <pr_pos
       name="p_expr"
       id="2867"
-      
       ip_theory="CauchySchwarzInequality">
-       <ip_qualid
-        name="p_expr"/></pr_pos>
+      <ip_qualid
+       name="p_expr"/>
+     </pr_pos>
      <pr_pos
       name="p_pos"
       id="2878"
-      
       ip_theory="CauchySchwarzInequality">
-       <ip_qualid
-        name="p_pos"/></pr_pos>
+      <ip_qualid
+       name="p_pos"/>
+     </pr_pos>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="10"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="131"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="132"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="144"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="1232"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="1233"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="1234"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="1300"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="1357"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_logic">
       <meta_arg_ls
        id="2564"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1235"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1242"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1245"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1248"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1251"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1254"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1259"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1266"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1273"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1291"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1296"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1299"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1301"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1315"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1322"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1329"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1341"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1348"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1366"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1369"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1376"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1381"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1386"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1387"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="1394"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="2566"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="2569"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="2572"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="2575"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="2580"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="2841"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="2867"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_prop">
       <meta_arg_pr
        id="2878"/>
-     </meta_args>
+     </meta>
      <meta
       name="remove_type">
       <meta_arg_ts
        id="1"/>
-     </meta_args>
+     </meta>
      <goal
       name="p_val_part"
       locfile="../triangle_inequality.why"
@@ -881,7 +853,7 @@
          <result status="valid" time="32.03"/>
         </proof>
         <proof
-         prover="8"
+         prover="7"
          timelimit="5"
          memlimit="1000"
          obsolete="false"
@@ -1008,18 +980,10 @@
      memlimit="1000"
      obsolete="false"
      archived="false">
-     <result status="valid" time="0.02"/>
-    </proof>
-    <proof
-     prover="7"
-     timelimit="3"
-     memlimit="1000"
-     obsolete="false"
-     archived="false">
      <result status="valid" time="0.28"/>
     </proof>
     <proof
-     prover="8"
+     prover="7"
      timelimit="5"
      memlimit="1000"
      obsolete="false"
@@ -1067,14 +1031,6 @@
      archived="false">
      <result status="valid" time="0.00"/>
     </proof>
-    <proof
-     prover="6"
-     timelimit="3"
-     memlimit="1000"
-     obsolete="false"
-     archived="false">
-     <result status="valid" time="0.16"/>
-    </proof>
    </goal>
    <goal
     name="norm_pos"
@@ -1126,14 +1082,6 @@
     </proof>
     <proof
      prover="7"
-     timelimit="3"
-     memlimit="1000"
-     obsolete="false"
-     archived="false">
-     <result status="valid" time="0.02"/>
-    </proof>
-    <proof
-     prover="8"
      timelimit="5"
      memlimit="1000"
      obsolete="false"
@@ -1200,15 +1148,7 @@
      <result status="valid" time="4.62"/>
     </proof>
     <proof
-     prover="6"
-     timelimit="30"
-     memlimit="1000"
-     obsolete="false"
-     archived="false">
-     <result status="valid" time="0.01"/>
-    </proof>
-    <proof
-     prover="8"
+     prover="7"
      timelimit="5"
      memlimit="1000"
      obsolete="false"
diff --git a/share/why3session.dtd b/share/why3session.dtd
index bf215c52f2..8e5cc8112c 100644
--- a/share/why3session.dtd
+++ b/share/why3session.dtd
@@ -55,23 +55,22 @@
 <!ELEMENT label EMPTY>
 <!ATTLIST label name CDATA #REQUIRED>
 
-<!ELEMENT metas (ts_pos*, ls_pos*, pr_pos*, meta_args*,goal)>
+<!ELEMENT metas (ts_pos*,ls_pos*,pr_pos*,meta_args*,goal)>
 <!ATTLIST metas proved CDATA #REQUIRED>
 <!ATTLIST metas expanded CDATA #IMPLIED>
 
-<!ELEMENT ts_pos (ip_library+,ip_qualid+)>
+<!ELEMENT ts_pos (ip_library*,ip_qualid+)>
 <!ATTLIST ts_pos name CDATA #REQUIRED>
 <!ATTLIST ts_pos arity CDATA #REQUIRED>
 <!ATTLIST ts_pos id CDATA #REQUIRED>
 <!ATTLIST ts_pos ip_theory CDATA #REQUIRED>
 
-
-<!ELEMENT ls_pos (ip_library+,ip_qualid+)>
+<!ELEMENT ls_pos (ip_library*,ip_qualid+)>
 <!ATTLIST ls_pos name CDATA #REQUIRED>
 <!ATTLIST ls_pos id CDATA #REQUIRED>
 <!ATTLIST ls_pos ip_theory CDATA #REQUIRED>
 
-<!ELEMENT pr_pos (ip_library+,ip_qualid+)>
+<!ELEMENT pr_pos (ip_library*,ip_qualid+)>
 <!ATTLIST pr_pos name CDATA #REQUIRED>
 <!ATTLIST pr_pos id CDATA #REQUIRED>
 <!ATTLIST pr_pos ip_theory CDATA #REQUIRED>
diff --git a/src/session/session.ml b/src/session/session.ml
index dbba1228e5..084f278a9d 100644
--- a/src/session/session.ml
+++ b/src/session/session.ml
@@ -558,26 +558,25 @@ and save_metas provers fmt _ m =
   fprintf fmt "@\n@[<v 1><metas@ proved=\"%b\"@ expanded=\"%b\">"
     m.metas_verified m.metas_expanded;
   let save_pos fmt pos =
-    fprintf fmt "@\n@[<v 1>ip_theory=\"%a\">" save_string pos.ip_theory;
+    fprintf fmt "ip_theory=\"%a\">" save_string pos.ip_theory;
     List.iter (fprintf fmt "@\n@[<v 1><ip_library@ name=\"%a\"/>@]" save_string)
       pos.ip_library;
     List.iter (fprintf fmt "@\n@[<v 1><ip_qualid@ name=\"%a\"/>@]" save_string)
       pos.ip_qualid;
-    fprintf fmt "@]";
   in
   let save_ts_pos fmt ts pos =
     fprintf fmt "@\n@[<v 1><ts_pos@ name=\"%a\"@ arity=\"%i\"@ \
-    id=\"%i\"@ %a</ts_pos>@]"
+    id=\"%i\"@ %a@]@\n</ts_pos>"
       save_string ts.ts_name.id_string (List.length ts.ts_args)
       (ts_hash ts) save_pos pos in
   let save_ls_pos fmt ls pos =
     (** TODO: add the signature? *)
-    fprintf fmt "@\n@[<v 1><ls_pos@ name=\"%a\"@ id=\"%i\"@ %a</ls_pos>@]"
+    fprintf fmt "@\n@[<v 1><ls_pos@ name=\"%a\"@ id=\"%i\"@ %a@]@\n</ls_pos>"
       save_string ls.ls_name.id_string
       (ls_hash ls) save_pos pos
   in
   let save_pr_pos fmt pr pos =
-    fprintf fmt "@\n@[<v 1><pr_pos@ name=\"%a\"@ id=\"%i\"@ %a</pr_pos>@]"
+    fprintf fmt "@\n@[<v 1><pr_pos@ name=\"%a\"@ id=\"%i\"@ %a@]@\n</pr_pos>"
       save_string pr.pr_name.id_string
       (pr_hash pr) save_pos pos
   in
@@ -1888,7 +1887,7 @@ and merge_trans ~keygen ~theories env to_goal _ from_transf =
   with Exit -> ()
 
 
-(** convert the ident from the olf task to the ident at the same
+(** convert the ident from the old task to the ident at the same
     position in the new task *)
 and merge_metas_aux ~keygen ~theories env to_goal _ from_metas =
   (** Find in the new task the new symbol (ts,ls,pr) *)
@@ -1907,11 +1906,9 @@ and merge_metas_aux ~keygen ~theories env to_goal _ from_metas =
   let rec read_theory ip = function
     | [] -> raise (Env.LibFileNotFound ip.ip_library)
     | format::formats ->
-      try
-        Env.read_theory ~format env.env
-          ip.ip_library ip.ip_theory
-      with Env.LibFileNotFound _ | Env.TheoryNotFound _ ->
-        read_theory ip formats
+        try Env.read_theory ~format env.env ip.ip_library ip.ip_theory
+        with Env.LibFileNotFound _ | Env.TheoryNotFound _ ->
+          read_theory ip formats
   in
   let read_theory ip =
     if ip.ip_library = [] then Mstr.find ip.ip_theory theories
-- 
GitLab