diff --git a/src/lib/cp.mlw b/src/lib/cp.mlw
index 8476ca62d2c1fb28251e5f91c9104758432cdbcd..ececa06a702c7139466c5ce49c58ea4ca23b57c2 100644
--- a/src/lib/cp.mlw
+++ b/src/lib/cp.mlw
@@ -96,11 +96,14 @@ module Type
      use map.Map
      use set.Fset as S
      use mach.array.Array63 as Array
+     use list.List
 
      type env 'a 'b = {
        domi : Var.Hbi.t 'a; (* domain *)
        domb : Var.Hbb.t 'b;
        mutable dirty : bool;
+       mutable mi: list Var.ti;
+       mutable mb: list Var.tb;
      }
 
      let function get_int e b
@@ -254,7 +257,6 @@ module Engine
      type interp = Type.interp DomI.value DomB.value
      type model = Type.model DomI.value DomB.value
 
-
      scope Prob
         type t = list Constraint.t
 
@@ -268,6 +270,59 @@ module Engine
             end
      end
 
+     scope Watcher
+       type t = {
+            wb: Var.Hb.t (list Constraint.t);
+            wi: Var.Hi.t (list Constraint.t);
+            ghost prob: list Constraint.t;
+       }
+       invariant { forall x. Var.Hb.mem x wb -> forall c. LMem.mem c (Var.Hb.get wb x) -> LMem.mem c prob }
+       invariant { forall x. Var.Hi.mem x wi -> forall c. LMem.mem c (Var.Hi.get wi x) -> LMem.mem c prob }
+       by
+        { wb = Var.Hb.create 0 Nil S.empty; wi = Var.Hi.create 0 Nil S.empty; prob = Nil }
+
+       let rec init wb wi (prob: list Constraint.t)
+              requires { S.subset (Prob.vars prob).Var.sb (Var.Hb.defined wb) }
+              requires { S.subset (Prob.vars prob).Var.si (Var.Hi.defined wi) }
+              requires { forall x. Var.Hb.mem x wb -> (Var.Hb.get wb x) = Nil }
+              requires { forall x. Var.Hi.mem x wi -> (Var.Hi.get wi x) = Nil }
+              ensures { forall x. Var.Hb.mem x wb -> forall c. LMem.mem c (Var.Hb.get wb x) -> LMem.mem c prob }
+              ensures { forall x. Var.Hi.mem x wi -> forall c. LMem.mem c (Var.Hi.get wi x) -> LMem.mem c prob }
+              variant { prob }
+       =
+         match prob with
+         | Nil -> ()
+         | Cons c l ->
+           init wb wi l;
+           let si = Var.Si.create () in
+           Constraint.compute_vars_ti  c si;
+           let iteri = Var.Si.Iterator.create si in
+           while not (Var.Si.Iterator.is_empty iteri) do
+               invariant { forall x. Var.Hi.mem x wi -> forall c. LMem.mem c (Var.Hi.get wi x) -> LMem.mem c prob }
+               variant { S.cardinal iteri.Var.Si.todo }
+               let vi = Var.Si.Iterator.next iteri in
+               Var.Hi.set wi vi (Cons c (Var.Hi.find wi vi));
+           done;
+
+           let sb = Var.Sb.create () in
+           Constraint.compute_vars_tb  c sb;
+           let iterb = Var.Sb.Iterator.create sb in
+           while not (Var.Sb.Iterator.is_empty iterb) do
+               invariant { forall x. Var.Hb.mem x wb -> forall c. LMem.mem c (Var.Hb.get wb x) -> LMem.mem c prob }
+               variant { S.cardinal iterb.Var.Sb.todo }
+               let vb = Var.Sb.Iterator.next iterb in
+               Var.Hb.set wb vb (Cons c (Var.Hb.find wb vb));
+           done;
+         end
+
+       let create e (prob: list Constraint.t) =
+           requires { Var.subset (Prob.vars prob) (defined e) }
+           let wi = Var.Hi.create (Var.Hbi.max_tags e.domi) Nil (defined e).Var.si in
+           let wb = Var.Hb.create (Var.Hbb.max_tags e.domb) Nil (defined e).Var.sb in
+           init wb wi prob;
+           { wb = wb; wi = wi; prob = prob }
+     end
+
      predicate is_true_in (m:interp) (e:env) =
         (forall v:Var.ti. Var.Hbi.mem v e.domi -> DomI.is_true_in (m.i v) (Var.Hbi.contents e.domi v)) /\
         (forall v:Var.tb. Var.Hbb.mem v e.domb -> DomB.is_true_in (m.b v) (Var.Hbb.contents e.domb v))
@@ -739,6 +794,8 @@ module Engine
                domi = domi;
                domb = domb;
                dirty = false;
+               mi = Nil;
+               mb = Nil;
            }
            in
            assert { forall m:interp. (forall v. DomB.is_true_in (m.b v) topb) -> (forall v. DomI.is_true_in (m.i v) topi) -> is_true_in m e };
diff --git a/src/lib/cp/why3session.xml b/src/lib/cp/why3session.xml
index 9c660d7e37e2167364f2e4e3e15723011f3c707a..15dff32daeb9f0db4ed78624226a5400402d9200 100644
--- a/src/lib/cp/why3session.xml
+++ b/src/lib/cp/why3session.xml
@@ -4,339 +4,15 @@
 <why3session shape_version="6">
 <prover id="0" name="CVC4" version="1.5" timelimit="1" steplimit="0" memlimit="1000"/>
 <prover id="1" name="Z3" version="4.6.0" timelimit="1" steplimit="0" memlimit="1000"/>
+<prover id="2" name="Eprover" version="1.9.1-001" timelimit="30" steplimit="0" memlimit="4000"/>
 <prover id="3" name="Z3" version="4.4.1" timelimit="1" steplimit="0" memlimit="1000"/>
 <prover id="4" name="Alt-Ergo" version="2.3.2" timelimit="5" steplimit="0" memlimit="1000"/>
 <prover id="5" name="Alt-Ergo" version="2.2.0" timelimit="1" steplimit="0" memlimit="1000"/>
 <prover id="6" name="CVC4" version="1.6" timelimit="1" steplimit="0" memlimit="1000"/>
-<file format="whyml">
+<prover id="7" name="Alt-Ergo" version="2.4.0" timelimit="1" steplimit="0" memlimit="1000"/>
+<prover id="8" name="CVC4" version="1.7" timelimit="1" steplimit="0" memlimit="1000"/>
+<file format="whyml" proved="true">
 <path name=".."/><path name="cp.mlw"/>
-<theory name="Bool" proved="true">
- <goal name="andb&#39;&#39;vc" expl="VC for andb&#39;" proved="true">
- <proof prover="6"><result status="valid" time="0.08" steps="219"/></proof>
- </goal>
-</theory>
-<theory name="Tagtbl" proved="true">
- <goal name="Make.t&#39;vc" expl="VC for t" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="t&#39;vc.0" expl="array creation size" proved="true">
-  <proof prover="6"><result status="valid" time="0.04" steps="13962"/></proof>
-  </goal>
-  <goal name="t&#39;vc.1" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="21133"/></proof>
-  </goal>
-  <goal name="t&#39;vc.2" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.04" steps="21075"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.create&#39;vc" expl="VC for create" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="create&#39;vc.0" expl="integer overflow" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="16764"/></proof>
-  </goal>
-  <goal name="create&#39;vc.1" expl="array creation size" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="15668"/></proof>
-  </goal>
-  <goal name="create&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="22584"/></proof>
-  </goal>
-  <goal name="create&#39;vc.3" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="22459"/></proof>
-  </goal>
-  <goal name="create&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="16423"/></proof>
-  </goal>
-  <goal name="create&#39;vc.5" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="15988"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.max_tags&#39;vc" expl="VC for max_tags" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="max_tags&#39;vc.0" expl="integer overflow" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="17971"/></proof>
-  </goal>
-  <goal name="max_tags&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="18482"/></proof>
-  </goal>
-  <goal name="max_tags&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="17650"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.set&#39;vc" expl="VC for set" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="set&#39;vc.0" expl="index in array bounds" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="19413"/></proof>
-  </goal>
-  <goal name="set&#39;vc.1" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="25445"/></proof>
-  </goal>
-  <goal name="set&#39;vc.2" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="28272"/></proof>
-  </goal>
-  <goal name="set&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="17167"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.find&#39;vc" expl="VC for find" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="find&#39;vc.0" expl="index in array bounds" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="19523"/></proof>
-  </goal>
-  <goal name="find&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="21746"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.Lock.t&#39;vc" expl="VC for t" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="t&#39;vc.0" expl="array creation size" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="15390"/></proof>
-  </goal>
-  <goal name="t&#39;vc.1" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="23037"/></proof>
-  </goal>
-  <goal name="t&#39;vc.2" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="23043"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.Lock.find&#39;vc" expl="VC for find" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="find&#39;vc.0" expl="index in array bounds" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="20247"/></proof>
-  </goal>
-  <goal name="find&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="23111"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.copy_lock&#39;vc" expl="VC for copy_lock" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="copy_lock&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.04" steps="26047"/></proof>
-  </goal>
-  <goal name="copy_lock&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="25006"/></proof>
-  </goal>
-  <goal name="copy_lock&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="18140"/></proof>
-  </goal>
-  <goal name="copy_lock&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="18599"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.copy_unlock&#39;vc" expl="VC for copy_unlock" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="copy_unlock&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="26017"/></proof>
-  </goal>
-  <goal name="copy_unlock&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="25020"/></proof>
-  </goal>
-  <goal name="copy_unlock&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="18147"/></proof>
-  </goal>
-  <goal name="copy_unlock&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="18614"/></proof>
-  </goal>
- </transf>
- </goal>
-</theory>
-<theory name="TagtblBacktrackable">
- <goal name="Make.good_tokens&#39;vc" expl="VC for good_tokens" proved="true">
- <proof prover="6"><result status="valid" time="0.05" steps="19259"/></proof>
- </goal>
- <goal name="Make.good_tokens_frame_history&#39;vc" expl="VC for good_tokens_frame_history" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="good_tokens_frame_history&#39;vc.0" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="18482"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.1" expl="assertion" proved="true">
-  <proof prover="1" timelimit="5"><result status="timeout" time="5.00" steps="4379400"/></proof>
-  <proof prover="4"><result status="valid" time="0.03" steps="84"/></proof>
-  <proof prover="6" timelimit="5"><result status="timeout" time="5.00" steps="6086129"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.2" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="18490"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.3" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="21218"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.4" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="20793"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.5" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="20799"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.6" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="23155"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.7" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="29587"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.8" expl="precondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.02" steps="105"/></proof>
-  <proof prover="6"><result status="valid" time="0.05" steps="17522"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.9" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.04" steps="19087"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.10" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.04" steps="21740"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.11" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="21767"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.12" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="22963"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.13" expl="precondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2179184"/></proof>
-  <proof prover="4"><result status="valid" time="0.03" steps="109"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="89859"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.14" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="21551"/></proof>
-  </goal>
-  <goal name="good_tokens_frame_history&#39;vc.15" expl="postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2059931"/></proof>
-  <proof prover="4"><result status="timeout" time="5.00"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00"/></proof>
-  <transf name="split_vc" proved="true" >
-   <goal name="good_tokens_frame_history&#39;vc.15.0" expl="postcondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.06" steps="18144"/></proof>
-   </goal>
-   <goal name="good_tokens_frame_history&#39;vc.15.1" expl="postcondition" proved="true">
-   <proof prover="1" timelimit="10" memlimit="4000"><result status="timeout" time="10.00" steps="5192151"/></proof>
-   <proof prover="4"><result status="valid" time="0.01" steps="26"/></proof>
-   <proof prover="6" timelimit="10" memlimit="4000"><result status="timeout" time="10.00" steps="3724639"/></proof>
-   </goal>
-   <goal name="good_tokens_frame_history&#39;vc.15.2" expl="postcondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.07" steps="19908"/></proof>
-   </goal>
-  </transf>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.good_tokens_smaller_offset&#39;vc" expl="VC for good_tokens_smaller_offset" proved="true">
- <proof prover="6"><result status="valid" time="0.24" steps="49728"/></proof>
- </goal>
- <goal name="Make.t&#39;vc" expl="VC for t" proved="true">
- <proof prover="6"><result status="valid" time="0.22" steps="37844"/></proof>
- </goal>
- <goal name="Make.create&#39;vc" expl="VC for create" proved="true">
- <proof prover="6"><result status="valid" time="0.18" steps="44401"/></proof>
- </goal>
- <goal name="Make.max_tags&#39;vc" expl="VC for max_tags" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="max_tags&#39;vc.0" expl="integer overflow" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="22063"/></proof>
-  </goal>
-  <goal name="max_tags&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="22247"/></proof>
-  </goal>
-  <goal name="max_tags&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="21129"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.resize&#39;vc" expl="VC for resize">
- <proof prover="1"><result status="timeout" time="1.00" steps="2188999"/></proof>
- <proof prover="4"><result status="timeout" time="5.00"/></proof>
- <proof prover="6"><result status="timeout" time="1.00" steps="211906"/></proof>
- </goal>
- <goal name="Make.set&#39;vc" expl="VC for set">
- <proof prover="1"><result status="timeout" time="1.00" steps="2396364"/></proof>
- <proof prover="4"><result status="timeout" time="5.00"/></proof>
- <proof prover="6"><result status="timeout" time="2.00" steps="351596"/></proof>
- </goal>
- <goal name="Make.find&#39;vc" expl="VC for find" proved="true">
- <proof prover="6"><result status="valid" time="0.04" steps="31577"/></proof>
- </goal>
- <goal name="Make.create_backtrack_point&#39;vc" expl="VC for create_backtrack_point" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="create_backtrack_point&#39;vc.0" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="24224"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.1" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="29878"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.2" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="25378"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.3" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="25473"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.4" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="31218"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.5" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="23876"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.6" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="31107"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.7" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="32407"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.8" expl="type invariant" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2029986"/></proof>
-  <proof prover="4"><result status="valid" time="0.03" steps="107"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="111040"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.9" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="19178"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.10" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="19179"/></proof>
-  </goal>
-  <goal name="create_backtrack_point&#39;vc.11" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="22257"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.backtrack&#39;vc" expl="VC for backtrack">
- <proof prover="1"><result status="timeout" time="1.00" steps="1940016"/></proof>
- <proof prover="4"><result status="timeout" time="5.00"/></proof>
- <proof prover="6"><result status="timeout" time="1.00" steps="173078"/></proof>
- </goal>
- <goal name="Make.TagtblBacktrackableIntf.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="5" obsolete="true"><result status="valid" time="0.50" steps="1859"/></proof>
- <proof prover="6"><result status="valid" time="0.05" steps="18280"/></proof>
- </goal>
- <goal name="Make.TagtblBacktrackableIntf.S.tag_correct" proved="true">
- <proof prover="6"><result status="valid" time="0.05" steps="19335"/></proof>
- </goal>
- <goal name="Make.TagtblBacktrackableIntf.create&#39;refn&#39;vc" expl="VC for create&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.04" steps="29682"/></proof>
- </goal>
- <goal name="Make.TagtblBacktrackableIntf.max_tags&#39;refn&#39;vc" expl="VC for max_tags&#39;refn" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="max_tags&#39;refn&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="22322"/></proof>
-  </goal>
-  <goal name="max_tags&#39;refn&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="19732"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Make.TagtblBacktrackableIntf.set&#39;refn&#39;vc" expl="VC for set&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.08" steps="28345"/></proof>
- </goal>
- <goal name="Make.TagtblBacktrackableIntf.find&#39;refn&#39;vc" expl="VC for find&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.10" steps="25279"/></proof>
- </goal>
- <goal name="Make.TagtblBacktrackableIntf.create_backtrack_point&#39;refn&#39;vc" expl="VC for create_backtrack_point&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.12" steps="18748"/></proof>
- </goal>
- <goal name="Make.TagtblBacktrackableIntf.backtrack&#39;refn&#39;vc" expl="VC for backtrack&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.10" steps="22752"/></proof>
- </goal>
-</theory>
 <theory name="Var0" proved="true">
  <goal name="ti&#39;vc" expl="VC for ti" proved="true">
  <proof prover="6"><result status="valid" time="0.02" steps="2059"/></proof>
@@ -357,45 +33,45 @@
  <proof prover="6"><result status="valid" time="0.01" steps="2258"/></proof>
  </goal>
  <goal name="equali&#39;vc" expl="VC for equali" proved="true">
- <proof prover="6"><result status="valid" time="0.02" steps="3182"/></proof>
+ <proof prover="6"><result status="valid" time="0.02" steps="3196"/></proof>
  </goal>
  <goal name="equalb&#39;vc" expl="VC for equalb" proved="true">
- <proof prover="6"><result status="valid" time="0.02" steps="3182"/></proof>
+ <proof prover="6"><result status="valid" time="0.02" steps="3196"/></proof>
  </goal>
 </theory>
 <theory name="Var" proved="true">
  <goal name="Hbi.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="17447"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="17456"/></proof>
  </goal>
  <goal name="Hbi.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.05" steps="16140"/></proof>
  </goal>
  <goal name="Hbb.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="18445"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="18455"/></proof>
  </goal>
  <goal name="Hbb.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.08" steps="17114"/></proof>
  </goal>
  <goal name="Si.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="19721"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="19730"/></proof>
  </goal>
  <goal name="Si.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.04" steps="18308"/></proof>
  </goal>
  <goal name="Sb.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.08" steps="20359"/></proof>
+ <proof prover="6"><result status="valid" time="0.08" steps="20369"/></proof>
  </goal>
  <goal name="Sb.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.05" steps="18924"/></proof>
  </goal>
  <goal name="Hi.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="20927"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="20936"/></proof>
  </goal>
  <goal name="Hi.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.03" steps="19540"/></proof>
  </goal>
  <goal name="Hb.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.08" steps="22243"/></proof>
+ <proof prover="6"><result status="valid" time="0.08" steps="22253"/></proof>
  </goal>
  <goal name="Hb.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.04" steps="20832"/></proof>
@@ -403,37 +79,37 @@
 </theory>
 <theory name="Impl0" proved="true">
  <goal name="Hbi.Make.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="17447"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="17456"/></proof>
  </goal>
  <goal name="Hbi.Make.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.06" steps="16140"/></proof>
  </goal>
  <goal name="Hbb.Make.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.09" steps="22329"/></proof>
+ <proof prover="6"><result status="valid" time="0.09" steps="22339"/></proof>
  </goal>
  <goal name="Hbb.Make.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.07" steps="20995"/></proof>
  </goal>
  <goal name="Si.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.07" steps="27484"/></proof>
+ <proof prover="6"><result status="valid" time="0.07" steps="27493"/></proof>
  </goal>
  <goal name="Si.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.07" steps="26065"/></proof>
  </goal>
  <goal name="Sb.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.09" steps="29305"/></proof>
+ <proof prover="6"><result status="valid" time="0.09" steps="29315"/></proof>
  </goal>
  <goal name="Sb.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.07" steps="27864"/></proof>
  </goal>
  <goal name="Hi.Make.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="31054"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="31063"/></proof>
  </goal>
  <goal name="Hi.Make.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.11" steps="29661"/></proof>
  </goal>
  <goal name="Hb.Make.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.07" steps="33180"/></proof>
+ <proof prover="6"><result status="valid" time="0.07" steps="33190"/></proof>
  </goal>
  <goal name="Hb.Make.S.tag_correct" proved="true">
  <proof prover="6"><result status="valid" time="0.14" steps="31763"/></proof>
@@ -441,1081 +117,1248 @@
 </theory>
 <theory name="Type" proved="true">
  <goal name="get_int&#39;vc" expl="VC for get_int" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="22849"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="23053"/></proof>
  </goal>
  <goal name="get_bool&#39;vc" expl="VC for get_bool" proved="true">
- <proof prover="6"><result status="valid" time="0.04" steps="23090"/></proof>
+ <proof prover="6"><result status="valid" time="0.04" steps="23294"/></proof>
  </goal>
  <goal name="get_mod_int&#39;vc" expl="VC for get_mod_int" proved="true">
- <proof prover="6"><result status="valid" time="0.03" steps="24272"/></proof>
+ <proof prover="6"><result status="valid" time="0.03" steps="24469"/></proof>
  </goal>
  <goal name="get_mod_bool&#39;vc" expl="VC for get_mod_bool" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="24513"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="24710"/></proof>
  </goal>
 </theory>
-<theory name="Engine">
- <goal name="propagate_all&#39;&#39;vc" expl="VC for propagate_all&#39;" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="propagate_all&#39;&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="27939"/></proof>
-  </goal>
-  <goal name="propagate_all&#39;&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.01" steps="30"/></proof>
-  <proof prover="6"><result status="valid" time="0.07" steps="27976"/></proof>
-  </goal>
-  <goal name="propagate_all&#39;&#39;vc.2" expl="postcondition" proved="true">
-  <transf name="split_vc" proved="true" >
-   <goal name="propagate_all&#39;&#39;vc.2.0" expl="postcondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.07" steps="28009"/></proof>
+<theory name="Engine" proved="true">
+ <goal name="Watcher.t&#39;vc" expl="VC for t" proved="true">
+ <proof prover="1" timelimit="5" memlimit="2000" obsolete="true"><result status="timeout" time="5.00" steps="7818574"/></proof>
+ <proof prover="2" timelimit="5" memlimit="2000" obsolete="true"><result status="timeout" time="5.00"/></proof>
+ <proof prover="7" timelimit="5" memlimit="2000" obsolete="true"><result status="timeout" time="5.00"/></proof>
+ <proof prover="8" timelimit="5" memlimit="2000" obsolete="true"><result status="timeout" time="5.00" steps="5090587"/></proof>
+ <transf name="inline_goal" proved="true" >
+  <goal name="t&#39;vc.0" expl="VC for t" proved="true">
+  <transf name="split_all_full" proved="true" >
+   <goal name="t&#39;vc.0.0" expl="precondition" proved="true">
+   <proof prover="8"><result status="valid" time="0.09" steps="35157"/></proof>
+   </goal>
+   <goal name="t&#39;vc.0.1" expl="precondition" proved="true">
+   <proof prover="8"><result status="valid" time="0.06" steps="33613"/></proof>
+   </goal>
+   <goal name="t&#39;vc.0.2" expl="precondition" proved="true">
+   <proof prover="8"><result status="valid" time="0.11" steps="43680"/></proof>
+   </goal>
+   <goal name="t&#39;vc.0.3" expl="precondition" proved="true">
+   <proof prover="1" timelimit="30" memlimit="4000" obsolete="true"><result status="timeout" time="30.00" steps="18321195"/></proof>
+   <proof prover="2" obsolete="true"><result status="timeout" time="30.00"/></proof>
+   <proof prover="7" timelimit="30" memlimit="4000" obsolete="true"><result status="timeout" time="30.00"/></proof>
+   <proof prover="8"><result status="valid" time="0.07" steps="41718"/></proof>
+   </goal>
+   <goal name="t&#39;vc.0.4" expl="type invariant" proved="true">
+   <proof prover="8"><result status="valid" time="0.10" steps="46448"/></proof>
+   </goal>
+   <goal name="t&#39;vc.0.5" expl="type invariant" proved="true">
+   <proof prover="8"><result status="valid" time="0.11" steps="46617"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="propagate_all&#39;&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.02" steps="44"/></proof>
-  <proof prover="6"><result status="valid" time="0.06" steps="28026"/></proof>
+ </transf>
+ </goal>
+ <goal name="Watcher.init&#39;vc" expl="VC for init" proved="true">
+ <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2267647"/></proof>
+ <proof prover="2" timelimit="1" memlimit="1000" obsolete="true"><result status="timeout" time="1.00"/></proof>
+ <proof prover="7" obsolete="true"><result status="timeout" time="1.00"/></proof>
+ <proof prover="8" obsolete="true"><result status="timeout" time="1.00" steps="373631"/></proof>
+ <transf name="split_vc" proved="true" >
+  <goal name="init&#39;vc.0" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.10" steps="28273"/></proof>
   </goal>
-  <goal name="propagate_all&#39;&#39;vc.4" expl="precondition" proved="true">
-  <transf name="split_vc" proved="true" >
-   <goal name="propagate_all&#39;&#39;vc.4.0" expl="precondition" proved="true">
-   <proof prover="5" obsolete="true"><result status="valid" time="0.08" steps="578"/></proof>
-   <proof prover="6"><result status="valid" time="0.18" steps="36792"/></proof>
-   </goal>
-  </transf>
+  <goal name="init&#39;vc.1" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.10" steps="28414"/></proof>
+  </goal>
+  <goal name="init&#39;vc.2" expl="variant decrease" proved="true">
+  <proof prover="8"><result status="valid" time="0.10" steps="30918"/></proof>
+  </goal>
+  <goal name="init&#39;vc.3" expl="precondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.18" steps="36447"/></proof>
+  </goal>
+  <goal name="init&#39;vc.4" expl="precondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.18" steps="37050"/></proof>
+  </goal>
+  <goal name="init&#39;vc.5" expl="precondition" proved="true">
+  <proof prover="1" timelimit="5" obsolete="true"><result status="timeout" time="5.00" steps="4249987"/></proof>
+  <proof prover="2" obsolete="true"><result status="timeout" time="30.00"/></proof>
+  <proof prover="7" timelimit="5"><result status="valid" time="0.02" steps="45"/></proof>
+  <proof prover="8" timelimit="5" obsolete="true"><result status="timeout" time="5.00" steps="2834417"/></proof>
+  </goal>
+  <goal name="init&#39;vc.6" expl="precondition" proved="true">
+  <proof prover="1" timelimit="5" obsolete="true"><result status="timeout" time="5.00" steps="3288196"/></proof>
+  <proof prover="2" obsolete="true"><result status="timeout" time="30.00"/></proof>
+  <proof prover="7" timelimit="5"><result status="valid" time="0.02" steps="45"/></proof>
+  <proof prover="8" timelimit="5" obsolete="true"><result status="timeout" time="5.00" steps="2834361"/></proof>
+  </goal>
+  <goal name="init&#39;vc.7" expl="loop invariant init" proved="true">
+  <proof prover="8"><result status="valid" time="0.08" steps="31115"/></proof>
+  </goal>
+  <goal name="init&#39;vc.8" expl="precondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.04" steps="27484"/></proof>
+  </goal>
+  <goal name="init&#39;vc.9" expl="precondition" proved="true">
+  <proof prover="7"><result status="valid" time="0.13" steps="1891"/></proof>
+  <proof prover="8" obsolete="true"><result status="timeout" time="1.00" steps="329409"/></proof>
+  </goal>
+  <goal name="init&#39;vc.10" expl="precondition" proved="true">
+  <proof prover="7"><result status="valid" time="0.13" steps="1907"/></proof>
+  <proof prover="8" obsolete="true"><result status="timeout" time="1.00" steps="323175"/></proof>
+  </goal>
+  <goal name="init&#39;vc.11" expl="loop variant decrease" proved="true">
+  <proof prover="8"><result status="valid" time="0.11" steps="34613"/></proof>
+  </goal>
+  <goal name="init&#39;vc.12" expl="loop invariant preservation" proved="true">
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2508245"/></proof>
+  <proof prover="2" timelimit="1" memlimit="1000" obsolete="true"><result status="timeout" time="1.00"/></proof>
+  <proof prover="7" timelimit="5" memlimit="2000"><result status="valid" time="1.24" steps="14160"/></proof>
+  <proof prover="8" timelimit="5" memlimit="2000" obsolete="true"><result status="timeout" time="5.00" steps="1465009"/></proof>
+  </goal>
+  <goal name="init&#39;vc.13" expl="loop invariant init" proved="true">
+  <proof prover="8"><result status="valid" time="0.08" steps="31965"/></proof>
+  </goal>
+  <goal name="init&#39;vc.14" expl="precondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.06" steps="27754"/></proof>
+  </goal>
+  <goal name="init&#39;vc.15" expl="precondition" proved="true">
+  <proof prover="7"><result status="valid" time="0.20" steps="4156"/></proof>
+  <proof prover="8" obsolete="true"><result status="timeout" time="1.00" steps="369668"/></proof>
+  </goal>
+  <goal name="init&#39;vc.16" expl="precondition" proved="true">
+  <proof prover="7"><result status="valid" time="0.31" steps="4157"/></proof>
+  <proof prover="8" obsolete="true"><result status="timeout" time="1.00" steps="362802"/></proof>
+  </goal>
+  <goal name="init&#39;vc.17" expl="loop variant decrease" proved="true">
+  <proof prover="8"><result status="valid" time="0.11" steps="35501"/></proof>
+  </goal>
+  <goal name="init&#39;vc.18" expl="loop invariant preservation" proved="true">
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2472768"/></proof>
+  <proof prover="2" timelimit="1" memlimit="1000" obsolete="true"><result status="timeout" time="1.00"/></proof>
+  <proof prover="7" timelimit="5" memlimit="2000"><result status="valid" time="1.90" steps="23865"/></proof>
+  <proof prover="8" timelimit="5" memlimit="2000" obsolete="true"><result status="timeout" time="5.00" steps="1264881"/></proof>
+  </goal>
+  <goal name="init&#39;vc.19" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.07" steps="29152"/></proof>
+  </goal>
+  <goal name="init&#39;vc.20" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.08" steps="29298"/></proof>
+  </goal>
+  <goal name="init&#39;vc.9" expl="loop invariant init">
+  <proof prover="7" timelimit="5"><undone/></proof>
+  <proof prover="8" timelimit="5"><result status="failure" time="0.00"/></proof>
+  </goal>
+  <goal name="init&#39;vc.15" expl="loop invariant preservation">
+  <proof prover="1" timelimit="30" memlimit="4000"><result status="timeout" time="30.00" steps="21706783"/></proof>
+  <proof prover="2"><result status="timeout" time="30.00"/></proof>
+  <proof prover="7" timelimit="5"><undone/></proof>
+  <proof prover="8" timelimit="5"><result status="failure" time="0.00"/></proof>
+  </goal>
+ </transf>
+ </goal>
+ <goal name="Watcher.create&#39;vc" expl="VC for create" proved="true">
+ <proof prover="8"><result status="valid" time="0.16" steps="49385"/></proof>
+ </goal>
+ <goal name="propagate_all&#39;&#39;vc" expl="VC for propagate_all&#39;" proved="true">
+ <transf name="split_vc" proved="true" >
+  <goal name="propagate_all&#39;&#39;vc.0" expl="postcondition" proved="true">
+  <proof prover="6"><result status="valid" time="0.15" steps="28738"/></proof>
+  <proof prover="7"><result status="valid" time="0.03" steps="26"/></proof>
+  </goal>
+  <goal name="propagate_all&#39;&#39;vc.1" expl="postcondition" proved="true">
+  <proof prover="6"><result status="valid" time="0.07" steps="28775"/></proof>
+  <proof prover="7"><result status="valid" time="0.01" steps="24"/></proof>
+  </goal>
+  <goal name="propagate_all&#39;&#39;vc.2" expl="postcondition" proved="true">
+  <transf name="split_vc" proved="true" >
+   <goal name="propagate_all&#39;&#39;vc.2.0" expl="postcondition" proved="true">
+   <proof prover="6"><result status="valid" time="0.07" steps="28808"/></proof>
+   </goal>
+  </transf>
+  </goal>
+  <goal name="propagate_all&#39;&#39;vc.3" expl="postcondition" proved="true">
+  <proof prover="6"><result status="valid" time="0.06" steps="28825"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="22"/></proof>
+  </goal>
+  <goal name="propagate_all&#39;&#39;vc.4" expl="precondition" proved="true">
+  <transf name="split_vc" proved="true" >
+   <goal name="propagate_all&#39;&#39;vc.4.0" expl="precondition" proved="true">
+   <proof prover="6"><result status="valid" time="0.18" steps="37660"/></proof>
+   <proof prover="7"><result status="valid" time="0.08" steps="212"/></proof>
+   </goal>
+  </transf>
   </goal>
   <goal name="propagate_all&#39;&#39;vc.5" expl="variant decrease" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.04" steps="283"/></proof>
-  <proof prover="6"><result status="valid" time="0.14" steps="33246"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="34190"/></proof>
+  <proof prover="7"><result status="valid" time="0.04" steps="112"/></proof>
   </goal>
   <goal name="propagate_all&#39;&#39;vc.6" expl="precondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.03" steps="352"/></proof>
-  <proof prover="6"><result status="valid" time="0.18" steps="39816"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="40738"/></proof>
+  <proof prover="7"><result status="valid" time="0.03" steps="259"/></proof>
   </goal>
   <goal name="propagate_all&#39;&#39;vc.7" expl="postcondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.05" steps="321"/></proof>
-  <proof prover="6"><result status="valid" time="0.18" steps="43014"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="43967"/></proof>
+  <proof prover="7"><result status="valid" time="0.05" steps="365"/></proof>
   </goal>
   <goal name="propagate_all&#39;&#39;vc.8" expl="postcondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.03" steps="202"/></proof>
-  <proof prover="6"><result status="valid" time="0.15" steps="33122"/></proof>
+  <proof prover="6"><result status="valid" time="0.07" steps="34142"/></proof>
   </goal>
   <goal name="propagate_all&#39;&#39;vc.9" expl="postcondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.05" steps="194"/></proof>
-  <proof prover="6"><result status="valid" time="0.11" steps="30737"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="31733"/></proof>
+  <proof prover="7"><result status="valid" time="0.05" steps="58"/></proof>
   </goal>
   <goal name="propagate_all&#39;&#39;vc.10" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="30752"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="31748"/></proof>
   </goal>
   <goal name="propagate_all&#39;&#39;vc.11" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.30" steps="71919"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="72220"/></proof>
   </goal>
   <goal name="propagate_all&#39;&#39;vc.12" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="35123"/></proof>
+  <proof prover="6"><result status="valid" time="0.12" steps="36137"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="propagate_all&#39;vc" expl="VC for propagate_all" proved="true">
  <transf name="split_vc" proved="true" >
   <goal name="propagate_all&#39;vc.0" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="29592"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="30534"/></proof>
   </goal>
   <goal name="propagate_all&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1622780"/></proof>
-  <proof prover="4"><result status="valid" time="0.02" steps="30"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="317459"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="1622780"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="317459"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="52"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="1389847"/></proof>
   </goal>
   <goal name="propagate_all&#39;vc.2" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="32522"/></proof>
+  <proof prover="6"><result status="valid" time="0.09" steps="33530"/></proof>
   </goal>
   <goal name="propagate_all&#39;vc.3" expl="precondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1888023"/></proof>
-  <proof prover="4"><result status="valid" time="0.02" steps="44"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="218567"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="1888023"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="218567"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="69"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="477183"/></proof>
   </goal>
   <goal name="propagate_all&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2079947"/></proof>
-  <proof prover="4"><result status="valid" time="0.11" steps="730"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="265929"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2079947"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="265929"/></proof>
+  <proof prover="7"><result status="valid" time="0.07" steps="604"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="347584"/></proof>
   </goal>
   <goal name="propagate_all&#39;vc.5" expl="postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2079245"/></proof>
-  <proof prover="4"><result status="valid" time="0.05" steps="285"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="253890"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2047444"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="210659"/></proof>
+  <proof prover="7"><result status="valid" time="0.04" steps="331"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="539174"/></proof>
   </goal>
   <goal name="propagate_all&#39;vc.6" expl="exceptional postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2001295"/></proof>
-  <proof prover="4"><result status="valid" time="0.06" steps="343"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="199840"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2001295"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="199840"/></proof>
+  <proof prover="7"><result status="valid" time="0.05" steps="414"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="453385"/></proof>
   </goal>
   <goal name="propagate_all&#39;vc.7" expl="postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1909726"/></proof>
-  <proof prover="4"><result status="valid" time="0.05" steps="317"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="279066"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="1909726"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="279066"/></proof>
+  <proof prover="7"><result status="valid" time="0.05" steps="348"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="320750"/></proof>
   </goal>
   <goal name="propagate_all&#39;vc.8" expl="postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2047444"/></proof>
-  <proof prover="4"><result status="valid" time="0.04" steps="194"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="210659"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2079245"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="253890"/></proof>
+  <proof prover="7"><result status="valid" time="0.03" steps="220"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="463543"/></proof>
   </goal>
   <goal name="propagate_all&#39;vc.9" expl="exceptional postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1970649"/></proof>
-  <proof prover="4"><result status="valid" time="0.04" steps="194"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="368673"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="1970649"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="368673"/></proof>
+  <proof prover="7"><result status="valid" time="0.03" steps="240"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="369486"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="check_model_all&#39;vc" expl="VC for check_model_all" proved="true">
  <transf name="split_all_full" proved="true" >
   <goal name="check_model_all&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="40411"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="41333"/></proof>
   </goal>
   <goal name="check_model_all&#39;vc.1" expl="variant decrease" proved="true">
-  <proof prover="0"><result status="valid" time="0.06" steps="35904"/></proof>
-  <proof prover="6"><result status="valid" time="0.14" steps="36922"/></proof>
+  <proof prover="0"><result status="valid" time="0.06" steps="36825"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="37849"/></proof>
   </goal>
   <goal name="check_model_all&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="40934"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="41856"/></proof>
   </goal>
   <goal name="check_model_all&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.07" steps="35308"/></proof>
-  <proof prover="6"><result status="valid" time="0.14" steps="36252"/></proof>
+  <proof prover="0"><result status="valid" time="0.07" steps="36229"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="37193"/></proof>
   </goal>
   <goal name="check_model_all&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.17" steps="42792"/></proof>
-  <proof prover="6"><result status="valid" time="0.19" steps="43253"/></proof>
+  <proof prover="0"><result status="valid" time="0.08" steps="43713"/></proof>
+  <proof prover="6"><result status="valid" time="0.15" steps="44201"/></proof>
   </goal>
   <goal name="check_model_all&#39;vc.5" expl="postcondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.08" steps="36899"/></proof>
-  <proof prover="6"><result status="valid" time="0.15" steps="37745"/></proof>
+  <proof prover="0"><result status="valid" time="0.17" steps="37820"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="38692"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="own_interp" proved="true">
- <proof prover="0"><result status="valid" time="0.08" steps="34588"/></proof>
- <proof prover="6"><result status="valid" time="0.14" steps="35181"/></proof>
+ <proof prover="0"><result status="valid" time="0.08" steps="35457"/></proof>
+ <proof prover="6"><result status="valid" time="0.14" steps="36120"/></proof>
  </goal>
  <goal name="compute_model&#39;vc" expl="VC for compute_model" proved="true">
  <transf name="split_all_full" proved="true" >
   <goal name="compute_model&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="49584"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="50558"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.04" steps="301"/></proof>
-  <proof prover="6"><result status="valid" time="0.16" steps="46509"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="47478"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.02" steps="143"/></proof>
-  <proof prover="6"><result status="valid" time="0.17" steps="49002"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="49970"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.3" expl="variant decrease" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.04" steps="296"/></proof>
-  <proof prover="6"><result status="valid" time="0.19" steps="52183"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="53153"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.4" expl="precondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.02" steps="129"/></proof>
-  <proof prover="6"><result status="valid" time="0.20" steps="51982"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="52942"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="130"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.5" expl="precondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.20" steps="52240"/></proof>
-  <proof prover="6"><result status="valid" time="0.20" steps="53327"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="54285"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.6" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="54234"/></proof>
+  <proof prover="6"><result status="valid" time="0.26" steps="55192"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.7" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="53650"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="54662"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="884"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.8" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="52563"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="53523"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.9" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="52234"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="53194"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.10" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="48566"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="49534"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.11" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="53208"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="54175"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.12" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="49852"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="50832"/></proof>
+  <proof prover="7"><result status="valid" time="0.04" steps="38"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.13" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="52553"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="53532"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.14" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="55984"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="56958"/></proof>
+  <proof prover="7"><result status="valid" time="0.04" steps="184"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.15" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="55857"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="56811"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.16" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="57364"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="58337"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.17" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="58273"/></proof>
+  <proof prover="6"><result status="valid" time="0.24" steps="59246"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.18" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="57549"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="58563"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.19" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="56438"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="57392"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.20" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="56109"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="57063"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.21" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="52117"/></proof>
+  <proof prover="0"><result status="valid" time="0.20" steps="52371"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="53096"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.22" expl="postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1811664"/></proof>
-  <proof prover="4"><result status="valid" time="0.37" steps="1805"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="238616"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="1811664"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="238616"/></proof>
+  <proof prover="7"><result status="valid" time="0.27" steps="3565"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="350484"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.23" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="57379"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="58338"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.24" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="57097"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="58083"/></proof>
   </goal>
   <goal name="compute_model&#39;vc.25" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="52984"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="53932"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="keep_singletoni&#39;vc" expl="VC for keep_singletoni" proved="true">
  <transf name="split_all_full" proved="true" >
   <goal name="keep_singletoni&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.04" steps="36666"/></proof>
-  <proof prover="6"><result status="valid" time="0.06" steps="37628"/></proof>
+  <proof prover="0"><result status="valid" time="0.04" steps="37703"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="38689"/></proof>
   </goal>
   <goal name="keep_singletoni&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.14" steps="36528"/></proof>
-  <proof prover="6"><result status="valid" time="0.06" steps="37446"/></proof>
+  <proof prover="0"><result status="valid" time="0.14" steps="37527"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="38471"/></proof>
   </goal>
   <goal name="keep_singletoni&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.16" steps="41854"/></proof>
-  <proof prover="6"><result status="valid" time="0.17" steps="42729"/></proof>
+  <proof prover="0"><result status="valid" time="0.16" steps="42776"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="43607"/></proof>
   </goal>
   <goal name="keep_singletoni&#39;vc.3" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="35650"/></proof>
+  <proof prover="6"><result status="valid" time="0.05" steps="36535"/></proof>
   </goal>
   <goal name="keep_singletoni&#39;vc.4" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="41888"/></proof>
+  <proof prover="0"><result status="valid" time="0.19" steps="42403"/></proof>
+  <proof prover="6"><result status="valid" time="0.12" steps="42895"/></proof>
   </goal>
   <goal name="keep_singletoni&#39;vc.5" expl="assertion" proved="true">
-  <proof prover="0"><result status="valid" time="0.19" steps="39152"/></proof>
-  <proof prover="6"><result status="valid" time="0.12" steps="39725"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="40692"/></proof>
   </goal>
   <goal name="keep_singletoni&#39;vc.6" expl="unreachable point" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="50510"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="51393"/></proof>
   </goal>
   <goal name="keep_singletoni&#39;vc.7" expl="postcondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.17" steps="32437"/></proof>
-  <proof prover="6"><result status="valid" time="0.07" steps="32445"/></proof>
-  </goal>
-  <goal name="keep_singletoni&#39;vc.8" expl="postcondition" proved="true">
   <transf name="split_vc" proved="true" >
-   <goal name="keep_singletoni&#39;vc.8.0" expl="postcondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.13" steps="34297"/></proof>
+   <goal name="keep_singletoni&#39;vc.7.0" expl="postcondition" proved="true">
+   <proof prover="6"><result status="valid" time="0.13" steps="33442"/></proof>
    </goal>
   </transf>
   </goal>
+  <goal name="keep_singletoni&#39;vc.8" expl="postcondition" proved="true">
+  <proof prover="0"><result status="valid" time="0.17" steps="35751"/></proof>
+  <proof prover="6"><result status="valid" time="0.07" steps="36283"/></proof>
+  </goal>
  </transf>
  </goal>
  <goal name="keep_singletonb&#39;vc" expl="VC for keep_singletonb" proved="true">
  <transf name="split_vc" proved="true" >
   <goal name="keep_singletonb&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.06" steps="33757"/></proof>
-  <proof prover="6"><result status="valid" time="0.15" steps="34701"/></proof>
+  <proof prover="0"><result status="valid" time="0.06" steps="34742"/></proof>
+  <proof prover="6"><result status="valid" time="0.15" steps="35709"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.06" steps="33148"/></proof>
-  <proof prover="6"><result status="valid" time="0.13" steps="34063"/></proof>
+  <proof prover="0"><result status="valid" time="0.06" steps="34095"/></proof>
+  <proof prover="6"><result status="valid" time="0.13" steps="35035"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.08" steps="38673"/></proof>
-  <proof prover="6"><result status="valid" time="0.15" steps="39407"/></proof>
+  <proof prover="0"><result status="valid" time="0.08" steps="39664"/></proof>
+  <proof prover="6"><result status="valid" time="0.15" steps="40447"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.3" expl="assertion" proved="true">
-  <proof prover="0"><result status="valid" time="0.10" steps="31422"/></proof>
-  <proof prover="6"><result status="valid" time="0.10" steps="31430"/></proof>
+  <proof prover="0"><result status="valid" time="0.10" steps="32220"/></proof>
+  <proof prover="6"><result status="valid" time="0.10" steps="32228"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.4" expl="assertion" proved="true">
-  <proof prover="0"><result status="valid" time="0.05" steps="36657"/></proof>
-  <proof prover="6"><result status="valid" time="0.16" steps="37089"/></proof>
+  <proof prover="0"><result status="valid" time="0.05" steps="37546"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="38612"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.5" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="34847"/></proof>
+  <proof prover="6"><result status="valid" time="0.10" steps="35723"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.6" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="31292"/></proof>
+  <proof prover="6"><result status="valid" time="0.10" steps="32170"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.7" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="53982"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="54880"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.8" expl="assertion" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.02" steps="178"/></proof>
-  <proof prover="6"><result status="valid" time="0.15" steps="37162"/></proof>
+  <proof prover="6"><result status="valid" time="0.15" steps="38157"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="121"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.9" expl="unreachable point" proved="true">
-  <proof prover="0"><result status="valid" time="0.08" steps="34327"/></proof>
-  <proof prover="6"><result status="valid" time="0.14" steps="35288"/></proof>
+  <proof prover="0"><result status="valid" time="0.08" steps="35210"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="36249"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.10" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="29417"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="30216"/></proof>
   </goal>
   <goal name="keep_singletonb&#39;vc.11" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="31123"/></proof>
+  <proof prover="6"><result status="valid" time="0.09" steps="32001"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="is_true_in_kept" proved="true">
- <proof prover="6"><result status="valid" time="0.12" steps="43237"/></proof>
+ <proof prover="6"><result status="valid" time="0.12" steps="44355"/></proof>
  </goal>
  <goal name="singletons_are_kepti_kept" proved="true">
- <proof prover="6"><result status="valid" time="0.15" steps="42142"/></proof>
+ <proof prover="6"><result status="valid" time="0.15" steps="43323"/></proof>
  </goal>
  <goal name="singletons_are_keptb_kept" proved="true">
- <proof prover="6"><result status="valid" time="0.13" steps="42325"/></proof>
+ <proof prover="6"><result status="valid" time="0.13" steps="43506"/></proof>
  </goal>
  <goal name="singletons_are_keptb_kept2" proved="true">
- <proof prover="6"><result status="valid" time="0.36" steps="61396"/></proof>
- </goal>
- <goal name="singletons_are_kepti_kept2">
- <proof prover="1"><result status="timeout" time="1.00" steps="1607437"/></proof>
- <proof prover="4"><result status="timeout" time="5.00"/></proof>
- <proof prover="6"><result status="timeout" time="2.00" steps="780473"/></proof>
+ <proof prover="6"><result status="valid" time="0.22" steps="60914"/></proof>
+ </goal>
+ <goal name="singletons_are_kepti_kept2" proved="true">
+ <proof prover="1"><result status="timeout" time="1.00" steps="1805970"/></proof>
+ <proof prover="2" timelimit="1" memlimit="1000"><result status="timeout" time="1.00"/></proof>
+ <proof prover="4" obsolete="true"><result status="timeout" time="5.00"/></proof>
+ <proof prover="6" obsolete="true"><result status="timeout" time="2.00" steps="780473"/></proof>
+ <proof prover="7"><result status="timeout" time="1.00"/></proof>
+ <proof prover="8"><result status="timeout" time="1.00" steps="740344"/></proof>
+ <transf name="split_vc" proved="true" >
+  <goal name="singletons_are_kepti_kept2.0" proved="true">
+  <proof prover="8"><result status="valid" time="0.24" steps="68226"/></proof>
+  </goal>
+ </transf>
  </goal>
  <goal name="singletons_are_kept_cons" proved="true">
- <proof prover="0"><result status="valid" time="0.18" steps="35856"/></proof>
- <proof prover="6"><result status="valid" time="0.14" steps="36652"/></proof>
+ <proof prover="0"><result status="valid" time="0.18" steps="36732"/></proof>
+ <proof prover="6"><result status="valid" time="0.14" steps="37603"/></proof>
  </goal>
  <goal name="set_singleton_bool&#39;vc" expl="VC for set_singleton_bool" proved="true">
  <transf name="split_vc" proved="true" >
   <goal name="set_singleton_bool&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="31569"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="32406"/></proof>
   </goal>
   <goal name="set_singleton_bool&#39;vc.1" expl="postcondition" proved="true">
   <transf name="split_vc" proved="true" >
    <goal name="set_singleton_bool&#39;vc.1.0" expl="postcondition" proved="true">
-   <proof prover="1"><result status="timeout" time="1.00" steps="1975116"/></proof>
-   <proof prover="4"><result status="valid" time="0.05" steps="303"/></proof>
-   <proof prover="6"><result status="timeout" time="1.00" steps="219964"/></proof>
+   <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="1975116"/></proof>
+   <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="219964"/></proof>
+   <proof prover="7"><result status="valid" time="0.04" steps="404"/></proof>
+   <proof prover="8"><result status="timeout" time="1.00" steps="379828"/></proof>
    </goal>
   </transf>
   </goal>
   <goal name="set_singleton_bool&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="0"><result status="timeout" time="1.00" steps="337143"/></proof>
-  <proof prover="1"><result status="timeout" time="1.00" steps="1947505"/></proof>
-  <proof prover="4"><result status="valid" time="0.03" steps="143"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="199863"/></proof>
+  <proof prover="0" obsolete="true"><result status="timeout" time="1.00" steps="337143"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="1947505"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="199863"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="144"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="374156"/></proof>
   </goal>
   <goal name="set_singleton_bool&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="0"><result status="timeout" time="1.00" steps="264460"/></proof>
-  <proof prover="1"><result status="timeout" time="1.00" steps="2180759"/></proof>
-  <proof prover="4"><result status="valid" time="0.05" steps="299"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="273846"/></proof>
+  <proof prover="0" obsolete="true"><result status="timeout" time="1.00" steps="264460"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2180759"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="273846"/></proof>
+  <proof prover="7"><result status="valid" time="0.04" steps="400"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="316791"/></proof>
   </goal>
   <goal name="set_singleton_bool&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="0"><result status="timeout" time="1.00" steps="426410"/></proof>
-  <proof prover="1"><result status="timeout" time="1.00" steps="2352033"/></proof>
-  <proof prover="4"><result status="valid" time="0.03" steps="129"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="283224"/></proof>
+  <proof prover="0" obsolete="true"><result status="timeout" time="1.00" steps="426410"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2352033"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="283224"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="136"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="1515606"/></proof>
   </goal>
   <goal name="set_singleton_bool&#39;vc.5" expl="postcondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.21" steps="32529"/></proof>
-  <proof prover="6"><result status="valid" time="0.11" steps="33012"/></proof>
+  <proof prover="0"><result status="valid" time="0.07" steps="33428"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="33920"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="set_singleton_int&#39;vc" expl="VC for set_singleton_int" proved="true">
- <proof prover="1"><result status="timeout" time="1.00" steps="1687638"/></proof>
- <proof prover="4"><result status="valid" time="0.19" steps="1073"/></proof>
- <proof prover="6"><result status="timeout" time="2.00" steps="409273"/></proof>
+ <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="1687638"/></proof>
+ <proof prover="6" obsolete="true"><result status="timeout" time="2.00" steps="409273"/></proof>
+ <proof prover="7"><result status="valid" time="0.18" steps="1728"/></proof>
+ <proof prover="8"><result status="timeout" time="1.00" steps="225401"/></proof>
  </goal>
- <goal name="search&#39;vc" expl="VC for search">
- <transf name="split_all_full" >
+ <goal name="search&#39;vc" expl="VC for search" proved="true">
+ <transf name="split_all_full" proved="true" >
   <goal name="search&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="51304"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="52289"/></proof>
   </goal>
   <goal name="search&#39;vc.1" expl="variant decrease" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.04" steps="314"/></proof>
-  <proof prover="6"><result status="valid" time="0.20" steps="54704"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="55640"/></proof>
   </goal>
   <goal name="search&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.03" steps="142"/></proof>
-  <proof prover="6"><result status="valid" time="0.10" steps="48121"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="48987"/></proof>
   </goal>
   <goal name="search&#39;vc.3" expl="precondition" proved="true">
-  <transf name="introduce_premises" proved="true" >
-   <goal name="search&#39;vc.3.0" expl="precondition" proved="true">
-   <transf name="inline_goal" proved="true" >
-    <goal name="search&#39;vc.3.0.0" expl="precondition" proved="true">
-    <transf name="split_all_full" proved="true" >
-     <goal name="search&#39;vc.3.0.0.0" expl="precondition" proved="true">
-     <proof prover="6"><result status="valid" time="0.15" steps="45064"/></proof>
-     </goal>
-    </transf>
-    </goal>
-   </transf>
-   </goal>
-  </transf>
+  <proof prover="6"><result status="valid" time="0.19" steps="54173"/></proof>
   </goal>
   <goal name="search&#39;vc.4" expl="precondition" proved="true">
-  <transf name="introduce_premises" proved="true" >
-   <goal name="search&#39;vc.4.0" expl="precondition" proved="true">
-   <transf name="inline_goal" proved="true" >
-    <goal name="search&#39;vc.4.0.0" expl="precondition" proved="true">
-    <proof prover="5" obsolete="true"><result status="valid" time="0.02" steps="128"/></proof>
-    <proof prover="6"><result status="valid" time="0.17" steps="44031"/></proof>
-    </goal>
-   </transf>
-   </goal>
-  </transf>
+  <proof prover="6"><result status="valid" time="0.13" steps="51919"/></proof>
   </goal>
   <goal name="search&#39;vc.5" expl="precondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.02" steps="40"/></proof>
-  <proof prover="6"><result status="valid" time="0.17" steps="51054"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="52003"/></proof>
   </goal>
   <goal name="search&#39;vc.6" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="51137"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="52086"/></proof>
   </goal>
   <goal name="search&#39;vc.7" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="48358"/></proof>
+  <proof prover="6"><result status="valid" time="0.13" steps="49224"/></proof>
   </goal>
   <goal name="search&#39;vc.8" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="55871"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="56844"/></proof>
   </goal>
   <goal name="search&#39;vc.9" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="52027"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="53252"/></proof>
   </goal>
   <goal name="search&#39;vc.10" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="52133"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="53358"/></proof>
   </goal>
   <goal name="search&#39;vc.11" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="48878"/></proof>
+  <proof prover="6"><result status="valid" time="0.08" steps="49918"/></proof>
   </goal>
   <goal name="search&#39;vc.12" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="53376"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="54601"/></proof>
   </goal>
   <goal name="search&#39;vc.13" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="53503"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="54732"/></proof>
   </goal>
   <goal name="search&#39;vc.14" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="53608"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="54837"/></proof>
   </goal>
   <goal name="search&#39;vc.15" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="63997"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="65420"/></proof>
   </goal>
   <goal name="search&#39;vc.16" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="64048"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="65475"/></proof>
   </goal>
   <goal name="search&#39;vc.17" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="64263"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="65690"/></proof>
   </goal>
   <goal name="search&#39;vc.18" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="66981"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="68582"/></proof>
   </goal>
   <goal name="search&#39;vc.19" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="63427"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="65024"/></proof>
   </goal>
-  <goal name="search&#39;vc.20" expl="assertion">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2045769"/></proof>
-  <proof prover="4"><result status="timeout" time="5.00"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="178127"/></proof>
+  <goal name="search&#39;vc.20" expl="assertion" proved="true">
+  <proof prover="6"><result status="valid" time="1.89" steps="429258"/></proof>
   </goal>
   <goal name="search&#39;vc.21" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.33" steps="74765"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2067431"/></proof>
+  <proof prover="4" obsolete="true"><result status="timeout" time="5.00"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="170965"/></proof>
+  <proof prover="8"><result status="valid" time="0.25" steps="76470"/></proof>
   </goal>
   <goal name="search&#39;vc.22" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="68629"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="70364"/></proof>
   </goal>
   <goal name="search&#39;vc.23" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="73026"/></proof>
+  <proof prover="6"><result status="valid" time="0.28" steps="75114"/></proof>
   </goal>
   <goal name="search&#39;vc.24" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="70528"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="72667"/></proof>
   </goal>
   <goal name="search&#39;vc.25" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.38" steps="86825"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="89029"/></proof>
   </goal>
   <goal name="search&#39;vc.26" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="71537"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="73680"/></proof>
   </goal>
   <goal name="search&#39;vc.27" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="71564"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="73707"/></proof>
   </goal>
   <goal name="search&#39;vc.28" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="71833"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="73976"/></proof>
   </goal>
   <goal name="search&#39;vc.29" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.41" steps="89623"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2086082"/></proof>
+  <proof prover="4" obsolete="true"><result status="timeout" time="5.00"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="154975"/></proof>
+  <proof prover="8"><result status="valid" time="0.32" steps="91734"/></proof>
   </goal>
   <goal name="search&#39;vc.30" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.55" steps="110943"/></proof>
+  <proof prover="6"><result status="valid" time="0.41" steps="112543"/></proof>
   </goal>
   <goal name="search&#39;vc.31" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="67979"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="70158"/></proof>
   </goal>
   <goal name="search&#39;vc.32" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="73190"/></proof>
+  <proof prover="6"><result status="valid" time="0.28" steps="75679"/></proof>
   </goal>
   <goal name="search&#39;vc.33" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="72826"/></proof>
+  <proof prover="6"><result status="valid" time="0.30" steps="75315"/></proof>
   </goal>
   <goal name="search&#39;vc.34" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="68089"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="70382"/></proof>
   </goal>
   <goal name="search&#39;vc.35" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="69146"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="71509"/></proof>
   </goal>
   <goal name="search&#39;vc.36" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="69796"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="72173"/></proof>
   </goal>
   <goal name="search&#39;vc.37" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.30" steps="81167"/></proof>
+  <proof prover="6"><result status="valid" time="0.30" steps="84002"/></proof>
   </goal>
   <goal name="search&#39;vc.38" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="78068"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="80832"/></proof>
   </goal>
   <goal name="search&#39;vc.39" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="70927"/></proof>
+  <proof prover="6"><result status="valid" time="0.15" steps="73460"/></proof>
   </goal>
   <goal name="search&#39;vc.40" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="70683"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="73064"/></proof>
   </goal>
   <goal name="search&#39;vc.41" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="71299"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="73832"/></proof>
   </goal>
   <goal name="search&#39;vc.42" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="71408"/></proof>
+  <proof prover="6"><result status="valid" time="0.13" steps="73941"/></proof>
   </goal>
   <goal name="search&#39;vc.43" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="71186"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="73567"/></proof>
   </goal>
   <goal name="search&#39;vc.44" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="57722"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="58862"/></proof>
   </goal>
   <goal name="search&#39;vc.45" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.38" steps="94462"/></proof>
+  <proof prover="6"><result status="valid" time="0.30" steps="97474"/></proof>
   </goal>
   <goal name="search&#39;vc.46" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="72620"/></proof>
+  <proof prover="6"><result status="valid" time="0.15" steps="75479"/></proof>
   </goal>
   <goal name="search&#39;vc.47" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="78815"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="82136"/></proof>
   </goal>
   <goal name="search&#39;vc.48" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="78278"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="81599"/></proof>
   </goal>
   <goal name="search&#39;vc.49" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="78460"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="81781"/></proof>
   </goal>
   <goal name="search&#39;vc.50" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="73009"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="75872"/></proof>
   </goal>
   <goal name="search&#39;vc.51" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="73369"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="76232"/></proof>
   </goal>
   <goal name="search&#39;vc.52" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="66165"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="68122"/></proof>
   </goal>
   <goal name="search&#39;vc.53" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="67176"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="69199"/></proof>
   </goal>
   <goal name="search&#39;vc.54" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="67821"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="69850"/></proof>
   </goal>
   <goal name="search&#39;vc.55" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.30" steps="78734"/></proof>
+  <proof prover="6"><result status="valid" time="0.30" steps="81207"/></proof>
   </goal>
   <goal name="search&#39;vc.56" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="75870"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="78272"/></proof>
   </goal>
   <goal name="search&#39;vc.57" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="68896"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="71077"/></proof>
   </goal>
   <goal name="search&#39;vc.58" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="68651"/></proof>
+  <proof prover="6"><result status="valid" time="0.28" steps="70680"/></proof>
   </goal>
   <goal name="search&#39;vc.59" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="69250"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="71431"/></proof>
   </goal>
   <goal name="search&#39;vc.60" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="69351"/></proof>
+  <proof prover="6"><result status="valid" time="0.12" steps="71532"/></proof>
   </goal>
   <goal name="search&#39;vc.61" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="69128"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="71157"/></proof>
   </goal>
   <goal name="search&#39;vc.62" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="57443"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="58551"/></proof>
   </goal>
   <goal name="search&#39;vc.63" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.38" steps="91336"/></proof>
+  <proof prover="6"><result status="valid" time="0.24" steps="93978"/></proof>
   </goal>
   <goal name="search&#39;vc.64" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="70506"/></proof>
+  <proof prover="6"><result status="valid" time="0.24" steps="72989"/></proof>
   </goal>
   <goal name="search&#39;vc.65" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="76534"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="79469"/></proof>
   </goal>
   <goal name="search&#39;vc.66" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="76014"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="78949"/></proof>
   </goal>
   <goal name="search&#39;vc.67" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="76207"/></proof>
+  <proof prover="6"><result status="valid" time="0.24" steps="79142"/></proof>
   </goal>
   <goal name="search&#39;vc.68" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="70905"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="73392"/></proof>
   </goal>
   <goal name="search&#39;vc.69" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="71249"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="73736"/></proof>
   </goal>
   <goal name="search&#39;vc.70" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="58251"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="59446"/></proof>
   </goal>
   <goal name="search&#39;vc.71" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="58072"/></proof>
+  <transf name="introduce_premises" proved="true" >
+   <goal name="search&#39;vc.71.0" expl="precondition" proved="true">
+   <transf name="inline_goal" proved="true" >
+    <goal name="search&#39;vc.71.0.0" expl="precondition" proved="true">
+    <transf name="split_all_full" proved="true" >
+     <goal name="search&#39;vc.71.0.0.0" expl="precondition" proved="true">
+     <proof prover="6"><result status="valid" time="0.15" steps="39753"/></proof>
+     </goal>
+    </transf>
+    </goal>
+   </transf>
+   </goal>
+  </transf>
   </goal>
   <goal name="search&#39;vc.72" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.07" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.73" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.08" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.74" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.09" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.75" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.09" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.76" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.30" steps="71146"/></proof>
+  <proof prover="6"><result status="valid" time="0.24" steps="72617"/></proof>
   </goal>
   <goal name="search&#39;vc.77" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="59017"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="60344"/></proof>
   </goal>
   <goal name="search&#39;vc.78" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="63163"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="64655"/></proof>
   </goal>
   <goal name="search&#39;vc.79" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="62714"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="64205"/></proof>
   </goal>
   <goal name="search&#39;vc.80" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="70325"/></proof>
+  <proof prover="6"><result status="valid" time="0.29" steps="71940"/></proof>
   </goal>
   <goal name="search&#39;vc.81" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="66148"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="67751"/></proof>
   </goal>
   <goal name="search&#39;vc.82" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="66352"/></proof>
+  <proof prover="6"><result status="valid" time="0.26" steps="67955"/></proof>
   </goal>
   <goal name="search&#39;vc.83" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="58143"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="59280"/></proof>
   </goal>
   <goal name="search&#39;vc.84" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.05" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.85" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.86" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="52150"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="53117"/></proof>
   </goal>
   <goal name="search&#39;vc.87" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="54763"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="55699"/></proof>
+  <proof prover="7"><result status="valid" time="0.04" steps="154"/></proof>
   </goal>
   <goal name="search&#39;vc.88" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="48971"/></proof>
+  <proof prover="6"><result status="valid" time="0.08" steps="49837"/></proof>
   </goal>
   <goal name="search&#39;vc.89" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="51863"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="52812"/></proof>
   </goal>
   <goal name="search&#39;vc.90" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="54429"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="55382"/></proof>
   </goal>
   <goal name="search&#39;vc.91" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="52059"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="53008"/></proof>
   </goal>
   <goal name="search&#39;vc.92" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="52144"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="53093"/></proof>
   </goal>
   <goal name="search&#39;vc.93" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="57434"/></proof>
+  <proof prover="6"><result status="valid" time="0.24" steps="58521"/></proof>
   </goal>
   <goal name="search&#39;vc.94" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="49234"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="50100"/></proof>
   </goal>
   <goal name="search&#39;vc.95" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="53030"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="54259"/></proof>
   </goal>
   <goal name="search&#39;vc.96" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="53138"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="54367"/></proof>
   </goal>
   <goal name="search&#39;vc.97" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="49728"/></proof>
+  <proof prover="6"><result status="valid" time="0.12" steps="50768"/></proof>
   </goal>
   <goal name="search&#39;vc.98" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="54843"/></proof>
+  <proof prover="6"><result status="valid" time="0.15" steps="56072"/></proof>
   </goal>
   <goal name="search&#39;vc.99" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="54971"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="56204"/></proof>
   </goal>
   <goal name="search&#39;vc.100" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="55080"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="56313"/></proof>
   </goal>
   <goal name="search&#39;vc.101" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="64106"/></proof>
+  <proof prover="6"><result status="valid" time="0.28" steps="65533"/></proof>
   </goal>
   <goal name="search&#39;vc.102" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="64157"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="65588"/></proof>
   </goal>
   <goal name="search&#39;vc.103" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="64374"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="65805"/></proof>
   </goal>
   <goal name="search&#39;vc.104" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="68392"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="69957"/></proof>
   </goal>
   <goal name="search&#39;vc.105" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="65068"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="66629"/></proof>
   </goal>
   <goal name="search&#39;vc.106" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.31" steps="75958"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2045769"/></proof>
+  <proof prover="4" obsolete="true"><result status="timeout" time="5.00"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="178127"/></proof>
+  <proof prover="8"><result status="valid" time="0.26" steps="77648"/></proof>
   </goal>
-  <goal name="search&#39;vc.107" expl="assertion">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2067431"/></proof>
-  <proof prover="4"><result status="timeout" time="5.00"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="170965"/></proof>
+  <goal name="search&#39;vc.107" expl="assertion" proved="true">
+  <proof prover="6"><result status="valid" time="0.89" steps="177951"/></proof>
   </goal>
   <goal name="search&#39;vc.108" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="70331"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="72000"/></proof>
   </goal>
   <goal name="search&#39;vc.109" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="73047"/></proof>
+  <proof prover="6"><result status="valid" time="0.28" steps="75135"/></proof>
   </goal>
   <goal name="search&#39;vc.110" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="72141"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="74240"/></proof>
   </goal>
   <goal name="search&#39;vc.111" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="68203"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="70054"/></proof>
   </goal>
   <goal name="search&#39;vc.112" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.54" steps="112691"/></proof>
+  <proof prover="6"><result status="valid" time="0.46" steps="114767"/></proof>
   </goal>
   <goal name="search&#39;vc.113" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="73193"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="75296"/></proof>
   </goal>
   <goal name="search&#39;vc.114" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="73464"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="75567"/></proof>
   </goal>
-  <goal name="search&#39;vc.115" expl="precondition">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2086082"/></proof>
-  <proof prover="4"><result status="timeout" time="5.00"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="154975"/></proof>
+  <goal name="search&#39;vc.115" expl="precondition" proved="true">
+  <proof prover="6"><result status="valid" time="1.05" steps="209515"/></proof>
   </goal>
   <goal name="search&#39;vc.116" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.41" steps="91077"/></proof>
+  <proof prover="6"><result status="valid" time="0.34" steps="93175"/></proof>
   </goal>
   <goal name="search&#39;vc.117" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="69526"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="71717"/></proof>
   </goal>
   <goal name="search&#39;vc.118" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="74698"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="77151"/></proof>
   </goal>
   <goal name="search&#39;vc.119" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="74443"/></proof>
+  <proof prover="6"><result status="valid" time="0.28" steps="76896"/></proof>
   </goal>
   <goal name="search&#39;vc.120" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="69419"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="71610"/></proof>
   </goal>
   <goal name="search&#39;vc.121" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="70679"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="73050"/></proof>
   </goal>
   <goal name="search&#39;vc.122" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="71777"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="74314"/></proof>
   </goal>
   <goal name="search&#39;vc.123" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.31" steps="82437"/></proof>
+  <proof prover="6"><result status="valid" time="0.30" steps="85236"/></proof>
   </goal>
   <goal name="search&#39;vc.124" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="78276"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="81044"/></proof>
   </goal>
   <goal name="search&#39;vc.125" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="72093"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="74486"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="174"/></proof>
   </goal>
   <goal name="search&#39;vc.126" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="72252"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="74645"/></proof>
   </goal>
   <goal name="search&#39;vc.127" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="72846"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="75387"/></proof>
   </goal>
   <goal name="search&#39;vc.128" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="58962"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="60102"/></proof>
   </goal>
   <goal name="search&#39;vc.129" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="72609"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="75002"/></proof>
   </goal>
   <goal name="search&#39;vc.130" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="72769"/></proof>
+  <proof prover="6"><result status="valid" time="0.12" steps="75162"/></proof>
   </goal>
   <goal name="search&#39;vc.131" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.40" steps="95080"/></proof>
+  <proof prover="6"><result status="valid" time="0.30" steps="98096"/></proof>
   </goal>
   <goal name="search&#39;vc.132" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="74232"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="77107"/></proof>
   </goal>
   <goal name="search&#39;vc.133" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="80346"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="83635"/></proof>
   </goal>
   <goal name="search&#39;vc.134" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.30" steps="79951"/></proof>
+  <proof prover="6"><result status="valid" time="0.20" steps="83240"/></proof>
   </goal>
   <goal name="search&#39;vc.135" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.29" steps="80035"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="83324"/></proof>
   </goal>
   <goal name="search&#39;vc.136" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="74623"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="77502"/></proof>
   </goal>
   <goal name="search&#39;vc.137" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="74985"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="77864"/></proof>
   </goal>
   <goal name="search&#39;vc.138" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="67392"/></proof>
+  <transf name="introduce_premises" proved="true" >
+   <goal name="search&#39;vc.138.0" expl="precondition" proved="true">
+   <transf name="inline_goal" proved="true" >
+    <goal name="search&#39;vc.138.0.0" expl="precondition" proved="true">
+    <proof prover="6"><result status="valid" time="0.17" steps="40520"/></proof>
+    <proof prover="7"><result status="valid" time="0.02" steps="102"/></proof>
+    </goal>
+   </transf>
+   </goal>
+  </transf>
   </goal>
   <goal name="search&#39;vc.139" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="68695"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="70722"/></proof>
   </goal>
   <goal name="search&#39;vc.140" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="69779"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="71964"/></proof>
   </goal>
   <goal name="search&#39;vc.141" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.30" steps="80045"/></proof>
+  <proof prover="6"><result status="valid" time="0.31" steps="82478"/></proof>
   </goal>
   <goal name="search&#39;vc.142" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="76037"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="78439"/></proof>
   </goal>
   <goal name="search&#39;vc.143" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="70057"/></proof>
+  <proof prover="6"><result status="valid" time="0.15" steps="72094"/></proof>
   </goal>
   <goal name="search&#39;vc.144" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="70208"/></proof>
+  <proof prover="6"><result status="valid" time="0.10" steps="72245"/></proof>
   </goal>
   <goal name="search&#39;vc.145" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="70785"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="72970"/></proof>
   </goal>
   <goal name="search&#39;vc.146" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="58683"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="59791"/></proof>
   </goal>
   <goal name="search&#39;vc.147" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="70547"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="72584"/></proof>
   </goal>
   <goal name="search&#39;vc.148" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="70699"/></proof>
+  <proof prover="6"><result status="valid" time="0.12" steps="72736"/></proof>
   </goal>
   <goal name="search&#39;vc.149" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.36" steps="91935"/></proof>
+  <proof prover="6"><result status="valid" time="0.24" steps="94577"/></proof>
   </goal>
   <goal name="search&#39;vc.150" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="72104"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="74599"/></proof>
   </goal>
   <goal name="search&#39;vc.151" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="78043"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="80942"/></proof>
   </goal>
   <goal name="search&#39;vc.152" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="77656"/></proof>
+  <proof prover="6"><result status="valid" time="0.26" steps="80555"/></proof>
   </goal>
   <goal name="search&#39;vc.153" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="77760"/></proof>
+  <proof prover="6"><result status="valid" time="0.26" steps="80659"/></proof>
   </goal>
   <goal name="search&#39;vc.154" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="72505"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="75004"/></proof>
   </goal>
   <goal name="search&#39;vc.155" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="72851"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="75350"/></proof>
   </goal>
   <goal name="search&#39;vc.156" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="59718"/></proof>
+  <proof prover="6"><result status="valid" time="0.22" steps="60913"/></proof>
   </goal>
   <goal name="search&#39;vc.157" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="59553"/></proof>
+  <proof prover="6"><result status="valid" time="0.18" steps="60706"/></proof>
   </goal>
   <goal name="search&#39;vc.158" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.08" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.159" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.08" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.160" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.09" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.161" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.08" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.162" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.30" steps="72683"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="73914"/></proof>
   </goal>
   <goal name="search&#39;vc.163" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="60508"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="61839"/></proof>
   </goal>
   <goal name="search&#39;vc.164" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="64799"/></proof>
+  <proof prover="6"><result status="valid" time="0.26" steps="66254"/></proof>
   </goal>
   <goal name="search&#39;vc.165" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="64357"/></proof>
+  <proof prover="6"><result status="valid" time="0.27" steps="65812"/></proof>
   </goal>
   <goal name="search&#39;vc.166" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="71661"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="73240"/></proof>
   </goal>
   <goal name="search&#39;vc.167" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="67776"/></proof>
+  <proof prover="6"><result status="valid" time="0.26" steps="69343"/></proof>
   </goal>
   <goal name="search&#39;vc.168" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="67982"/></proof>
+  <proof prover="6"><result status="valid" time="0.25" steps="69549"/></proof>
   </goal>
   <goal name="search&#39;vc.169" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="58551"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="59670"/></proof>
   </goal>
   <goal name="search&#39;vc.170" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.171" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.172" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="49236"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="50185"/></proof>
   </goal>
   <goal name="search&#39;vc.173" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="49313"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="50262"/></proof>
   </goal>
   <goal name="search&#39;vc.174" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="47026"/></proof>
+  <proof prover="6"><result status="valid" time="0.10" steps="47892"/></proof>
   </goal>
   <goal name="search&#39;vc.175" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="47042"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="47908"/></proof>
   </goal>
   <goal name="search&#39;vc.176" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="53632"/></proof>
+  <proof prover="6"><result status="valid" time="0.10" steps="54599"/></proof>
+  <proof prover="7"><result status="valid" time="0.03" steps="84"/></proof>
   </goal>
   <goal name="search&#39;vc.177" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="52180"/></proof>
+  <proof prover="6"><result status="valid" time="0.19" steps="53127"/></proof>
   </goal>
   <goal name="search&#39;vc.178" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.05" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.179" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.180" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="50002"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="50951"/></proof>
   </goal>
   <goal name="search&#39;vc.181" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="50116"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="51065"/></proof>
   </goal>
   <goal name="search&#39;vc.182" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="54030"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="54997"/></proof>
   </goal>
   <goal name="search&#39;vc.183" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="49311"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="50260"/></proof>
   </goal>
   <goal name="search&#39;vc.184" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="34953"/></proof>
   </goal>
   <goal name="search&#39;vc.185" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="34953"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti" proved="true">
- <proof prover="5" obsolete="true"><result status="valid" time="0.22" steps="2657"/></proof>
- <proof prover="6"><result status="valid" time="0.36" steps="76140"/></proof>
+ <proof prover="6"><result status="valid" time="0.36" steps="76043"/></proof>
+ <proof prover="7"><result status="valid" time="0.22" steps="2438"/></proof>
  </goal>
  <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb" proved="true">
  <transf name="split_all_full" proved="true" >
   <goal name="compute_vars_tb&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="40227"/></proof>
+  <proof prover="6"><result status="valid" time="0.12" steps="41182"/></proof>
   </goal>
   <goal name="compute_vars_tb&#39;vc.1" expl="variant decrease" proved="true">
-  <proof prover="0"><result status="valid" time="0.06" steps="38419"/></proof>
-  <proof prover="6"><result status="valid" time="0.14" steps="39455"/></proof>
+  <proof prover="0"><result status="valid" time="0.06" steps="39340"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="40382"/></proof>
   </goal>
   <goal name="compute_vars_tb&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="50950"/></proof>
+  <proof prover="0"><result status="valid" time="0.16" steps="51565"/></proof>
+  <proof prover="6"><result status="valid" time="0.08" steps="51901"/></proof>
   </goal>
   <goal name="compute_vars_tb&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="0"><result status="valid" time="0.05" steps="34097"/></proof>
-  <proof prover="6"><result status="valid" time="0.08" steps="34105"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="34953"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="start&#39;vc" expl="VC for start" proved="true">
  <transf name="split_vc" proved="true" >
   <goal name="start&#39;vc.0" expl="loop invariant init" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="38007"/></proof>
+  <proof prover="6"><result status="valid" time="0.10" steps="38894"/></proof>
   </goal>
   <goal name="start&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="31112"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="31911"/></proof>
   </goal>
   <goal name="start&#39;vc.2" expl="loop variant decrease" proved="true">
-  <proof prover="0"><result status="valid" time="0.16" steps="36315"/></proof>
-  <proof prover="6"><result status="valid" time="0.14" steps="37321"/></proof>
+  <proof prover="0"><result status="valid" time="0.16" steps="37184"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="38211"/></proof>
   </goal>
   <goal name="start&#39;vc.3" expl="loop invariant preservation" proved="true">
-  <transf name="split_vc" proved="true" >
-   <goal name="start&#39;vc.3.0" expl="loop invariant preservation" proved="true">
-   <proof prover="6"><result status="valid" time="0.12" steps="38580"/></proof>
-   </goal>
-   <goal name="start&#39;vc.3.1" expl="loop invariant preservation" proved="true">
-   <proof prover="6"><result status="valid" time="0.11" steps="37186"/></proof>
-   </goal>
-  </transf>
+  <proof prover="0"><result status="valid" time="0.19" steps="38699"/></proof>
+  <proof prover="6"><result status="valid" time="0.17" steps="39676"/></proof>
   </goal>
   <goal name="start&#39;vc.4" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="35509"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="36376"/></proof>
   </goal>
   <goal name="start&#39;vc.5" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="31036"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="31835"/></proof>
   </goal>
   <goal name="start&#39;vc.6" expl="loop invariant init" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="39589"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="40460"/></proof>
   </goal>
   <goal name="start&#39;vc.7" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="31603"/></proof>
+  <proof prover="6"><result status="valid" time="0.08" steps="32402"/></proof>
   </goal>
   <goal name="start&#39;vc.8" expl="loop variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="38795"/></proof>
+  <proof prover="6"><result status="valid" time="0.14" steps="39678"/></proof>
   </goal>
   <goal name="start&#39;vc.9" expl="loop invariant preservation" proved="true">
-  <proof prover="0"><result status="valid" time="0.19" steps="39213"/></proof>
-  <proof prover="6"><result status="valid" time="0.17" steps="40358"/></proof>
+  <transf name="split_vc" proved="true" >
+   <goal name="start&#39;vc.9.0" expl="loop invariant preservation" proved="true">
+   <proof prover="6"><result status="valid" time="0.11" steps="40941"/></proof>
+   </goal>
+   <goal name="start&#39;vc.9.1" expl="loop invariant preservation" proved="true">
+   <proof prover="6"><result status="valid" time="0.12" steps="40073"/></proof>
+   </goal>
+  </transf>
   </goal>
   <goal name="start&#39;vc.10" expl="precondition" proved="true">
   <transf name="split_vc" proved="true" >
    <goal name="start&#39;vc.10.0" expl="precondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.11" steps="37056"/></proof>
+   <proof prover="6"><result status="valid" time="0.11" steps="37885"/></proof>
    </goal>
   </transf>
   </goal>
   <goal name="start&#39;vc.11" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="31527"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="32326"/></proof>
   </goal>
   <goal name="start&#39;vc.12" expl="assertion" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2378927"/></proof>
-  <proof prover="4"><result status="valid" time="0.13" steps="800"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.10" steps="600"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="243000"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2378927"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="243000"/></proof>
+  <proof prover="7"><result status="valid" time="0.11" steps="1733"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="372985"/></proof>
   </goal>
   <goal name="start&#39;vc.13" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="43345"/></proof>
+  <proof prover="6"><result status="valid" time="0.12" steps="46204"/></proof>
   </goal>
   <goal name="start&#39;vc.14" expl="precondition" proved="true">
+  <proof prover="6"><result status="valid" time="0.24" steps="46484"/></proof>
+  </goal>
+  <goal name="start&#39;vc.15" expl="precondition" proved="true">
+  <proof prover="6"><result status="valid" time="0.25" steps="46544"/></proof>
+  </goal>
+  <goal name="start&#39;vc.16" expl="precondition" proved="true">
   <transf name="split_all_full" proved="true" >
-   <goal name="start&#39;vc.14.0" expl="precondition" proved="true">
+   <goal name="start&#39;vc.16.0" expl="VC for start" proved="true">
+   <proof prover="8"><result status="valid" time="0.16" steps="55364"/></proof>
+   </goal>
+   <goal name="start&#39;vc.16.1" expl="VC for start" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="start&#39;vc.14.0.0" expl="precondition" proved="true">
+    <goal name="start&#39;vc.16.1.0" expl="VC for start" proved="true">
     <transf name="split_all_full" proved="true" >
-     <goal name="start&#39;vc.14.0.0.0" expl="precondition" proved="true">
-     <proof prover="0"><result status="valid" time="0.16" steps="53188"/></proof>
-     <proof prover="6"><result status="valid" time="0.21" steps="53899"/></proof>
+     <goal name="start&#39;vc.16.1.0.0" expl="VC for start" proved="true">
+     <proof prover="0"><result status="valid" time="0.16" steps="57768"/></proof>
+     <proof prover="6"><result status="valid" time="0.21" steps="58548"/></proof>
      </goal>
     </transf>
     </goal>
@@ -1523,15 +1366,18 @@
    </goal>
   </transf>
   </goal>
-  <goal name="start&#39;vc.15" expl="precondition" proved="true">
+  <goal name="start&#39;vc.17" expl="precondition" proved="true">
   <transf name="split_all_full" proved="true" >
-   <goal name="start&#39;vc.15.0" expl="precondition" proved="true">
+   <goal name="start&#39;vc.17.0" expl="VC for start" proved="true">
+   <proof prover="8"><result status="valid" time="0.15" steps="55532"/></proof>
+   </goal>
+   <goal name="start&#39;vc.17.1" expl="VC for start" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="start&#39;vc.15.0.0" expl="precondition" proved="true">
+    <goal name="start&#39;vc.17.1.0" expl="VC for start" proved="true">
     <transf name="split_all_full" proved="true" >
-     <goal name="start&#39;vc.15.0.0.0" expl="precondition" proved="true">
-     <proof prover="0"><result status="valid" time="0.24" steps="53256"/></proof>
-     <proof prover="6"><result status="valid" time="0.31" steps="53963"/></proof>
+     <goal name="start&#39;vc.17.1.0.0" expl="VC for start" proved="true">
+     <proof prover="0"><result status="valid" time="0.24" steps="57798"/></proof>
+     <proof prover="6"><result status="valid" time="0.31" steps="58561"/></proof>
      </goal>
     </transf>
     </goal>
@@ -1539,23 +1385,17 @@
    </goal>
   </transf>
   </goal>
-  <goal name="start&#39;vc.16" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="53445"/></proof>
-  </goal>
-  <goal name="start&#39;vc.17" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="53392"/></proof>
-  </goal>
   <goal name="start&#39;vc.18" expl="precondition" proved="true">
   <transf name="split_all_full" proved="true" >
    <goal name="start&#39;vc.18.0" expl="precondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.29" steps="47117"/></proof>
+   <proof prover="6"><result status="valid" time="0.16" steps="49699"/></proof>
    </goal>
   </transf>
   </goal>
   <goal name="start&#39;vc.19" expl="precondition" proved="true">
   <transf name="split_all_full" proved="true" >
    <goal name="start&#39;vc.19.0" expl="precondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.15" steps="47222"/></proof>
+   <proof prover="6"><result status="valid" time="0.15" steps="49804"/></proof>
    </goal>
   </transf>
   </goal>
@@ -1566,11 +1406,11 @@
     <goal name="start&#39;vc.20.0.0" expl="assertion" proved="true">
     <transf name="split_vc" proved="true" >
      <goal name="start&#39;vc.20.0.0.0" expl="assertion" proved="true">
-     <proof prover="0"><result status="valid" time="0.21" steps="54577"/></proof>
-     <proof prover="6"><result status="valid" time="0.26" steps="55423"/></proof>
+     <proof prover="0"><result status="valid" time="0.21" steps="57487"/></proof>
+     <proof prover="6"><result status="valid" time="0.26" steps="58202"/></proof>
      </goal>
      <goal name="start&#39;vc.20.0.0.1" expl="assertion" proved="true">
-     <proof prover="6"><result status="valid" time="0.32" steps="55617"/></proof>
+     <proof prover="6"><result status="valid" time="0.32" steps="58341"/></proof>
      </goal>
     </transf>
     </goal>
@@ -1585,11 +1425,11 @@
     <goal name="start&#39;vc.21.0.0" expl="postcondition" proved="true">
     <transf name="split_vc" proved="true" >
      <goal name="start&#39;vc.21.0.0.0" expl="postcondition" proved="true">
-     <proof prover="0"><result status="valid" time="0.12" steps="40344"/></proof>
-     <proof prover="6"><result status="valid" time="0.14" steps="41562"/></proof>
+     <proof prover="0"><result status="valid" time="0.12" steps="41466"/></proof>
+     <proof prover="6"><result status="valid" time="0.14" steps="42718"/></proof>
      </goal>
      <goal name="start&#39;vc.21.0.0.1" expl="postcondition" proved="true">
-     <proof prover="6"><result status="valid" time="0.14" steps="41562"/></proof>
+     <proof prover="6"><result status="valid" time="0.14" steps="42718"/></proof>
      </goal>
     </transf>
     </goal>
@@ -1598,10 +1438,10 @@
   </transf>
   </goal>
   <goal name="start&#39;vc.22" expl="postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2493731"/></proof>
-  <proof prover="4"><result status="valid" time="0.18" steps="692"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.09" steps="612"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="236113"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2493731"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="236113"/></proof>
+  <proof prover="7"><result status="valid" time="0.12" steps="1871"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="285744"/></proof>
   </goal>
   <goal name="start&#39;vc.23" expl="postcondition" proved="true">
   <transf name="split_all_full" proved="true" >
@@ -1610,10 +1450,10 @@
     <goal name="start&#39;vc.23.0.0" expl="postcondition" proved="true">
     <transf name="split_all_full" proved="true" >
      <goal name="start&#39;vc.23.0.0.0" expl="postcondition" proved="true">
-     <proof prover="1"><result status="timeout" time="1.00" steps="2474718"/></proof>
-     <proof prover="4"><result status="valid" time="0.17" steps="692"/></proof>
-     <proof prover="5" obsolete="true"><result status="valid" time="0.10" steps="612"/></proof>
-     <proof prover="6"><result status="timeout" time="1.00" steps="197736"/></proof>
+     <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2474718"/></proof>
+     <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="197736"/></proof>
+     <proof prover="7"><result status="valid" time="0.13" steps="1871"/></proof>
+     <proof prover="8"><result status="timeout" time="1.00" steps="346780"/></proof>
      </goal>
     </transf>
     </goal>
@@ -1622,41 +1462,41 @@
   </transf>
   </goal>
   <goal name="start&#39;vc.24" expl="postcondition" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.02" steps="84"/></proof>
-  <proof prover="6"><result status="valid" time="0.11" steps="34093"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="35051"/></proof>
+  <proof prover="7"><result status="valid" time="0.02" steps="109"/></proof>
   </goal>
   <goal name="start&#39;vc.25" expl="exceptional postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2372556"/></proof>
-  <proof prover="4"><result status="valid" time="0.52" steps="1893"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.19" steps="1153"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="172050"/></proof>
+  <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2372556"/></proof>
+  <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="172050"/></proof>
+  <proof prover="7"><result status="valid" time="0.38" steps="7109"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="350010"/></proof>
   </goal>
  </transf>
  </goal>
 </theory>
 <theory name="DomB" proved="true">
  <goal name="is_singleton_correct1&#39;vc" expl="VC for is_singleton_correct1" proved="true">
- <proof prover="6"><result status="valid" time="0.08" steps="26960"/></proof>
+ <proof prover="6"><result status="valid" time="0.08" steps="27177"/></proof>
  </goal>
  <goal name="get_singleton&#39;vc" expl="VC for get_singleton" proved="true">
- <proof prover="6"><result status="valid" time="0.10" steps="26920"/></proof>
+ <proof prover="6"><result status="valid" time="0.10" steps="27137"/></proof>
  </goal>
  <goal name="is_singleton&#39;vc" expl="VC for is_singleton" proved="true">
- <proof prover="6"><result status="valid" time="0.05" steps="32152"/></proof>
+ <proof prover="6"><result status="valid" time="0.05" steps="32346"/></proof>
  </goal>
  <goal name="mk_singleton&#39;vc" expl="VC for mk_singleton" proved="true">
- <proof prover="0"><result status="valid" time="0.04" steps="26380"/></proof>
- <proof prover="6"><result status="valid" time="0.09" steps="26802"/></proof>
+ <proof prover="0"><result status="valid" time="0.04" steps="26595"/></proof>
+ <proof prover="6"><result status="valid" time="0.09" steps="27019"/></proof>
  </goal>
  <goal name="size_pos" proved="true">
  <transf name="introduce_premises" proved="true" >
   <goal name="size_pos.0" proved="true">
   <transf name="destruct_term" proved="true" arg1="x">
    <goal name="size_pos.0.0" proved="true">
-   <proof prover="6"><result status="valid" time="0.07" steps="26862"/></proof>
+   <proof prover="6"><result status="valid" time="0.07" steps="27079"/></proof>
    </goal>
    <goal name="size_pos.0.1" proved="true">
-   <proof prover="6"><result status="valid" time="0.07" steps="26760"/></proof>
+   <proof prover="6"><result status="valid" time="0.07" steps="26977"/></proof>
    </goal>
   </transf>
   </goal>
@@ -1669,20 +1509,20 @@
    <goal name="strictly_included_in_size.0.0" proved="true">
    <transf name="destruct_term" proved="true" arg1="d2">
     <goal name="strictly_included_in_size.0.0.0" proved="true">
-    <proof prover="6"><result status="valid" time="0.09" steps="26982"/></proof>
+    <proof prover="6"><result status="valid" time="0.09" steps="27199"/></proof>
     </goal>
     <goal name="strictly_included_in_size.0.0.1" proved="true">
-    <proof prover="6"><result status="valid" time="0.08" steps="27068"/></proof>
+    <proof prover="6"><result status="valid" time="0.08" steps="27285"/></proof>
     </goal>
    </transf>
    </goal>
    <goal name="strictly_included_in_size.0.1" proved="true">
    <transf name="destruct_term" proved="true" arg1="d2">
     <goal name="strictly_included_in_size.0.1.0" proved="true">
-    <proof prover="6"><result status="valid" time="0.08" steps="26964"/></proof>
+    <proof prover="6"><result status="valid" time="0.08" steps="27181"/></proof>
     </goal>
     <goal name="strictly_included_in_size.0.1.1" proved="true">
-    <proof prover="6"><result status="valid" time="0.07" steps="26921"/></proof>
+    <proof prover="6"><result status="valid" time="0.07" steps="27138"/></proof>
     </goal>
    </transf>
    </goal>
@@ -1693,82 +1533,83 @@
 </theory>
 <theory name="DomI" proved="true">
  <goal name="is_singleton_correct1&#39;vc" expl="VC for is_singleton_correct1" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="28225"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="28406"/></proof>
  </goal>
  <goal name="get_singleton&#39;vc" expl="VC for get_singleton" proved="true">
- <proof prover="6"><result status="valid" time="0.20" steps="28039"/></proof>
+ <proof prover="6"><result status="valid" time="0.20" steps="28268"/></proof>
  </goal>
  <goal name="is_singleton&#39;vc" expl="VC for is_singleton" proved="true">
- <proof prover="6"><result status="valid" time="0.17" steps="36314"/></proof>
+ <proof prover="6"><result status="valid" time="0.17" steps="36493"/></proof>
  </goal>
  <goal name="mk_singleton&#39;vc" expl="VC for mk_singleton" proved="true">
- <proof prover="0"><result status="valid" time="0.06" steps="27206"/></proof>
- <proof prover="6"><result status="valid" time="0.11" steps="27991"/></proof>
+ <proof prover="0"><result status="valid" time="0.06" steps="27421"/></proof>
+ <proof prover="6"><result status="valid" time="0.11" steps="28224"/></proof>
  </goal>
  <goal name="strictly_included_in_size" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="28349"/></proof>
+ <proof prover="6"><result status="valid" time="0.06" steps="28578"/></proof>
  </goal>
 </theory>
 <theory name="ConstraintHelpers" proved="true">
  <goal name="size_envi&#39;vc" expl="VC for size_envi" proved="true">
- <proof prover="6"><result status="valid" time="0.19" steps="36919"/></proof>
+ <proof prover="6"><result status="valid" time="0.19" steps="37147"/></proof>
  </goal>
  <goal name="size_envb&#39;vc" expl="VC for size_envb" proved="true">
- <proof prover="6"><result status="valid" time="0.14" steps="37067"/></proof>
+ <proof prover="6"><result status="valid" time="0.14" steps="37295"/></proof>
  </goal>
  <goal name="size_envb_add1&#39;vc" expl="VC for size_envb_add1" proved="true">
  <transf name="split_vc" proved="true" >
   <goal name="size_envb_add1&#39;vc.0" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="33399"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="33626"/></proof>
   </goal>
   <goal name="size_envb_add1&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="31848"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="32065"/></proof>
   </goal>
   <goal name="size_envb_add1&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="33611"/></proof>
+  <proof prover="6"><result status="valid" time="0.11" steps="33803"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="size_envb_add2&#39;vc" expl="VC for size_envb_add2" proved="true">
  <transf name="split_vc" proved="true" >
   <goal name="size_envb_add2&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="31950"/></proof>
+  <proof prover="6"><result status="valid" time="0.09" steps="32167"/></proof>
   </goal>
   <goal name="size_envb_add2&#39;vc.1" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="33677"/></proof>
+  <proof prover="6"><result status="valid" time="0.05" steps="33904"/></proof>
   </goal>
   <goal name="size_envb_add2&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="31953"/></proof>
+  <proof prover="6"><result status="valid" time="0.13" steps="32170"/></proof>
   </goal>
   <goal name="size_envb_add2&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="33605"/></proof>
+  <proof prover="6"><result status="valid" time="0.15" steps="33816"/></proof>
   </goal>
  </transf>
  </goal>
  <goal name="size_envi_add1&#39;vc" expl="VC for size_envi_add1" proved="true">
  <transf name="split_all_full" proved="true" >
   <goal name="size_envi_add1&#39;vc.0" expl="variant decrease" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="40982"/></proof>
+  <proof prover="6"><result status="valid" time="0.06" steps="41209"/></proof>
   </goal>
   <goal name="size_envi_add1&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="37797"/></proof>
+  <proof prover="6"><result status="valid" time="0.21" steps="38014"/></proof>
   </goal>
   <goal name="size_envi_add1&#39;vc.2" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="37935"/></proof>
+  <proof prover="6"><result status="valid" time="0.13" steps="38132"/></proof>
   </goal>
   <goal name="size_envi_add1&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="39946"/></proof>
+  <proof prover="6"><result status="valid" time="0.16" steps="40163"/></proof>
   </goal>
   <goal name="size_envi_add1&#39;vc.4" expl="postcondition" proved="true">
-  <transf name="introduce_premises" proved="true" >
-   <goal name="size_envi_add1&#39;vc.4.0" expl="postcondition" proved="true">
-   <transf name="inline_goal" proved="true" >
-    <goal name="size_envi_add1&#39;vc.4.0.0" expl="postcondition" proved="true">
-    <transf name="split_all_full" proved="true" >
-     <goal name="size_envi_add1&#39;vc.4.0.0.0" expl="postcondition" proved="true">
-     <proof prover="1"><result status="timeout" time="1.00" steps="2135905"/></proof>
-     <proof prover="4"><result status="valid" time="0.02" steps="66"/></proof>
-     <proof prover="6"><result status="timeout" time="1.00" steps="250726"/></proof>
+  <proof prover="8"><result status="valid" time="0.12" steps="41810"/></proof>
+  <transf name="introduce_premises" >
+   <goal name="size_envi_add1&#39;vc.4.0" expl="postcondition">
+   <transf name="inline_goal" >
+    <goal name="size_envi_add1&#39;vc.4.0.0" expl="postcondition">
+    <transf name="split_all_full" >
+     <goal name="size_envi_add1&#39;vc.4.0.0.0" expl="postcondition">
+     <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="2135905"/></proof>
+     <proof prover="4" obsolete="true"><result status="valid" time="0.02" steps="66"/></proof>
+     <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="250726"/></proof>
      </goal>
     </transf>
     </goal>
@@ -1779,1089 +1620,1050 @@
  </transf>
  </goal>
  <goal name="size_envi_add2&#39;vc" expl="VC for size_envi_add2" proved="true">
- <proof prover="6"><result status="valid" time="0.15" steps="38841"/></proof>
+ <proof prover="6"><result status="valid" time="0.15" steps="39039"/></proof>
  </goal>
  <goal name="size_envi_add3&#39;vc" expl="VC for size_envi_add3" proved="true">
- <proof prover="6"><result status="valid" time="0.18" steps="37831"/></proof>
+ <proof prover="6"><result status="valid" time="0.18" steps="38086"/></proof>
  </goal>
  <goal name="size_envb_add3&#39;vc" expl="VC for size_envb_add3" proved="true">
- <proof prover="6"><result status="valid" time="0.16" steps="37765"/></proof>
+ <proof prover="6"><result status="valid" time="0.16" steps="38020"/></proof>
  </goal>
  <goal name="update_bool&#39;vc" expl="VC for update_bool" proved="true">
- <proof prover="6"><result status="valid" time="0.87" steps="118905"/></proof>
+ <proof prover="6"><result status="valid" time="0.87" steps="132084"/></proof>
  </goal>
  <goal name="set_bool&#39;vc" expl="VC for set_bool" proved="true">
- <proof prover="6"><result status="valid" time="0.57" steps="87326"/></proof>
+ <proof prover="6"><result status="valid" time="0.57" steps="88356"/></proof>
  </goal>
  <goal name="update_int&#39;vc" expl="VC for update_int" proved="true">
- <proof prover="1"><result status="timeout" time="1.00" steps="1778215"/></proof>
- <proof prover="4"><result status="valid" time="0.73" steps="3029"/></proof>
- <proof prover="6"><result status="timeout" time="1.00" steps="117909"/></proof>
+ <proof prover="1" obsolete="true"><result status="timeout" time="1.00" steps="1778215"/></proof>
+ <proof prover="4" obsolete="true"><result status="valid" time="0.73" steps="3029"/></proof>
+ <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="117909"/></proof>
+ <proof prover="7"><result status="valid" time="0.68" steps="7172"/></proof>
+ <proof prover="8"><result status="timeout" time="1.00" steps="154398"/></proof>
  </goal>
  <goal name="set_int&#39;vc" expl="VC for set_int" proved="true">
- <proof prover="1"><result status="timeout" time="1.00" steps="1942462"/></proof>
- <proof prover="4"><result status="valid" time="4.29" steps="13081"/></proof>
- <proof prover="6"><result status="timeout" time="1.00" steps="162179"/></proof>
- </goal>
-</theory>
-<theory name="ConstraintCst" proved="true">
- <goal name="t&#39;vc" expl="VC for t" proved="true">
- <proof prover="6"><result status="valid" time="0.11" steps="31472"/></proof>
- </goal>
- <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti" proved="true">
- <proof prover="6"><result status="valid" time="0.15" steps="39206"/></proof>
- </goal>
- <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb" proved="true">
- <proof prover="6"><result status="valid" time="0.14" steps="39197"/></proof>
- </goal>
- <goal name="propagate&#39;vc" expl="VC for propagate" proved="true">
+ <proof prover="1"><result status="timeout" time="1.00" steps="2303088"/></proof>
+ <proof prover="4" obsolete="true"><result status="valid" time="4.29" steps="13081"/></proof>
+ <proof prover="6" obsolete="true"><result status="timeout" time="1.00" steps="162179"/></proof>
+ <proof prover="7"><result status="timeout" time="1.00"/></proof>
+ <proof prover="8"><result status="timeout" time="1.00" steps="180502"/></proof>
  <transf name="split_vc" proved="true" >
-  <goal name="propagate&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="56318"/></proof>
+  <goal name="set_int&#39;vc.0" expl="precondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.06" steps="30547"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.33" steps="61294"/></proof>
+  <goal name="set_int&#39;vc.1" expl="assertion" proved="true">
+  <proof prover="8"><result status="valid" time="0.14" steps="41884"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.42" steps="70106"/></proof>
+  <goal name="set_int&#39;vc.2" expl="assertion" proved="true">
+  <proof prover="8"><result status="valid" time="0.10" steps="36807"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="32275"/></proof>
+  <goal name="set_int&#39;vc.3" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.10" steps="35400"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="30483"/></proof>
+  <goal name="set_int&#39;vc.4" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.06" steps="30049"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.5" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="37406"/></proof>
+  <goal name="set_int&#39;vc.5" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.10" steps="37622"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.6" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.42" steps="83371"/></proof>
+  <goal name="set_int&#39;vc.6" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.04" steps="30170"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.7" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.29" steps="61282"/></proof>
+  <goal name="set_int&#39;vc.7" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.05" steps="30239"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.8" expl="exceptional postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1674807"/></proof>
-  <proof prover="4"><result status="valid" time="0.16" steps="1066"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.07" steps="721"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="176693"/></proof>
+  <goal name="set_int&#39;vc.8" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.05" steps="30256"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.9" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="29882"/></proof>
+  <goal name="set_int&#39;vc.9" expl="precondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.05" steps="30935"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.10" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="29919"/></proof>
+  <goal name="set_int&#39;vc.10" expl="precondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.10" steps="36517"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.11" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="29952"/></proof>
+  <goal name="set_int&#39;vc.11" expl="assertion" proved="true">
+  <proof prover="8"><result status="valid" time="0.13" steps="39809"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.12" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="36190"/></proof>
+  <goal name="set_int&#39;vc.12" expl="assertion" proved="true">
+  <proof prover="7"><result status="valid" time="0.10" steps="1073"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="281966"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.13" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="29781"/></proof>
+  <goal name="set_int&#39;vc.13" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.12" steps="38750"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.14" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="29818"/></proof>
+  <goal name="set_int&#39;vc.14" expl="postcondition" proved="true">
+  <proof prover="7"><result status="valid" time="0.24" steps="2655"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="261394"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.15" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="29851"/></proof>
+  <goal name="set_int&#39;vc.15" expl="postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.12" steps="40136"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.16" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="35525"/></proof>
+  <goal name="set_int&#39;vc.16" expl="postcondition" proved="true">
+  <proof prover="7"><result status="valid" time="0.31" steps="3747"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="263284"/></proof>
+  </goal>
+  <goal name="set_int&#39;vc.17" expl="postcondition" proved="true">
+  <proof prover="7"><result status="valid" time="0.19" steps="2118"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="234892"/></proof>
+  </goal>
+  <goal name="set_int&#39;vc.18" expl="postcondition" proved="true">
+  <proof prover="7"><result status="valid" time="0.12" steps="1370"/></proof>
+  <proof prover="8"><result status="timeout" time="1.00" steps="234872"/></proof>
+  </goal>
+  <goal name="set_int&#39;vc.19" expl="exceptional postcondition" proved="true">
+  <proof prover="8"><result status="valid" time="0.12" steps="37746"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="check_model&#39;vc" expl="VC for check_model" proved="true">
- <proof prover="6"><result status="valid" time="0.35" steps="67948"/></proof>
- </goal>
-</theory>
-<theory name="ConstraintIsTrue" proved="true">
- <goal name="t&#39;vc" expl="VC for t" proved="true">
- <proof prover="6"><result status="valid" time="0.10" steps="31261"/></proof>
- </goal>
- <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti" proved="true">
- <proof prover="6"><result status="valid" time="0.13" steps="36539"/></proof>
- </goal>
- <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb" proved="true">
- <proof prover="6"><result status="valid" time="0.14" steps="38801"/></proof>
- </goal>
- <goal name="propagate&#39;vc" expl="VC for propagate" proved="true">
- <proof prover="6"><result status="valid" time="0.96" steps="113061"/></proof>
- </goal>
- <goal name="check_model&#39;vc" expl="VC for check_model" proved="true">
- <proof prover="6"><result status="valid" time="0.28" steps="58410"/></proof>
- </goal>
 </theory>
-<theory name="ConstraintAdd" proved="true">
- <goal name="t&#39;vc" expl="VC for t" proved="true">
- <proof prover="6"><result status="valid" time="0.12" steps="31962"/></proof>
- </goal>
- <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti" proved="true">
- <proof prover="1"><result status="timeout" time="1.00" steps="1722846"/></proof>
- <proof prover="4"><result status="valid" time="4.03" steps="28652"/></proof>
- <proof prover="5" obsolete="true"><result status="valid" time="0.57" steps="3133"/></proof>
- <proof prover="6"><result status="timeout" time="1.00" steps="203999"/></proof>
- </goal>
- <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb" proved="true">
- <proof prover="6"><result status="valid" time="0.16" steps="39687"/></proof>
- </goal>
- <goal name="propagate&#39;vc" expl="VC for propagate" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="propagate&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="60917"/></proof>
+<theory name="ConstraintSimple">
+ <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti">
+ <transf name="split_all_full" >
+  <goal name="compute_vars_ti&#39;vc.0" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="40093"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="65646"/></proof>
+  <goal name="compute_vars_ti&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="40035"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.42" steps="74422"/></proof>
+  <goal name="compute_vars_ti&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="40035"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.3" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.47" steps="79613"/></proof>
+  <goal name="compute_vars_ti&#39;vc.3" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="40093"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.4" expl="assertion" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1751784"/></proof>
-  <proof prover="4"><result status="valid" time="0.43" steps="3500"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.49" steps="3561"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="147369"/></proof>
+  <goal name="compute_vars_ti&#39;vc.4" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="40093"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.5" expl="assertion" proved="true">
-  <transf name="split_all_full" proved="true" >
-   <goal name="propagate&#39;vc.5.0" expl="VC for propagate" proved="true">
-   <proof prover="5" timelimit="10" memlimit="4000" obsolete="true"><result status="valid" time="0.27" steps="1711"/></proof>
-   <proof prover="6"><result status="valid" time="0.91" steps="180147"/></proof>
-   </goal>
-   <goal name="propagate&#39;vc.5.1" expl="VC for propagate" proved="true">
-   <proof prover="6"><result status="valid" time="0.84" steps="177548"/></proof>
-   </goal>
-  </transf>
+  <goal name="compute_vars_ti&#39;vc.5" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.21" steps="40035"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.6" expl="assertion" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1890046"/></proof>
-  <proof prover="4"><result status="valid" time="0.44" steps="2956"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.64" steps="3918"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="145465"/></proof>
+  <goal name="compute_vars_ti&#39;vc.6" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="40035"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.7" expl="assertion" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="46786"/></proof>
+ </transf>
+ </goal>
+ <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb">
+ <transf name="split_vc" >
+  <goal name="compute_vars_tb&#39;vc.0" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="35732"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.8" expl="assertion" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.20" steps="369"/></proof>
-  <proof prover="6"><result status="valid" time="0.24" steps="50118"/></proof>
+  <goal name="compute_vars_tb&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="35732"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.9" expl="assertion" proved="true">
-  <proof prover="5" obsolete="true"><result status="valid" time="0.20" steps="446"/></proof>
-  <proof prover="6"><result status="valid" time="0.23" steps="50690"/></proof>
+  <goal name="compute_vars_tb&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="35732"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.10" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.46" steps="78103"/></proof>
+  <goal name="compute_vars_tb&#39;vc.3" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.11" steps="35732"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.11" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.54" steps="102180"/></proof>
+  <goal name="compute_vars_tb&#39;vc.4" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="35732"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.12" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.70" steps="118908"/></proof>
+  <goal name="compute_vars_tb&#39;vc.5" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="35732"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.13" expl="postcondition" proved="true">
-  <transf name="split_all_full" proved="true" >
-   <goal name="propagate&#39;vc.13.0" expl="postcondition" proved="true">
-   <transf name="inline_goal" proved="true" >
-    <goal name="propagate&#39;vc.13.0.0" expl="postcondition" proved="true">
-    <transf name="split_all_full" proved="true" >
-     <goal name="propagate&#39;vc.13.0.0.0" expl="VC for propagate" proved="true">
-     <transf name="introduce_premises" proved="true" >
-      <goal name="propagate&#39;vc.13.0.0.0.0" expl="VC for propagate" proved="true">
-      <transf name="inline_goal" proved="true" >
-       <goal name="propagate&#39;vc.13.0.0.0.0.0" expl="VC for propagate" proved="true">
-       <transf name="split_all_full" proved="true" >
-        <goal name="propagate&#39;vc.13.0.0.0.0.0.0" expl="VC for propagate" proved="true">
-        <transf name="inline_goal" proved="true" >
-         <goal name="propagate&#39;vc.13.0.0.0.0.0.0.0" expl="VC for propagate" proved="true">
-         <proof prover="1"><result status="timeout" time="1.00" steps="2141965"/></proof>
-         <proof prover="4"><result status="valid" time="0.53" steps="2257"/></proof>
-         <proof prover="5" obsolete="true"><result status="valid" time="0.87" steps="2517"/></proof>
-         <proof prover="6"><result status="timeout" time="1.00" steps="139375"/></proof>
-         </goal>
-        </transf>
-        </goal>
-        <goal name="propagate&#39;vc.13.0.0.0.0.0.1" expl="VC for propagate" proved="true">
-        <transf name="inline_goal" proved="true" >
-         <goal name="propagate&#39;vc.13.0.0.0.0.0.1.0" expl="VC for propagate" proved="true">
-         <proof prover="1"><result status="timeout" time="1.00" steps="2045017"/></proof>
-         <proof prover="4"><result status="valid" time="0.54" steps="2257"/></proof>
-         <proof prover="5" obsolete="true"><result status="valid" time="0.91" steps="2442"/></proof>
-         <proof prover="6"><result status="timeout" time="1.00" steps="142504"/></proof>
-         </goal>
-        </transf>
-        </goal>
-       </transf>
-       </goal>
-      </transf>
-      </goal>
-     </transf>
-     </goal>
-     <goal name="propagate&#39;vc.13.0.0.1" expl="VC for propagate" proved="true">
-     <proof prover="6"><result status="valid" time="0.14" steps="44878"/></proof>
-     </goal>
-    </transf>
-    </goal>
-   </transf>
-   </goal>
-  </transf>
+  <goal name="compute_vars_tb&#39;vc.6" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="35732"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.14" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="38693"/></proof>
+ </transf>
+ </goal>
+ <goal name="propagate&#39;vc" expl="VC for propagate">
+ <transf name="split_vc" >
+  <goal name="propagate&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.22" steps="35435"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.15" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="34771"/></proof>
+  <goal name="propagate&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="38520"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.16" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="42908"/></proof>
+  <goal name="propagate&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="35849"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.17" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.42" steps="68605"/></proof>
+  <goal name="propagate&#39;vc.3" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.18" expl="exceptional postcondition" proved="true">
-  <transf name="split_all_full" proved="true" >
-   <goal name="propagate&#39;vc.18.0" expl="exceptional postcondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.33" steps="60090"/></proof>
-   </goal>
-  </transf>
+  <goal name="propagate&#39;vc.4" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="33668"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.19" expl="exceptional postcondition" proved="true">
-  <transf name="split_all_full" proved="true" >
-   <goal name="propagate&#39;vc.19.0" expl="exceptional postcondition" proved="true">
-   <proof prover="5" timelimit="10" memlimit="4000" obsolete="true"><result status="valid" time="0.11" steps="806"/></proof>
-   <proof prover="6"><result status="valid" time="0.20" steps="45734"/></proof>
-   </goal>
-  </transf>
+  <goal name="propagate&#39;vc.5" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.11" steps="38191"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.20" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.28" steps="65634"/></proof>
+  <goal name="propagate&#39;vc.6" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="35435"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.21" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.40" steps="74410"/></proof>
+  <goal name="propagate&#39;vc.7" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="38520"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.22" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.45" steps="79601"/></proof>
+  <goal name="propagate&#39;vc.8" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="35849"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.23" expl="exceptional postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1868424"/></proof>
-  <proof prover="4"><result status="valid" time="0.19" steps="1449"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.13" steps="1167"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="128196"/></proof>
+  <goal name="propagate&#39;vc.9" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="33678"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.24" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="30156"/></proof>
+  <goal name="propagate&#39;vc.10" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.09" steps="33668"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.25" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="30193"/></proof>
+  <goal name="propagate&#39;vc.11" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="38191"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.26" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="30226"/></proof>
+  <goal name="propagate&#39;vc.12" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="35435"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.27" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="37780"/></proof>
+  <goal name="propagate&#39;vc.13" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="38520"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.28" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.05" steps="29883"/></proof>
+  <goal name="propagate&#39;vc.14" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="35849"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.29" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="29920"/></proof>
+  <goal name="propagate&#39;vc.15" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.30" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.04" steps="29953"/></proof>
+  <goal name="propagate&#39;vc.16" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="33668"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.31" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="35757"/></proof>
+  <goal name="propagate&#39;vc.17" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="38191"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.18" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="35435"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.19" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="38520"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.20" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="35849"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.21" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.22" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="33668"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.23" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="38191"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.24" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="35435"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.25" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="38520"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.26" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="35849"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.27" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.28" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="33668"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.29" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="38191"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.30" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="35435"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.31" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="38520"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.32" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.11" steps="35849"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.33" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.34" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.09" steps="33668"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.35" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="38191"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.36" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="35435"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.37" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.09" steps="33180"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.38" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="33217"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.39" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="33221"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.40" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="33221"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="check_model&#39;vc" expl="VC for check_model" proved="true">
- <proof prover="6"><result status="valid" time="0.83" steps="133818"/></proof>
- </goal>
-</theory>
-<theory name="ConstraintLe" proved="true">
- <goal name="t&#39;vc" expl="VC for t" proved="true">
- <proof prover="6"><result status="valid" time="0.11" steps="31692"/></proof>
- </goal>
- <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti" proved="true">
- <proof prover="6"><result status="valid" time="0.79" steps="114150"/></proof>
- </goal>
- <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb" proved="true">
- <proof prover="6"><result status="valid" time="0.16" steps="39490"/></proof>
- </goal>
- <goal name="propagate&#39;vc" expl="VC for propagate" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="propagate&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.29" steps="58398"/></proof>
+ <goal name="check_model&#39;vc" expl="VC for check_model">
+ <transf name="split_all_full" >
+  <goal name="check_model&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="40085"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="62700"/></proof>
+  <goal name="check_model&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.20" steps="40085"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.66" steps="114453"/></proof>
+  <goal name="check_model&#39;vc.2" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.19" steps="40085"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.3" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.44" steps="68678"/></proof>
+  <goal name="check_model&#39;vc.3" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.11" steps="40085"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.4" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.86" steps="160538"/></proof>
+  <goal name="check_model&#39;vc.4" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="40085"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.5" expl="postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2309594"/></proof>
-  <proof prover="4"><result status="valid" time="0.94" steps="6798"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.78" steps="6602"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="152366"/></proof>
+  <goal name="check_model&#39;vc.5" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="40085"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.6" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="36320"/></proof>
+  <goal name="check_model&#39;vc.6" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.18" steps="40085"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.7" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="33031"/></proof>
+  <goal name="check_model&#39;vc.7" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="43372"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.8" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="39816"/></proof>
+  <goal name="check_model&#39;vc.8" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="43372"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.9" expl="exceptional postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2240086"/></proof>
-  <proof prover="4"><result status="valid" time="0.24" steps="1559"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.21" steps="1436"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="151984"/></proof>
+  <goal name="check_model&#39;vc.9" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="43372"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.10" expl="exceptional postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2062996"/></proof>
-  <proof prover="4"><result status="valid" time="0.13" steps="815"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.14" steps="1010"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="163775"/></proof>
+  <goal name="check_model&#39;vc.10" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="43372"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.11" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.31" steps="62688"/></proof>
+  <goal name="check_model&#39;vc.11" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="43372"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.12" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.64" steps="114445"/></proof>
+  <goal name="check_model&#39;vc.12" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="43372"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.13" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.35" steps="68666"/></proof>
+  <goal name="check_model&#39;vc.13" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="40792"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.14" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.92" steps="160543"/></proof>
+ </transf>
+ </goal>
+</theory>
+<theory name="ConstraintBoolPresent">
+ <goal name="t&#39;vc" expl="VC for t">
+ <proof prover="6"><result status="valid" time="0.10" steps="31261"/></proof>
+ </goal>
+ <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti">
+ <proof prover="6"><result status="valid" time="0.18" steps="36494"/></proof>
+ </goal>
+ <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb">
+ <proof prover="6"><result status="valid" time="0.20" steps="38756"/></proof>
+ </goal>
+ <goal name="propagate&#39;vc" expl="VC for propagate">
+ <proof prover="6"><result status="valid" time="0.15" steps="34844"/></proof>
+ </goal>
+ <goal name="check_model&#39;vc" expl="VC for check_model">
+ <proof prover="6"><result status="valid" time="0.16" steps="29536"/></proof>
+ </goal>
+</theory>
+<theory name="Bool">
+ <goal name="andb&#39;&#39;vc" expl="VC for andb&#39;">
+ <proof prover="6"><result status="valid" time="0.08" steps="219"/></proof>
+ </goal>
+</theory>
+<theory name="ConstraintCst">
+ <goal name="t&#39;vc" expl="VC for t">
+ <proof prover="6"><result status="valid" time="0.11" steps="31472"/></proof>
+ </goal>
+ <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti">
+ <proof prover="6"><result status="valid" time="0.15" steps="39206"/></proof>
+ </goal>
+ <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb">
+ <proof prover="6"><result status="valid" time="0.14" steps="39197"/></proof>
+ </goal>
+ <goal name="propagate&#39;vc" expl="VC for propagate">
+ <transf name="split_vc" >
+  <goal name="propagate&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.24" steps="56318"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.15" expl="postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2309558"/></proof>
-  <proof prover="4"><result status="valid" time="0.42" steps="2886"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="1.12" steps="7469"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="165181"/></proof>
+  <goal name="propagate&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.33" steps="61294"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.16" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="36356"/></proof>
+  <goal name="propagate&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.42" steps="70106"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.17" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="33067"/></proof>
+  <goal name="propagate&#39;vc.3" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="32275"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.18" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="39852"/></proof>
+  <goal name="propagate&#39;vc.4" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="30483"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.19" expl="exceptional postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2238772"/></proof>
-  <proof prover="4"><result status="valid" time="0.36" steps="2419"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.28" steps="1396"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="164125"/></proof>
+  <goal name="propagate&#39;vc.5" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="37406"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.20" expl="exceptional postcondition" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2060404"/></proof>
-  <proof prover="4"><result status="valid" time="0.15" steps="900"/></proof>
-  <proof prover="5" obsolete="true"><result status="valid" time="0.15" steps="1126"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="142393"/></proof>
+  <goal name="propagate&#39;vc.6" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.42" steps="83371"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.21" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="29873"/></proof>
+  <goal name="propagate&#39;vc.7" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.29" steps="61282"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.22" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="29910"/></proof>
+  <goal name="propagate&#39;vc.8" expl="exceptional postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="1674807"/></proof>
+  <proof prover="4"><result status="valid" time="0.16" steps="1066"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="0.07" steps="721"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="176693"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.23" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="29943"/></proof>
+  <goal name="propagate&#39;vc.9" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="29882"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.24" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="35689"/></proof>
+  <goal name="propagate&#39;vc.10" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.05" steps="29919"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.11" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="29952"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.12" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="36190"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.13" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="29781"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.14" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="29818"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.15" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="29851"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.16" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.13" steps="35525"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="check_model&#39;vc" expl="VC for check_model" proved="true">
- <proof prover="6"><result status="valid" time="0.52" steps="94792"/></proof>
+ <goal name="check_model&#39;vc" expl="VC for check_model">
+ <proof prover="6"><result status="valid" time="0.35" steps="67948"/></proof>
  </goal>
 </theory>
-<theory name="ConstraintOr" proved="true">
- <goal name="t&#39;vc" expl="VC for t" proved="true">
+<theory name="ConstraintOr">
+ <goal name="t&#39;vc" expl="VC for t">
  <proof prover="6"><result status="valid" time="0.09" steps="31694"/></proof>
  </goal>
- <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti" proved="true">
+ <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti">
  <proof prover="6"><result status="valid" time="0.13" steps="36863"/></proof>
  </goal>
- <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb" proved="true">
+ <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb">
  <proof prover="1"><result status="timeout" time="1.00" steps="1822352"/></proof>
  <proof prover="4"><result status="valid" time="3.27" steps="21085"/></proof>
  <proof prover="5" obsolete="true"><result status="valid" time="0.60" steps="3000"/></proof>
  <proof prover="6"><result status="timeout" time="1.00" steps="231466"/></proof>
  </goal>
- <goal name="propagate&#39;vc" expl="VC for propagate" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="propagate&#39;vc.0" expl="precondition" proved="true">
+ <goal name="propagate&#39;vc" expl="VC for propagate">
+ <transf name="split_vc" >
+  <goal name="propagate&#39;vc.0" expl="precondition">
   <proof prover="6"><result status="valid" time="0.27" steps="59415"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.1" expl="precondition" proved="true">
+  <goal name="propagate&#39;vc.1" expl="precondition">
   <proof prover="6"><result status="valid" time="0.26" steps="63256"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.2" expl="precondition" proved="true">
+  <goal name="propagate&#39;vc.2" expl="precondition">
   <proof prover="6"><result status="valid" time="0.44" steps="70486"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.3" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.3" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.69" steps="112938"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.4" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.4" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.10" steps="32409"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.5" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.5" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.05" steps="30587"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.6" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.6" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.12" steps="37967"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.7" expl="exceptional postcondition" proved="true">
+  <goal name="propagate&#39;vc.7" expl="exceptional postcondition">
   <proof prover="6"><result status="valid" time="0.49" steps="93695"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.8" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.8" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.06" steps="29884"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.9" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.9" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.05" steps="29921"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.10" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.10" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.06" steps="29954"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.11" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.11" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.15" steps="36154"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.12" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.12" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.06" steps="29868"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.13" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.13" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.06" steps="29905"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.14" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.14" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.06" steps="29938"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.15" expl="postcondition" proved="true">
+  <goal name="propagate&#39;vc.15" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.15" steps="36075"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="check_model&#39;vc" expl="VC for check_model" proved="true">
+ <goal name="check_model&#39;vc" expl="VC for check_model">
  <proof prover="6"><result status="valid" time="0.45" steps="76798"/></proof>
  </goal>
 </theory>
-<theory name="ConstraintNot" proved="true">
- <goal name="t&#39;vc" expl="VC for t" proved="true">
- <proof prover="6"><result status="valid" time="0.11" steps="31474"/></proof>
+<theory name="All">
+ <goal name="Engine.DomI.get_singleton&#39;refn&#39;vc" expl="VC for get_singleton&#39;refn">
+ <proof prover="6"><result status="valid" time="0.07" steps="33241"/></proof>
  </goal>
- <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti" proved="true">
- <proof prover="6"><result status="valid" time="0.13" steps="36707"/></proof>
+ <goal name="Engine.DomI.is_singleton&#39;refn&#39;vc" expl="VC for is_singleton&#39;refn">
+ <proof prover="6"><result status="valid" time="0.11" steps="39054"/></proof>
  </goal>
- <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb" proved="true">
- <proof prover="6"><result status="valid" time="0.74" steps="108865"/></proof>
+ <goal name="Engine.DomI.mk_singleton&#39;refn&#39;vc" expl="VC for mk_singleton&#39;refn">
+ <proof prover="6"><result status="valid" time="0.05" steps="33241"/></proof>
  </goal>
- <goal name="propagate&#39;vc" expl="VC for propagate" proved="true">
- <transf name="split_all_full" proved="true" >
-  <goal name="propagate&#39;vc.0" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="37657"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="42047"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="34016"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="33245"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="34123"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.5" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="39510"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.6" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="52647"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.7" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="52206"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.8" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="40723"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.9" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="40760"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.10" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="44631"/></proof>
+ <goal name="Engine.DomI.size_pos">
+ <proof prover="6"><result status="valid" time="0.11" steps="37510"/></proof>
+ </goal>
+ <goal name="Engine.DomB.get_singleton&#39;refn&#39;vc" expl="VC for get_singleton&#39;refn">
+ <transf name="split_vc" >
+  <goal name="get_singleton&#39;refn&#39;vc.0" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="37729"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.11" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="47938"/></proof>
+  <goal name="get_singleton&#39;refn&#39;vc.1" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="33527"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="check_model&#39;vc" expl="VC for check_model" proved="true">
- <proof prover="6"><result status="valid" time="0.34" steps="67336"/></proof>
- </goal>
-</theory>
-<theory name="ConstraintBoolPresent" proved="true">
- <goal name="t&#39;vc" expl="VC for t" proved="true">
- <proof prover="6"><result status="valid" time="0.10" steps="31261"/></proof>
+ <goal name="Engine.DomB.is_singleton&#39;refn&#39;vc" expl="VC for is_singleton&#39;refn">
+ <proof prover="6"><result status="valid" time="0.11" steps="39319"/></proof>
  </goal>
- <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti" proved="true">
- <proof prover="6"><result status="valid" time="0.18" steps="36494"/></proof>
+ <goal name="Engine.DomB.mk_singleton&#39;refn&#39;vc" expl="VC for mk_singleton&#39;refn">
+ <proof prover="6"><result status="valid" time="0.14" steps="33514"/></proof>
  </goal>
- <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb" proved="true">
- <proof prover="6"><result status="valid" time="0.20" steps="38756"/></proof>
+ <goal name="Engine.DomB.size_pos">
+ <transf name="unfold" arg1="size">
+  <goal name="size_pos.0">
+  <transf name="split_vc" >
+   <goal name="size_pos.0.0">
+   <proof prover="6"><result status="valid" time="0.11" steps="37657"/></proof>
+   </goal>
+  </transf>
+  </goal>
+ </transf>
  </goal>
- <goal name="propagate&#39;vc" expl="VC for propagate" proved="true">
- <proof prover="6"><result status="valid" time="0.15" steps="34844"/></proof>
+ <goal name="Engine.Constraint.compute_vars_ti&#39;refn&#39;vc" expl="VC for compute_vars_ti&#39;refn">
+ <proof prover="6"><result status="valid" time="0.06" steps="33540"/></proof>
  </goal>
- <goal name="check_model&#39;vc" expl="VC for check_model" proved="true">
- <proof prover="6"><result status="valid" time="0.16" steps="29536"/></proof>
+ <goal name="Engine.Constraint.compute_vars_tb&#39;refn&#39;vc" expl="VC for compute_vars_tb&#39;refn">
+ <proof prover="6"><result status="valid" time="0.15" steps="33540"/></proof>
  </goal>
-</theory>
-<theory name="ConstraintSimple" proved="true">
- <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti" proved="true">
- <transf name="split_all_full" proved="true" >
-  <goal name="compute_vars_ti&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="40093"/></proof>
-  </goal>
-  <goal name="compute_vars_ti&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="40035"/></proof>
-  </goal>
-  <goal name="compute_vars_ti&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="40035"/></proof>
+ <goal name="Engine.size_pos">
+ <proof prover="6"><result status="valid" time="0.12" steps="39932"/></proof>
+ </goal>
+ <goal name="Engine.size_dirty">
+ <proof prover="6"><result status="valid" time="0.12" steps="39962"/></proof>
+ </goal>
+ <goal name="Engine.propagate&#39;refn&#39;vc" expl="VC for propagate&#39;refn">
+ <proof prover="1"><result status="timeout" time="1.00" steps="1521480"/></proof>
+ <proof prover="4"><result status="timeout" time="5.00"/></proof>
+ <proof prover="6"><result status="timeout" time="1.00" steps="174508"/></proof>
+ </goal>
+ <goal name="Engine.check_model&#39;refn&#39;vc" expl="VC for check_model&#39;refn">
+ <transf name="split_vc" >
+  <goal name="check_model&#39;refn&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="35113"/></proof>
   </goal>
-  <goal name="compute_vars_ti&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="40093"/></proof>
+  <goal name="check_model&#39;refn&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="37848"/></proof>
   </goal>
-  <goal name="compute_vars_ti&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="40093"/></proof>
+ </transf>
+ </goal>
+ <goal name="start&#39;&#39;vc" expl="VC for start&#39;">
+ <proof prover="6"><result status="valid" time="0.51" steps="94514"/></proof>
+ </goal>
+</theory>
+<theory name="Tagtbl">
+ <goal name="Make.t&#39;vc" expl="VC for t">
+ <transf name="split_vc" >
+  <goal name="t&#39;vc.0" expl="array creation size">
+  <proof prover="6"><result status="valid" time="0.04" steps="13962"/></proof>
   </goal>
-  <goal name="compute_vars_ti&#39;vc.5" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="40035"/></proof>
+  <goal name="t&#39;vc.1" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.07" steps="21133"/></proof>
   </goal>
-  <goal name="compute_vars_ti&#39;vc.6" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="40035"/></proof>
+  <goal name="t&#39;vc.2" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.04" steps="21075"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="compute_vars_tb&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="35732"/></proof>
-  </goal>
-  <goal name="compute_vars_tb&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="35732"/></proof>
+ <goal name="Make.create&#39;vc" expl="VC for create">
+ <transf name="split_vc" >
+  <goal name="create&#39;vc.0" expl="integer overflow">
+  <proof prover="6"><result status="valid" time="0.10" steps="16764"/></proof>
   </goal>
-  <goal name="compute_vars_tb&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="35732"/></proof>
+  <goal name="create&#39;vc.1" expl="array creation size">
+  <proof prover="6"><result status="valid" time="0.10" steps="15668"/></proof>
   </goal>
-  <goal name="compute_vars_tb&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="35732"/></proof>
+  <goal name="create&#39;vc.2" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="22584"/></proof>
   </goal>
-  <goal name="compute_vars_tb&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="35732"/></proof>
+  <goal name="create&#39;vc.3" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="22459"/></proof>
   </goal>
-  <goal name="compute_vars_tb&#39;vc.5" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="35732"/></proof>
+  <goal name="create&#39;vc.4" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.05" steps="16423"/></proof>
   </goal>
-  <goal name="compute_vars_tb&#39;vc.6" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="35732"/></proof>
+  <goal name="create&#39;vc.5" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.05" steps="15988"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="propagate&#39;vc" expl="VC for propagate" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="propagate&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="35435"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="38520"/></proof>
-  </goal>
-  <goal name="propagate&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="35849"/></proof>
+ <goal name="Make.max_tags&#39;vc" expl="VC for max_tags">
+ <transf name="split_vc" >
+  <goal name="max_tags&#39;vc.0" expl="integer overflow">
+  <proof prover="6"><result status="valid" time="0.09" steps="17971"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
+  <goal name="max_tags&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="18482"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="33668"/></proof>
+  <goal name="max_tags&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="17650"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.5" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="38191"/></proof>
+ </transf>
+ </goal>
+ <goal name="Make.set&#39;vc" expl="VC for set">
+ <transf name="split_vc" >
+  <goal name="set&#39;vc.0" expl="index in array bounds">
+  <proof prover="6"><result status="valid" time="0.09" steps="19413"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.6" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="35435"/></proof>
+  <goal name="set&#39;vc.1" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.06" steps="25445"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.7" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="38520"/></proof>
+  <goal name="set&#39;vc.2" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.12" steps="28272"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.8" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="35849"/></proof>
+  <goal name="set&#39;vc.3" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="17167"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.9" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="33678"/></proof>
+ </transf>
+ </goal>
+ <goal name="Make.find&#39;vc" expl="VC for find">
+ <transf name="split_vc" >
+  <goal name="find&#39;vc.0" expl="index in array bounds">
+  <proof prover="6"><result status="valid" time="0.08" steps="19523"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.10" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="33668"/></proof>
+  <goal name="find&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="21746"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.11" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="38191"/></proof>
+ </transf>
+ </goal>
+ <goal name="Make.Lock.t&#39;vc" expl="VC for t">
+ <transf name="split_vc" >
+  <goal name="t&#39;vc.0" expl="array creation size">
+  <proof prover="6"><result status="valid" time="0.05" steps="15390"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.12" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="35435"/></proof>
+  <goal name="t&#39;vc.1" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.08" steps="23037"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.13" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="38520"/></proof>
+  <goal name="t&#39;vc.2" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.08" steps="23043"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.14" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="35849"/></proof>
+ </transf>
+ </goal>
+ <goal name="Make.Lock.find&#39;vc" expl="VC for find">
+ <transf name="split_vc" >
+  <goal name="find&#39;vc.0" expl="index in array bounds">
+  <proof prover="6"><result status="valid" time="0.10" steps="20247"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.15" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
+  <goal name="find&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="23111"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.16" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="33668"/></proof>
+ </transf>
+ </goal>
+ <goal name="Make.copy_lock&#39;vc" expl="VC for copy_lock">
+ <transf name="split_vc" >
+  <goal name="copy_lock&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.04" steps="26047"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.17" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="38191"/></proof>
+  <goal name="copy_lock&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="25006"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.18" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="35435"/></proof>
+  <goal name="copy_lock&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="18140"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.19" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="38520"/></proof>
+  <goal name="copy_lock&#39;vc.3" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.05" steps="18599"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.20" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="35849"/></proof>
+ </transf>
+ </goal>
+ <goal name="Make.copy_unlock&#39;vc" expl="VC for copy_unlock">
+ <transf name="split_vc" >
+  <goal name="copy_unlock&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="26017"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.21" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
+  <goal name="copy_unlock&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="25020"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.22" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="33668"/></proof>
+  <goal name="copy_unlock&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="18147"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.23" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="38191"/></proof>
+  <goal name="copy_unlock&#39;vc.3" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.05" steps="18614"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.24" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="35435"/></proof>
+ </transf>
+ </goal>
+</theory>
+<theory name="APIDefensive">
+ <goal name="create_vari&#39;vc" expl="VC for create_vari">
+ <transf name="split_vc" >
+  <goal name="create_vari&#39;vc.0" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.09" steps="41766"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.25" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="38520"/></proof>
+  <goal name="create_vari&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.20" steps="39679"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.26" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="35849"/></proof>
+  <goal name="create_vari&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="47288"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.27" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
+ </transf>
+ </goal>
+ <goal name="create_varb&#39;vc" expl="VC for create_varb">
+ <proof prover="6"><result status="valid" time="0.09" steps="38886"/></proof>
+ </goal>
+ <goal name="create_context&#39;vc" expl="VC for create_context">
+ <transf name="split_vc" >
+  <goal name="create_context&#39;vc.0" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.20" steps="45406"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.28" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="33668"/></proof>
+ </transf>
+ </goal>
+ <goal name="true_is_true">
+ <proof prover="6"><result status="valid" time="0.18" steps="43451"/></proof>
+ </goal>
+ <goal name="zero_is_zero">
+ <proof prover="6"><result status="valid" time="0.17" steps="43390"/></proof>
+ </goal>
+ <goal name="check_ti&#39;vc" expl="VC for check_ti">
+ <transf name="split_vc" >
+  <goal name="check_ti&#39;vc.0" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.24" steps="50148"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.29" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="38191"/></proof>
+  <goal name="check_ti&#39;vc.1" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.20" steps="50279"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.30" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="35435"/></proof>
+  <goal name="check_ti&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.18" steps="41692"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.31" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="38520"/></proof>
+  <goal name="check_ti&#39;vc.3" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.21" steps="49673"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.32" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="35849"/></proof>
+ </transf>
+ </goal>
+ <goal name="check_tb&#39;vc" expl="VC for check_tb">
+ <proof prover="6"><result status="valid" time="0.13" steps="54245"/></proof>
+ </goal>
+ <goal name="is_cst_reif&#39;vc" expl="VC for is_cst_reif">
+ <proof prover="6"><result status="valid" time="0.18" steps="48045"/></proof>
+ </goal>
+ <goal name="is_cst&#39;vc" expl="VC for is_cst">
+ <proof prover="6"><result status="valid" time="0.08" steps="39054"/></proof>
+ </goal>
+ <goal name="add_reif&#39;vc" expl="VC for add_reif">
+ <proof prover="6"><result status="valid" time="0.21" steps="48201"/></proof>
+ </goal>
+ <goal name="add&#39;vc" expl="VC for add">
+ <proof prover="6"><result status="valid" time="0.11" steps="48120"/></proof>
+ </goal>
+ <goal name="le_reif&#39;vc" expl="VC for le_reif">
+ <transf name="split_vc" >
+  <goal name="le_reif&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="41706"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.33" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="33678"/></proof>
+  <goal name="le_reif&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="41709"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.34" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="33668"/></proof>
+  <goal name="le_reif&#39;vc.2" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="41576"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.35" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="38191"/></proof>
+  <goal name="le_reif&#39;vc.3" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="49857"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.36" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="35435"/></proof>
+  <goal name="le_reif&#39;vc.4" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="44829"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.37" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="33180"/></proof>
+  <goal name="le_reif&#39;vc.5" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="44825"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.38" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="33217"/></proof>
+  <goal name="le_reif&#39;vc.6" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="44821"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.39" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.07" steps="33221"/></proof>
+ </transf>
+ </goal>
+ <goal name="le&#39;vc" expl="VC for le">
+ <proof prover="6"><result status="valid" time="0.13" steps="48042"/></proof>
+ </goal>
+ <goal name="or&#39;vc" expl="VC for or">
+ <proof prover="6"><result status="valid" time="0.24" steps="48120"/></proof>
+ </goal>
+ <goal name="not_&#39;vc" expl="VC for not_">
+ <proof prover="6"><result status="valid" time="0.17" steps="48042"/></proof>
+ </goal>
+ <goal name="model&#39;vc" expl="VC for model">
+ <proof prover="6"><result status="valid" time="0.17" steps="57348"/></proof>
+ </goal>
+ <goal name="solve&#39;vc" expl="VC for solve">
+ <proof prover="6"><result status="valid" time="0.28" steps="68942"/></proof>
+ </goal>
+ <goal name="get_model_i&#39;vc" expl="VC for get_model_i">
+ <proof prover="6"><result status="valid" time="0.23" steps="52718"/></proof>
+ </goal>
+ <goal name="get_model_b&#39;vc" expl="VC for get_model_b">
+ <proof prover="6"><result status="valid" time="0.17" steps="52403"/></proof>
+ </goal>
+</theory>
+<theory name="ConstraintIsTrue">
+ <goal name="t&#39;vc" expl="VC for t">
+ <proof prover="6"><result status="valid" time="0.10" steps="31261"/></proof>
+ </goal>
+ <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti">
+ <proof prover="6"><result status="valid" time="0.13" steps="36539"/></proof>
+ </goal>
+ <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb">
+ <proof prover="6"><result status="valid" time="0.14" steps="38801"/></proof>
+ </goal>
+ <goal name="propagate&#39;vc" expl="VC for propagate">
+ <proof prover="6"><result status="valid" time="0.96" steps="113061"/></proof>
+ </goal>
+ <goal name="check_model&#39;vc" expl="VC for check_model">
+ <proof prover="6"><result status="valid" time="0.28" steps="58410"/></proof>
+ </goal>
+</theory>
+<theory name="API">
+ <goal name="true_&#39;vc" expl="VC for true_">
+ <transf name="split_vc" >
+  <goal name="true_&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.17" steps="37885"/></proof>
   </goal>
-  <goal name="propagate&#39;vc.40" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="33221"/></proof>
+ </transf>
+ </goal>
+ <goal name="zero_&#39;vc" expl="VC for zero_">
+ <transf name="split_vc" >
+  <goal name="zero_&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.19" steps="37917"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="check_model&#39;vc" expl="VC for check_model" proved="true">
- <transf name="split_all_full" proved="true" >
-  <goal name="check_model&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="40085"/></proof>
+ <goal name="context&#39;vc" expl="VC for context">
+ <proof prover="1"><result status="timeout" time="1.00" steps="1775200"/></proof>
+ <proof prover="4"><result status="timeout" time="5.00"/></proof>
+ <proof prover="6"><result status="timeout" time="1.00" steps="137643"/></proof>
+ </goal>
+ <goal name="create_vari&#39;vc" expl="VC for create_vari">
+ <transf name="split_vc" >
+  <goal name="create_vari&#39;vc.0" expl="integer overflow">
+  <proof prover="6"><result status="valid" time="0.22" steps="44535"/></proof>
   </goal>
-  <goal name="check_model&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="40085"/></proof>
+  <goal name="create_vari&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.20" steps="44762"/></proof>
   </goal>
-  <goal name="check_model&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="40085"/></proof>
+  <goal name="create_vari&#39;vc.2" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.22" steps="44635"/></proof>
   </goal>
-  <goal name="check_model&#39;vc.3" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="40085"/></proof>
+  <goal name="create_vari&#39;vc.3" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.22" steps="41623"/></proof>
   </goal>
-  <goal name="check_model&#39;vc.4" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="40085"/></proof>
+  <goal name="create_vari&#39;vc.4" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.26" steps="41705"/></proof>
   </goal>
-  <goal name="check_model&#39;vc.5" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="40085"/></proof>
+  <goal name="create_vari&#39;vc.5" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="41747"/></proof>
   </goal>
-  <goal name="check_model&#39;vc.6" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="40085"/></proof>
+  <goal name="create_vari&#39;vc.6" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.23" steps="41815"/></proof>
   </goal>
-  <goal name="check_model&#39;vc.7" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="43372"/></proof>
+  <goal name="create_vari&#39;vc.7" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.24" steps="41845"/></proof>
   </goal>
-  <goal name="check_model&#39;vc.8" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="43372"/></proof>
-  </goal>
-  <goal name="check_model&#39;vc.9" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="43372"/></proof>
-  </goal>
-  <goal name="check_model&#39;vc.10" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="43372"/></proof>
-  </goal>
-  <goal name="check_model&#39;vc.11" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="43372"/></proof>
-  </goal>
-  <goal name="check_model&#39;vc.12" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="43372"/></proof>
-  </goal>
-  <goal name="check_model&#39;vc.13" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="40792"/></proof>
-  </goal>
- </transf>
- </goal>
-</theory>
-<theory name="All">
- <goal name="Engine.DomI.get_singleton&#39;refn&#39;vc" expl="VC for get_singleton&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.07" steps="33241"/></proof>
- </goal>
- <goal name="Engine.DomI.is_singleton&#39;refn&#39;vc" expl="VC for is_singleton&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.11" steps="39054"/></proof>
- </goal>
- <goal name="Engine.DomI.mk_singleton&#39;refn&#39;vc" expl="VC for mk_singleton&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.05" steps="33241"/></proof>
- </goal>
- <goal name="Engine.DomI.size_pos" proved="true">
- <proof prover="6"><result status="valid" time="0.11" steps="37510"/></proof>
- </goal>
- <goal name="Engine.DomB.get_singleton&#39;refn&#39;vc" expl="VC for get_singleton&#39;refn" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="get_singleton&#39;refn&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="37729"/></proof>
-  </goal>
-  <goal name="get_singleton&#39;refn&#39;vc.1" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="33527"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="Engine.DomB.is_singleton&#39;refn&#39;vc" expl="VC for is_singleton&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.11" steps="39319"/></proof>
- </goal>
- <goal name="Engine.DomB.mk_singleton&#39;refn&#39;vc" expl="VC for mk_singleton&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.14" steps="33514"/></proof>
- </goal>
- <goal name="Engine.DomB.size_pos" proved="true">
- <transf name="unfold" proved="true" arg1="size">
-  <goal name="size_pos.0" proved="true">
-  <transf name="split_vc" proved="true" >
-   <goal name="size_pos.0.0" proved="true">
-   <proof prover="6"><result status="valid" time="0.11" steps="37657"/></proof>
-   </goal>
-  </transf>
-  </goal>
- </transf>
- </goal>
- <goal name="Engine.Constraint.compute_vars_ti&#39;refn&#39;vc" expl="VC for compute_vars_ti&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.06" steps="33540"/></proof>
- </goal>
- <goal name="Engine.Constraint.compute_vars_tb&#39;refn&#39;vc" expl="VC for compute_vars_tb&#39;refn" proved="true">
- <proof prover="6"><result status="valid" time="0.15" steps="33540"/></proof>
- </goal>
- <goal name="Engine.size_pos" proved="true">
- <proof prover="6"><result status="valid" time="0.12" steps="39932"/></proof>
- </goal>
- <goal name="Engine.size_dirty" proved="true">
- <proof prover="6"><result status="valid" time="0.12" steps="39962"/></proof>
- </goal>
- <goal name="Engine.propagate&#39;refn&#39;vc" expl="VC for propagate&#39;refn">
- <proof prover="1"><result status="timeout" time="1.00" steps="1521480"/></proof>
- <proof prover="4"><result status="timeout" time="5.00"/></proof>
- <proof prover="6"><result status="timeout" time="1.00" steps="174508"/></proof>
- </goal>
- <goal name="Engine.check_model&#39;refn&#39;vc" expl="VC for check_model&#39;refn" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="check_model&#39;refn&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.06" steps="35113"/></proof>
-  </goal>
-  <goal name="check_model&#39;refn&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="37848"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="start&#39;&#39;vc" expl="VC for start&#39;" proved="true">
- <proof prover="6"><result status="valid" time="0.51" steps="94514"/></proof>
- </goal>
-</theory>
-<theory name="API">
- <goal name="true_&#39;vc" expl="VC for true_" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="true_&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="37885"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="zero_&#39;vc" expl="VC for zero_" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="zero_&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="37917"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="context&#39;vc" expl="VC for context">
- <proof prover="1"><result status="timeout" time="1.00" steps="1775200"/></proof>
- <proof prover="4"><result status="timeout" time="5.00"/></proof>
- <proof prover="6"><result status="timeout" time="1.00" steps="137643"/></proof>
- </goal>
- <goal name="create_vari&#39;vc" expl="VC for create_vari" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="create_vari&#39;vc.0" expl="integer overflow" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="44535"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="44762"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="44635"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.3" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="41623"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.4" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="41705"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.5" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="41747"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.6" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.23" steps="41815"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.7" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="41845"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.8" expl="assertion" proved="true">
+  <goal name="create_vari&#39;vc.8" expl="assertion">
   <proof prover="6"><result status="valid" time="0.22" steps="42257"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.9" expl="assertion" proved="true">
+  <goal name="create_vari&#39;vc.9" expl="assertion">
   <proof prover="6"><result status="valid" time="0.18" steps="46173"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.10" expl="assertion" proved="true">
+  <goal name="create_vari&#39;vc.10" expl="assertion">
   <proof prover="3"><result status="timeout" time="1.00"/></proof>
   <proof prover="6"><result status="valid" time="0.18" steps="46313"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.11" expl="assertion" proved="true">
+  <goal name="create_vari&#39;vc.11" expl="assertion">
   <proof prover="3"><result status="timeout" time="1.00"/></proof>
   <proof prover="6"><result status="valid" time="0.21" steps="50138"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.12" expl="assertion" proved="true">
-  <transf name="split_all_full" proved="true" >
-   <goal name="create_vari&#39;vc.12.0" expl="assertion" proved="true">
+  <goal name="create_vari&#39;vc.12" expl="assertion">
+  <transf name="split_all_full" >
+   <goal name="create_vari&#39;vc.12.0" expl="assertion">
    <proof prover="6"><result status="valid" time="0.20" steps="55954"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="create_vari&#39;vc.13" expl="assertion" proved="true">
+  <goal name="create_vari&#39;vc.13" expl="assertion">
   <proof prover="1"><result status="timeout" time="1.00" steps="2085181"/></proof>
   <proof prover="4"><result status="valid" time="1.40" steps="5665"/></proof>
   <proof prover="5" obsolete="true"><result status="valid" time="1.86" steps="3161"/></proof>
   <proof prover="6"><result status="timeout" time="1.00" steps="198223"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.14" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.14" expl="type invariant">
   <proof prover="5" obsolete="true"><result status="valid" time="0.19" steps="803"/></proof>
   <proof prover="6"><result status="valid" time="0.28" steps="63745"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.15" expl="type invariant" proved="true">
-  <transf name="split_vc" proved="true" >
-   <goal name="create_vari&#39;vc.15.0" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.15" expl="type invariant">
+  <transf name="split_vc" >
+   <goal name="create_vari&#39;vc.15.0" expl="type invariant">
    <proof prover="5" obsolete="true"><result status="valid" time="0.11" steps="367"/></proof>
    <proof prover="6"><result status="valid" time="0.19" steps="51185"/></proof>
    </goal>
-   <goal name="create_vari&#39;vc.15.1" expl="type invariant" proved="true">
+   <goal name="create_vari&#39;vc.15.1" expl="type invariant">
    <proof prover="6"><result status="valid" time="0.21" steps="51357"/></proof>
    </goal>
-   <goal name="create_vari&#39;vc.15.2" expl="type invariant" proved="true">
+   <goal name="create_vari&#39;vc.15.2" expl="type invariant">
    <proof prover="6"><result status="valid" time="0.23" steps="53631"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="create_vari&#39;vc.16" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.16" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.18" steps="49121"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.17" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.17" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.19" steps="49613"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.18" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.18" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.18" steps="47233"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.19" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.19" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.17" steps="47223"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.20" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.20" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.60" steps="134797"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.21" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.21" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.59" steps="135997"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.22" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.22" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.79" steps="140642"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.23" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.23" expl="type invariant">
   <proof prover="1"><result status="timeout" time="1.00" steps="2008622"/></proof>
   <proof prover="4"><result status="valid" time="0.14" steps="639"/></proof>
   <proof prover="6"><result status="timeout" time="1.00" steps="141392"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.24" expl="type invariant" proved="true">
+  <goal name="create_vari&#39;vc.24" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.81" steps="148472"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.25" expl="postcondition" proved="true">
+  <goal name="create_vari&#39;vc.25" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.23" steps="55479"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.26" expl="postcondition" proved="true">
+  <goal name="create_vari&#39;vc.26" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.09" steps="39958"/></proof>
   </goal>
-  <goal name="create_vari&#39;vc.27" expl="postcondition" proved="true">
+  <goal name="create_vari&#39;vc.27" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.60" steps="94852"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="create_varb&#39;vc" expl="VC for create_varb" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="create_varb&#39;vc.0" expl="integer overflow" proved="true">
+ <goal name="create_varb&#39;vc" expl="VC for create_varb">
+ <transf name="split_vc" >
+  <goal name="create_varb&#39;vc.0" expl="integer overflow">
   <proof prover="6"><result status="valid" time="0.16" steps="44750"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.1" expl="precondition" proved="true">
+  <goal name="create_varb&#39;vc.1" expl="precondition">
   <proof prover="6"><result status="valid" time="0.12" steps="41637"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.2" expl="precondition" proved="true">
+  <goal name="create_varb&#39;vc.2" expl="precondition">
   <proof prover="6"><result status="valid" time="0.14" steps="41800"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.3" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.3" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.22" steps="48519"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.4" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.4" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.31" steps="48597"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.5" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.5" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.19" steps="48423"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.6" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.6" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.20" steps="48878"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.7" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.7" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.24" steps="46383"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.8" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.8" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.18" steps="41926"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.9" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.9" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.20" steps="48904"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.10" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.10" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.20" steps="49014"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.11" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.11" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.22" steps="49439"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.12" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.12" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.17" steps="47713"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.13" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.13" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.18" steps="48295"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.14" expl="postcondition" proved="true">
+  <goal name="create_varb&#39;vc.14" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.22" steps="48945"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.15" expl="postcondition" proved="true">
+  <goal name="create_varb&#39;vc.15" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.10" steps="39567"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.16" expl="postcondition" proved="true">
+  <goal name="create_varb&#39;vc.16" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.16" steps="41925"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.17" expl="integer overflow" proved="true">
+  <goal name="create_varb&#39;vc.17" expl="integer overflow">
   <proof prover="6"><result status="valid" time="0.19" steps="44799"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.18" expl="precondition" proved="true">
+  <goal name="create_varb&#39;vc.18" expl="precondition">
   <proof prover="6"><result status="valid" time="0.16" steps="44962"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.19" expl="precondition" proved="true">
+  <goal name="create_varb&#39;vc.19" expl="precondition">
   <proof prover="6"><result status="valid" time="0.18" steps="45146"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.20" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.20" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.19" steps="51095"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.21" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.21" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.26" steps="61643"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.22" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.22" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.22" steps="48444"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.23" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.23" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.18" steps="48873"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.24" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.24" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.22" steps="46366"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.25" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.25" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.18" steps="46451"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.26" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.26" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.65" steps="121038"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.27" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.27" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.68" steps="122239"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.28" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.28" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.78" steps="141300"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.29" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.29" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.65" steps="124291"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.30" expl="type invariant" proved="true">
+  <goal name="create_varb&#39;vc.30" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.83" steps="143252"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.31" expl="postcondition" proved="true">
+  <goal name="create_varb&#39;vc.31" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.21" steps="53538"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.32" expl="postcondition" proved="true">
+  <goal name="create_varb&#39;vc.32" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.12" steps="39584"/></proof>
   </goal>
-  <goal name="create_varb&#39;vc.33" expl="postcondition" proved="true">
+  <goal name="create_varb&#39;vc.33" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.15" steps="42180"/></proof>
   </goal>
  </transf>
@@ -2871,401 +2673,838 @@
  <proof prover="4"><result status="timeout" time="5.00"/></proof>
  <proof prover="6"><result status="timeout" time="1.00" steps="138779"/></proof>
  </goal>
- <goal name="true_is_true" proved="true">
+ <goal name="true_is_true">
  <proof prover="6"><result status="valid" time="0.22" steps="47452"/></proof>
  </goal>
- <goal name="zero_is_zero" proved="true">
+ <goal name="zero_is_zero">
  <proof prover="6"><result status="valid" time="0.19" steps="47474"/></proof>
  </goal>
- <goal name="is_cst_reif&#39;vc" expl="VC for is_cst_reif" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="is_cst_reif&#39;vc.0" expl="precondition" proved="true">
+ <goal name="is_cst_reif&#39;vc" expl="VC for is_cst_reif">
+ <transf name="split_vc" >
+  <goal name="is_cst_reif&#39;vc.0" expl="precondition">
   <proof prover="6"><result status="valid" time="0.20" steps="47803"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.1" expl="precondition" proved="true">
+  <goal name="is_cst_reif&#39;vc.1" expl="precondition">
   <proof prover="6"><result status="valid" time="0.21" steps="47900"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.2" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.2" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.27" steps="51582"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.3" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.3" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.27" steps="52000"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.4" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.4" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.22" steps="48057"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.5" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.5" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.24" steps="48429"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.6" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.6" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.22" steps="45910"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.7" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.7" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.18" steps="45983"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.8" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.8" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.64" steps="137548"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.9" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.9" expl="type invariant">
   <proof prover="3"><result status="valid" time="0.17"/></proof>
   <proof prover="6"><result status="valid" time="0.65" steps="138731"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.10" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.10" expl="type invariant">
   <proof prover="6"><result status="valid" time="0.90" steps="162719"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.11" expl="type invariant" proved="true">
-  <transf name="split_all_full" proved="true" >
-   <goal name="is_cst_reif&#39;vc.11.0" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.11" expl="type invariant">
+  <transf name="split_all_full" >
+   <goal name="is_cst_reif&#39;vc.11.0" expl="type invariant">
    <proof prover="6"><result status="valid" time="0.58" steps="127456"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="is_cst_reif&#39;vc.12" expl="type invariant" proved="true">
+  <goal name="is_cst_reif&#39;vc.12" expl="type invariant">
   <proof prover="5" obsolete="true"><result status="valid" time="0.54" steps="1128"/></proof>
   <proof prover="6"><result status="valid" time="0.77" steps="146086"/></proof>
   </goal>
-  <goal name="is_cst_reif&#39;vc.13" expl="postcondition" proved="true">
+  <goal name="is_cst_reif&#39;vc.13" expl="postcondition">
   <proof prover="5" obsolete="true"><result status="valid" time="0.16" steps="680"/></proof>
   <proof prover="6"><result status="valid" time="0.56" steps="117747"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="is_cst&#39;vc" expl="VC for is_cst" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="is_cst&#39;vc.0" expl="precondition" proved="true">
+ <goal name="is_cst&#39;vc" expl="VC for is_cst">
+ <transf name="split_vc" >
+  <goal name="is_cst&#39;vc.0" expl="precondition">
   <proof prover="6"><result status="valid" time="0.18" steps="41503"/></proof>
   </goal>
-  <goal name="is_cst&#39;vc.1" expl="precondition" proved="true">
+  <goal name="is_cst&#39;vc.1" expl="precondition">
   <proof prover="6"><result status="valid" time="0.21" steps="47163"/></proof>
   </goal>
-  <goal name="is_cst&#39;vc.2" expl="postcondition" proved="true">
+  <goal name="is_cst&#39;vc.2" expl="postcondition">
   <proof prover="6"><result status="valid" time="0.16" steps="47418"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="add_reif&#39;vc" expl="VC for add_reif" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="add_reif&#39;vc.0" expl="precondition" proved="true">
+ <goal name="add_reif&#39;vc" expl="VC for add_reif">
+ <transf name="split_vc" >
+  <goal name="add_reif&#39;vc.0" expl="precondition">
   <proof prover="6"><result status="valid" time="0.16" steps="49492"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.1" expl="precondition" proved="true">
+  <goal name="add_reif&#39;vc.1" expl="precondition">
   <proof prover="6"><result status="valid" time="0.13" steps="49530"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.2" expl="precondition" proved="true">
+  <goal name="add_reif&#39;vc.2" expl="precondition">
   <proof prover="6"><result status="valid" time="0.11" steps="49568"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.3" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.25" steps="49651"/></proof>
+  <goal name="add_reif&#39;vc.3" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.25" steps="49651"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.4" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.16" steps="52861"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.5" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.13" steps="54090"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.6" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.12" steps="48695"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.7" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.08" steps="48999"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.8" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.17" steps="46548"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.9" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.30" steps="46621"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.10" expl="type invariant">
+  <proof prover="1"><result status="valid" time="0.13" steps="405385"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="200484"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.11" expl="type invariant">
+  <proof prover="1"><result status="valid" time="0.13" steps="411435"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="200718"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.12" expl="type invariant">
+  <proof prover="6"><result status="valid" time="1.21" steps="240845"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.13" expl="type invariant">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2030459"/></proof>
+  <proof prover="4"><result status="valid" time="0.38" steps="1449"/></proof>
+  <proof prover="6"><result status="timeout" time="2.00" steps="413104"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.14" expl="type invariant">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2370949"/></proof>
+  <proof prover="4"><result status="valid" time="0.12" steps="604"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="201163"/></proof>
+  </goal>
+  <goal name="add_reif&#39;vc.15" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.88" steps="166110"/></proof>
+  </goal>
+ </transf>
+ </goal>
+ <goal name="add&#39;vc" expl="VC for add">
+ <transf name="split_vc" >
+  <goal name="add&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.18" steps="41526"/></proof>
+  </goal>
+  <goal name="add&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.22" steps="41529"/></proof>
+  </goal>
+  <goal name="add&#39;vc.2" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.22" steps="41532"/></proof>
+  </goal>
+  <goal name="add&#39;vc.3" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.19" steps="47626"/></proof>
+  </goal>
+  <goal name="add&#39;vc.4" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.17" steps="48039"/></proof>
+  </goal>
+ </transf>
+ </goal>
+ <goal name="le_reif&#39;vc" expl="VC for le_reif">
+ <proof prover="1"><result status="timeout" time="1.00" steps="1886999"/></proof>
+ <proof prover="4"><result status="timeout" time="5.00"/></proof>
+ <proof prover="6"><result status="timeout" time="1.00" steps="178328"/></proof>
+ </goal>
+ <goal name="le&#39;vc" expl="VC for le">
+ <proof prover="6"><result status="valid" time="0.26" steps="60190"/></proof>
+ </goal>
+ <goal name="or&#39;vc" expl="VC for or">
+ <transf name="split_vc" >
+  <goal name="or&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.11" steps="48642"/></proof>
+  </goal>
+  <goal name="or&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.20" steps="48680"/></proof>
+  </goal>
+  <goal name="or&#39;vc.2" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.19" steps="48718"/></proof>
+  </goal>
+  <goal name="or&#39;vc.3" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.20" steps="52716"/></proof>
+  </goal>
+  <goal name="or&#39;vc.4" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.19" steps="51883"/></proof>
+  </goal>
+  <goal name="or&#39;vc.5" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.18" steps="48260"/></proof>
+  </goal>
+  <goal name="or&#39;vc.6" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.19" steps="48747"/></proof>
+  </goal>
+  <goal name="or&#39;vc.7" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.18" steps="46219"/></proof>
+  </goal>
+  <goal name="or&#39;vc.8" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.19" steps="46292"/></proof>
+  </goal>
+  <goal name="or&#39;vc.9" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.86" steps="172655"/></proof>
+  </goal>
+  <goal name="or&#39;vc.10" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.88" steps="173784"/></proof>
+  </goal>
+  <goal name="or&#39;vc.11" expl="type invariant">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2106896"/></proof>
+  <proof prover="4"><result status="timeout" time="5.00"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="198715"/></proof>
+  </goal>
+  <goal name="or&#39;vc.12" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.83" steps="181191"/></proof>
+  </goal>
+  <goal name="or&#39;vc.13" expl="type invariant">
+  <proof prover="1"><result status="timeout" time="1.00" steps="1539565"/></proof>
+  <proof prover="4"><result status="valid" time="0.33" steps="1572"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="181104"/></proof>
+  </goal>
+  <goal name="or&#39;vc.14" expl="postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2314597"/></proof>
+  <proof prover="4"><result status="timeout" time="5.00"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="192233"/></proof>
+  </goal>
+ </transf>
+ </goal>
+ <goal name="not_&#39;vc" expl="VC for not_">
+ <transf name="split_all_full" >
+  <goal name="not_&#39;vc.0" expl="precondition">
+  <transf name="introduce_premises" >
+   <goal name="not_&#39;vc.0.0" expl="precondition">
+   <proof prover="6"><result status="valid" time="0.20" steps="53732"/></proof>
+   </goal>
+  </transf>
+  </goal>
+  <goal name="not_&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.26" steps="63695"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.2" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.31" steps="73240"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.3" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.34" steps="74477"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.4" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.18" steps="58958"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.5" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.24" steps="59031"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.6" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.24" steps="63132"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.7" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.27" steps="63278"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.8" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.60" steps="128146"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.9" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.64" steps="130234"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.10" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.62" steps="138826"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.11" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.38" steps="83358"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.12" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.60" steps="129340"/></proof>
+  </goal>
+  <goal name="not_&#39;vc.13" expl="postcondition">
+  <transf name="split_vc" >
+   <goal name="not_&#39;vc.13.0" expl="postcondition">
+   <proof prover="6"><result status="valid" time="0.34" steps="68475"/></proof>
+   </goal>
+   <goal name="not_&#39;vc.13.1" expl="postcondition">
+   <proof prover="6"><result status="valid" time="0.34" steps="70727"/></proof>
+   </goal>
+   <goal name="not_&#39;vc.13.2" expl="postcondition">
+   <proof prover="6"><result status="valid" time="0.36" steps="70721"/></proof>
+   </goal>
+   <goal name="not_&#39;vc.13.3" expl="postcondition">
+   <proof prover="6"><result status="valid" time="0.30" steps="64548"/></proof>
+   </goal>
+  </transf>
+  </goal>
+ </transf>
+ </goal>
+ <goal name="solve&#39;vc" expl="VC for solve">
+ <transf name="split_vc" >
+  <goal name="solve&#39;vc.0" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.17" steps="44697"/></proof>
+  </goal>
+  <goal name="solve&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="39297"/></proof>
+  </goal>
+  <goal name="solve&#39;vc.2" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.19" steps="47971"/></proof>
+  </goal>
+ </transf>
+ </goal>
+</theory>
+<theory name="TagtblBacktrackable">
+ <goal name="Make.good_tokens&#39;vc" expl="VC for good_tokens">
+ <proof prover="6"><result status="valid" time="0.05" steps="19259"/></proof>
+ </goal>
+ <goal name="Make.good_tokens_frame_history&#39;vc" expl="VC for good_tokens_frame_history">
+ <transf name="split_vc" >
+  <goal name="good_tokens_frame_history&#39;vc.0" expl="assertion">
+  <proof prover="6"><result status="valid" time="0.08" steps="18482"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.1" expl="assertion">
+  <proof prover="1" timelimit="5"><result status="timeout" time="5.00" steps="4379400"/></proof>
+  <proof prover="4"><result status="valid" time="0.03" steps="84"/></proof>
+  <proof prover="6" timelimit="5"><result status="timeout" time="5.00" steps="6086129"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.2" expl="assertion">
+  <proof prover="6"><result status="valid" time="0.08" steps="18490"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.3" expl="variant decrease">
+  <proof prover="6"><result status="valid" time="0.08" steps="21218"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.4" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="20793"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.5" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="20799"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.6" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="23155"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.7" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.11" steps="29587"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.8" expl="precondition">
+  <proof prover="5" obsolete="true"><result status="valid" time="0.02" steps="105"/></proof>
+  <proof prover="6"><result status="valid" time="0.05" steps="17522"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.9" expl="variant decrease">
+  <proof prover="6"><result status="valid" time="0.04" steps="19087"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.10" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.04" steps="21740"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.11" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.05" steps="21767"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.12" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.09" steps="22963"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.13" expl="precondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2179184"/></proof>
+  <proof prover="4"><result status="valid" time="0.03" steps="109"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="89859"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.14" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="21551"/></proof>
+  </goal>
+  <goal name="good_tokens_frame_history&#39;vc.15" expl="postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2059931"/></proof>
+  <proof prover="4"><result status="timeout" time="5.00"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00"/></proof>
+  <transf name="split_vc" >
+   <goal name="good_tokens_frame_history&#39;vc.15.0" expl="postcondition">
+   <proof prover="6"><result status="valid" time="0.06" steps="18144"/></proof>
+   </goal>
+   <goal name="good_tokens_frame_history&#39;vc.15.1" expl="postcondition">
+   <proof prover="1" timelimit="10" memlimit="4000"><result status="timeout" time="10.00" steps="5192151"/></proof>
+   <proof prover="4"><result status="valid" time="0.01" steps="26"/></proof>
+   <proof prover="6" timelimit="10" memlimit="4000"><result status="timeout" time="10.00" steps="3724639"/></proof>
+   </goal>
+   <goal name="good_tokens_frame_history&#39;vc.15.2" expl="postcondition">
+   <proof prover="6"><result status="valid" time="0.07" steps="19908"/></proof>
+   </goal>
+  </transf>
+  </goal>
+ </transf>
+ </goal>
+ <goal name="Make.good_tokens_smaller_offset&#39;vc" expl="VC for good_tokens_smaller_offset">
+ <proof prover="6"><result status="valid" time="0.24" steps="49728"/></proof>
+ </goal>
+ <goal name="Make.t&#39;vc" expl="VC for t">
+ <proof prover="6"><result status="valid" time="0.22" steps="37844"/></proof>
+ </goal>
+ <goal name="Make.create&#39;vc" expl="VC for create">
+ <proof prover="6"><result status="valid" time="0.18" steps="44401"/></proof>
+ </goal>
+ <goal name="Make.max_tags&#39;vc" expl="VC for max_tags">
+ <transf name="split_vc" >
+  <goal name="max_tags&#39;vc.0" expl="integer overflow">
+  <proof prover="6"><result status="valid" time="0.12" steps="22063"/></proof>
+  </goal>
+  <goal name="max_tags&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="22247"/></proof>
+  </goal>
+  <goal name="max_tags&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.09" steps="21129"/></proof>
+  </goal>
+ </transf>
+ </goal>
+ <goal name="Make.resize&#39;vc" expl="VC for resize">
+ <proof prover="1"><result status="timeout" time="1.00" steps="2188999"/></proof>
+ <proof prover="4"><result status="timeout" time="5.00"/></proof>
+ <proof prover="6"><result status="timeout" time="1.00" steps="211906"/></proof>
+ </goal>
+ <goal name="Make.set&#39;vc" expl="VC for set">
+ <proof prover="1"><result status="timeout" time="1.00" steps="2396364"/></proof>
+ <proof prover="4"><result status="timeout" time="5.00"/></proof>
+ <proof prover="6"><result status="timeout" time="2.00" steps="351596"/></proof>
+ </goal>
+ <goal name="Make.find&#39;vc" expl="VC for find">
+ <proof prover="6"><result status="valid" time="0.04" steps="31577"/></proof>
+ </goal>
+ <goal name="Make.create_backtrack_point&#39;vc" expl="VC for create_backtrack_point">
+ <transf name="split_vc" >
+  <goal name="create_backtrack_point&#39;vc.0" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.07" steps="24224"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.1" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.09" steps="29878"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.2" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.08" steps="25378"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.3" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.05" steps="25473"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.4" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.07" steps="31218"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.5" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.09" steps="23876"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.6" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.08" steps="31107"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.7" expl="type invariant">
+  <proof prover="6"><result status="valid" time="0.08" steps="32407"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.8" expl="type invariant">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2029986"/></proof>
+  <proof prover="4"><result status="valid" time="0.03" steps="107"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="111040"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.9" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="19178"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.10" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.05" steps="19179"/></proof>
+  </goal>
+  <goal name="create_backtrack_point&#39;vc.11" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.10" steps="22257"/></proof>
+  </goal>
+ </transf>
+ </goal>
+ <goal name="Make.backtrack&#39;vc" expl="VC for backtrack">
+ <proof prover="1"><result status="timeout" time="1.00" steps="1940016"/></proof>
+ <proof prover="4"><result status="timeout" time="5.00"/></proof>
+ <proof prover="6"><result status="timeout" time="1.00" steps="173078"/></proof>
+ </goal>
+ <goal name="Make.TagtblBacktrackableIntf.S.tag&#39;refn&#39;vc" expl="VC for tag&#39;refn">
+ <proof prover="5" obsolete="true"><result status="valid" time="0.50" steps="1859"/></proof>
+ <proof prover="6"><result status="valid" time="0.05" steps="18280"/></proof>
+ </goal>
+ <goal name="Make.TagtblBacktrackableIntf.S.tag_correct">
+ <proof prover="6"><result status="valid" time="0.05" steps="19335"/></proof>
+ </goal>
+ <goal name="Make.TagtblBacktrackableIntf.create&#39;refn&#39;vc" expl="VC for create&#39;refn">
+ <proof prover="6"><result status="valid" time="0.04" steps="29682"/></proof>
+ </goal>
+ <goal name="Make.TagtblBacktrackableIntf.max_tags&#39;refn&#39;vc" expl="VC for max_tags&#39;refn">
+ <transf name="split_vc" >
+  <goal name="max_tags&#39;refn&#39;vc.0" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="22322"/></proof>
+  </goal>
+  <goal name="max_tags&#39;refn&#39;vc.1" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.09" steps="19732"/></proof>
+  </goal>
+ </transf>
+ </goal>
+ <goal name="Make.TagtblBacktrackableIntf.set&#39;refn&#39;vc" expl="VC for set&#39;refn">
+ <proof prover="6"><result status="valid" time="0.08" steps="28345"/></proof>
+ </goal>
+ <goal name="Make.TagtblBacktrackableIntf.find&#39;refn&#39;vc" expl="VC for find&#39;refn">
+ <proof prover="6"><result status="valid" time="0.10" steps="25279"/></proof>
+ </goal>
+ <goal name="Make.TagtblBacktrackableIntf.create_backtrack_point&#39;refn&#39;vc" expl="VC for create_backtrack_point&#39;refn">
+ <proof prover="6"><result status="valid" time="0.12" steps="18748"/></proof>
+ </goal>
+ <goal name="Make.TagtblBacktrackableIntf.backtrack&#39;refn&#39;vc" expl="VC for backtrack&#39;refn">
+ <proof prover="6"><result status="valid" time="0.10" steps="22752"/></proof>
+ </goal>
+</theory>
+<theory name="ConstraintAdd">
+ <goal name="t&#39;vc" expl="VC for t">
+ <proof prover="6"><result status="valid" time="0.12" steps="31962"/></proof>
+ </goal>
+ <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti">
+ <proof prover="1"><result status="timeout" time="1.00" steps="1722846"/></proof>
+ <proof prover="4"><result status="valid" time="4.03" steps="28652"/></proof>
+ <proof prover="5" obsolete="true"><result status="valid" time="0.57" steps="3133"/></proof>
+ <proof prover="6"><result status="timeout" time="1.00" steps="203999"/></proof>
+ </goal>
+ <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb">
+ <proof prover="6"><result status="valid" time="0.16" steps="39687"/></proof>
+ </goal>
+ <goal name="propagate&#39;vc" expl="VC for propagate">
+ <transf name="split_vc" >
+  <goal name="propagate&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.27" steps="60917"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.28" steps="65646"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.2" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.42" steps="74422"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.3" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.47" steps="79613"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.4" expl="assertion">
+  <proof prover="1"><result status="timeout" time="1.00" steps="1751784"/></proof>
+  <proof prover="4"><result status="valid" time="0.43" steps="3500"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="0.49" steps="3561"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="147369"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.5" expl="assertion">
+  <transf name="split_all_full" >
+   <goal name="propagate&#39;vc.5.0" expl="VC for propagate">
+   <proof prover="5" timelimit="10" memlimit="4000" obsolete="true"><result status="valid" time="0.27" steps="1711"/></proof>
+   <proof prover="6"><result status="valid" time="0.91" steps="180147"/></proof>
+   </goal>
+   <goal name="propagate&#39;vc.5.1" expl="VC for propagate">
+   <proof prover="6"><result status="valid" time="0.84" steps="177548"/></proof>
+   </goal>
+  </transf>
+  </goal>
+  <goal name="propagate&#39;vc.6" expl="assertion">
+  <proof prover="1"><result status="timeout" time="1.00" steps="1890046"/></proof>
+  <proof prover="4"><result status="valid" time="0.44" steps="2956"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="0.64" steps="3918"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="145465"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.7" expl="assertion">
+  <proof prover="6"><result status="valid" time="0.21" steps="46786"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.8" expl="assertion">
+  <proof prover="5" obsolete="true"><result status="valid" time="0.20" steps="369"/></proof>
+  <proof prover="6"><result status="valid" time="0.24" steps="50118"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.9" expl="assertion">
+  <proof prover="5" obsolete="true"><result status="valid" time="0.20" steps="446"/></proof>
+  <proof prover="6"><result status="valid" time="0.23" steps="50690"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.10" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.46" steps="78103"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.11" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.54" steps="102180"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.12" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.70" steps="118908"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.13" expl="postcondition">
+  <transf name="split_all_full" >
+   <goal name="propagate&#39;vc.13.0" expl="postcondition">
+   <transf name="inline_goal" >
+    <goal name="propagate&#39;vc.13.0.0" expl="postcondition">
+    <transf name="split_all_full" >
+     <goal name="propagate&#39;vc.13.0.0.0" expl="VC for propagate">
+     <transf name="introduce_premises" >
+      <goal name="propagate&#39;vc.13.0.0.0.0" expl="VC for propagate">
+      <transf name="inline_goal" >
+       <goal name="propagate&#39;vc.13.0.0.0.0.0" expl="VC for propagate">
+       <transf name="split_all_full" >
+        <goal name="propagate&#39;vc.13.0.0.0.0.0.0" expl="VC for propagate">
+        <transf name="inline_goal" >
+         <goal name="propagate&#39;vc.13.0.0.0.0.0.0.0" expl="VC for propagate">
+         <proof prover="1"><result status="timeout" time="1.00" steps="2141965"/></proof>
+         <proof prover="4"><result status="valid" time="0.53" steps="2257"/></proof>
+         <proof prover="5" obsolete="true"><result status="valid" time="0.87" steps="2517"/></proof>
+         <proof prover="6"><result status="timeout" time="1.00" steps="139375"/></proof>
+         </goal>
+        </transf>
+        </goal>
+        <goal name="propagate&#39;vc.13.0.0.0.0.0.1" expl="VC for propagate">
+        <transf name="inline_goal" >
+         <goal name="propagate&#39;vc.13.0.0.0.0.0.1.0" expl="VC for propagate">
+         <proof prover="1"><result status="timeout" time="1.00" steps="2045017"/></proof>
+         <proof prover="4"><result status="valid" time="0.54" steps="2257"/></proof>
+         <proof prover="5" obsolete="true"><result status="valid" time="0.91" steps="2442"/></proof>
+         <proof prover="6"><result status="timeout" time="1.00" steps="142504"/></proof>
+         </goal>
+        </transf>
+        </goal>
+       </transf>
+       </goal>
+      </transf>
+      </goal>
+     </transf>
+     </goal>
+     <goal name="propagate&#39;vc.13.0.0.1" expl="VC for propagate">
+     <proof prover="6"><result status="valid" time="0.14" steps="44878"/></proof>
+     </goal>
+    </transf>
+    </goal>
+   </transf>
+   </goal>
+  </transf>
+  </goal>
+  <goal name="propagate&#39;vc.14" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="38693"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.4" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="52861"/></proof>
+  <goal name="propagate&#39;vc.15" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="34771"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.5" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.13" steps="54090"/></proof>
+  <goal name="propagate&#39;vc.16" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.17" steps="42908"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.6" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.12" steps="48695"/></proof>
+  <goal name="propagate&#39;vc.17" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.42" steps="68605"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.7" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="48999"/></proof>
+  <goal name="propagate&#39;vc.18" expl="exceptional postcondition">
+  <transf name="split_all_full" >
+   <goal name="propagate&#39;vc.18.0" expl="exceptional postcondition">
+   <proof prover="6"><result status="valid" time="0.33" steps="60090"/></proof>
+   </goal>
+  </transf>
   </goal>
-  <goal name="add_reif&#39;vc.8" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="46548"/></proof>
+  <goal name="propagate&#39;vc.19" expl="exceptional postcondition">
+  <transf name="split_all_full" >
+   <goal name="propagate&#39;vc.19.0" expl="exceptional postcondition">
+   <proof prover="5" timelimit="10" memlimit="4000" obsolete="true"><result status="valid" time="0.11" steps="806"/></proof>
+   <proof prover="6"><result status="valid" time="0.20" steps="45734"/></proof>
+   </goal>
+  </transf>
   </goal>
-  <goal name="add_reif&#39;vc.9" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.30" steps="46621"/></proof>
+  <goal name="propagate&#39;vc.20" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.28" steps="65634"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.10" expl="type invariant" proved="true">
-  <proof prover="1"><result status="valid" time="0.13" steps="405385"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="200484"/></proof>
+  <goal name="propagate&#39;vc.21" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.40" steps="74410"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.11" expl="type invariant" proved="true">
-  <proof prover="1"><result status="valid" time="0.13" steps="411435"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="200718"/></proof>
+  <goal name="propagate&#39;vc.22" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.45" steps="79601"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.12" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="1.21" steps="240845"/></proof>
+  <goal name="propagate&#39;vc.23" expl="exceptional postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="1868424"/></proof>
+  <proof prover="4"><result status="valid" time="0.19" steps="1449"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="0.13" steps="1167"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="128196"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.13" expl="type invariant" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2030459"/></proof>
-  <proof prover="4"><result status="valid" time="0.38" steps="1449"/></proof>
-  <proof prover="6"><result status="timeout" time="2.00" steps="413104"/></proof>
+  <goal name="propagate&#39;vc.24" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="30156"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.14" expl="type invariant" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2370949"/></proof>
-  <proof prover="4"><result status="valid" time="0.12" steps="604"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="201163"/></proof>
+  <goal name="propagate&#39;vc.25" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="30193"/></proof>
   </goal>
-  <goal name="add_reif&#39;vc.15" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.88" steps="166110"/></proof>
+  <goal name="propagate&#39;vc.26" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="30226"/></proof>
   </goal>
- </transf>
- </goal>
- <goal name="add&#39;vc" expl="VC for add" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="add&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="41526"/></proof>
+  <goal name="propagate&#39;vc.27" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="37780"/></proof>
   </goal>
-  <goal name="add&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="41529"/></proof>
+  <goal name="propagate&#39;vc.28" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.05" steps="29883"/></proof>
   </goal>
-  <goal name="add&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.22" steps="41532"/></proof>
+  <goal name="propagate&#39;vc.29" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="29920"/></proof>
   </goal>
-  <goal name="add&#39;vc.3" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="47626"/></proof>
+  <goal name="propagate&#39;vc.30" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.04" steps="29953"/></proof>
   </goal>
-  <goal name="add&#39;vc.4" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="48039"/></proof>
+  <goal name="propagate&#39;vc.31" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="35757"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="le_reif&#39;vc" expl="VC for le_reif">
- <proof prover="1"><result status="timeout" time="1.00" steps="1886999"/></proof>
- <proof prover="4"><result status="timeout" time="5.00"/></proof>
- <proof prover="6"><result status="timeout" time="1.00" steps="178328"/></proof>
+ <goal name="check_model&#39;vc" expl="VC for check_model">
+ <proof prover="6"><result status="valid" time="0.83" steps="133818"/></proof>
  </goal>
- <goal name="le&#39;vc" expl="VC for le" proved="true">
- <proof prover="6"><result status="valid" time="0.26" steps="60190"/></proof>
+</theory>
+<theory name="ConstraintLe">
+ <goal name="t&#39;vc" expl="VC for t">
+ <proof prover="6"><result status="valid" time="0.11" steps="31692"/></proof>
  </goal>
- <goal name="or&#39;vc" expl="VC for or">
+ <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti">
+ <proof prover="6"><result status="valid" time="0.79" steps="114150"/></proof>
+ </goal>
+ <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb">
+ <proof prover="6"><result status="valid" time="0.16" steps="39490"/></proof>
+ </goal>
+ <goal name="propagate&#39;vc" expl="VC for propagate">
  <transf name="split_vc" >
-  <goal name="or&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.11" steps="48642"/></proof>
-  </goal>
-  <goal name="or&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="48680"/></proof>
-  </goal>
-  <goal name="or&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="48718"/></proof>
-  </goal>
-  <goal name="or&#39;vc.3" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="52716"/></proof>
-  </goal>
-  <goal name="or&#39;vc.4" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="51883"/></proof>
+  <goal name="propagate&#39;vc.0" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.29" steps="58398"/></proof>
   </goal>
-  <goal name="or&#39;vc.5" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="48260"/></proof>
+  <goal name="propagate&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.26" steps="62700"/></proof>
   </goal>
-  <goal name="or&#39;vc.6" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="48747"/></proof>
+  <goal name="propagate&#39;vc.2" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.66" steps="114453"/></proof>
   </goal>
-  <goal name="or&#39;vc.7" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="46219"/></proof>
+  <goal name="propagate&#39;vc.3" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.44" steps="68678"/></proof>
   </goal>
-  <goal name="or&#39;vc.8" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="46292"/></proof>
+  <goal name="propagate&#39;vc.4" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.86" steps="160538"/></proof>
   </goal>
-  <goal name="or&#39;vc.9" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.86" steps="172655"/></proof>
+  <goal name="propagate&#39;vc.5" expl="postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2309594"/></proof>
+  <proof prover="4"><result status="valid" time="0.94" steps="6798"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="0.78" steps="6602"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="152366"/></proof>
   </goal>
-  <goal name="or&#39;vc.10" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.88" steps="173784"/></proof>
+  <goal name="propagate&#39;vc.6" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="36320"/></proof>
   </goal>
-  <goal name="or&#39;vc.11" expl="type invariant">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2106896"/></proof>
-  <proof prover="4"><result status="timeout" time="5.00"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="198715"/></proof>
+  <goal name="propagate&#39;vc.7" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="33031"/></proof>
   </goal>
-  <goal name="or&#39;vc.12" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.83" steps="181191"/></proof>
+  <goal name="propagate&#39;vc.8" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.15" steps="39816"/></proof>
   </goal>
-  <goal name="or&#39;vc.13" expl="type invariant" proved="true">
-  <proof prover="1"><result status="timeout" time="1.00" steps="1539565"/></proof>
-  <proof prover="4"><result status="valid" time="0.33" steps="1572"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="181104"/></proof>
+  <goal name="propagate&#39;vc.9" expl="exceptional postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2240086"/></proof>
+  <proof prover="4"><result status="valid" time="0.24" steps="1559"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="0.21" steps="1436"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="151984"/></proof>
   </goal>
-  <goal name="or&#39;vc.14" expl="postcondition">
-  <proof prover="1"><result status="timeout" time="1.00" steps="2314597"/></proof>
-  <proof prover="4"><result status="timeout" time="5.00"/></proof>
-  <proof prover="6"><result status="timeout" time="1.00" steps="192233"/></proof>
+  <goal name="propagate&#39;vc.10" expl="exceptional postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2062996"/></proof>
+  <proof prover="4"><result status="valid" time="0.13" steps="815"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="0.14" steps="1010"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="163775"/></proof>
   </goal>
- </transf>
- </goal>
- <goal name="not_&#39;vc" expl="VC for not_" proved="true">
- <transf name="split_all_full" proved="true" >
-  <goal name="not_&#39;vc.0" expl="precondition" proved="true">
-  <transf name="introduce_premises" proved="true" >
-   <goal name="not_&#39;vc.0.0" expl="precondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.20" steps="53732"/></proof>
-   </goal>
-  </transf>
+  <goal name="propagate&#39;vc.11" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.31" steps="62688"/></proof>
   </goal>
-  <goal name="not_&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.26" steps="63695"/></proof>
+  <goal name="propagate&#39;vc.12" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.64" steps="114445"/></proof>
   </goal>
-  <goal name="not_&#39;vc.2" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.31" steps="73240"/></proof>
+  <goal name="propagate&#39;vc.13" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.35" steps="68666"/></proof>
   </goal>
-  <goal name="not_&#39;vc.3" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.34" steps="74477"/></proof>
+  <goal name="propagate&#39;vc.14" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.92" steps="160543"/></proof>
   </goal>
-  <goal name="not_&#39;vc.4" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="58958"/></proof>
+  <goal name="propagate&#39;vc.15" expl="postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2309558"/></proof>
+  <proof prover="4"><result status="valid" time="0.42" steps="2886"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="1.12" steps="7469"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="165181"/></proof>
   </goal>
-  <goal name="not_&#39;vc.5" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="59031"/></proof>
+  <goal name="propagate&#39;vc.16" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="36356"/></proof>
   </goal>
-  <goal name="not_&#39;vc.6" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="63132"/></proof>
+  <goal name="propagate&#39;vc.17" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="33067"/></proof>
   </goal>
-  <goal name="not_&#39;vc.7" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.27" steps="63278"/></proof>
+  <goal name="propagate&#39;vc.18" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.18" steps="39852"/></proof>
   </goal>
-  <goal name="not_&#39;vc.8" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.60" steps="128146"/></proof>
+  <goal name="propagate&#39;vc.19" expl="exceptional postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2238772"/></proof>
+  <proof prover="4"><result status="valid" time="0.36" steps="2419"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="0.28" steps="1396"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="164125"/></proof>
   </goal>
-  <goal name="not_&#39;vc.9" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.64" steps="130234"/></proof>
+  <goal name="propagate&#39;vc.20" expl="exceptional postcondition">
+  <proof prover="1"><result status="timeout" time="1.00" steps="2060404"/></proof>
+  <proof prover="4"><result status="valid" time="0.15" steps="900"/></proof>
+  <proof prover="5" obsolete="true"><result status="valid" time="0.15" steps="1126"/></proof>
+  <proof prover="6"><result status="timeout" time="1.00" steps="142393"/></proof>
   </goal>
-  <goal name="not_&#39;vc.10" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.62" steps="138826"/></proof>
+  <goal name="propagate&#39;vc.21" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="29873"/></proof>
   </goal>
-  <goal name="not_&#39;vc.11" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.38" steps="83358"/></proof>
+  <goal name="propagate&#39;vc.22" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.08" steps="29910"/></proof>
   </goal>
-  <goal name="not_&#39;vc.12" expl="type invariant" proved="true">
-  <proof prover="6"><result status="valid" time="0.60" steps="129340"/></proof>
+  <goal name="propagate&#39;vc.23" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="29943"/></proof>
   </goal>
-  <goal name="not_&#39;vc.13" expl="postcondition" proved="true">
-  <transf name="split_vc" proved="true" >
-   <goal name="not_&#39;vc.13.0" expl="postcondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.34" steps="68475"/></proof>
-   </goal>
-   <goal name="not_&#39;vc.13.1" expl="postcondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.34" steps="70727"/></proof>
-   </goal>
-   <goal name="not_&#39;vc.13.2" expl="postcondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.36" steps="70721"/></proof>
-   </goal>
-   <goal name="not_&#39;vc.13.3" expl="postcondition" proved="true">
-   <proof prover="6"><result status="valid" time="0.30" steps="64548"/></proof>
-   </goal>
-  </transf>
+  <goal name="propagate&#39;vc.24" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="35689"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="solve&#39;vc" expl="VC for solve" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="solve&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.17" steps="44697"/></proof>
-  </goal>
-  <goal name="solve&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="39297"/></proof>
-  </goal>
-  <goal name="solve&#39;vc.2" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.19" steps="47971"/></proof>
-  </goal>
- </transf>
+ <goal name="check_model&#39;vc" expl="VC for check_model">
+ <proof prover="6"><result status="valid" time="0.52" steps="94792"/></proof>
  </goal>
 </theory>
-<theory name="APIDefensive" proved="true">
- <goal name="create_vari&#39;vc" expl="VC for create_vari" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="create_vari&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.09" steps="41766"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.1" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="39679"/></proof>
-  </goal>
-  <goal name="create_vari&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.14" steps="47288"/></proof>
-  </goal>
- </transf>
- </goal>
- <goal name="create_varb&#39;vc" expl="VC for create_varb" proved="true">
- <proof prover="6"><result status="valid" time="0.09" steps="38886"/></proof>
- </goal>
- <goal name="create_context&#39;vc" expl="VC for create_context" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="create_context&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="45406"/></proof>
-  </goal>
- </transf>
+<theory name="ConstraintNot">
+ <goal name="t&#39;vc" expl="VC for t">
+ <proof prover="6"><result status="valid" time="0.11" steps="31474"/></proof>
  </goal>
- <goal name="true_is_true" proved="true">
- <proof prover="6"><result status="valid" time="0.18" steps="43451"/></proof>
+ <goal name="compute_vars_ti&#39;vc" expl="VC for compute_vars_ti">
+ <proof prover="6"><result status="valid" time="0.13" steps="36707"/></proof>
  </goal>
- <goal name="zero_is_zero" proved="true">
- <proof prover="6"><result status="valid" time="0.17" steps="43390"/></proof>
+ <goal name="compute_vars_tb&#39;vc" expl="VC for compute_vars_tb">
+ <proof prover="6"><result status="valid" time="0.74" steps="108865"/></proof>
  </goal>
- <goal name="check_ti&#39;vc" expl="VC for check_ti" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="check_ti&#39;vc.0" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.24" steps="50148"/></proof>
+ <goal name="propagate&#39;vc" expl="VC for propagate">
+ <transf name="split_all_full" >
+  <goal name="propagate&#39;vc.0" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.11" steps="37657"/></proof>
   </goal>
-  <goal name="check_ti&#39;vc.1" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.20" steps="50279"/></proof>
+  <goal name="propagate&#39;vc.1" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="42047"/></proof>
   </goal>
-  <goal name="check_ti&#39;vc.2" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.18" steps="41692"/></proof>
+  <goal name="propagate&#39;vc.2" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.06" steps="34016"/></proof>
   </goal>
-  <goal name="check_ti&#39;vc.3" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.21" steps="49673"/></proof>
+  <goal name="propagate&#39;vc.3" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.09" steps="33245"/></proof>
   </goal>
- </transf>
- </goal>
- <goal name="check_tb&#39;vc" expl="VC for check_tb" proved="true">
- <proof prover="6"><result status="valid" time="0.13" steps="54245"/></proof>
- </goal>
- <goal name="is_cst_reif&#39;vc" expl="VC for is_cst_reif" proved="true">
- <proof prover="6"><result status="valid" time="0.18" steps="48045"/></proof>
- </goal>
- <goal name="is_cst&#39;vc" expl="VC for is_cst" proved="true">
- <proof prover="6"><result status="valid" time="0.08" steps="39054"/></proof>
- </goal>
- <goal name="add_reif&#39;vc" expl="VC for add_reif" proved="true">
- <proof prover="6"><result status="valid" time="0.21" steps="48201"/></proof>
- </goal>
- <goal name="add&#39;vc" expl="VC for add" proved="true">
- <proof prover="6"><result status="valid" time="0.11" steps="48120"/></proof>
- </goal>
- <goal name="le_reif&#39;vc" expl="VC for le_reif" proved="true">
- <transf name="split_vc" proved="true" >
-  <goal name="le_reif&#39;vc.0" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="41706"/></proof>
+  <goal name="propagate&#39;vc.4" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.07" steps="34123"/></proof>
   </goal>
-  <goal name="le_reif&#39;vc.1" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.08" steps="41709"/></proof>
+  <goal name="propagate&#39;vc.5" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.14" steps="39510"/></proof>
   </goal>
-  <goal name="le_reif&#39;vc.2" expl="precondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.16" steps="41576"/></proof>
+  <goal name="propagate&#39;vc.6" expl="precondition">
+  <proof prover="6"><result status="valid" time="0.23" steps="52647"/></proof>
   </goal>
-  <goal name="le_reif&#39;vc.3" expl="postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="49857"/></proof>
+  <goal name="propagate&#39;vc.7" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.24" steps="52206"/></proof>
   </goal>
-  <goal name="le_reif&#39;vc.4" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="44829"/></proof>
+  <goal name="propagate&#39;vc.8" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="40723"/></proof>
   </goal>
-  <goal name="le_reif&#39;vc.5" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.15" steps="44825"/></proof>
+  <goal name="propagate&#39;vc.9" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.12" steps="40760"/></proof>
   </goal>
-  <goal name="le_reif&#39;vc.6" expl="exceptional postcondition" proved="true">
-  <proof prover="6"><result status="valid" time="0.10" steps="44821"/></proof>
+  <goal name="propagate&#39;vc.10" expl="postcondition">
+  <proof prover="6"><result status="valid" time="0.16" steps="44631"/></proof>
+  </goal>
+  <goal name="propagate&#39;vc.11" expl="exceptional postcondition">
+  <proof prover="6"><result status="valid" time="0.17" steps="47938"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="le&#39;vc" expl="VC for le" proved="true">
- <proof prover="6"><result status="valid" time="0.13" steps="48042"/></proof>
- </goal>
- <goal name="or&#39;vc" expl="VC for or" proved="true">
- <proof prover="6"><result status="valid" time="0.24" steps="48120"/></proof>
- </goal>
- <goal name="not_&#39;vc" expl="VC for not_" proved="true">
- <proof prover="6"><result status="valid" time="0.17" steps="48042"/></proof>
- </goal>
- <goal name="model&#39;vc" expl="VC for model" proved="true">
- <proof prover="6"><result status="valid" time="0.17" steps="57348"/></proof>
- </goal>
- <goal name="solve&#39;vc" expl="VC for solve" proved="true">
- <proof prover="6"><result status="valid" time="0.28" steps="68942"/></proof>
- </goal>
- <goal name="get_model_i&#39;vc" expl="VC for get_model_i" proved="true">
- <proof prover="6"><result status="valid" time="0.23" steps="52718"/></proof>
- </goal>
- <goal name="get_model_b&#39;vc" expl="VC for get_model_b" proved="true">
- <proof prover="6"><result status="valid" time="0.17" steps="52403"/></proof>
+ <goal name="check_model&#39;vc" expl="VC for check_model">
+ <proof prover="6"><result status="valid" time="0.34" steps="67336"/></proof>
  </goal>
 </theory>
 </file>
diff --git a/src/lib/cp/why3shapes.gz b/src/lib/cp/why3shapes.gz
index d2b5dc7a7160f95d4a7a91648bf9f24335db6f58..df45e225d460579c11b5639cf77de988b84d3a90 100644
Binary files a/src/lib/cp/why3shapes.gz and b/src/lib/cp/why3shapes.gz differ