diff --git a/examples/multiprecision/add.mlw b/examples/multiprecision/add.mlw
index c8a80dd5214d16eda71f99a0d37eae8f64f83418..67f757c03cc998128fdebbaef5a01f7eee1f5059 100644
--- a/examples/multiprecision/add.mlw
+++ b/examples/multiprecision/add.mlw
@@ -11,11 +11,11 @@ module Add
   use types.Types
   use lemmas.Lemmas
 
-  (** `add_limb r x y sz` adds to `x` the value of the limb `y`,
+  (** `wmpn_add_1 r x y sz` adds to `x` the value of the limb `y`,
       writes the result in `r` and returns the carry. `r` and `x`
       have size `sz`. This corresponds to the function `mpn_add_1` *)
   (* r and x must be separated. This is enforced by Why3 regions in typing *)
-  let add_limb (r x:t) (y:limb) (sz:int32) : limb
+  let wmpn_add_1 (r x:t) (y:limb) (sz:int32) : limb
     requires { valid x sz }
     requires { valid r sz }
     requires { sz > 0 } (* ? GMP does the same for 0 and 1*)
@@ -74,10 +74,10 @@ module Add
     end
 
 
-  (** `add_limbs r x y sz` adds `x[0..sz-1]` and `y[0..sz-1]` and writes the result in `r`.
+  (** `wmpn_add_n r x y sz` adds `x[0..sz-1]` and `y[0..sz-1]` and writes the result in `r`.
       Returns the carry, either `0` or `1`. Corresponds to the function `mpn_add_n`. *)
 
-  let add_limbs (r x y:t) (sz:int32) : limb
+  let wmpn_add_n (r x y:t) (sz:int32) : limb
     requires { valid x sz }
     requires { valid y sz }
     requires { valid r sz }
@@ -119,10 +119,10 @@ module Add
     done;
     !c
 
-  (** `add r x y sx sy` adds `(x, sx)` to `(y, sy)` and writes the
+  (** `wmpn_add r x y sx sy` adds `(x, sx)` to `(y, sy)` and writes the
       result in `(r, sx)`.  `sx` must be greater than or equal to
       `sy`. Returns carry, either 0 or 1. Corresponds to `mpn_add`. *)
-  let add (r x y:t) (sx sy:int32) : limb
+  let wmpn_add (r x y:t) (sx sy:int32) : limb
     requires { 0 <= sy <= sx }
     requires { valid x sx }
     requires { valid y sy }
@@ -209,7 +209,7 @@ module Add
     done;
     !c
 
-  let add_in_place (x y:t) (sx sy:int32) : limb
+  let wmpn_add_in_place (x y:t) (sx sy:int32) : limb
     requires { 0 <= sy <= sx }
     requires { valid x sx }
     requires { valid y sy }
@@ -306,10 +306,10 @@ module Add
 
   use int.EuclideanDivision
 
-  (** `incr x y sz` adds to `x` the value of the limb `y` in place.
+  (** `wmpn_incr x y sz` adds to `x` the value of the limb `y` in place.
       `x` has size `sz`. The addition must not overflow. This corresponds
-      to `mpn_incr` *)
-  let incr (x:t) (y:limb) (ghost sz:int32) : unit
+      to `mpn_wmpn_incr` *)
+  let wmpn_incr (x:t) (y:limb) (ghost sz:int32) : unit
     requires { valid x sz }
     requires { sz > 0 }
     requires { value x sz + y < power radix sz }
@@ -366,10 +366,10 @@ module Add
                 so (pelts x)[x.offset + k] = (pelts ox)[x.offset + k]};
     value_sub_frame (pelts x) (pelts ox) (x.offset + p2i !i) (x.offset + p2i sz)
 
-  (** `incr_1 x sz` adds 1 to `x` in place.
+  (** `wmpn_incr_1 x sz` adds 1 to `x` in place.
       `x` has size `sz`. The addition must not overflow.
-      This corresponds to `mpn_incr` *)
-  let incr_1 (x:t) (ghost sz:int32) : unit
+      This corresponds to `mpn_wmpn_incr` *)
+  let wmpn_incr_1 (x:t) (ghost sz:int32) : unit
     requires { valid x sz }
     requires { sz > 0 }
     requires { value x sz + 1 < power radix sz }
diff --git a/examples/multiprecision/add/why3session.xml b/examples/multiprecision/add/why3session.xml
index 6ea34ac05693176c3f868c6f0673da1e13b598fc..232f54fe9acae1f189b68fc507137359f933f000 100644
--- a/examples/multiprecision/add/why3session.xml
+++ b/examples/multiprecision/add/why3session.xml
@@ -10,72 +10,72 @@
 <prover id="5" name="Alt-Ergo" version="2.0.0" timelimit="5" steplimit="0" memlimit="1000"/>
 <file name="../add.mlw" proved="true">
 <theory name="Add" proved="true">
- <goal name="VC add_limb" expl="VC for add_limb" proved="true">
+ <goal name="VC wmpn_add_1" expl="VC for wmpn_add_1" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC add_limb.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_1.0" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.04" steps="20"/></proof>
   </goal>
-  <goal name="VC add_limb.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_1.1" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.03" steps="21"/></proof>
   </goal>
-  <goal name="VC add_limb.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_1.2" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.04" steps="11"/></proof>
   </goal>
-  <goal name="VC add_limb.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_1.3" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.01" steps="13"/></proof>
   </goal>
-  <goal name="VC add_limb.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_1.4" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="70"/></proof>
   </goal>
-  <goal name="VC add_limb.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_1.5" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add_limb.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_1.6" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.91"/></proof>
   <proof prover="5"><result status="valid" time="0.06" steps="49"/></proof>
   </goal>
-  <goal name="VC add_limb.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_1.7" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="21"/></proof>
   </goal>
-  <goal name="VC add_limb.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_1.8" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_limb.8.0" expl="VC for add_limb" proved="true">
+   <goal name="VC wmpn_add_1.8.0" expl="VC for wmpn_add_1" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC add_limb.8.0.0" expl="VC for add_limb" proved="true">
+    <goal name="VC wmpn_add_1.8.0.0" expl="VC for wmpn_add_1" proved="true">
     <proof prover="0"><result status="valid" time="0.09"/></proof>
     </goal>
    </transf>
    </goal>
-   <goal name="VC add_limb.8.1" expl="VC for add_limb" proved="true">
+   <goal name="VC wmpn_add_1.8.1" expl="VC for wmpn_add_1" proved="true">
    <proof prover="1" memlimit="2000"><result status="valid" time="0.05"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_limb.9" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_1.9" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.33"/></proof>
   </goal>
-  <goal name="VC add_limb.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_1.10" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_limb.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_1.11" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_limb.12" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_1.12" expl="assertion" proved="true">
   <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-   <goal name="VC add_limb.12.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add_1.12.0" expl="assertion" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC add_limb.12.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_add_1.12.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC add_limb.12.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_add_1.12.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.32"/></proof>
      </goal>
-     <goal name="VC add_limb.12.0.0.1" proved="true">
+     <goal name="VC wmpn_add_1.12.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.33"/></proof>
      </goal>
-     <goal name="VC add_limb.12.0.0.2" proved="true">
+     <goal name="VC wmpn_add_1.12.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.19"/></proof>
      </goal>
     </transf>
@@ -84,185 +84,185 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_limb.13" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_1.13" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add_limb.14" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_1.14" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_limb.15" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_add_1.15" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add_limb.16" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_1.16" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_limb.17" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_1.17" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC add_limb.18" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_1.18" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add_limb.19" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_1.19" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.14"/></proof>
   </goal>
-  <goal name="VC add_limb.20" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_1.20" expl="postcondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_limb.20.0" expl="postcondition" proved="true">
+   <goal name="VC wmpn_add_1.20.0" expl="postcondition" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="22"/></proof>
    </goal>
-   <goal name="VC add_limb.20.1" expl="postcondition" proved="true">
+   <goal name="VC wmpn_add_1.20.1" expl="postcondition" proved="true">
    <transf name="inline_all" proved="true" >
-    <goal name="VC add_limb.20.1.0" expl="postcondition" proved="true">
+    <goal name="VC wmpn_add_1.20.1.0" expl="postcondition" proved="true">
     <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="19"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_limb.21" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_1.21" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5"><result status="valid" time="0.04" steps="25"/></proof>
   </goal>
-  <goal name="VC add_limb.22" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_1.22" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_limb.23" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_1.23" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.04" steps="45"/></proof>
   </goal>
-  <goal name="VC add_limb.24" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_1.24" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.06"/></proof>
   <proof prover="5"><result status="valid" time="0.08" steps="23"/></proof>
   </goal>
-  <goal name="VC add_limb.25" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_1.25" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.06" steps="23"/></proof>
   </goal>
-  <goal name="VC add_limb.26" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_1.26" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC add_limb.27" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_1.27" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="42"/></proof>
   </goal>
-  <goal name="VC add_limb.28" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_1.28" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="43"/></proof>
   </goal>
-  <goal name="VC add_limb.29" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_1.29" expl="assertion" proved="true">
   <proof prover="5"><result status="valid" time="0.08" steps="123"/></proof>
   </goal>
-  <goal name="VC add_limb.30" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_1.30" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.07" steps="52"/></proof>
   </goal>
-  <goal name="VC add_limb.31" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_1.31" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="54"/></proof>
   </goal>
-  <goal name="VC add_limb.32" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_1.32" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.05" steps="44"/></proof>
   </goal>
-  <goal name="VC add_limb.33" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_1.33" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add_limb.34" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_add_1.34" expl="loop variant decrease" proved="true">
   <proof prover="1"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC add_limb.35" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_1.35" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   <proof prover="5"><result status="valid" time="0.02" steps="46"/></proof>
   </goal>
-  <goal name="VC add_limb.36" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_1.36" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5"><result status="valid" time="0.05" steps="46"/></proof>
   </goal>
-  <goal name="VC add_limb.37" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_1.37" expl="loop invariant preservation" proved="true">
   <proof prover="5"><result status="valid" time="0.09" steps="87"/></proof>
   </goal>
-  <goal name="VC add_limb.38" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_1.38" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="79"/></proof>
   </goal>
-  <goal name="VC add_limb.39" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_1.39" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="32"/></proof>
   </goal>
-  <goal name="VC add_limb.40" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_1.40" expl="postcondition" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="33"/></proof>
   </goal>
-  <goal name="VC add_limb.41" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_1.41" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC add_limbs" expl="VC for add_limbs" proved="true">
+ <goal name="VC wmpn_add_n" expl="VC for wmpn_add_n" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC add_limbs.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_n.0" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5"><result status="valid" time="0.05" steps="24"/></proof>
   </goal>
-  <goal name="VC add_limbs.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_n.1" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="25"/></proof>
   </goal>
-  <goal name="VC add_limbs.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_n.2" expl="loop invariant init" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_limbs.2.0" expl="VC for add_limbs" proved="true">
+   <goal name="VC wmpn_add_n.2.0" expl="VC for wmpn_add_n" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="11"/></proof>
    </goal>
-   <goal name="VC add_limbs.2.1" expl="VC for add_limbs" proved="true">
+   <goal name="VC wmpn_add_n.2.1" expl="VC for wmpn_add_n" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_limbs.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_n.3" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="77"/></proof>
   </goal>
-  <goal name="VC add_limbs.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_n.4" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.10" steps="14"/></proof>
   </goal>
-  <goal name="VC add_limbs.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_n.5" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC add_limbs.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_n.6" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5"><result status="valid" time="0.04" steps="36"/></proof>
   </goal>
-  <goal name="VC add_limbs.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_n.7" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.07" steps="37"/></proof>
   </goal>
-  <goal name="VC add_limbs.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_n.8" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.08" steps="24"/></proof>
   </goal>
-  <goal name="VC add_limbs.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_n.9" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.09" steps="41"/></proof>
   </goal>
-  <goal name="VC add_limbs.10" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_n.10" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="1.16"/></proof>
   </goal>
-  <goal name="VC add_limbs.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_n.11" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.06"/></proof>
   <proof prover="5"><result status="valid" time="0.10" steps="36"/></proof>
   </goal>
-  <goal name="VC add_limbs.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_n.12" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   <proof prover="5"><result status="valid" time="0.12" steps="37"/></proof>
   </goal>
-  <goal name="VC add_limbs.13" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_n.13" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   <proof prover="5"><result status="valid" time="0.02" steps="38"/></proof>
   </goal>
-  <goal name="VC add_limbs.14" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_n.14" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC add_limbs.14.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add_n.14.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC add_limbs.14.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_add_n.14.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC add_limbs.14.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_add_n.14.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.41"/></proof>
      </goal>
-     <goal name="VC add_limbs.14.0.0.1" proved="true">
+     <goal name="VC wmpn_add_n.14.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.23"/></proof>
      </goal>
-     <goal name="VC add_limbs.14.0.0.2" proved="true">
+     <goal name="VC wmpn_add_n.14.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.20"/></proof>
      </goal>
     </transf>
@@ -271,107 +271,107 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_limbs.15" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_n.15" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC add_limbs.16" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_n.16" expl="integer overflow" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_limbs.16.0" expl="integer overflow" proved="true">
+   <goal name="VC wmpn_add_n.16.0" expl="integer overflow" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_limbs.17" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_add_n.17" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_limbs.18" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_n.18" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add_limbs.19" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_n.19" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add_limbs.20" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_n.20" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC add_limbs.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_n.21" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.12"/></proof>
   </goal>
-  <goal name="VC add_limbs.22" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_n.22" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.04" steps="22"/></proof>
   </goal>
-  <goal name="VC add_limbs.23" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_n.23" expl="postcondition" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="22"/></proof>
   </goal>
-  <goal name="VC add_limbs.24" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_n.24" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC add" expl="VC for add" proved="true">
+ <goal name="VC wmpn_add" expl="VC for wmpn_add" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC add.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.0" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.1" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="28"/></proof>
   </goal>
-  <goal name="VC add.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.2" expl="loop invariant init" proved="true">
   <proof prover="0"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.3" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="84"/></proof>
   </goal>
-  <goal name="VC add.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.4" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC add.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.5" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC add.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.6" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="39"/></proof>
   </goal>
-  <goal name="VC add.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.7" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.8" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.9" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add.9.0" expl="VC for add" proved="true">
+   <goal name="VC wmpn_add.9.0" expl="VC for wmpn_add" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC add.9.1" expl="VC for add" proved="true">
+   <goal name="VC wmpn_add.9.1" expl="VC for wmpn_add" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="30"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add.10" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.10" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="1.28"/></proof>
   </goal>
-  <goal name="VC add.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.11" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC add.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.12" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.13" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.13" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.14" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.14" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC add.14.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add.14.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC add.14.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_add.14.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC add.14.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_add.14.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.55"/></proof>
      </goal>
-     <goal name="VC add.14.0.0.1" proved="true">
+     <goal name="VC wmpn_add.14.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.27"/></proof>
      </goal>
-     <goal name="VC add.14.0.0.2" proved="true">
+     <goal name="VC wmpn_add.14.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.32"/></proof>
      </goal>
     </transf>
@@ -380,95 +380,95 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC add.15" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.15" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC add.16" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.16" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.17" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_add.17" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.18" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.18" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.19" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.19" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.20" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.20" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC add.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.21" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.13"/></proof>
   </goal>
-  <goal name="VC add.22" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.22" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="24"/></proof>
   </goal>
-  <goal name="VC add.23" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.23" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="26"/></proof>
   </goal>
-  <goal name="VC add.24" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.24" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.07" steps="27"/></proof>
   </goal>
-  <goal name="VC add.25" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.25" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC add.26" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.26" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.08" steps="51"/></proof>
   </goal>
-  <goal name="VC add.27" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.27" expl="assertion" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.28" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.28" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.29" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.29" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.30" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.30" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.07" steps="39"/></proof>
   </goal>
-  <goal name="VC add.31" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.31" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.32" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.32" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add.32.0" expl="VC for add" proved="true">
+   <goal name="VC wmpn_add.32.0" expl="VC for wmpn_add" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.11" steps="48"/></proof>
    </goal>
-   <goal name="VC add.32.1" expl="VC for add" proved="true">
+   <goal name="VC wmpn_add.32.1" expl="VC for wmpn_add" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.08" steps="48"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add.33" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.33" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="63"/></proof>
   </goal>
-  <goal name="VC add.34" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.34" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="64"/></proof>
   </goal>
-  <goal name="VC add.35" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.35" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.36" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.36" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.37" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.37" expl="assertion" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="1.06"/></proof>
   </goal>
-  <goal name="VC add.38" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.38" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC add.38.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add.38.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC add.38.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_add.38.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC add.38.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_add.38.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.62"/></proof>
      </goal>
-     <goal name="VC add.38.0.0.1" proved="true">
+     <goal name="VC wmpn_add.38.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.36"/></proof>
      </goal>
-     <goal name="VC add.38.0.0.2" proved="true">
+     <goal name="VC wmpn_add.38.0.0.2" proved="true">
      <proof prover="5" timelimit="1"><result status="valid" time="0.32" steps="188"/></proof>
      </goal>
     </transf>
@@ -477,74 +477,74 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC add.39" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.39" expl="integer overflow" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="76"/></proof>
   </goal>
-  <goal name="VC add.40" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.40" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="78"/></proof>
   </goal>
-  <goal name="VC add.41" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_add.41" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.42" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.42" expl="loop invariant preservation" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="63"/></proof>
   </goal>
-  <goal name="VC add.43" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.43" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="65"/></proof>
   </goal>
-  <goal name="VC add.44" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.44" expl="loop invariant preservation" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="65"/></proof>
   </goal>
-  <goal name="VC add.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.45" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.10" steps="106"/></proof>
   </goal>
-  <goal name="VC add.46" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add.46" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="48"/></proof>
   </goal>
-  <goal name="VC add.47" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add.47" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.48" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add.48" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC add.49" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.49" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.50" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.50" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="39"/></proof>
   </goal>
-  <goal name="VC add.51" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.51" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add.51.0" expl="VC for add" proved="true">
+   <goal name="VC wmpn_add.51.0" expl="VC for wmpn_add" proved="true">
    <proof prover="0"><result status="valid" time="7.86"/></proof>
    </goal>
-   <goal name="VC add.51.1" expl="VC for add" proved="true">
+   <goal name="VC wmpn_add.51.1" expl="VC for wmpn_add" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add.52" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.52" expl="assertion" proved="true">
   <proof prover="5"><result status="valid" time="0.21" steps="156"/></proof>
   </goal>
-  <goal name="VC add.53" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.53" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.54" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.54" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.55" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.55" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC add.55.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add.55.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC add.55.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_add.55.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC add.55.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_add.55.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.58"/></proof>
      </goal>
-     <goal name="VC add.55.0.0.1" proved="true">
+     <goal name="VC wmpn_add.55.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.34"/></proof>
      </goal>
-     <goal name="VC add.55.0.0.2" proved="true">
+     <goal name="VC wmpn_add.55.0.0.2" proved="true">
      <proof prover="2"><result status="valid" time="0.38"/></proof>
      </goal>
     </transf>
@@ -553,80 +553,80 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC add.56" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.56" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.00"/></proof>
   </goal>
-  <goal name="VC add.57" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.57" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.74" steps="72"/></proof>
   </goal>
-  <goal name="VC add.58" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_add.58" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.59" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.59" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC add.60" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.60" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.61" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.61" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.62" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.62" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.16"/></proof>
   </goal>
-  <goal name="VC add.63" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.63" expl="assertion" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.64" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.64" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC add.65" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.65" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.06" steps="36"/></proof>
   </goal>
-  <goal name="VC add.66" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.66" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.67" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add.67" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add.68" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.68" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add.68.0" expl="VC for add" proved="true">
+   <goal name="VC wmpn_add.68.0" expl="VC for wmpn_add" proved="true">
    <proof prover="5"><result status="valid" time="0.10" steps="45"/></proof>
    </goal>
-   <goal name="VC add.68.1" expl="VC for add" proved="true">
+   <goal name="VC wmpn_add.68.1" expl="VC for wmpn_add" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.10" steps="46"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add.69" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.69" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.07" steps="61"/></proof>
   </goal>
-  <goal name="VC add.70" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.70" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="62"/></proof>
   </goal>
-  <goal name="VC add.71" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.71" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.72" expl="precondition" proved="true">
+  <goal name="VC wmpn_add.72" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.73" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.73" expl="assertion" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="1.70"/></proof>
   </goal>
-  <goal name="VC add.74" expl="assertion" proved="true">
+  <goal name="VC wmpn_add.74" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC add.74.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add.74.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC add.74.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_add.74.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC add.74.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_add.74.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.68"/></proof>
      </goal>
-     <goal name="VC add.74.0.0.1" proved="true">
+     <goal name="VC wmpn_add.74.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.30"/></proof>
      </goal>
-     <goal name="VC add.74.0.0.2" proved="true">
+     <goal name="VC wmpn_add.74.0.0.2" proved="true">
      <proof prover="5" timelimit="1"><result status="valid" time="0.39" steps="186"/></proof>
      </goal>
     </transf>
@@ -635,115 +635,115 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC add.75" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.75" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.06" steps="74"/></proof>
   </goal>
-  <goal name="VC add.76" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add.76" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.77" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_add.77" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.78" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.78" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC add.79" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.79" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add.79.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_add.79.0" expl="loop invariant preservation" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="63"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add.80" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.80" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.81" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add.81" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.12" steps="104"/></proof>
   </goal>
-  <goal name="VC add.82" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add.82" expl="postcondition" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="45"/></proof>
   </goal>
-  <goal name="VC add.83" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add.83" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add.84" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add.84" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC add_in_place" expl="VC for add_in_place" proved="true">
+ <goal name="VC wmpn_add_in_place" expl="VC for wmpn_add_in_place" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC add_in_place.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_in_place.0" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="22"/></proof>
   </goal>
-  <goal name="VC add_in_place.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_in_place.1" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="23"/></proof>
   </goal>
-  <goal name="VC add_in_place.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.2" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="12"/></proof>
   </goal>
-  <goal name="VC add_in_place.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.3" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="70"/></proof>
   </goal>
-  <goal name="VC add_in_place.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.4" expl="loop invariant init" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.09"/></proof>
   </goal>
-  <goal name="VC add_in_place.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.5" expl="loop invariant init" proved="true">
   <proof prover="0"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC add_in_place.6" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.6" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="6"/></proof>
   </goal>
-  <goal name="VC add_in_place.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.7" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="34"/></proof>
   </goal>
-  <goal name="VC add_in_place.8" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.8" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="50"/></proof>
   </goal>
-  <goal name="VC add_in_place.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.9" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="36"/></proof>
   </goal>
-  <goal name="VC add_in_place.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.10" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="26"/></proof>
   </goal>
-  <goal name="VC add_in_place.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.11" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_in_place.11.0" expl="VC for add_in_place" proved="true">
+   <goal name="VC wmpn_add_in_place.11.0" expl="VC for wmpn_add_in_place" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="30"/></proof>
    </goal>
-   <goal name="VC add_in_place.11.1" expl="VC for add_in_place" proved="true">
+   <goal name="VC wmpn_add_in_place.11.1" expl="VC for wmpn_add_in_place" proved="true">
    <proof prover="2"><result status="valid" time="0.12"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_in_place.12" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.12" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="62"/></proof>
   </goal>
-  <goal name="VC add_in_place.13" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.13" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="1.35"/></proof>
   </goal>
-  <goal name="VC add_in_place.14" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.14" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.08" steps="38"/></proof>
   </goal>
-  <goal name="VC add_in_place.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.15" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC add_in_place.16" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.16" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC add_in_place.17" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.17" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC add_in_place.17.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add_in_place.17.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC add_in_place.17.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_add_in_place.17.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC add_in_place.17.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_add_in_place.17.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.36"/></proof>
      </goal>
-     <goal name="VC add_in_place.17.0.0.1" proved="true">
+     <goal name="VC wmpn_add_in_place.17.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.28"/></proof>
      </goal>
-     <goal name="VC add_in_place.17.0.0.2" proved="true">
+     <goal name="VC wmpn_add_in_place.17.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.22"/></proof>
      </goal>
     </transf>
@@ -752,152 +752,152 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_in_place.18" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_in_place.18" expl="integer overflow" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC add_in_place.19" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_in_place.19" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_in_place.20" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_add_in_place.20" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_in_place.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.21" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_in_place.22" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.22" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add_in_place.23" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.23" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC add_in_place.24" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.24" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.55"/></proof>
   </goal>
-  <goal name="VC add_in_place.25" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.25" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_in_place.25.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_add_in_place.25.0" expl="loop invariant preservation" proved="true">
    <proof prover="2"><result status="valid" time="0.08"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_in_place.26" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.26" expl="loop invariant init" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC add_in_place.27" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.27" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="25"/></proof>
   </goal>
-  <goal name="VC add_in_place.28" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.28" expl="loop invariant init" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC add_in_place.29" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.29" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="53"/></proof>
   </goal>
-  <goal name="VC add_in_place.30" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_add_in_place.30" expl="loop invariant init" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC add_in_place.30.0" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_add_in_place.30.0" expl="loop invariant init" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="VC add_in_place.30.0.0" expl="loop invariant init" proved="true">
+    <goal name="VC wmpn_add_in_place.30.0.0" expl="loop invariant init" proved="true">
     <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="51"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_in_place.31" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.31" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="36"/></proof>
   </goal>
-  <goal name="VC add_in_place.32" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.32" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_in_place.32.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add_in_place.32.0" expl="assertion" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC add_in_place.32.1" expl="assertion" proved="true">
+   <goal name="VC wmpn_add_in_place.32.1" expl="assertion" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC add_in_place.32.2" expl="VC for add_in_place" proved="true">
+   <goal name="VC wmpn_add_in_place.32.2" expl="VC for wmpn_add_in_place" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="66"/></proof>
    </goal>
-   <goal name="VC add_in_place.32.3" expl="VC for add_in_place" proved="true">
+   <goal name="VC wmpn_add_in_place.32.3" expl="VC for wmpn_add_in_place" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_in_place.33" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.33" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="78"/></proof>
   </goal>
-  <goal name="VC add_in_place.34" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.34" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC add_in_place.35" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.35" expl="precondition" proved="true">
   <proof prover="5" timelimit="50" memlimit="2000"><result status="valid" time="0.04" steps="39"/></proof>
   </goal>
-  <goal name="VC add_in_place.36" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.36" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="69"/></proof>
   </goal>
-  <goal name="VC add_in_place.37" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_in_place.37" expl="postcondition" proved="true">
   <proof prover="5" timelimit="50" memlimit="2000"><result status="valid" time="0.03" steps="41"/></proof>
   </goal>
-  <goal name="VC add_in_place.38" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_in_place.38" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="42"/></proof>
   </goal>
-  <goal name="VC add_in_place.39" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_in_place.39" expl="postcondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_in_place.39.0" expl="postcondition" proved="true">
+   <goal name="VC wmpn_add_in_place.39.0" expl="postcondition" proved="true">
    <proof prover="0"><result status="valid" time="0.05"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_in_place.40" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.40" expl="precondition" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC add_in_place.41" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.41" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="63"/></proof>
   </goal>
-  <goal name="VC add_in_place.42" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.42" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="38"/></proof>
   </goal>
-  <goal name="VC add_in_place.43" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.43" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="41"/></proof>
   </goal>
-  <goal name="VC add_in_place.44" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.44" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="42"/></proof>
   </goal>
-  <goal name="VC add_in_place.45" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.45" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="53"/></proof>
   </goal>
-  <goal name="VC add_in_place.46" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.46" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_in_place.46.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add_in_place.46.0" expl="assertion" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.25" steps="149"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_in_place.47" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.47" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC add_in_place.47.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add_in_place.47.0" expl="assertion" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="81"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_in_place.48" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.48" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC add_in_place.49" expl="precondition" proved="true">
+  <goal name="VC wmpn_add_in_place.49" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="52"/></proof>
   </goal>
-  <goal name="VC add_in_place.50" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.50" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC add_in_place.50.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_add_in_place.50.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC add_in_place.50.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_add_in_place.50.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC add_in_place.50.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_add_in_place.50.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.34"/></proof>
      </goal>
-     <goal name="VC add_in_place.50.0.0.1" proved="true">
+     <goal name="VC wmpn_add_in_place.50.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.37"/></proof>
      </goal>
-     <goal name="VC add_in_place.50.0.0.2" proved="true">
+     <goal name="VC wmpn_add_in_place.50.0.0.2" proved="true">
      <proof prover="2"><result status="valid" time="0.31"/></proof>
      </goal>
     </transf>
@@ -906,110 +906,110 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC add_in_place.51" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_in_place.51" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.13" steps="66"/></proof>
   </goal>
-  <goal name="VC add_in_place.52" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_add_in_place.52" expl="integer overflow" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.17"/></proof>
   </goal>
-  <goal name="VC add_in_place.53" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_add_in_place.53" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC add_in_place.54" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.54" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC add_in_place.55" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.55" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.25" steps="59"/></proof>
   </goal>
-  <goal name="VC add_in_place.56" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.56" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC add_in_place.57" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.57" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.42"/></proof>
   </goal>
-  <goal name="VC add_in_place.58" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_add_in_place.58" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC add_in_place.59" expl="assertion" proved="true">
+  <goal name="VC wmpn_add_in_place.59" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="99"/></proof>
   </goal>
-  <goal name="VC add_in_place.60" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_in_place.60" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="35"/></proof>
   </goal>
-  <goal name="VC add_in_place.61" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_in_place.61" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="36"/></proof>
   </goal>
-  <goal name="VC add_in_place.62" expl="postcondition" proved="true">
+  <goal name="VC wmpn_add_in_place.62" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="61"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC incr" expl="VC for incr" proved="true">
+ <goal name="VC wmpn_incr" expl="VC for wmpn_incr" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC incr.0" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr.0" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC incr.1" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr.1" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC incr.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr.2" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr.3" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="26"/></proof>
   </goal>
-  <goal name="VC incr.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr.4" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr.5" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.6" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="98"/></proof>
   </goal>
-  <goal name="VC incr.7" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr.7" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="38"/></proof>
   </goal>
-  <goal name="VC incr.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.8" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr.9" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr.9" expl="assertion" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC incr.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.10" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC incr.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.11" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.12" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.05" steps="129"/></proof>
   </goal>
-  <goal name="VC incr.13" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr.13" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="51"/></proof>
   </goal>
-  <goal name="VC incr.14" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr.14" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.84"/></proof>
   </goal>
-  <goal name="VC incr.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.15" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr.16" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.16" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr.17" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr.17" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC incr.17.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_incr.17.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC incr.17.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_incr.17.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC incr.17.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_incr.17.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.35"/></proof>
      </goal>
-     <goal name="VC incr.17.0.0.1" proved="true">
+     <goal name="VC wmpn_incr.17.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.27"/></proof>
      </goal>
-     <goal name="VC incr.17.0.0.2" proved="true">
+     <goal name="VC wmpn_incr.17.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.24"/></proof>
      </goal>
     </transf>
@@ -1018,302 +1018,302 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC incr.18" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_incr.18" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.25"/></proof>
   </goal>
-  <goal name="VC incr.19" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr.19" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC incr.19.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_incr.19.0" expl="assertion" proved="true">
    <proof prover="0"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC incr.19.1" expl="VC for incr" proved="true">
+   <goal name="VC wmpn_incr.19.1" expl="VC for wmpn_incr" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC incr.19.2" expl="VC for incr" proved="true">
+   <goal name="VC wmpn_incr.19.2" expl="VC for wmpn_incr" proved="true">
    <proof prover="3"><result status="valid" time="0.12"/></proof>
    </goal>
-   <goal name="VC incr.19.3" expl="VC for incr" proved="true">
+   <goal name="VC wmpn_incr.19.3" expl="VC for wmpn_incr" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC incr.19.4" expl="VC for incr" proved="true">
+   <goal name="VC wmpn_incr.19.4" expl="VC for wmpn_incr" proved="true">
    <proof prover="3"><result status="valid" time="0.08"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC incr.20" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_incr.20" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr.21" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC incr.22" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr.22" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr.23" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr.23" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr.24" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr.24" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr.25" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr.25" expl="loop invariant preservation" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC incr.25.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_incr.25.0" expl="loop invariant preservation" proved="true">
    <transf name="apply" proved="true" arg1="H14">
-    <goal name="VC incr.25.0.0" proved="true">
+    <goal name="VC wmpn_incr.25.0.0" proved="true">
     <proof prover="3"><result status="valid" time="0.04"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC incr.26" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr.26" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC incr.27" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.27" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr.28" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.28" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr.29" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr.29" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC incr.29.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_incr.29.0" expl="assertion" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC incr.29.1" expl="assertion" proved="true">
+   <goal name="VC wmpn_incr.29.1" expl="assertion" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC incr.29.2" expl="VC for incr" proved="true">
+   <goal name="VC wmpn_incr.29.2" expl="VC for wmpn_incr" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="39"/></proof>
    </goal>
-   <goal name="VC incr.29.3" expl="VC for incr" proved="true">
+   <goal name="VC wmpn_incr.29.3" expl="VC for wmpn_incr" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC incr.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr.30" expl="precondition" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC incr.30.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_incr.30.0" expl="precondition" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="VC incr.30.0.0" expl="precondition" proved="true">
+    <goal name="VC wmpn_incr.30.0.0" expl="precondition" proved="true">
     <proof prover="3"><result status="valid" time="0.01"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC incr.31" expl="postcondition" proved="true">
+  <goal name="VC wmpn_incr.31" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="23"/></proof>
   </goal>
-  <goal name="VC incr.32" expl="postcondition" proved="true">
+  <goal name="VC wmpn_incr.32" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC incr_1" expl="VC for incr_1" proved="true">
+ <goal name="VC wmpn_incr_1" expl="VC for wmpn_incr_1" proved="true">
  <transf name="split_vc" proved="true" >
-  <goal name="VC incr_1.0" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr_1.0" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC incr_1.1" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr_1.1" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr_1.2" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr_1.3" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr_1.4" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC incr_1.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr_1.5" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="20"/></proof>
   </goal>
-  <goal name="VC incr_1.6" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_incr_1.6" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.09" steps="18"/></proof>
   </goal>
-  <goal name="VC incr_1.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.7" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="90"/></proof>
   </goal>
-  <goal name="VC incr_1.8" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.8" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="40"/></proof>
   </goal>
-  <goal name="VC incr_1.9" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.9" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="52"/></proof>
   </goal>
-  <goal name="VC incr_1.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.10" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC incr_1.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.11" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr_1.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.12" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="131"/></proof>
   </goal>
-  <goal name="VC incr_1.13" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.13" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="55"/></proof>
   </goal>
-  <goal name="VC incr_1.14" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.14" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.09" steps="117"/></proof>
   </goal>
-  <goal name="VC incr_1.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.15" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.16" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.16" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr_1.17" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.17" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="55"/></proof>
   </goal>
-  <goal name="VC incr_1.18" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_incr_1.18" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.32"/></proof>
   </goal>
-  <goal name="VC incr_1.19" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.19" expl="assertion" proved="true">
   <transf name="split_vc" proved="true" >
-   <goal name="VC incr_1.19.0" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.19.0" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="47"/></proof>
    </goal>
-   <goal name="VC incr_1.19.1" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.19.1" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC incr_1.19.2" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.19.2" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC incr_1.19.3" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.19.3" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC incr_1.19.4" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.19.4" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.07"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC incr_1.20" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_incr_1.20" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC incr_1.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.21" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.07" steps="123"/></proof>
   </goal>
-  <goal name="VC incr_1.22" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.22" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.23" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.23" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.24" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.24" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.25" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.25" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="51"/></proof>
   </goal>
-  <goal name="VC incr_1.26" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.26" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="67"/></proof>
   </goal>
-  <goal name="VC incr_1.27" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.27" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="70"/></proof>
   </goal>
-  <goal name="VC incr_1.28" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.28" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="53"/></proof>
   </goal>
-  <goal name="VC incr_1.29" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.29" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.30" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr_1.31" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.31" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.05" steps="132"/></proof>
   </goal>
-  <goal name="VC incr_1.32" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.32" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="56"/></proof>
   </goal>
-  <goal name="VC incr_1.33" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.33" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.11" steps="115"/></proof>
   </goal>
-  <goal name="VC incr_1.34" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.34" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr_1.35" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.35" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr_1.36" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.36" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="43"/></proof>
   </goal>
-  <goal name="VC incr_1.37" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_incr_1.37" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.43"/></proof>
   </goal>
-  <goal name="VC incr_1.38" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.38" expl="assertion" proved="true">
   <transf name="split_vc" proved="true" >
-   <goal name="VC incr_1.38.0" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.38.0" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="48"/></proof>
    </goal>
-   <goal name="VC incr_1.38.1" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.38.1" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC incr_1.38.2" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.38.2" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC incr_1.38.3" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.38.3" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC incr_1.38.4" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.38.4" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.08"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC incr_1.39" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_incr_1.39" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC incr_1.40" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.40" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="123"/></proof>
   </goal>
-  <goal name="VC incr_1.41" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.41" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.42" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.42" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC incr_1.43" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.43" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.44" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.44" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.05" steps="51"/></proof>
   </goal>
-  <goal name="VC incr_1.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.45" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="67"/></proof>
   </goal>
-  <goal name="VC incr_1.46" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_incr_1.46" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.07" steps="70"/></proof>
   </goal>
-  <goal name="VC incr_1.47" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.47" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC incr_1.48" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.48" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC incr_1.49" expl="assertion" proved="true">
+  <goal name="VC wmpn_incr_1.49" expl="assertion" proved="true">
   <transf name="split_vc" proved="true" >
-   <goal name="VC incr_1.49.0" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.49.0" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC incr_1.49.1" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.49.1" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC incr_1.49.2" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.49.2" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="44"/></proof>
    </goal>
-   <goal name="VC incr_1.49.3" expl="VC for incr_1" proved="true">
+   <goal name="VC wmpn_incr_1.49.3" expl="VC for wmpn_incr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC incr_1.50" expl="precondition" proved="true">
+  <goal name="VC wmpn_incr_1.50" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC incr_1.51" expl="postcondition" proved="true">
+  <goal name="VC wmpn_incr_1.51" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="26"/></proof>
   </goal>
-  <goal name="VC incr_1.52" expl="postcondition" proved="true">
+  <goal name="VC wmpn_incr_1.52" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="40"/></proof>
   </goal>
  </transf>
diff --git a/examples/multiprecision/compare.mlw b/examples/multiprecision/compare.mlw
index eeb687e775b54b58e06d04e73dc121917aca1090..ff700d042163eb418e6298c23e9f15f64ef07912 100644
--- a/examples/multiprecision/compare.mlw
+++ b/examples/multiprecision/compare.mlw
@@ -13,9 +13,9 @@ module Compare
   function compare_int (x y:int) : int =
     if x < y then -1 else if x=y then 0 else 1
 
-  (** `compare_same_size` compares `x[0..sz-1]` and `y[0..sz-1]` as unsigned integers.
+  (** `wmpn_cmp` compares `x[0..sz-1]` and `y[0..sz-1]` as unsigned integers.
       It corresponds to `GMPN_CMP`. *)
-  let compare_same_size (x y:t) (sz:int32) : int32
+  let wmpn_cmp (x y:t) (sz:int32) : int32
     requires { valid x sz }
     requires { valid y sz }
     ensures { result = compare_int (value x sz) (value y sz) }
diff --git a/examples/multiprecision/compare/why3session.xml b/examples/multiprecision/compare/why3session.xml
index fd61f6bc3ef5d40ae95be76939284d9607d6a56e..19a889e4ab186530931f969de872b0a64b68209b 100644
--- a/examples/multiprecision/compare/why3session.xml
+++ b/examples/multiprecision/compare/why3session.xml
@@ -8,136 +8,136 @@
 <prover id="5" name="Alt-Ergo" version="2.0.0" timelimit="5" steplimit="0" memlimit="1000"/>
 <file name="../compare.mlw" proved="true">
 <theory name="Compare" proved="true">
- <goal name="VC compare_same_size" expl="VC for compare_same_size" proved="true">
+ <goal name="VC wmpn_cmp" expl="VC for wmpn_cmp" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC compare_same_size.0" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_cmp.0" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="9"/></proof>
   </goal>
-  <goal name="VC compare_same_size.1" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_cmp.1" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.03" steps="10"/></proof>
   </goal>
-  <goal name="VC compare_same_size.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_cmp.2" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.09" steps="21"/></proof>
   </goal>
-  <goal name="VC compare_same_size.3" expl="assertion" proved="true">
+  <goal name="VC wmpn_cmp.3" expl="assertion" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="39"/></proof>
   </goal>
-  <goal name="VC compare_same_size.4" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.4" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="46"/></proof>
   </goal>
-  <goal name="VC compare_same_size.5" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_cmp.5" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   <proof prover="5"><result status="valid" time="0.04" steps="24"/></proof>
   </goal>
-  <goal name="VC compare_same_size.6" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_cmp.6" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="26"/></proof>
   </goal>
-  <goal name="VC compare_same_size.7" expl="assertion" proved="true">
+  <goal name="VC wmpn_cmp.7" expl="assertion" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="16"/></proof>
   </goal>
-  <goal name="VC compare_same_size.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.8" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="28"/></proof>
   </goal>
-  <goal name="VC compare_same_size.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.9" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   <proof prover="5"><result status="valid" time="0.06" steps="28"/></proof>
   </goal>
-  <goal name="VC compare_same_size.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.10" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5"><result status="valid" time="0.05" steps="20"/></proof>
   </goal>
-  <goal name="VC compare_same_size.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.11" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.06" steps="21"/></proof>
   </goal>
-  <goal name="VC compare_same_size.12" expl="assertion" proved="true">
+  <goal name="VC wmpn_cmp.12" expl="assertion" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="51"/></proof>
   </goal>
-  <goal name="VC compare_same_size.13" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.13" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5"><result status="valid" time="0.05" steps="23"/></proof>
   </goal>
-  <goal name="VC compare_same_size.14" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.14" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5"><result status="valid" time="0.07" steps="24"/></proof>
   </goal>
-  <goal name="VC compare_same_size.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.15" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC compare_same_size.16" expl="assertion" proved="true">
+  <goal name="VC wmpn_cmp.16" expl="assertion" proved="true">
   <transf name="inline_all" proved="true" >
-   <goal name="VC compare_same_size.16.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_cmp.16.0" expl="assertion" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="19"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC compare_same_size.17" expl="assertion" proved="true">
+  <goal name="VC wmpn_cmp.17" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC compare_same_size.17.0" expl="VC for compare_same_size" proved="true">
+   <goal name="VC wmpn_cmp.17.0" expl="VC for wmpn_cmp" proved="true">
    <proof prover="1" memlimit="2000"><result status="valid" time="0.17"/></proof>
    </goal>
-   <goal name="VC compare_same_size.17.1" expl="VC for compare_same_size" proved="true">
+   <goal name="VC wmpn_cmp.17.1" expl="VC for wmpn_cmp" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC compare_same_size.18" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_cmp.18" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC compare_same_size.19" expl="postcondition" proved="true">
+  <goal name="VC wmpn_cmp.19" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC compare_same_size.20" expl="assertion" proved="true">
+  <goal name="VC wmpn_cmp.20" expl="assertion" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.05" steps="26"/></proof>
   </goal>
-  <goal name="VC compare_same_size.21" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.21" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC compare_same_size.22" expl="assertion" proved="true">
+  <goal name="VC wmpn_cmp.22" expl="assertion" proved="true">
   <transf name="inline_all" proved="true" >
-   <goal name="VC compare_same_size.22.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_cmp.22.0" expl="assertion" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.05" steps="20"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC compare_same_size.23" expl="assertion" proved="true">
+  <goal name="VC wmpn_cmp.23" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC compare_same_size.23.0" expl="VC for compare_same_size" proved="true">
+   <goal name="VC wmpn_cmp.23.0" expl="VC for wmpn_cmp" proved="true">
    <proof prover="1" memlimit="2000"><result status="valid" time="0.27"/></proof>
    </goal>
-   <goal name="VC compare_same_size.23.1" expl="VC for compare_same_size" proved="true">
+   <goal name="VC wmpn_cmp.23.1" expl="VC for wmpn_cmp" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC compare_same_size.24" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_cmp.24" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   <proof prover="5"><result status="valid" time="0.23" steps="43"/></proof>
   </goal>
-  <goal name="VC compare_same_size.25" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_cmp.25" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC compare_same_size.26" expl="postcondition" proved="true">
+  <goal name="VC wmpn_cmp.26" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC compare_same_size.27" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_cmp.27" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.03" steps="20"/></proof>
   </goal>
-  <goal name="VC compare_same_size.28" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_cmp.28" expl="loop invariant preservation" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="20"/></proof>
   </goal>
-  <goal name="VC compare_same_size.29" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_cmp.29" expl="loop invariant preservation" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="44"/></proof>
   </goal>
-  <goal name="VC compare_same_size.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_cmp.30" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="43"/></proof>
   </goal>
-  <goal name="VC compare_same_size.31" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_cmp.31" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC compare_same_size.32" expl="postcondition" proved="true">
+  <goal name="VC wmpn_cmp.32" expl="postcondition" proved="true">
   <proof prover="5"><result status="valid" time="0.10" steps="37"/></proof>
   </goal>
  </transf>
diff --git a/examples/multiprecision/div.mlw b/examples/multiprecision/div.mlw
index e175faff5b658f228b67fc8ae6a5f9c68226e02e..a9be735fb26165d8dddc724b4a47ba89b01ae8fd 100644
--- a/examples/multiprecision/div.mlw
+++ b/examples/multiprecision/div.mlw
@@ -318,11 +318,11 @@ module Div
     assert { !qh * d + !r = ul + radix * uh };
     (!qh,!r)
 
-(** `divmod_1 q x y sz` divides `(x, sz)` by `y`, writes the quotient
+(** `wmpn_divrem_1 q x y sz` divides `(x, sz)` by `y`, writes the quotient
     in `(q, sz)` and returns the remainder. Corresponds to
-    `mpn_divmod_1`. *)
+    `mpn_wmpn_divrem_1`. *)
 (* TODO develop further decimal points (qxn) *)
-let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
+let wmpn_divrem_1 (q x:t) (y:limb) (sz:int32) : limb
     requires { valid x sz }
     requires { valid q sz }
     requires { 0 < sz }
@@ -1340,7 +1340,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
     let ghost vy = value y (p2i sy) in
     let x1 = ref limb_zero in
     let x0 = ref limb_zero in
-    let r = compare_same_size xd y sy in
+    let r = wmpn_cmp xd y sy in
     let qh = (*begin
                ensures { r >= 0 -> result = 1 }
                ensures { r < 0 -> result = 0 }*)
@@ -1367,7 +1367,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
     if (not (Limb.(=) qh limb_zero))
     then begin
          assert { qh = 1 };
-         let ghost b = sub_in_place xd y sy sy in
+         let ghost b = wmpn_sub_in_place xd y sy sy in
          begin
              ensures { value (x at PreAdjust) sx =
                   (value !qp (sx - sy - !i)
@@ -2398,7 +2398,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
                    so 0 <= j < xc.Array.length
                  } ;
           value_sub_frame (pelts x) xc.elts x.offset (x.offset + p2i !i);
-          let c = add_in_place xd y (Int32.(-) sy one) (Int32.(-) sy one) in
+          let c = wmpn_add_in_place xd y (Int32.(-) sy one) (Int32.(-) sy one) in
           begin
           ensures { value x !i
                  = value (x at Adjust) !i }
@@ -3109,7 +3109,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
                   + value x sy };
     qh
 
-  let divmod_2 (q x y:t) (sx:int32) : limb
+  let wmpn_divrem_2 (q x y:t) (sx:int32) : limb
     requires { 2 <= sx }
     requires { valid x sx }
     requires { valid y 2 }
@@ -3376,7 +3376,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
     assert { value y sy >= power radix (sy - 1) };
     if (Int32.(=) sy one)
     then
-      let lr = divmod_1 q x (C.get y) sx in
+      let lr = wmpn_divrem_1 q x (C.get y) sx in
       C.set r lr
     else
     if (Int32.(=) sy two)
@@ -3385,13 +3385,13 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
       let ghost p = power 2 (p2i clz) in
       if Int32.(=) clz zero
       then begin
-        copy nx x sx;
+        wmpn_copyi nx x sx;
         value_sub_shift_no_change (pelts x) x.offset (p2i sx) (p2i sx) limb_zero;
         C.set_ofs nx sx limb_zero;
         value_sub_frame_shift (pelts x) (pelts nx) x.offset nx.offset (p2i sx);
         label Div2_ns in
-        let ghost _qh = divmod_2 q nx y (Int32.(+) sx one) in
-        copy r nx sy;
+        let ghost _qh = wmpn_divrem_2 q nx y (Int32.(+) sx one) in
+        wmpn_copyi r nx sy;
         assert { value x sx
                  = value q (sx - sy + 1) * value y sy
                  + value r sy
@@ -3430,7 +3430,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
         ()
       end
       else begin
-        let ghost _c = lshift ny y sy (Limb.of_int32 clz) in
+        let ghost _c = wmpn_lshift ny y sy (Limb.of_int32 clz) in
         begin
           ensures { normalized ny sy }
           ensures { value ny sy = power 2 clz * value y sy }
@@ -3479,7 +3479,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
                    so ndh >= div radix 2
                  };
         end;
-        let h = lshift nx x sx (Limb.of_int32 clz) in
+        let h = wmpn_lshift nx x sx (Limb.of_int32 clz) in
         C.set_ofs nx sx h;
         begin
           ensures { value nx (sx + 1)
@@ -3496,8 +3496,8 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
         end;
         label Div2_s in
         (* TODO don't add 1 when not needed, cf "adjust" in GMP algo *)
-        let ghost _qh = divmod_2 q nx ny (Int32.(+) sx one) in
-        let ghost _l = rshift r nx sy (Limb.of_int32 clz) in
+        let ghost _qh = wmpn_divrem_2 q nx ny (Int32.(+) sx one) in
+        let ghost _l = wmpn_rshift r nx sy (Limb.of_int32 clz) in
         begin ensures { value nx 2 = p * value r 2 }
           assert { _l = 0
                  by
@@ -3624,7 +3624,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
         let ghost p = power 2 (p2i clz) in
         if Int32.(=) clz zero
         then begin
-          copy nx x sx;
+          wmpn_copyi nx x sx;
           value_sub_shift_no_change (pelts x) x.offset
                                     (p2i sx) (p2i sx) limb_zero;
           C.set_ofs nx sx limb_zero;
@@ -3659,7 +3659,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
                                  = dh * power radix (sx - 1))) };
           label Div_ns in
           let ghost _qh = div_sb_qr q nx y (Int32.(+) sx adjust) sy in
-          copy r nx sy;
+          wmpn_copyi r nx sy;
           assert { value x sx
                    = value q (sx - sy + adjust) * value y sy
                    + value r sy
@@ -3705,7 +3705,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
            end
         end
         else begin
-          let ghost _c = lshift ny y sy (Limb.of_int32 clz) in
+          let ghost _c = wmpn_lshift ny y sy (Limb.of_int32 clz) in
           begin
             ensures { normalized ny sy }
             ensures { value ny sy
@@ -3762,7 +3762,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
                      so ndh >= div radix 2
                    };
           end;
-          let h = lshift nx x sx (Limb.of_int32 clz) in
+          let h = wmpn_lshift nx x sx (Limb.of_int32 clz) in
           label Shifted in
           C.set_ofs nx sx h;
           begin
@@ -3851,7 +3851,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
                                  = p * dh * power radix (sy - 1 + sx - sy)
                                  = p * dh * power radix (sx - 1))) };
           let ghost _qh = div_sb_qr q nx ny (Int32.(+) sx adjust) sy in
-          let ghost _l = rshift r nx sy (Limb.of_int32 clz) in
+          let ghost _l = wmpn_rshift r nx sy (Limb.of_int32 clz) in
           begin ensures { value nx sy = p * value r sy }
             assert { _l = 0
                    by
@@ -3984,7 +3984,7 @@ let divmod_1 (q x:t) (y:limb) (sz:int32) : limb
         end
         end
 
-  let tdiv_qr (q r x y:t) (sx sy:int32) : unit
+  let wmpn_tdiv_qr (q r x y:t) (sx sy:int32) : unit
     requires { 1 <= sy <= sx <= (Int32.max_int32 - 1) }
     requires { valid x sx }
     requires { valid y sy }
diff --git a/examples/multiprecision/div/why3session.xml b/examples/multiprecision/div/why3session.xml
index ca6a2d1afa61cebc2f316730af6064c23b8d0083..d582088b65d39b0559b2e1abd4d207c3fde758f2 100644
--- a/examples/multiprecision/div/why3session.xml
+++ b/examples/multiprecision/div/why3session.xml
@@ -849,476 +849,476 @@
   </goal>
  </transf>
  </goal>
- <goal name="VC divmod_1" expl="VC for divmod_1" proved="true">
+ <goal name="VC wmpn_divrem_1" expl="VC for wmpn_divrem_1" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC divmod_1.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_1.0" expl="integer overflow" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.04" steps="22"/></proof>
   </goal>
-  <goal name="VC divmod_1.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_1.1" expl="integer overflow" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.1.0" expl="integer overflow" proved="true">
+   <goal name="VC wmpn_divrem_1.1.0" expl="integer overflow" proved="true">
    <proof prover="5" timelimit="5"><result status="valid" time="0.08" steps="23"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_1.2" expl="integer overflow" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.13"/></proof>
   </goal>
-  <goal name="VC divmod_1.3" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_1.3" expl="integer overflow" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.06" steps="26"/></proof>
   </goal>
-  <goal name="VC divmod_1.4" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.4" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_1.5" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.5" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_1.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.6" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_1.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.7" expl="precondition" proved="true">
   <proof prover="5" timelimit="5" memlimit="2000"><result status="valid" time="0.03" steps="23"/></proof>
   </goal>
-  <goal name="VC divmod_1.8" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.8" expl="assertion" proved="true">
   <proof prover="5" timelimit="5" memlimit="2000"><result status="valid" time="0.05" steps="22"/></proof>
   </goal>
-  <goal name="VC divmod_1.9" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.9" expl="assertion" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_1.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.10" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_1.11" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_1.11" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_1.12" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_1.12" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="5" memlimit="2000"><result status="valid" time="0.04" steps="27"/></proof>
   </goal>
-  <goal name="VC divmod_1.13" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_1.13" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="55"/></proof>
   </goal>
-  <goal name="VC divmod_1.14" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_1.14" expl="loop invariant init" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC divmod_1.15" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_1.15" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.06" steps="53"/></proof>
   </goal>
-  <goal name="VC divmod_1.16" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.16" expl="assertion" proved="true">
   <proof prover="2"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_1.17" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.17" expl="precondition" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.09"/></proof>
   </goal>
-  <goal name="VC divmod_1.18" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.18" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_1.19" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.19" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_1.20" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.20" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.20.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_divrem_1.20.0" expl="precondition" proved="true">
    <proof prover="1" memlimit="1000"><result status="valid" time="0.10"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.21" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.21" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.21.0" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.0" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.1" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.1" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.10"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.2" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.2" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.3" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.3" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.4" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.4" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.5" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.5" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.38"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.6" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.6" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.7" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.7" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.8" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.8" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.09"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.9" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.9" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.10" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.10" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.11" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.11" expl="VC for wmpn_divrem_1" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC divmod_1.21.11.0" expl="VC for divmod_1" proved="true">
+    <goal name="VC wmpn_divrem_1.21.11.0" expl="VC for wmpn_divrem_1" proved="true">
     <proof prover="1"><result status="valid" time="0.13"/></proof>
     </goal>
    </transf>
    </goal>
-   <goal name="VC divmod_1.21.12" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.12" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.13" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.13" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.14" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.14" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.15" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.15" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.16" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.16" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.17" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.17" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.18" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.18" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.21.19" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.21.19" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.22" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.22" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.22.0" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.22.0" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC divmod_1.22.1" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.22.1" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.22.2" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.22.2" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.23" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_1.23" expl="integer overflow" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC divmod_1.24" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.24" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_1.25" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.25" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.25.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_divrem_1.25.0" expl="precondition" proved="true">
    <proof prover="0" memlimit="1000"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.26" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.26" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_1.27" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.27" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.27.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_divrem_1.27.0" expl="precondition" proved="true">
    <proof prover="4"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.28" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.28" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC divmod_1.29" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.29" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.29.0" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.29.0" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.09"/></proof>
    </goal>
-   <goal name="VC divmod_1.29.1" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.29.1" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC divmod_1.29.2" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.29.2" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.29.3" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.29.3" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC divmod_1.29.4" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.29.4" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC divmod_1.29.5" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.29.5" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="0.13"/></proof>
    </goal>
-   <goal name="VC divmod_1.29.6" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.29.6" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC divmod_1.29.7" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.29.7" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.30" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_1.31" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.31" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.31.0" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.0" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.1" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.1" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.15"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.2" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.2" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.3" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.3" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.4" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.4" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.5" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.5" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.6" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.6" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.7" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.7" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="1"><result status="valid" time="0.08"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.8" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.8" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.9" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.9" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.10" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.10" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="1"><result status="valid" time="0.08"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.11" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.11" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC divmod_1.31.12" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.31.12" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.05"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.32" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.32" expl="assertion" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC divmod_1.33" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.33" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC divmod_1.34" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.34" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_1.35" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.35" expl="precondition" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.19"/></proof>
   </goal>
-  <goal name="VC divmod_1.36" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.36" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_1.37" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.37" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_1.38" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.38" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.11"/></proof>
   </goal>
-  <goal name="VC divmod_1.39" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.39" expl="assertion" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_1.40" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.40" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.40.0" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.40.0" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0" timelimit="10"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_1.40.1" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.40.1" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.14"/></proof>
    </goal>
-   <goal name="VC divmod_1.40.2" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.40.2" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="1" timelimit="10"><result status="valid" time="0.11"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.41" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.41" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.41.0" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.41.0" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0" timelimit="10"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_1.41.1" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.41.1" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.41.2" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.41.2" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0" timelimit="10"><result status="valid" time="4.89"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.42" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.42" expl="assertion" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC divmod_1.43" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_1.43" expl="integer overflow" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.20"/></proof>
   </goal>
-  <goal name="VC divmod_1.44" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_divrem_1.44" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_1.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_1.45" expl="loop invariant preservation" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC divmod_1.46" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_1.46" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC divmod_1.47" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_1.47" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="4.56"/></proof>
   </goal>
-  <goal name="VC divmod_1.48" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_1.48" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.48.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_divrem_1.48.0" expl="loop invariant preservation" proved="true">
    <proof prover="4"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.49" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_1.49" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_1.50" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.50" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_1.51" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.51" expl="precondition" proved="true">
   <proof prover="1" memlimit="1000"><result status="valid" time="0.08"/></proof>
   <proof prover="4" memlimit="2000"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_1.52" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.52" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC divmod_1.53" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.53" expl="assertion" proved="true">
   <proof prover="1"><result status="valid" time="0.27"/></proof>
   </goal>
-  <goal name="VC divmod_1.54" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.54" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_1.55" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.55" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_1.56" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.56" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_1.57" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_1.57" expl="postcondition" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC divmod_1.57.0" expl="postcondition" proved="true">
+   <goal name="VC wmpn_divrem_1.57.0" expl="postcondition" proved="true">
    <transf name="replace" proved="true" arg1="result" arg2="res">
-    <goal name="VC divmod_1.57.0.0" expl="postcondition" proved="true">
+    <goal name="VC wmpn_divrem_1.57.0.0" expl="postcondition" proved="true">
     <proof prover="3"><result status="valid" time="0.02"/></proof>
     </goal>
-    <goal name="VC divmod_1.57.0.1" proved="true">
+    <goal name="VC wmpn_divrem_1.57.0.1" proved="true">
     <proof prover="1"><result status="valid" time="0.14"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.58" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_1.58" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC divmod_1.59" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.59" expl="precondition" proved="true">
   <proof prover="5" timelimit="5" memlimit="2000"><result status="valid" time="0.06" steps="46"/></proof>
   </goal>
-  <goal name="VC divmod_1.60" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_1.60" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="21"/></proof>
   </goal>
-  <goal name="VC divmod_1.61" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_1.61" expl="loop invariant init" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC divmod_1.62" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_1.62" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="51"/></proof>
   </goal>
-  <goal name="VC divmod_1.63" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.63" expl="assertion" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC divmod_1.64" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.64" expl="precondition" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.14"/></proof>
   </goal>
-  <goal name="VC divmod_1.65" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.65" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="61"/></proof>
   </goal>
-  <goal name="VC divmod_1.66" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.66" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.66.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_divrem_1.66.0" expl="precondition" proved="true">
    <proof prover="0"><result status="valid" time="0.04"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.67" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.67" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_1.68" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.68" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_1.69" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.69" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_1.70" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.70" expl="precondition" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.09"/></proof>
   </goal>
-  <goal name="VC divmod_1.71" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_1.71" expl="integer overflow" proved="true">
   <proof prover="1" memlimit="1000"><result status="valid" time="0.20"/></proof>
   </goal>
-  <goal name="VC divmod_1.72" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.72" expl="precondition" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.11"/></proof>
   </goal>
-  <goal name="VC divmod_1.73" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_1.73" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC divmod_1.74" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_1.74" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_1.74.0" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.0" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_1.74.1" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.1" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC divmod_1.74.2" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.2" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="3.06"/></proof>
    </goal>
-   <goal name="VC divmod_1.74.3" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.3" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.07"/></proof>
    </goal>
-   <goal name="VC divmod_1.74.4" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.4" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="0.06"/></proof>
    </goal>
-   <goal name="VC divmod_1.74.5" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.5" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="0.06"/></proof>
    </goal>
-   <goal name="VC divmod_1.74.6" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.6" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.06"/></proof>
    </goal>
-   <goal name="VC divmod_1.74.7" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.7" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_1.74.8" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.8" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="3.20"/></proof>
    </goal>
-   <goal name="VC divmod_1.74.9" expl="VC for divmod_1" proved="true">
+   <goal name="VC wmpn_divrem_1.74.9" expl="VC for wmpn_divrem_1" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_1.75" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_divrem_1.75" expl="loop variant decrease" proved="true">
   <proof prover="1" memlimit="1000"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC divmod_1.76" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_1.76" expl="loop invariant preservation" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC divmod_1.77" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_1.77" expl="loop invariant preservation" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.15"/></proof>
   </goal>
-  <goal name="VC divmod_1.78" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_1.78" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_1.79" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_1.79" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC divmod_1.80" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_1.80" expl="postcondition" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.07"/></proof>
   </goal>
  </transf>
@@ -8513,384 +8513,384 @@
   </goal>
  </transf>
  </goal>
- <goal name="VC divmod_2" expl="VC for divmod_2" proved="true">
+ <goal name="VC wmpn_divrem_2" expl="VC for wmpn_divrem_2" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC divmod_2.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_2.0" expl="integer overflow" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.06" steps="31"/></proof>
   </goal>
-  <goal name="VC divmod_2.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_2.1" expl="integer overflow" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.04" steps="32"/></proof>
   </goal>
-  <goal name="VC divmod_2.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_2.2" expl="integer overflow" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.2.0" expl="integer overflow" proved="true">
+   <goal name="VC wmpn_divrem_2.2.0" expl="integer overflow" proved="true">
    <proof prover="1"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.3" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_2.3" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_2.4" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_2.4" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_2.5" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_2.5" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_2.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.6" expl="precondition" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.01" steps="36"/></proof>
   </goal>
-  <goal name="VC divmod_2.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.7" expl="precondition" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.06" steps="43"/></proof>
   </goal>
-  <goal name="VC divmod_2.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.8" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC divmod_2.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.9" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC divmod_2.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.10" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.10.0" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.10.0" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="0" memlimit="1000"><result status="valid" time="0.13"/></proof>
    <proof prover="1" memlimit="1000"><result status="valid" time="0.06"/></proof>
    <proof prover="2"><result status="valid" time="0.15"/></proof>
    <proof prover="4"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_2.10.1" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.10.1" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.11" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_2.11" expl="assertion" proved="true">
   <proof prover="1"><result status="valid" time="0.33"/></proof>
   </goal>
-  <goal name="VC divmod_2.12" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_2.12" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_2.13" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.13" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.46"/></proof>
   </goal>
-  <goal name="VC divmod_2.14" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.14" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_2.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.15" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_2.16" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_2.16" expl="assertion" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.16" steps="292"/></proof>
   </goal>
-  <goal name="VC divmod_2.17" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_2.17" expl="assertion" proved="true">
   <proof prover="2"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC divmod_2.18" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.18" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_2.19" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.19" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC divmod_2.20" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_2.20" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.20.0" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.20.0" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_2.20.1" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.20.1" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="5"><result status="valid" time="0.18" steps="82"/></proof>
    </goal>
-   <goal name="VC divmod_2.20.2" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.20.2" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="5"><result status="valid" time="0.02" steps="43"/></proof>
    </goal>
-   <goal name="VC divmod_2.20.3" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.20.3" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="5"><result status="valid" time="0.05" steps="43"/></proof>
    </goal>
-   <goal name="VC divmod_2.20.4" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.20.4" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="5"><result status="valid" time="0.26" steps="83"/></proof>
    </goal>
-   <goal name="VC divmod_2.20.5" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.20.5" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="5"><result status="valid" time="0.23" steps="82"/></proof>
    </goal>
-   <goal name="VC divmod_2.20.6" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.20.6" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.09"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.21" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_2.21" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_2.22" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_2.22" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.20"/></proof>
   </goal>
-  <goal name="VC divmod_2.23" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_2.23" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_2.24" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.24" expl="precondition" proved="true">
   <proof prover="1" memlimit="1000"><result status="valid" time="0.12"/></proof>
   </goal>
-  <goal name="VC divmod_2.25" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.25" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_2.26" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_2.26" expl="postcondition" proved="true">
   <proof prover="5"><result status="valid" time="0.07" steps="81"/></proof>
   </goal>
-  <goal name="VC divmod_2.27" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_2.27" expl="postcondition" proved="true">
   <proof prover="2"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC divmod_2.28" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_2.28" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_2.29" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_2.29" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.02" steps="28"/></proof>
   </goal>
-  <goal name="VC divmod_2.30" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_2.30" expl="loop invariant init" proved="true">
   <proof prover="2"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC divmod_2.31" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_2.31" expl="loop invariant init" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.31.0" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_divrem_2.31.0" expl="loop invariant init" proved="true">
    <proof prover="4"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_2.31.1" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_divrem_2.31.1" expl="loop invariant init" proved="true">
    <proof prover="4"><result status="valid" time="0.05"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.32" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_2.32" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_2.33" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_2.33" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_2.34" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_2.34" expl="loop invariant init" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.34.0" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_divrem_2.34.0" expl="loop invariant init" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC divmod_2.34.1" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_divrem_2.34.1" expl="loop invariant init" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.35" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_2.35" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.44" steps="135"/></proof>
   </goal>
-  <goal name="VC divmod_2.36" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_divrem_2.36" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_2.37" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.37" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.38"/></proof>
   </goal>
-  <goal name="VC divmod_2.38" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.38" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="71"/></proof>
   </goal>
-  <goal name="VC divmod_2.39" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.39" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_2.40" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.40" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.40.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_divrem_2.40.0" expl="precondition" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC divmod_2.40.0.0" expl="precondition" proved="true">
+    <goal name="VC wmpn_divrem_2.40.0.0" expl="precondition" proved="true">
     <transf name="inline_goal" proved="true" >
-     <goal name="VC divmod_2.40.0.0.0" expl="precondition" proved="true">
+     <goal name="VC wmpn_divrem_2.40.0.0.0" expl="precondition" proved="true">
      <proof prover="0"><result status="valid" time="1.44"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC divmod_2.40.1" expl="precondition" proved="true">
+   <goal name="VC wmpn_divrem_2.40.1" expl="precondition" proved="true">
    <transf name="split_goal_right" proved="true" >
-    <goal name="VC divmod_2.40.1.0" expl="precondition" proved="true">
+    <goal name="VC wmpn_divrem_2.40.1.0" expl="precondition" proved="true">
     <proof prover="0"><result status="valid" time="0.04"/></proof>
     </goal>
-    <goal name="VC divmod_2.40.1.1" expl="precondition" proved="true">
+    <goal name="VC wmpn_divrem_2.40.1.1" expl="precondition" proved="true">
     <proof prover="0"><result status="valid" time="0.03"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.41" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.41" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_2.42" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_divrem_2.42" expl="integer overflow" proved="true">
   <proof prover="2"><result status="valid" time="0.25"/></proof>
   </goal>
-  <goal name="VC divmod_2.43" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.43" expl="precondition" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.26"/></proof>
   </goal>
-  <goal name="VC divmod_2.44" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_2.44" expl="assertion" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_2.45" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.45" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC divmod_2.46" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.46" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_2.47" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_2.47" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.47.0" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.0" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="0"><result status="valid" time="1.58"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.1" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.1" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="1"><result status="valid" time="0.22"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.2" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.2" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.94"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.3" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.3" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="0"><result status="valid" time="5.27"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.4" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.4" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="1.07"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.5" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.5" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="0"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.6" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.6" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="1"><result status="valid" time="0.21"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.7" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.7" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="0"><result status="valid" time="0.34"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.8" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.8" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="0"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.9" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.9" expl="VC for wmpn_divrem_2" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC divmod_2.47.9.0" expl="VC for divmod_2" proved="true">
+    <goal name="VC wmpn_divrem_2.47.9.0" expl="VC for wmpn_divrem_2" proved="true">
     <transf name="inline_goal" proved="true" >
-     <goal name="VC divmod_2.47.9.0.0" expl="VC for divmod_2" proved="true">
+     <goal name="VC wmpn_divrem_2.47.9.0.0" expl="VC for wmpn_divrem_2" proved="true">
      <proof prover="1"><result status="valid" time="0.20"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC divmod_2.47.10" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.10" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="4"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.11" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.11" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="0"><result status="valid" time="0.04"/></proof>
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC divmod_2.47.11.0" expl="VC for divmod_2" proved="true">
+    <goal name="VC wmpn_divrem_2.47.11.0" expl="VC for wmpn_divrem_2" proved="true">
     <transf name="revert" proved="true" arg1="H26">
-     <goal name="VC divmod_2.47.11.0.0" expl="VC for divmod_2" proved="true">
+     <goal name="VC wmpn_divrem_2.47.11.0.0" expl="VC for wmpn_divrem_2" proved="true">
      <proof prover="1" timelimit="10"><result status="valid" time="0.13"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC divmod_2.47.12" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.12" expl="VC for wmpn_divrem_2" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC divmod_2.47.12.0" expl="VC for divmod_2" proved="true">
+    <goal name="VC wmpn_divrem_2.47.12.0" expl="VC for wmpn_divrem_2" proved="true">
     <transf name="revert" proved="true" arg1="H26">
-     <goal name="VC divmod_2.47.12.0.0" expl="VC for divmod_2" proved="true">
+     <goal name="VC wmpn_divrem_2.47.12.0.0" expl="VC for wmpn_divrem_2" proved="true">
      <proof prover="1" timelimit="10"><result status="valid" time="0.13"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC divmod_2.47.13" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.13" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC divmod_2.47.14" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.14" expl="VC for wmpn_divrem_2" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC divmod_2.47.14.0" expl="VC for divmod_2" proved="true">
+    <goal name="VC wmpn_divrem_2.47.14.0" expl="VC for wmpn_divrem_2" proved="true">
     <transf name="replace" proved="true" arg1="(value_sub (pelts q) (offset q + k) ((offset q + int32&#39;int sx) - 2) + (uint64&#39;int qh * power radix2 ((int32&#39;int sx - 2) - k)))" arg2="(value_sub (pelts q1) (offset q1 + k) ((offset q1 + int32&#39;int sx) - 2) + (uint64&#39;int qh * power radix2 ((int32&#39;int sx - 2) - k)))">
-     <goal name="VC divmod_2.47.14.0.0" expl="VC for divmod_2" proved="true">
+     <goal name="VC wmpn_divrem_2.47.14.0.0" expl="VC for wmpn_divrem_2" proved="true">
      <proof prover="0"><result status="valid" time="0.06"/></proof>
      </goal>
-     <goal name="VC divmod_2.47.14.0.1" proved="true">
+     <goal name="VC wmpn_divrem_2.47.14.0.1" proved="true">
      <proof prover="1"><result status="valid" time="0.11"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC divmod_2.47.15" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.15" expl="VC for wmpn_divrem_2" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC divmod_2.47.15.0" expl="VC for divmod_2" proved="true">
+    <goal name="VC wmpn_divrem_2.47.15.0" expl="VC for wmpn_divrem_2" proved="true">
     <proof prover="1"><result status="valid" time="0.14"/></proof>
     </goal>
    </transf>
    </goal>
-   <goal name="VC divmod_2.47.16" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.47.16" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.14"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.48" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_divrem_2.48" expl="loop variant decrease" proved="true">
   <proof prover="2"><result status="valid" time="0.11"/></proof>
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_2.49" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_2.49" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.49.0" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.49.0" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="2"><result status="valid" time="0.15"/></proof>
    <proof prover="4"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC divmod_2.49.1" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.49.1" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="2"><result status="valid" time="0.12"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.50" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_2.50" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC divmod_2.51" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_2.51" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_2.52" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_2.52" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC divmod_2.53" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_2.53" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_2.54" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_2.54" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.54.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_divrem_2.54.0" expl="loop invariant preservation" proved="true">
    <proof prover="3"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC divmod_2.54.1" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_divrem_2.54.1" expl="loop invariant preservation" proved="true">
    <proof prover="3"><result status="valid" time="0.06"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.55" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_2.55" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_2.56" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_divrem_2.56" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.09"/></proof>
   </goal>
-  <goal name="VC divmod_2.57" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_2.57" expl="assertion" proved="true">
   <proof prover="2"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC divmod_2.58" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_2.58" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC divmod_2.59" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.59" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC divmod_2.60" expl="precondition" proved="true">
+  <goal name="VC wmpn_divrem_2.60" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.24"/></proof>
   </goal>
-  <goal name="VC divmod_2.61" expl="assertion" proved="true">
+  <goal name="VC wmpn_divrem_2.61" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC divmod_2.61.0" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.61.0" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="5"><result status="valid" time="0.20" steps="58"/></proof>
    </goal>
-   <goal name="VC divmod_2.61.1" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.61.1" expl="VC for wmpn_divrem_2" proved="true">
    <proof prover="5"><result status="valid" time="0.22" steps="58"/></proof>
    </goal>
-   <goal name="VC divmod_2.61.2" expl="VC for divmod_2" proved="true">
+   <goal name="VC wmpn_divrem_2.61.2" expl="VC for wmpn_divrem_2" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC divmod_2.61.2.0" expl="VC for divmod_2" proved="true">
+    <goal name="VC wmpn_divrem_2.61.2.0" expl="VC for wmpn_divrem_2" proved="true">
     <transf name="split_all_full" proved="true" >
-     <goal name="VC divmod_2.61.2.0.0" expl="VC for divmod_2" proved="true">
+     <goal name="VC wmpn_divrem_2.61.2.0.0" expl="VC for wmpn_divrem_2" proved="true">
      <proof prover="2" timelimit="10" memlimit="4000"><result status="valid" time="3.65"/></proof>
      </goal>
     </transf>
@@ -8899,13 +8899,13 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC divmod_2.62" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_2.62" expl="postcondition" proved="true">
   <proof prover="5"><result status="valid" time="0.17" steps="98"/></proof>
   </goal>
-  <goal name="VC divmod_2.63" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_2.63" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC divmod_2.64" expl="postcondition" proved="true">
+  <goal name="VC wmpn_divrem_2.64" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
  </transf>
@@ -10548,83 +10548,83 @@
   </goal>
  </transf>
  </goal>
- <goal name="VC tdiv_qr" expl="VC for tdiv_qr" proved="true">
+ <goal name="VC wmpn_tdiv_qr" expl="VC for wmpn_tdiv_qr" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC tdiv_qr.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_tdiv_qr.0" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.06" steps="38"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.1" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.1" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.05" steps="16"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_tdiv_qr.2" expl="integer overflow" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.04" steps="40"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.3" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.3" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.4" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.4" expl="precondition" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.05" steps="24"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.5" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.5" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.6" expl="precondition" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.04" steps="31"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.7" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.04" steps="31"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.8" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.04" steps="31"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.9" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.03" steps="31"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.10" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.04" steps="31"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.11" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.21"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.03" steps="99"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.12" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.03" steps="97"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.13" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.13" expl="precondition" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.05" steps="33"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.14" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.14" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.04" steps="53"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.15" expl="precondition" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.03" steps="54"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.16" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.16" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.17" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.17" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.04" steps="53"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.18" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.18" expl="precondition" proved="true">
   <proof prover="5" timelimit="5"><result status="valid" time="0.03" steps="54"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.19" expl="precondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.19" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.20" expl="postcondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.20" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.03" steps="53"/></proof>
   </goal>
-  <goal name="VC tdiv_qr.21" expl="postcondition" proved="true">
+  <goal name="VC wmpn_tdiv_qr.21" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   <proof prover="5" timelimit="5"><result status="valid" time="0.05" steps="53"/></proof>
   </goal>
diff --git a/examples/multiprecision/logical.mlw b/examples/multiprecision/logical.mlw
index fe224f74e830cf72f99f832bb3e4b00a6629b37c..725c3ee831994182c3885c99d158239bfd881147 100644
--- a/examples/multiprecision/logical.mlw
+++ b/examples/multiprecision/logical.mlw
@@ -113,11 +113,11 @@ module Logical
            };
     r
 
-  (** `lshift r x sz cnt` shifts `(x, sz)` `cnt` bits to the left and
+  (** `wmpn_lshift r x sz cnt` shifts `(x, sz)` `cnt` bits to the left and
       writes the result in `(r, sz)`. Returns the `cnt` most significant
-      bits of `(x, sz)`. Corresponds to `mpn_lshift`. *)
+      bits of `(x, sz)`. Corresponds to `mpn_wmpn_lshift`. *)
   (*TODO overlapping allowed if r >= x*)
-  let lshift (r x:t) (sz:int32) (cnt:limb) : limb
+  let wmpn_lshift (r x:t) (sz:int32) (cnt:limb) : limb
     requires { 0 < cnt < Limb.length }
     requires { valid r sz }
     requires { valid x sz }
@@ -252,11 +252,11 @@ module Logical
    value_sub_head (pelts r) r.offset (r.offset + p2i sz);
    retval
 
-  (** `rshift r x sz cnt` shifts `(x, sz)` `cnt` bits to the right and
+  (** `wmpn_rshift r x sz cnt` shifts `(x, sz)` `cnt` bits to the right and
       writes the result in `(r, sz)`. Returns the `cnt` least significant
-      bits of `(x, sz)`. Corresponds to `mpn_rshift`. *)
+      bits of `(x, sz)`. Corresponds to `mpn_wmpn_rshift`. *)
   (*TODO overlapping allowed if r <= x*)
-  let rshift (r x:t) (sz:int32) (cnt:limb) : limb
+  let wmpn_rshift (r x:t) (sz:int32) (cnt:limb) : limb
     requires { valid x sz }
     requires { valid r sz }
     requires { 0 < cnt < Limb.length }
diff --git a/examples/multiprecision/logical/why3session.xml b/examples/multiprecision/logical/why3session.xml
index 96800c24731864e4497bc6c11019bcf3f7913a1d..5feeeb4b814312244dc90e01d816b285152f0423 100644
--- a/examples/multiprecision/logical/why3session.xml
+++ b/examples/multiprecision/logical/why3session.xml
@@ -270,381 +270,381 @@
   </goal>
  </transf>
  </goal>
- <goal name="VC lshift" expl="VC for lshift" proved="true">
+ <goal name="VC wmpn_lshift" expl="VC for wmpn_lshift" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC lshift.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_lshift.0" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="23"/></proof>
   </goal>
-  <goal name="VC lshift.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_lshift.1" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="24"/></proof>
   </goal>
-  <goal name="VC lshift.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_lshift.2" expl="integer overflow" proved="true">
   <proof prover="0" memlimit="1000"><result status="valid" time="0.06"/></proof>
   <proof prover="1" memlimit="1000"><result status="valid" time="0.06"/></proof>
   <proof prover="2"><result status="valid" time="0.06"/></proof>
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.03" steps="25"/></proof>
   </goal>
-  <goal name="VC lshift.3" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_lshift.3" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC lshift.4" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.4" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="26"/></proof>
   </goal>
-  <goal name="VC lshift.5" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.5" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="33"/></proof>
   </goal>
-  <goal name="VC lshift.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.6" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="40"/></proof>
   </goal>
-  <goal name="VC lshift.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.7" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.03" steps="30"/></proof>
   </goal>
-  <goal name="VC lshift.8" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.8" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC lshift.9" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.9" expl="loop invariant init" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC lshift.9.0" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_lshift.9.0" expl="loop invariant init" proved="true">
    <transf name="replace" proved="true" arg1="(sz - msb)" arg2="1">
-    <goal name="VC lshift.9.0.0" expl="loop invariant init" proved="true">
+    <goal name="VC wmpn_lshift.9.0.0" expl="loop invariant init" proved="true">
     <transf name="cut" proved="true" arg1="(value o1 1 = get (pelts o1) (offset o1))">
-     <goal name="VC lshift.9.0.0.0" expl="loop invariant init" proved="true">
+     <goal name="VC wmpn_lshift.9.0.0.0" expl="loop invariant init" proved="true">
      <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="64"/></proof>
      </goal>
-     <goal name="VC lshift.9.0.0.1" proved="true">
+     <goal name="VC wmpn_lshift.9.0.0.1" proved="true">
      <proof prover="2" timelimit="1"><result status="valid" time="0.44"/></proof>
      </goal>
     </transf>
     </goal>
-    <goal name="VC lshift.9.0.1" proved="true">
+    <goal name="VC wmpn_lshift.9.0.1" proved="true">
     <proof prover="3"><result status="valid" time="0.04"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC lshift.10" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.10" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.10" steps="38"/></proof>
   </goal>
-  <goal name="VC lshift.11" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.11" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="38"/></proof>
   </goal>
-  <goal name="VC lshift.12" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.12" expl="loop invariant init" proved="true">
   <proof prover="2"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC lshift.13" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.13" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC lshift.14" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.14" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC lshift.15" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.15" expl="loop invariant init" proved="true">
   <proof prover="2"><result status="valid" time="0.10"/></proof>
   <proof prover="4"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC lshift.16" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.16" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   <proof prover="5"><result status="valid" time="0.07" steps="38"/></proof>
   </goal>
-  <goal name="VC lshift.17" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.17" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC lshift.18" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.18" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC lshift.19" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.19" expl="loop invariant init" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC lshift.19.0" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_lshift.19.0" expl="loop invariant init" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="38"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC lshift.20" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_lshift.20" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC lshift.21" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.21" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.40"/></proof>
   </goal>
-  <goal name="VC lshift.22" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.22" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.05" steps="74"/></proof>
   </goal>
-  <goal name="VC lshift.23" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.23" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC lshift.24" expl="assertion" proved="true">
+  <goal name="VC wmpn_lshift.24" expl="assertion" proved="true">
   <proof prover="4"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC lshift.25" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_lshift.25" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC lshift.26" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.26" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC lshift.26.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_lshift.26.0" expl="precondition" proved="true">
    <proof prover="2"><result status="valid" time="0.16"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC lshift.27" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.27" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC lshift.28" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_lshift.28" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC lshift.29" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.29" expl="precondition" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.11"/></proof>
   </goal>
-  <goal name="VC lshift.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.30" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.45"/></proof>
   </goal>
-  <goal name="VC lshift.31" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_lshift.31" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC lshift.32" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.32" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC lshift.33" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.33" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.17"/></proof>
   </goal>
-  <goal name="VC lshift.34" expl="assertion" proved="true">
+  <goal name="VC wmpn_lshift.34" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC lshift.34.0" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.0" expl="VC for wmpn_lshift" proved="true">
    <proof prover="0"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC lshift.34.1" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.1" expl="VC for wmpn_lshift" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.24"/></proof>
    </goal>
-   <goal name="VC lshift.34.2" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.2" expl="VC for wmpn_lshift" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.24"/></proof>
    </goal>
-   <goal name="VC lshift.34.3" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.3" expl="VC for wmpn_lshift" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC lshift.34.4" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.4" expl="VC for wmpn_lshift" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC lshift.34.5" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.5" expl="VC for wmpn_lshift" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC lshift.34.6" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.6" expl="VC for wmpn_lshift" proved="true">
    <proof prover="0"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC lshift.34.7" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.7" expl="VC for wmpn_lshift" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC lshift.34.8" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.8" expl="VC for wmpn_lshift" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.18"/></proof>
    </goal>
-   <goal name="VC lshift.34.9" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.9" expl="VC for wmpn_lshift" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC lshift.34.10" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.10" expl="VC for wmpn_lshift" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC lshift.34.11" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.11" expl="VC for wmpn_lshift" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC lshift.34.12" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.12" expl="VC for wmpn_lshift" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC lshift.34.13" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.13" expl="VC for wmpn_lshift" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC lshift.34.14" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.14" expl="VC for wmpn_lshift" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC lshift.34.14.0" expl="VC for lshift" proved="true">
+    <goal name="VC wmpn_lshift.34.14.0" expl="VC for wmpn_lshift" proved="true">
     <transf name="rewrite" proved="true" arg1="&lt;-" arg2="H">
-     <goal name="VC lshift.34.14.0.0" expl="VC for lshift" proved="true">
+     <goal name="VC wmpn_lshift.34.14.0.0" expl="VC for wmpn_lshift" proved="true">
      <proof prover="3"><result status="valid" time="0.01"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC lshift.34.15" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.15" expl="VC for wmpn_lshift" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC lshift.34.16" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.16" expl="VC for wmpn_lshift" proved="true">
    <proof prover="1"><result status="valid" time="3.48"/></proof>
    </goal>
-   <goal name="VC lshift.34.17" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.17" expl="VC for wmpn_lshift" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC lshift.34.18" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.18" expl="VC for wmpn_lshift" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC lshift.34.18.0" expl="VC for lshift" proved="true">
+    <goal name="VC wmpn_lshift.34.18.0" expl="VC for wmpn_lshift" proved="true">
     <proof prover="0"><result status="valid" time="0.16"/></proof>
     </goal>
    </transf>
    </goal>
-   <goal name="VC lshift.34.19" expl="VC for lshift" proved="true">
+   <goal name="VC wmpn_lshift.34.19" expl="VC for wmpn_lshift" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.08"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC lshift.35" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_lshift.35" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC lshift.36" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.36" expl="loop invariant preservation" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC lshift.37" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.37" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="3.52"/></proof>
   </goal>
-  <goal name="VC lshift.38" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.38" expl="loop invariant preservation" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC lshift.39" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.39" expl="loop invariant preservation" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.13"/></proof>
   </goal>
-  <goal name="VC lshift.40" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.40" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC lshift.41" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.41" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC lshift.42" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.42" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC lshift.43" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.43" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC lshift.43.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_lshift.43.0" expl="loop invariant preservation" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC lshift.44" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.44" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC lshift.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.45" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC lshift.46" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.46" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC lshift.47" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.47" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC lshift.48" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_lshift.48" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC lshift.49" expl="assertion" proved="true">
+  <goal name="VC wmpn_lshift.49" expl="assertion" proved="true">
   <proof prover="1" timelimit="20" memlimit="3000"><result status="valid" time="0.09"/></proof>
   </goal>
-  <goal name="VC lshift.50" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.50" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC lshift.51" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.51" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC lshift.52" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.52" expl="precondition" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC lshift.53" expl="precondition" proved="true">
+  <goal name="VC wmpn_lshift.53" expl="precondition" proved="true">
   <transf name="inline_all" proved="true" >
-   <goal name="VC lshift.53.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_lshift.53.0" expl="precondition" proved="true">
    <proof prover="1" memlimit="1000"><result status="valid" time="0.12"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC lshift.54" expl="postcondition" proved="true">
+  <goal name="VC wmpn_lshift.54" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="2.73"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC rshift" expl="VC for rshift" proved="true">
+ <goal name="VC wmpn_rshift" expl="VC for wmpn_rshift" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC rshift.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_rshift.0" expl="integer overflow" proved="true">
   <proof prover="2"><result status="valid" time="0.12"/></proof>
   </goal>
-  <goal name="VC rshift.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_rshift.1" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC rshift.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_rshift.2" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.3" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_rshift.3" expl="integer overflow" proved="true">
   <transf name="inline_all" proved="true" >
-   <goal name="VC rshift.3.0" expl="integer overflow" proved="true">
+   <goal name="VC wmpn_rshift.3.0" expl="integer overflow" proved="true">
    <proof prover="1" memlimit="1000"><result status="valid" time="0.05"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.4" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_rshift.4" expl="integer overflow" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC rshift.5" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.5" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC rshift.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.6" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.7" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="41"/></proof>
   </goal>
-  <goal name="VC rshift.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.8" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC rshift.9" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.9" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC rshift.10" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.10" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.11" steps="120"/></proof>
   </goal>
-  <goal name="VC rshift.11" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.11" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC rshift.12" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.12" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.13" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.13" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.14" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.14" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC rshift.15" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.15" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC rshift.16" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.16" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC rshift.17" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.17" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC rshift.18" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.18" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC rshift.19" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.19" expl="loop invariant init" proved="true">
   <proof prover="2"><result status="valid" time="0.05"/></proof>
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC rshift.20" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.20" expl="loop invariant init" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC rshift.21" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_rshift.21" expl="loop invariant init" proved="true">
   <proof prover="0" memlimit="1000"><result status="valid" time="0.04"/></proof>
   <proof prover="2"><result status="valid" time="0.05"/></proof>
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC rshift.22" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.22" expl="precondition" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC rshift.23" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.23" expl="precondition" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC rshift.24" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.24" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC rshift.24.0" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.24.0" expl="VC for wmpn_rshift" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC rshift.24.1" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.24.1" expl="VC for wmpn_rshift" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC rshift.24.1.0" expl="VC for rshift" proved="true">
+    <goal name="VC wmpn_rshift.24.1.0" expl="VC for wmpn_rshift" proved="true">
     <transf name="inline_goal" proved="true" >
-     <goal name="VC rshift.24.1.0.0" expl="VC for rshift" proved="true">
+     <goal name="VC wmpn_rshift.24.1.0.0" expl="VC for wmpn_rshift" proved="true">
      <proof prover="0"><result status="valid" time="5.90"/></proof>
      </goal>
     </transf>
@@ -653,73 +653,73 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.25" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.25" expl="assertion" proved="true">
   <proof prover="2"><result status="valid" time="0.13"/></proof>
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.26" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_rshift.26" expl="integer overflow" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   <proof prover="4"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC rshift.27" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.27" expl="precondition" proved="true">
   <proof prover="0" memlimit="1000"><result status="valid" time="0.03"/></proof>
   <proof prover="2"><result status="valid" time="0.14"/></proof>
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC rshift.28" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.28" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC rshift.29" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_rshift.29" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.30" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.19"/></proof>
   </goal>
-  <goal name="VC rshift.31" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.31" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.46"/></proof>
   </goal>
-  <goal name="VC rshift.32" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.32" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC rshift.33" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_rshift.33" expl="integer overflow" proved="true">
   <proof prover="2"><result status="valid" time="0.20"/></proof>
   <proof prover="4"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC rshift.34" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.34" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.15"/></proof>
   </goal>
-  <goal name="VC rshift.35" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.35" expl="assertion" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC rshift.36" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.36" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC rshift.36.0" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.36.0" expl="VC for wmpn_rshift" proved="true">
    <proof prover="0" timelimit="10"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC rshift.36.1" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.36.1" expl="VC for wmpn_rshift" proved="true">
    <proof prover="1" timelimit="10"><result status="valid" time="0.10"/></proof>
    </goal>
-   <goal name="VC rshift.36.2" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.36.2" expl="VC for wmpn_rshift" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC rshift.36.3" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.36.3" expl="VC for wmpn_rshift" proved="true">
    <proof prover="1" timelimit="10"><result status="valid" time="1.33"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.37" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.37" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC rshift.37.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_rshift.37.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC rshift.37.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_rshift.37.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC rshift.37.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_rshift.37.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.59"/></proof>
      </goal>
-     <goal name="VC rshift.37.0.0.1" proved="true">
+     <goal name="VC wmpn_rshift.37.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.28"/></proof>
      </goal>
-     <goal name="VC rshift.37.0.0.2" proved="true">
+     <goal name="VC wmpn_rshift.37.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.42"/></proof>
      </goal>
     </transf>
@@ -728,89 +728,89 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.38" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_rshift.38" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC rshift.39" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.39" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.68"/></proof>
   </goal>
-  <goal name="VC rshift.40" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_rshift.40" expl="loop variant decrease" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC rshift.41" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.41" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC rshift.41.0" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.41.0" expl="VC for wmpn_rshift" proved="true">
    <proof prover="0"><result status="valid" time="0.38"/></proof>
    </goal>
-   <goal name="VC rshift.41.1" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.41.1" expl="VC for wmpn_rshift" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.42" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.42" expl="loop invariant preservation" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC rshift.42.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_rshift.42.0" expl="loop invariant preservation" proved="true">
    <transf name="cut" proved="true" arg1="(i = i1+1)">
-    <goal name="VC rshift.42.0.0" expl="loop invariant preservation" proved="true">
+    <goal name="VC wmpn_rshift.42.0.0" expl="loop invariant preservation" proved="true">
     <transf name="rewrite" proved="true" arg1="h">
-     <goal name="VC rshift.42.0.0.0" expl="loop invariant preservation" proved="true">
+     <goal name="VC wmpn_rshift.42.0.0.0" expl="loop invariant preservation" proved="true">
      <proof prover="3"><result status="valid" time="0.02"/></proof>
      </goal>
     </transf>
     </goal>
-    <goal name="VC rshift.42.0.1" proved="true">
+    <goal name="VC wmpn_rshift.42.0.1" proved="true">
     <proof prover="3"><result status="valid" time="0.04"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.43" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.43" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="5.62"/></proof>
   <proof prover="2" memlimit="2000"><result status="valid" time="0.17"/></proof>
   </goal>
-  <goal name="VC rshift.44" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.44" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.19"/></proof>
   </goal>
-  <goal name="VC rshift.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.45" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.20"/></proof>
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.46" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.46" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.47" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.47" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.48" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.48" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.12"/></proof>
   <proof prover="2" memlimit="2000"><result status="valid" time="0.10"/></proof>
   <proof prover="4" memlimit="2000"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.49" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.49" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC rshift.50" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.50" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.51" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.51" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.22"/></proof>
   </goal>
-  <goal name="VC rshift.52" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.52" expl="loop invariant preservation" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.18"/></proof>
   </goal>
-  <goal name="VC rshift.53" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_rshift.53" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.16"/></proof>
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC rshift.54" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.54" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC rshift.54.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_rshift.54.0" expl="assertion" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC rshift.54.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_rshift.54.0.0" expl="assertion" proved="true">
     <transf name="inline_goal" proved="true" >
-     <goal name="VC rshift.54.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_rshift.54.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.08"/></proof>
      </goal>
     </transf>
@@ -819,68 +819,68 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.55" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.55" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC rshift.56" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.56" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC rshift.57" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.57" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.09"/></proof>
   </goal>
-  <goal name="VC rshift.58" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.58" expl="precondition" proved="true">
   <proof prover="2" memlimit="2000"><result status="valid" time="0.09"/></proof>
   </goal>
-  <goal name="VC rshift.59" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.59" expl="precondition" proved="true">
   <proof prover="2" timelimit="1"><result status="valid" time="0.10"/></proof>
   </goal>
-  <goal name="VC rshift.60" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.60" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC rshift.60.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_rshift.60.0" expl="assertion" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.61" expl="precondition" proved="true">
+  <goal name="VC wmpn_rshift.61" expl="precondition" proved="true">
   <proof prover="0" memlimit="1000"><result status="valid" time="3.04"/></proof>
   <proof prover="2"><result status="valid" time="0.14"/></proof>
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC rshift.62" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.62" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC rshift.62.0" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.62.0" expl="VC for wmpn_rshift" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC rshift.62.0.0" expl="VC for rshift" proved="true">
+    <goal name="VC wmpn_rshift.62.0.0" expl="VC for wmpn_rshift" proved="true">
     <transf name="cut" proved="true" arg1="(sz = msb + 1)">
-     <goal name="VC rshift.62.0.0.0" expl="VC for rshift" proved="true">
+     <goal name="VC wmpn_rshift.62.0.0.0" expl="VC for wmpn_rshift" proved="true">
      <transf name="rewrite" proved="true" arg1="h">
-      <goal name="VC rshift.62.0.0.0.0" expl="VC for rshift" proved="true">
+      <goal name="VC wmpn_rshift.62.0.0.0.0" expl="VC for wmpn_rshift" proved="true">
       <proof prover="2" timelimit="1"><result status="valid" time="0.19"/></proof>
       </goal>
      </transf>
      </goal>
-     <goal name="VC rshift.62.0.0.1" proved="true">
+     <goal name="VC wmpn_rshift.62.0.0.1" proved="true">
      <proof prover="2" timelimit="1"><result status="valid" time="0.06"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC rshift.62.1" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.62.1" expl="VC for wmpn_rshift" proved="true">
    <proof prover="2" timelimit="1"><result status="valid" time="0.82"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.63" expl="assertion" proved="true">
+  <goal name="VC wmpn_rshift.63" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC rshift.63.0" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.63.0" expl="VC for wmpn_rshift" proved="true">
    <proof prover="0"><result status="valid" time="0.71"/></proof>
    </goal>
-   <goal name="VC rshift.63.1" expl="VC for rshift" proved="true">
+   <goal name="VC wmpn_rshift.63.1" expl="VC for wmpn_rshift" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC rshift.63.1.0" expl="VC for rshift" proved="true">
+    <goal name="VC wmpn_rshift.63.1.0" expl="VC for wmpn_rshift" proved="true">
     <transf name="inline_goal" proved="true" >
-     <goal name="VC rshift.63.1.0.0" expl="VC for rshift" proved="true">
+     <goal name="VC wmpn_rshift.63.1.0.0" expl="VC for wmpn_rshift" proved="true">
      <proof prover="0"><result status="valid" time="0.08"/></proof>
      </goal>
     </transf>
@@ -889,7 +889,7 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC rshift.64" expl="postcondition" proved="true">
+  <goal name="VC wmpn_rshift.64" expl="postcondition" proved="true">
   <proof prover="0"><result status="valid" time="0.02"/></proof>
   </goal>
  </transf>
diff --git a/examples/multiprecision/mul.mlw b/examples/multiprecision/mul.mlw
index 536f190b406aa9ce890169191ad8a86661c3f28b..0ddf120a491024d4bd6ab08315ffb4895717ec07 100644
--- a/examples/multiprecision/mul.mlw
+++ b/examples/multiprecision/mul.mlw
@@ -14,10 +14,10 @@ module Mul
   use add.Add
 
 
-    (** `mul_limb r x y sz` multiplies `x[0..sz-1]` by the limb `y` and
+    (** `wmpn_mul_1 r x y sz` multiplies `x[0..sz-1]` by the limb `y` and
     writes the n least significant limbs in `r`, and returns the most
     significant limb. It corresponds to `mpn_mul_1`. *)
-  let mul_limb (r x:t) (y:limb) (sz:int32) : limb
+  let wmpn_mul_1 (r x:t) (y:limb) (sz:int32) : limb
     requires { valid x sz }
     requires { valid r sz }
     ensures { value r sz + (power radix sz) * result
@@ -70,11 +70,11 @@ module Mul
     done;
     !c
 
-  (** `addmul_limb r x y sz` multiplies `(x, sz)` by `y`, adds the `sz`
+  (** `wmpn_addmul_1 r x y sz` multiplies `(x, sz)` by `y`, adds the `sz`
       least significant limbs to `(r, sz)` and writes the result in `(r, sz)`.
       Returns the most significant limb of the product plus the carry
       of the addition. Corresponds to `mpn_addmul_1`.*)
-  let addmul_limb (r x:t) (y:limb) (sz:int32):limb
+  let wmpn_addmul_1 (r x:t) (y:limb) (sz:int32):limb
     requires { valid x sz }
     requires { valid r sz }
     ensures { value r sz + (power radix sz) * result
@@ -148,10 +148,10 @@ module Mul
     done;
     !c
 
-  (** `mul_limbs r x y sz` multiplies `(x, sz)` and `(y, sz)` and
+  (** `wmpn_mul_n r x y sz` multiplies `(x, sz)` and `(y, sz)` and
   writes the result to `(r, 2*sz)`. `r` must not overlap with either
   `x` or `y`. Corresponds to `mpn_mul_n`.  *)
-  let mul_limbs (r x y:t) (sz:int32) : unit
+  let wmpn_mul_n (r x y:t) (sz:int32) : unit
     requires { sz > 0 }
     requires { valid x sz }
     requires { valid y sz }
@@ -162,7 +162,7 @@ module Mul
     ensures { forall j. (j < offset r \/ offset r + (sz + sz) <= j)
               -> (pelts r)[j] = old (pelts r)[j] }
   =
-    zero r sz;
+    wmpn_zero r sz;
     let limb_zero = Limb.of_int 0 in
     let one = Int32.of_int 1 in
     let rp = ref (C.incr r (Int32.of_int 0)) in
@@ -184,7 +184,7 @@ module Mul
       assert { value !rp sz
                = value_sub (pelts r) (offset r + !i) (offset r + (!i + sz)) };
       ly := get_ofs y !i;
-      let c' =  addmul_limb !rp x !ly sz in
+      let c' =  wmpn_addmul_1 !rp x !ly sz in
       assert { value !rp sz + power radix sz * c'
               = value (!rp at StartLoop) sz + value x sz * !ly };
       assert { MapEq.map_eq_sub (pelts r) (pelts r at StartLoop)
@@ -225,7 +225,7 @@ module Mul
       rp.contents <- C.incr !rp one;
     done
 
- let addmul_limbs (r x y:t) (sz:int32) : limb
+ let wmpn_addmul_n (r x y:t) (sz:int32) : limb
     requires { sz > 0 }
     requires { valid x sz }
     requires { valid y sz }
@@ -262,7 +262,7 @@ module Mul
       assert { value !rp sz
                = value_sub (pelts r) (r.offset + !i) (r.offset + (!i + sz)) };
       ly := get_ofs y !i;
-      let c' =  addmul_limb !rp x !ly sz in
+      let c' =  wmpn_addmul_1 !rp x !ly sz in
       assert { forall j. (!rp).offset + sz <= j ->
                  (pelts (old r)) [j] = (pelts r)[j]
                  by (pelts r)[j]
@@ -312,10 +312,10 @@ module Mul
     done;
     !c
 
-  (** `mul r x y sx sy` multiplies `(x, sx)` and `(y,sy)` and writes
+  (** `wmpn_mul r x y sx sy` multiplies `(x, sx)` and `(y,sy)` and writes
   the result in `(r, sx+sy)`. `sx` must be greater than or equal to
   `sy`. Corresponds to `mpn_mul`. *)
-  let mul (r x y:t) (sx sy:int32) : unit
+  let wmpn_mul (r x y:t) (sx sy:int32) : unit
     requires { 0 < sy <= sx }
     requires { valid x sx }
     requires { valid y sy }
@@ -327,7 +327,7 @@ module Mul
     (*ensures  { result = (pelts r)[r.offset + sx + sy - 1] }*)
   =
     let ly = ref (C.get y) in
-    let c = mul_limb r x !ly sx in
+    let c = wmpn_mul_1 r x !ly sx in
     value_sub_update_no_change (pelts r) (r.offset + p2i sx)
                                r.offset (r.offset + p2i sx - 1) c;
     set_ofs r sx c;
@@ -354,7 +354,7 @@ module Mul
       assert { value !rp sx =
                value_sub (pelts r) (r.offset + !i) (r.offset + (!i + sx)) };
       ly := get_ofs y !i;
-      let res =  addmul_limb !rp x !ly sx in
+      let res =  wmpn_addmul_1 !rp x !ly sx in
       assert { value !rp sx + power radix sx * res
               = value (!rp at StartLoop) sx + value x sx * !ly };
       assert { MapEq.map_eq_sub (pelts r) (pelts r at StartLoop)
diff --git a/examples/multiprecision/mul/why3session.xml b/examples/multiprecision/mul/why3session.xml
index 600c1e4cb4212cd3a2133748f4e510674155968b..6395bf16aeaad482727084e44e3403277a288588 100644
--- a/examples/multiprecision/mul/why3session.xml
+++ b/examples/multiprecision/mul/why3session.xml
@@ -11,91 +11,91 @@
 <prover id="6" name="CVC4" version="1.5" timelimit="1" steplimit="0" memlimit="1000"/>
 <file name="../mul.mlw" proved="true">
 <theory name="Mul" proved="true">
- <goal name="VC mul_limb" expl="VC for mul_limb" proved="true">
+ <goal name="VC wmpn_mul_1" expl="VC for wmpn_mul_1" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC mul_limb.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_1.0" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC mul_limb.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_1.1" expl="integer overflow" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limb.1.0" expl="integer overflow" proved="true">
+   <goal name="VC wmpn_mul_1.1.0" expl="integer overflow" proved="true">
    <proof prover="5"><result status="valid" time="0.04" steps="20"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limb.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_1.2" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.02" steps="11"/></proof>
   </goal>
-  <goal name="VC mul_limb.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_1.3" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="70"/></proof>
   </goal>
-  <goal name="VC mul_limb.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_1.4" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC mul_limb.5" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_1.5" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limb.5.0" expl="VC for mul_limb" proved="true">
+   <goal name="VC wmpn_mul_1.5.0" expl="VC for wmpn_mul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC mul_limb.5.1" expl="VC for mul_limb" proved="true">
+   <goal name="VC wmpn_mul_1.5.1" expl="VC for wmpn_mul_1" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="20"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limb.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_1.6" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limb.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_1.7" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limb.7.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_mul_1.7.0" expl="precondition" proved="true">
    <proof prover="4"><result status="valid" time="0.04"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limb.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_1.8" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limb.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_1.9" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limb.9.0" expl="VC for mul_limb" proved="true">
+   <goal name="VC wmpn_mul_1.9.0" expl="VC for wmpn_mul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC mul_limb.9.1" expl="VC for mul_limb" proved="true">
+   <goal name="VC wmpn_mul_1.9.1" expl="VC for wmpn_mul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limb.10" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_1.10" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.05" steps="56"/></proof>
   </goal>
-  <goal name="VC mul_limb.11" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_1.11" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="56"/></proof>
   </goal>
-  <goal name="VC mul_limb.12" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_1.12" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limb.13" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_1.13" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.05" steps="36"/></proof>
   </goal>
-  <goal name="VC mul_limb.14" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_1.14" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limb.15" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_1.15" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.28" steps="38"/></proof>
   </goal>
-  <goal name="VC mul_limb.16" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_1.16" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul_limb.16.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_mul_1.16.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC mul_limb.16.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_mul_1.16.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC mul_limb.16.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_mul_1.16.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.49"/></proof>
      </goal>
-     <goal name="VC mul_limb.16.0.0.1" proved="true">
+     <goal name="VC wmpn_mul_1.16.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.32"/></proof>
      </goal>
-     <goal name="VC mul_limb.16.0.0.2" proved="true">
+     <goal name="VC wmpn_mul_1.16.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.20"/></proof>
      </goal>
     </transf>
@@ -104,193 +104,193 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limb.17" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_1.17" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limb.18" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_1.18" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC mul_limb.19" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_mul_1.19" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC mul_limb.20" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_1.20" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limb.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_1.21" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC mul_limb.22" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_1.22" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.15"/></proof>
   </goal>
-  <goal name="VC mul_limb.23" expl="postcondition" proved="true">
+  <goal name="VC wmpn_mul_1.23" expl="postcondition" proved="true">
   <proof prover="5"><result status="valid" time="0.01" steps="19"/></proof>
   </goal>
-  <goal name="VC mul_limb.24" expl="postcondition" proved="true">
+  <goal name="VC wmpn_mul_1.24" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC addmul_limb" expl="VC for addmul_limb" proved="true">
+ <goal name="VC wmpn_addmul_1" expl="VC for wmpn_addmul_1" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC addmul_limb.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_1.0" expl="integer overflow" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limb.0.0" expl="integer overflow" proved="true">
+   <goal name="VC wmpn_addmul_1.0.0" expl="integer overflow" proved="true">
    <proof prover="4"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limb.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_1.1" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limb.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_1.2" expl="loop invariant init" proved="true">
   <proof prover="0" memlimit="1000"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC addmul_limb.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_1.3" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="69"/></proof>
   </goal>
-  <goal name="VC addmul_limb.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_1.4" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limb.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_1.5" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC addmul_limb.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_1.6" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limb.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_1.7" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limb.7.0" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.7.0" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="4"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC addmul_limb.7.1" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.7.1" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="4"><result status="valid" time="0.04"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limb.8" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.8" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limb.8.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_addmul_1.8.0" expl="assertion" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="45"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limb.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_1.9" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limb.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_1.10" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limb.10.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_addmul_1.10.0" expl="precondition" proved="true">
    <proof prover="1" memlimit="2000"><result status="valid" time="0.07"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limb.11" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.11" expl="assertion" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="8.95"/></proof>
   </goal>
-  <goal name="VC addmul_limb.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_1.12" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.09"/></proof>
   </goal>
-  <goal name="VC addmul_limb.13" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_1.13" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limb.13.0" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.13.0" expl="VC for wmpn_addmul_1" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC addmul_limb.13.0.0" expl="VC for addmul_limb" proved="true">
+    <goal name="VC wmpn_addmul_1.13.0.0" expl="VC for wmpn_addmul_1" proved="true">
     <transf name="inline_goal" proved="true" >
-     <goal name="VC addmul_limb.13.0.0.0" expl="VC for addmul_limb" proved="true">
+     <goal name="VC wmpn_addmul_1.13.0.0.0" expl="VC for wmpn_addmul_1" proved="true">
      <proof prover="0" memlimit="1000"><result status="valid" time="0.14"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC addmul_limb.13.1" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.13.1" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limb.14" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.14" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limb.14.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_addmul_1.14.0" expl="assertion" proved="true">
    <proof prover="4"><result status="valid" time="0.05"/></proof>
    </goal>
-   <goal name="VC addmul_limb.14.1" expl="assertion" proved="true">
+   <goal name="VC wmpn_addmul_1.14.1" expl="assertion" proved="true">
    <proof prover="0"><result status="valid" time="0.39"/></proof>
    </goal>
-   <goal name="VC addmul_limb.14.2" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.14.2" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="4"><result status="valid" time="0.06"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limb.15" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.15" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="3.71"/></proof>
   </goal>
-  <goal name="VC addmul_limb.16" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.16" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limb.16.0" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.16.0" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC addmul_limb.16.1" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.16.1" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC addmul_limb.16.2" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.16.2" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC addmul_limb.16.3" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.16.3" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC addmul_limb.16.4" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.16.4" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC addmul_limb.16.5" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.16.5" expl="VC for wmpn_addmul_1" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC addmul_limb.16.5.0" expl="VC for addmul_limb" proved="true">
+    <goal name="VC wmpn_addmul_1.16.5.0" expl="VC for wmpn_addmul_1" proved="true">
     <transf name="apply" proved="true" arg1="prod_compat_r">
-     <goal name="VC addmul_limb.16.5.0.0" proved="true">
+     <goal name="VC wmpn_addmul_1.16.5.0.0" proved="true">
      <proof prover="3"><result status="valid" time="0.02"/></proof>
      </goal>
-     <goal name="VC addmul_limb.16.5.0.1" proved="true">
+     <goal name="VC wmpn_addmul_1.16.5.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.02"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC addmul_limb.16.6" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.16.6" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="0"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC addmul_limb.16.7" expl="VC for addmul_limb" proved="true">
+   <goal name="VC wmpn_addmul_1.16.7" expl="VC for wmpn_addmul_1" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limb.17" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.17" expl="assertion" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limb.18" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.18" expl="assertion" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC addmul_limb.19" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.19" expl="assertion" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC addmul_limb.20" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_1.20" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC addmul_limb.21" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.21" expl="assertion" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC addmul_limb.22" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_1.22" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC addmul_limb.22.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_addmul_1.22.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC addmul_limb.22.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_addmul_1.22.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC addmul_limb.22.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_addmul_1.22.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.37"/></proof>
      </goal>
-     <goal name="VC addmul_limb.22.0.0.1" proved="true">
+     <goal name="VC wmpn_addmul_1.22.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.27"/></proof>
      </goal>
-     <goal name="VC addmul_limb.22.0.0.2" proved="true">
+     <goal name="VC wmpn_addmul_1.22.0.0.2" proved="true">
      <proof prover="2"><result status="valid" time="0.34"/></proof>
      </goal>
     </transf>
@@ -299,87 +299,87 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limb.23" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_1.23" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.00"/></proof>
   </goal>
-  <goal name="VC addmul_limb.24" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_1.24" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC addmul_limb.25" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_addmul_1.25" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC addmul_limb.26" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_1.26" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC addmul_limb.27" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_1.27" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC addmul_limb.28" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_1.28" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.73"/></proof>
   </goal>
-  <goal name="VC addmul_limb.29" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_1.29" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.19"/></proof>
   </goal>
-  <goal name="VC addmul_limb.30" expl="postcondition" proved="true">
+  <goal name="VC wmpn_addmul_1.30" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="19"/></proof>
   </goal>
-  <goal name="VC addmul_limb.31" expl="postcondition" proved="true">
+  <goal name="VC wmpn_addmul_1.31" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC mul_limbs" expl="VC for mul_limbs" proved="true">
+ <goal name="VC wmpn_mul_n" expl="VC for wmpn_mul_n" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC mul_limbs.0" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.0" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.09" steps="27"/></proof>
   </goal>
-  <goal name="VC mul_limbs.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_n.1" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="33"/></proof>
   </goal>
-  <goal name="VC mul_limbs.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_n.2" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC mul_limbs.3" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_n.3" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.02" steps="35"/></proof>
   </goal>
-  <goal name="VC mul_limbs.4" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.4" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="35"/></proof>
   </goal>
-  <goal name="VC mul_limbs.5" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_n.5" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limbs.6" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_n.6" expl="loop invariant init" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limbs.6.0" expl="VC for mul_limbs" proved="true">
+   <goal name="VC wmpn_mul_n.6.0" expl="VC for wmpn_mul_n" proved="true">
    <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.06"/></proof>
    </goal>
-   <goal name="VC mul_limbs.6.1" expl="VC for mul_limbs" proved="true">
+   <goal name="VC wmpn_mul_n.6.1" expl="VC for wmpn_mul_n" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.7" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_n.7" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="107"/></proof>
   </goal>
-  <goal name="VC mul_limbs.8" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_n.8" expl="loop invariant init" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="30"/></proof>
   </goal>
-  <goal name="VC mul_limbs.9" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_n.9" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limbs.10" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_n.10" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC mul_limbs.11" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_n.11" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC mul_limbs.12" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_n.12" expl="loop invariant init" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul_limbs.12.0" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_mul_n.12.0" expl="loop invariant init" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="VC mul_limbs.12.0.0" expl="loop invariant init" proved="true">
+    <goal name="VC wmpn_mul_n.12.0.0" expl="loop invariant init" proved="true">
     <transf name="split_goal_right" proved="true" >
-     <goal name="VC mul_limbs.12.0.0.0" expl="loop invariant init" proved="true">
+     <goal name="VC wmpn_mul_n.12.0.0.0" expl="loop invariant init" proved="true">
      <proof prover="4"><result status="valid" time="0.03"/></proof>
      </goal>
     </transf>
@@ -388,42 +388,42 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.13" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul_n.13" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC mul_limbs.14" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_n.14" expl="integer overflow" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul_limbs.14.0" expl="integer overflow" proved="true">
+   <goal name="VC wmpn_mul_n.14.0" expl="integer overflow" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.15" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limbs.16" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.16" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="76"/></proof>
   </goal>
-  <goal name="VC mul_limbs.17" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.17" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limbs.17.0" expl="VC for mul_limbs" proved="true">
+   <goal name="VC wmpn_mul_n.17.0" expl="VC for wmpn_mul_n" proved="true">
    <proof prover="5"><result status="valid" time="0.06" steps="45"/></proof>
    </goal>
-   <goal name="VC mul_limbs.17.1" expl="VC for mul_limbs" proved="true">
+   <goal name="VC wmpn_mul_n.17.1" expl="VC for wmpn_mul_n" proved="true">
    <proof prover="4"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.18" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.18" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limbs.19" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.19" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limbs.19.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_mul_n.19.0" expl="precondition" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC mul_limbs.19.0.0" expl="precondition" proved="true">
+    <goal name="VC wmpn_mul_n.19.0.0" expl="precondition" proved="true">
     <transf name="inline_goal" proved="true" >
-     <goal name="VC mul_limbs.19.0.0.0" expl="precondition" proved="true">
+     <goal name="VC wmpn_mul_n.19.0.0.0" expl="precondition" proved="true">
      <proof prover="5" timelimit="20" memlimit="3000"><result status="valid" time="0.04" steps="89"/></proof>
      </goal>
     </transf>
@@ -432,99 +432,99 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.20" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.20" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="57"/></proof>
   </goal>
-  <goal name="VC mul_limbs.21" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.21" expl="assertion" proved="true">
   <proof prover="4"><result status="valid" time="7.28"/></proof>
   </goal>
-  <goal name="VC mul_limbs.22" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.22" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="58"/></proof>
   </goal>
-  <goal name="VC mul_limbs.23" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.23" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC mul_limbs.24" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.24" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="75"/></proof>
   </goal>
-  <goal name="VC mul_limbs.25" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.25" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="110"/></proof>
   </goal>
-  <goal name="VC mul_limbs.26" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.26" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limbs.26.0" expl="VC for mul_limbs" proved="true">
+   <goal name="VC wmpn_mul_n.26.0" expl="VC for wmpn_mul_n" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.10" steps="112"/></proof>
    </goal>
-   <goal name="VC mul_limbs.26.1" expl="VC for mul_limbs" proved="true">
+   <goal name="VC wmpn_mul_n.26.1" expl="VC for wmpn_mul_n" proved="true">
    <proof prover="0" timelimit="10"><result status="valid" time="0.27"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.27" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_n.27" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC mul_limbs.28" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.28" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limbs.29" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.29" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC mul_limbs.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.30" expl="precondition" proved="true">
   <proof prover="2" timelimit="5"><result status="valid" time="0.13"/></proof>
   </goal>
-  <goal name="VC mul_limbs.31" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_n.31" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC mul_limbs.32" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.32" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.10" steps="80"/></proof>
   </goal>
-  <goal name="VC mul_limbs.33" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.33" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul_limbs.33.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_mul_n.33.0" expl="assertion" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="VC mul_limbs.33.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_mul_n.33.0.0" expl="assertion" proved="true">
     <proof prover="0"><result status="valid" time="0.04"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.34" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.34" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul_limbs.34.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_mul_n.34.0" expl="assertion" proved="true">
    <proof prover="0"><result status="valid" time="0.62"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.35" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.35" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limbs.35.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_mul_n.35.0" expl="assertion" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.09" steps="83"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.36" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.36" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.12" steps="84"/></proof>
   </goal>
-  <goal name="VC mul_limbs.37" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.37" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.14" steps="85"/></proof>
   </goal>
-  <goal name="VC mul_limbs.38" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul_n.38" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul_limbs.38.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_mul_n.38.0" expl="assertion" proved="true">
    <transf name="rewrite" proved="true" arg1="H6" arg2="in" arg3="H5">
-    <goal name="VC mul_limbs.38.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_mul_n.38.0.0" expl="assertion" proved="true">
     <transf name="rewrite" proved="true" arg1="H10" arg2="in" arg3="H9">
-     <goal name="VC mul_limbs.38.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_mul_n.38.0.0.0" expl="assertion" proved="true">
      <transf name="rewrite" proved="true" arg1="H57" arg2="in" arg3="H56">
-      <goal name="VC mul_limbs.38.0.0.0.0" expl="assertion" proved="true">
+      <goal name="VC wmpn_mul_n.38.0.0.0.0" expl="assertion" proved="true">
       <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-       <goal name="VC mul_limbs.38.0.0.0.0.0" expl="assertion" proved="true">
+       <goal name="VC wmpn_mul_n.38.0.0.0.0.0" expl="assertion" proved="true">
        <transf name="reflection_f" proved="true" arg1="mp_decision">
-        <goal name="VC mul_limbs.38.0.0.0.0.0.0" expl="assertion" proved="true">
+        <goal name="VC wmpn_mul_n.38.0.0.0.0.0.0" expl="assertion" proved="true">
         <proof prover="0"><result status="valid" time="0.62"/></proof>
         </goal>
-        <goal name="VC mul_limbs.38.0.0.0.0.0.1" proved="true">
+        <goal name="VC wmpn_mul_n.38.0.0.0.0.0.1" proved="true">
         <proof prover="2"><result status="valid" time="0.43"/></proof>
         </goal>
        </transf>
@@ -539,109 +539,109 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.39" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul_n.39" expl="integer overflow" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul_limbs.39.0" expl="integer overflow" proved="true">
+   <goal name="VC wmpn_mul_n.39.0" expl="integer overflow" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="VC mul_limbs.39.0.0" expl="integer overflow" proved="true">
+    <goal name="VC wmpn_mul_n.39.0.0" expl="integer overflow" proved="true">
     <proof prover="0" memlimit="1000"><result status="valid" time="5.38"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.40" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul_n.40" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.30"/></proof>
   </goal>
-  <goal name="VC mul_limbs.41" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_mul_n.41" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC mul_limbs.42" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_n.42" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limbs.43" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_n.43" expl="loop invariant preservation" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul_limbs.43.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_mul_n.43.0" expl="loop invariant preservation" proved="true">
    <proof prover="0"><result status="valid" time="0.19"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.44" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_n.44" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC mul_limbs.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_n.45" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC mul_limbs.46" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_n.46" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limbs.47" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_n.47" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul_limbs.48" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_n.48" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul_limbs.48.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_mul_n.48.0" expl="loop invariant preservation" proved="true">
    <proof prover="0"><result status="valid" time="0.01"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul_limbs.49" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul_n.49" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.63"/></proof>
   </goal>
-  <goal name="VC mul_limbs.50" expl="postcondition" proved="true">
+  <goal name="VC wmpn_mul_n.50" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="41"/></proof>
   </goal>
-  <goal name="VC mul_limbs.51" expl="postcondition" proved="true">
+  <goal name="VC wmpn_mul_n.51" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC addmul_limbs" expl="VC for addmul_limbs" proved="true">
+ <goal name="VC wmpn_addmul_n" expl="VC for wmpn_addmul_n" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC addmul_limbs.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_n.0" expl="integer overflow" proved="true">
   <proof prover="4" timelimit="10"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_n.1" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.02" steps="28"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_n.2" expl="integer overflow" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.02" steps="29"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.3" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.3" expl="precondition" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.12" steps="29"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.4" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_n.4" expl="integer overflow" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.04" steps="37"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_n.5" expl="loop invariant init" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limbs.5.0" expl="VC for addmul_limbs" proved="true">
+   <goal name="VC wmpn_addmul_n.5.0" expl="VC for wmpn_addmul_n" proved="true">
    <proof prover="1"><result status="valid" time="0.09"/></proof>
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC addmul_limbs.5.0.0" expl="VC for addmul_limbs" proved="true">
+    <goal name="VC wmpn_addmul_n.5.0.0" expl="VC for wmpn_addmul_n" proved="true">
     <transf name="inline_goal" proved="true" >
-     <goal name="VC addmul_limbs.5.0.0.0" expl="VC for addmul_limbs" proved="true">
+     <goal name="VC wmpn_addmul_n.5.0.0.0" expl="VC for wmpn_addmul_n" proved="true">
      <proof prover="0" timelimit="20" memlimit="1000"><result status="valid" time="0.08"/></proof>
      </goal>
     </transf>
     </goal>
    </transf>
    </goal>
-   <goal name="VC addmul_limbs.5.1" expl="VC for addmul_limbs" proved="true">
+   <goal name="VC wmpn_addmul_n.5.1" expl="VC for wmpn_addmul_n" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.6" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_n.6" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="106"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.7" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_n.7" expl="loop invariant init" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC addmul_limbs.7.0" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_addmul_n.7.0" expl="loop invariant init" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="VC addmul_limbs.7.0.0" expl="loop invariant init" proved="true">
+    <goal name="VC wmpn_addmul_n.7.0.0" expl="loop invariant init" proved="true">
     <transf name="split_goal_right" proved="true" >
-     <goal name="VC addmul_limbs.7.0.0.0" expl="loop invariant init" proved="true">
+     <goal name="VC wmpn_addmul_n.7.0.0.0" expl="loop invariant init" proved="true">
      <proof prover="5" memlimit="2000"><result status="valid" time="0.01" steps="24"/></proof>
      </goal>
     </transf>
@@ -650,89 +650,89 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.8" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_n.8" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.9" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_n.9" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.10" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_n.10" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.11" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_n.11" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.06" steps="25"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.12" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_addmul_n.12" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.05" steps="6"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.13" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_n.13" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.14" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.14" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.02" steps="37"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.15" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.15" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="86"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.16" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.16" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="55"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.17" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.17" expl="precondition" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.06" steps="40"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.18" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.18" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="85"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.19" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.19" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC addmul_limbs.19.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_addmul_n.19.0" expl="assertion" proved="true">
    <transf name="split_vc" proved="true" >
-    <goal name="VC addmul_limbs.19.0.0" expl="VC for addmul_limbs" proved="true">
+    <goal name="VC wmpn_addmul_n.19.0.0" expl="VC for wmpn_addmul_n" proved="true">
     <proof prover="0"><result status="valid" time="0.02"/></proof>
     </goal>
-    <goal name="VC addmul_limbs.19.0.1" expl="VC for addmul_limbs" proved="true">
+    <goal name="VC wmpn_addmul_n.19.0.1" expl="VC for wmpn_addmul_n" proved="true">
     <proof prover="0"><result status="valid" time="0.04"/></proof>
     </goal>
-    <goal name="VC addmul_limbs.19.0.2" expl="VC for addmul_limbs" proved="true">
+    <goal name="VC wmpn_addmul_n.19.0.2" expl="VC for wmpn_addmul_n" proved="true">
     <proof prover="0"><result status="valid" time="0.04"/></proof>
     </goal>
-    <goal name="VC addmul_limbs.19.0.3" expl="VC for addmul_limbs" proved="true">
+    <goal name="VC wmpn_addmul_n.19.0.3" expl="VC for wmpn_addmul_n" proved="true">
     <proof prover="0"><result status="valid" time="0.02"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.20" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.20" expl="assertion" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.02" steps="52"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.21" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.21" expl="assertion" proved="true">
   <proof prover="2"><result status="valid" time="0.50"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.22" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.22" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="69"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.23" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.23" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC addmul_limbs.23.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_addmul_n.23.0" expl="assertion" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="VC addmul_limbs.23.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_addmul_n.23.0.0" expl="assertion" proved="true">
     <proof prover="0"><result status="valid" time="0.05"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.24" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.24" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="55"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.25" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.25" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limbs.25.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_addmul_n.25.0" expl="precondition" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC addmul_limbs.25.0.0" expl="precondition" proved="true">
+    <goal name="VC wmpn_addmul_n.25.0.0" expl="precondition" proved="true">
     <transf name="inline_goal" proved="true" >
-     <goal name="VC addmul_limbs.25.0.0.0" expl="precondition" proved="true">
+     <goal name="VC wmpn_addmul_n.25.0.0.0" expl="precondition" proved="true">
      <proof prover="5"><result status="valid" time="0.04" steps="58"/></proof>
      </goal>
     </transf>
@@ -741,72 +741,72 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.26" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.26" expl="precondition" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.08" steps="59"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.27" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.27" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.05" steps="75"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.28" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.28" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.60"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.29" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.29" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.13"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.30" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_n.30" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.31" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.31" expl="precondition" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.05" steps="77"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.32" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.32" expl="precondition" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.06" steps="78"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.33" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.33" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="3.34"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.34" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.34" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.32" steps="117"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.35" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_n.35" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.36" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.36" expl="precondition" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.32" steps="82"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.37" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.37" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC addmul_limbs.37.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_addmul_n.37.0" expl="assertion" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="VC addmul_limbs.37.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_addmul_n.37.0.0" expl="assertion" proved="true">
     <proof prover="0"><result status="valid" time="0.05"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.38" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.38" expl="assertion" proved="true">
   <proof prover="5" timelimit="20"><result status="valid" time="0.45" steps="84"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.39" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.39" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC addmul_limbs.39.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_addmul_n.39.0" expl="assertion" proved="true">
    <transf name="rewrite" proved="true" arg1="H3" arg2="in" arg3="H2">
-    <goal name="VC addmul_limbs.39.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_addmul_n.39.0.0" expl="assertion" proved="true">
     <transf name="rewrite" proved="true" arg1="H8" arg2="in" arg3="H7">
-     <goal name="VC addmul_limbs.39.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_addmul_n.39.0.0.0" expl="assertion" proved="true">
      <transf name="rewrite" proved="true" arg1="H60" arg2="in" arg3="H59">
-      <goal name="VC addmul_limbs.39.0.0.0.0" expl="assertion" proved="true">
+      <goal name="VC wmpn_addmul_n.39.0.0.0.0" expl="assertion" proved="true">
       <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-       <goal name="VC addmul_limbs.39.0.0.0.0.0" expl="assertion" proved="true">
+       <goal name="VC wmpn_addmul_n.39.0.0.0.0.0" expl="assertion" proved="true">
        <transf name="reflection_f" proved="true" arg1="mp_decision">
-        <goal name="VC addmul_limbs.39.0.0.0.0.0.0" expl="assertion" proved="true">
+        <goal name="VC wmpn_addmul_n.39.0.0.0.0.0.0" expl="assertion" proved="true">
         <proof prover="0"><result status="valid" time="0.26"/></proof>
         </goal>
-        <goal name="VC addmul_limbs.39.0.0.0.0.0.1" proved="true">
+        <goal name="VC wmpn_addmul_n.39.0.0.0.0.0.1" proved="true">
         <proof prover="3"><result status="valid" time="0.28"/></proof>
         </goal>
-        <goal name="VC addmul_limbs.39.0.0.0.0.0.2" proved="true">
+        <goal name="VC wmpn_addmul_n.39.0.0.0.0.0.2" proved="true">
         <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.31"/></proof>
         </goal>
        </transf>
@@ -821,597 +821,597 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.40" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_addmul_n.40" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.41" expl="precondition" proved="true">
+  <goal name="VC wmpn_addmul_n.41" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.24"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.42" expl="assertion" proved="true">
+  <goal name="VC wmpn_addmul_n.42" expl="assertion" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.86"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.43" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_addmul_n.43" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.44" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_n.44" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_n.45" expl="loop invariant preservation" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC addmul_limbs.45.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_addmul_n.45.0" expl="loop invariant preservation" proved="true">
    <transf name="cut" proved="true" arg1="(i=i1+1)">
-    <goal name="VC addmul_limbs.45.0.0" expl="loop invariant preservation" proved="true">
+    <goal name="VC wmpn_addmul_n.45.0.0" expl="loop invariant preservation" proved="true">
     <proof prover="0"><result status="valid" time="0.12"/></proof>
     </goal>
-    <goal name="VC addmul_limbs.45.0.1" proved="true">
+    <goal name="VC wmpn_addmul_n.45.0.1" proved="true">
     <proof prover="3"><result status="valid" time="0.06"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.46" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_n.46" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.47" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_n.47" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.48" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_n.48" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.49" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_n.49" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC addmul_limbs.50" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_n.50" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC addmul_limbs.50.0" expl="VC for addmul_limbs" proved="true">
+   <goal name="VC wmpn_addmul_n.50.0" expl="VC for wmpn_addmul_n" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC addmul_limbs.50.1" expl="VC for addmul_limbs" proved="true">
+   <goal name="VC wmpn_addmul_n.50.1" expl="VC for wmpn_addmul_n" proved="true">
    <transf name="introduce_premises" proved="true" >
-    <goal name="VC addmul_limbs.50.1.0" expl="VC for addmul_limbs" proved="true">
+    <goal name="VC wmpn_addmul_n.50.1.0" expl="VC for wmpn_addmul_n" proved="true">
     <proof prover="3"><result status="valid" time="0.03"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.51" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_addmul_n.51" expl="loop invariant preservation" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC addmul_limbs.51.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_addmul_n.51.0" expl="loop invariant preservation" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC addmul_limbs.52" expl="postcondition" proved="true">
+  <goal name="VC wmpn_addmul_n.52" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="36"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC mul" expl="VC for mul" proved="true">
+ <goal name="VC wmpn_mul" expl="VC for wmpn_mul" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC mul.0" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.0" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul.0.0" expl="VC for mul" proved="true">
+   <goal name="VC wmpn_mul.0.0" expl="VC for wmpn_mul" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC mul.0.1" expl="VC for mul" proved="true">
+   <goal name="VC wmpn_mul.0.1" expl="VC for wmpn_mul" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="12"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul.1" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.1" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.01" steps="11"/></proof>
   </goal>
-  <goal name="VC mul.2" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.2" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="30"/></proof>
   </goal>
-  <goal name="VC mul.3" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.3" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.01" steps="17"/></proof>
   </goal>
-  <goal name="VC mul.4" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.4" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="18"/></proof>
   </goal>
-  <goal name="VC mul.5" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.5" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="36"/></proof>
   </goal>
-  <goal name="VC mul.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.6" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="25"/></proof>
   </goal>
-  <goal name="VC mul.7" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.7" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul.7.0" expl="VC for mul" proved="true">
+   <goal name="VC wmpn_mul.7.0" expl="VC for wmpn_mul" proved="true">
    <proof prover="3"><result status="valid" time="0.29"/></proof>
    </goal>
-   <goal name="VC mul.7.1" expl="VC for mul" proved="true">
+   <goal name="VC wmpn_mul.7.1" expl="VC for wmpn_mul" proved="true">
    <proof prover="0"><result status="valid" time="0.60"/></proof>
    </goal>
-   <goal name="VC mul.7.2" expl="VC for mul" proved="true">
+   <goal name="VC wmpn_mul.7.2" expl="VC for wmpn_mul" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="72"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul.8" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul.8" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="46"/></proof>
   </goal>
-  <goal name="VC mul.9" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul.9" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="47"/></proof>
   </goal>
-  <goal name="VC mul.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.10" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="47"/></proof>
   </goal>
-  <goal name="VC mul.11" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul.11" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.07" steps="55"/></proof>
   </goal>
-  <goal name="VC mul.12" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul.12" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="37"/></proof>
   </goal>
-  <goal name="VC mul.13" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul.13" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="39"/></proof>
   </goal>
-  <goal name="VC mul.14" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul.14" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.09" steps="40"/></proof>
   </goal>
-  <goal name="VC mul.15" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul.15" expl="loop invariant init" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul.15.0" expl="loop invariant init" proved="true">
+   <goal name="VC wmpn_mul.15.0" expl="loop invariant init" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="41"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul.16" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul.16" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC mul.17" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul.17" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC mul.18" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul.18" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="41"/></proof>
   </goal>
-  <goal name="VC mul.19" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_mul.19" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="86"/></proof>
   </goal>
-  <goal name="VC mul.20" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul.20" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul.21" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.21" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="52"/></proof>
   </goal>
-  <goal name="VC mul.22" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.22" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="90"/></proof>
   </goal>
-  <goal name="VC mul.23" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.23" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="72"/></proof>
   </goal>
-  <goal name="VC mul.24" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.24" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="55"/></proof>
   </goal>
-  <goal name="VC mul.25" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.25" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.14" steps="108"/></proof>
   </goal>
-  <goal name="VC mul.26" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.26" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.14" steps="67"/></proof>
   </goal>
-  <goal name="VC mul.27" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.27" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.86" steps="137"/></proof>
   </goal>
-  <goal name="VC mul.28" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.28" expl="precondition" proved="true">
   <proof prover="0"><result status="valid" time="0.60"/></proof>
   </goal>
-  <goal name="VC mul.29" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.29" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul.29.0" expl="precondition" proved="true">
+   <goal name="VC wmpn_mul.29.0" expl="precondition" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.13" steps="69"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.30" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC mul.30.0" expl="VC for mul" proved="true">
+   <goal name="VC wmpn_mul.30.0" expl="VC for wmpn_mul" proved="true">
    <proof prover="4" memlimit="2000"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC mul.30.1" expl="VC for mul" proved="true">
+   <goal name="VC wmpn_mul.30.1" expl="VC for wmpn_mul" proved="true">
    <proof prover="2"><result status="valid" time="0.10"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul.31" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.31" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.62"/></proof>
   </goal>
-  <goal name="VC mul.32" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.32" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.14"/></proof>
   </goal>
-  <goal name="VC mul.33" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul.33" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC mul.34" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.34" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.15" steps="86"/></proof>
   </goal>
-  <goal name="VC mul.35" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.35" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.22" steps="87"/></proof>
   </goal>
-  <goal name="VC mul.36" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul.36" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC mul.37" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.37" expl="precondition" proved="true">
   <proof prover="0"><result status="valid" time="0.11"/></proof>
   </goal>
-  <goal name="VC mul.38" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.38" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul.38.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_mul.38.0" expl="assertion" proved="true">
    <transf name="inline_goal" proved="true" >
-    <goal name="VC mul.38.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_mul.38.0.0" expl="assertion" proved="true">
     <proof prover="0"><result status="valid" time="0.04"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul.39" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.39" expl="assertion" proved="true">
   <proof prover="5" timelimit="10" memlimit="2000"><result status="valid" time="4.18" steps="134"/></proof>
   </goal>
-  <goal name="VC mul.40" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.40" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="3.28" steps="92"/></proof>
   </goal>
-  <goal name="VC mul.41" expl="assertion" proved="true">
+  <goal name="VC wmpn_mul.41" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC mul.41.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_mul.41.0" expl="assertion" proved="true">
    <transf name="rewrite" proved="true" arg1="H4" arg2="in" arg3="H3">
-    <goal name="VC mul.41.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_mul.41.0.0" expl="assertion" proved="true">
     <transf name="rewrite" proved="true" arg1="H7" arg2="in" arg3="H6">
-     <goal name="VC mul.41.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_mul.41.0.0.0" expl="assertion" proved="true">
      <transf name="rewrite" proved="true" arg1="H54" arg2="in" arg3="H53">
-      <goal name="VC mul.41.0.0.0.0" expl="assertion" proved="true">
+      <goal name="VC wmpn_mul.41.0.0.0.0" expl="assertion" proved="true">
       <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-       <goal name="VC mul.41.0.0.0.0.0" expl="assertion" proved="true">
+       <goal name="VC wmpn_mul.41.0.0.0.0.0" expl="assertion" proved="true">
        <transf name="reflection_f" proved="true" arg1="mp_decision">
-        <goal name="VC mul.41.0.0.0.0.0.0" expl="assertion" proved="true">
+        <goal name="VC wmpn_mul.41.0.0.0.0.0.0" expl="assertion" proved="true">
         <transf name="apply" proved="true" arg1="HR">
-         <goal name="VC mul.41.0.0.0.0.0.0.0" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.0" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.1" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.1" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.2" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.2" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.3" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.3" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.4" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.4" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.5" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.5" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.6" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.6" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.7" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.7" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.8" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.8" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.9" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.9" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.10" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.10" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.11" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.11" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.12" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.12" proved="true">
          <proof prover="3"><result status="valid" time="0.24"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.13" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.13" proved="true">
          <proof prover="3"><result status="valid" time="0.04"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.14" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.14" proved="true">
          <proof prover="3"><result status="valid" time="0.04"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.15" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.15" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.16" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.16" proved="true">
          <proof prover="3"><result status="valid" time="0.04"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.17" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.17" proved="true">
          <proof prover="3"><result status="valid" time="0.03"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.18" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.18" proved="true">
          <proof prover="3"><result status="valid" time="0.04"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.19" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.19" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.20" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.20" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.21" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.21" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.22" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.22" proved="true">
          <proof prover="3"><result status="valid" time="0.34"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.23" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.23" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.24" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.24" proved="true">
          <proof prover="3"><result status="valid" time="0.03"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.25" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.25" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.26" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.26" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.27" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.27" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.28" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.28" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.29" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.29" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.30" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.30" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.31" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.31" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.32" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.32" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.33" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.33" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.34" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.34" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.35" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.35" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.36" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.36" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.37" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.37" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.38" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.38" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.39" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.39" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.40" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.40" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.41" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.41" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.42" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.42" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.43" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.43" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.44" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.44" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.45" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.45" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.46" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.46" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.47" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.47" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.48" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.48" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.49" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.49" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.50" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.50" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.51" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.51" proved="true">
          <proof prover="3"><result status="valid" time="0.01"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.52" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.52" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.53" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.53" proved="true">
          <proof prover="3"><result status="valid" time="0.24"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.54" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.54" proved="true">
          <proof prover="3"><result status="valid" time="0.03"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.55" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.55" proved="true">
          <proof prover="3"><result status="valid" time="0.03"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.56" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.56" proved="true">
          <proof prover="3"><result status="valid" time="0.03"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.57" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.57" proved="true">
          <proof prover="3"><result status="valid" time="0.03"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.58" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.58" proved="true">
          <proof prover="3"><result status="valid" time="0.03"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.59" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.59" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.60" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.60" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.61" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.61" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.62" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.62" proved="true">
          <proof prover="3"><result status="valid" time="0.03"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.63" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.63" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.64" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.64" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.65" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.65" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.66" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.66" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.67" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.67" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.68" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.68" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.69" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.69" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.70" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.70" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.71" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.71" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.72" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.72" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.73" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.73" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.74" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.74" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.75" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.75" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.76" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.76" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.77" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.77" proved="true">
          <proof prover="3"><result status="valid" time="0.26"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.78" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.78" proved="true">
          <proof prover="3"><result status="valid" time="0.03"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.79" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.79" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.80" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.80" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.81" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.81" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.82" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.82" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.83" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.83" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.84" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.84" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.85" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.85" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.86" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.86" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.87" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.87" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.88" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.88" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.89" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.89" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.90" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.90" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.91" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.91" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.92" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.92" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.93" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.93" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.94" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.94" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.95" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.95" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.96" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.96" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.97" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.97" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.98" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.98" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.99" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.99" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.100" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.100" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.101" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.101" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.102" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.102" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.103" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.103" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.104" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.104" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.105" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.105" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.106" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.106" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.107" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.107" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.108" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.108" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.109" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.109" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.110" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.110" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.111" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.111" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.112" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.112" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
-         <goal name="VC mul.41.0.0.0.0.0.0.113" proved="true">
+         <goal name="VC wmpn_mul.41.0.0.0.0.0.0.113" proved="true">
          <proof prover="3"><result status="valid" time="0.02"/></proof>
          </goal>
         </transf>
         </goal>
-        <goal name="VC mul.41.0.0.0.0.0.1" proved="true">
+        <goal name="VC wmpn_mul.41.0.0.0.0.0.1" proved="true">
         <proof prover="6"><result status="valid" time="0.22"/></proof>
         </goal>
        </transf>
@@ -1426,43 +1426,43 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC mul.42" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_mul.42" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC mul.43" expl="precondition" proved="true">
+  <goal name="VC wmpn_mul.43" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.32"/></proof>
   </goal>
-  <goal name="VC mul.44" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_mul.44" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC mul.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul.45" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC mul.46" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul.46" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="6.01"/></proof>
   </goal>
-  <goal name="VC mul.47" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul.47" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.19"/></proof>
   </goal>
-  <goal name="VC mul.48" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul.48" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC mul.49" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul.49" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul.50" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul.50" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul.51" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul.51" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC mul.52" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_mul.52" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.27"/></proof>
   </goal>
-  <goal name="VC mul.53" expl="postcondition" proved="true">
+  <goal name="VC wmpn_mul.53" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="51"/></proof>
   </goal>
-  <goal name="VC mul.54" expl="postcondition" proved="true">
+  <goal name="VC wmpn_mul.54" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
  </transf>
diff --git a/examples/multiprecision/sub.mlw b/examples/multiprecision/sub.mlw
index 996eea0ee1087d69ffb5e29e6d4d20bca1f9c6be..28b279c516a693f19eb9c54dfa400bad4a4b4687 100644
--- a/examples/multiprecision/sub.mlw
+++ b/examples/multiprecision/sub.mlw
@@ -12,10 +12,10 @@ module Sub
   use lemmas.Lemmas
 
 
-  (** `sub_limb r x y sz` subtracts `y` from `(x, sz)` and writes
+  (** `wmpn_sub_1 r x y sz` subtracts `y` from `(x, sz)` and writes
       the result to `(r, sz)`. Returns borrow, either 0 or
       1. Corresponds to `mpn_sub_1`. *)
-  let sub_limb (r x:t) (y:limb) (sz:int32) : limb
+  let wmpn_sub_1 (r x:t) (y:limb) (sz:int32) : limb
     requires { valid x sz }
     requires { valid r sz }
     requires { 0 < sz }
@@ -73,10 +73,10 @@ module Sub
     !b
   end
 
-  (** `sub_limbs r x y sz` subtracts `(y, sz)` from `(x, sz)` and
+  (** `wmpn_sub_n r x y sz` subtracts `(y, sz)` from `(x, sz)` and
       writes the result to `(r, sz)`. Returns borrow, either 0 or
       1. Corresponds to `mpn_sub_n`. *)
-  let sub_limbs (r x y:t) (sz:int32) : limb
+  let wmpn_sub_n (r x y:t) (sz:int32) : limb
     requires { valid x sz }
     requires { valid y sz }
     requires { valid r sz }
@@ -117,10 +117,10 @@ module Sub
       done;
       !b
 
-  (** `sub r x y sx sy` subtracts `(y,sy)` from `(x, sx)` and writes the
+  (** `wmpn_sub r x y sx sy` subtracts `(y,sy)` from `(x, sx)` and writes the
       result in `(r, sx)`. `sx` must be greater than or equal to
       `sy`. Returns borrow, either 0 or 1. Corresponds to `mpn_sub`. *)
-  let sub (r x y:t) (sx sy:int32) : limb
+  let wmpn_sub (r x y:t) (sx sy:int32) : limb
     requires { 0 <= sy <= sx }
     requires { valid x sx }
     requires { valid y sy }
@@ -208,7 +208,7 @@ module Sub
     done;
     !b
 
-  let sub_in_place (x y:t) (sx sy:int32) : limb
+  let wmpn_sub_in_place (x y:t) (sx sy:int32) : limb
     requires { 0 <= sy <= sx }
     requires { valid x sx }
     requires { valid y sy }
@@ -305,10 +305,10 @@ module Sub
       end
     end
 
-  (** `decr x y sz` subtracts from `x` the value of the limb `y` in place.
+  (** `wmpn_decr x y sz` subtracts from `x` the value of the limb `y` in place.
       `x` has size `sz`. The subtraction must not overflow. This corresponds
-      to `mpn_decr` *)
-  let decr (x:t) (y:limb) (ghost sz:int32) : unit
+      to `mpn_wmpn_decr` *)
+  let wmpn_decr (x:t) (y:limb) (ghost sz:int32) : unit
     requires { valid x sz }
     requires { sz > 0 }
     requires { 0 <= value x sz - y }
@@ -369,8 +369,8 @@ module Sub
 
   (** `incr_1 x sz` subtracts 1 from `x` in place.
       `x` has size `sz`. The subtraction must not overflow.
-      This corresponds to `mpn_decr` *)
-  let decr_1 (x:t) (ghost sz:int32) : unit
+      This corresponds to `mpn_wmpn_decr` *)
+  let wmpn_decr_1 (x:t) (ghost sz:int32) : unit
     requires { valid x sz }
     requires { sz > 0 }
     requires { 0 <= value x sz - 1 }
diff --git a/examples/multiprecision/sub/why3session.xml b/examples/multiprecision/sub/why3session.xml
index 343d755f9bcb351306d36108a2f9b4ae70ef602d..43ff2a8e0831cfba47b512b79b6717f20b80aebd 100644
--- a/examples/multiprecision/sub/why3session.xml
+++ b/examples/multiprecision/sub/why3session.xml
@@ -10,64 +10,64 @@
 <prover id="5" name="Alt-Ergo" version="2.0.0" timelimit="5" steplimit="0" memlimit="1000"/>
 <file name="../sub.mlw" proved="true">
 <theory name="Sub" proved="true">
- <goal name="VC sub_limb" expl="VC for sub_limb" proved="true">
+ <goal name="VC wmpn_sub_1" expl="VC for wmpn_sub_1" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC sub_limb.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_1.0" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.06" steps="20"/></proof>
   </goal>
-  <goal name="VC sub_limb.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_1.1" expl="integer overflow" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="21"/></proof>
   </goal>
-  <goal name="VC sub_limb.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_1.2" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_1.3" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limb.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_1.4" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.05" steps="70"/></proof>
   </goal>
-  <goal name="VC sub_limb.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_1.5" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC sub_limb.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_1.6" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="1.37"/></proof>
   </goal>
-  <goal name="VC sub_limb.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_1.7" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub_limb.7.0" expl="VC for sub_limb" proved="true">
+   <goal name="VC wmpn_sub_1.7.0" expl="VC for wmpn_sub_1" proved="true">
    <proof prover="2"><result status="valid" time="0.06"/></proof>
    </goal>
-   <goal name="VC sub_limb.7.1" expl="VC for sub_limb" proved="true">
+   <goal name="VC wmpn_sub_1.7.1" expl="VC for wmpn_sub_1" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="21"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_limb.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_1.8" expl="precondition" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="53"/></proof>
   </goal>
-  <goal name="VC sub_limb.9" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_1.9" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.50"/></proof>
   </goal>
-  <goal name="VC sub_limb.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_1.10" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC sub_limb.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_1.11" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC sub_limb.12" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_1.12" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC sub_limb.12.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub_1.12.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC sub_limb.12.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_sub_1.12.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC sub_limb.12.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_sub_1.12.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.52"/></proof>
      </goal>
-     <goal name="VC sub_limb.12.0.0.1" proved="true">
+     <goal name="VC wmpn_sub_1.12.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.30"/></proof>
      </goal>
-     <goal name="VC sub_limb.12.0.0.2" proved="true">
+     <goal name="VC wmpn_sub_1.12.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.35"/></proof>
      </goal>
     </transf>
@@ -76,171 +76,171 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_limb.13" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_1.13" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.14" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_1.14" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_limb.15" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_sub_1.15" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.16" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_1.16" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limb.17" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_1.17" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_limb.18" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_1.18" expl="loop invariant preservation" proved="true">
   <proof prover="0" timelimit="10"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.19" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_1.19" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.12"/></proof>
   </goal>
-  <goal name="VC sub_limb.20" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_1.20" expl="postcondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub_limb.20.0" expl="postcondition" proved="true">
+   <goal name="VC wmpn_sub_1.20.0" expl="postcondition" proved="true">
    <proof prover="0"><result status="valid" time="0.04"/></proof>
    <proof prover="5" memlimit="2000"><result status="valid" time="0.09" steps="22"/></proof>
    </goal>
-   <goal name="VC sub_limb.20.1" expl="postcondition" proved="true">
+   <goal name="VC wmpn_sub_1.20.1" expl="postcondition" proved="true">
    <transf name="inline_all" proved="true" >
-    <goal name="VC sub_limb.20.1.0" expl="postcondition" proved="true">
+    <goal name="VC wmpn_sub_1.20.1.0" expl="postcondition" proved="true">
     <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="19"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_limb.21" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_1.21" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.22" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_1.22" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="25"/></proof>
   </goal>
-  <goal name="VC sub_limb.23" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_1.23" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.24" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_1.24" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.25" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_1.25" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limb.26" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_1.26" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.27" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_1.27" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="42"/></proof>
   </goal>
-  <goal name="VC sub_limb.28" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_1.28" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="43"/></proof>
   </goal>
-  <goal name="VC sub_limb.29" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_1.29" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="123"/></proof>
   </goal>
-  <goal name="VC sub_limb.30" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_1.30" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.07" steps="52"/></proof>
   </goal>
-  <goal name="VC sub_limb.31" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_1.31" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.03" steps="54"/></proof>
   </goal>
-  <goal name="VC sub_limb.32" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_1.32" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.33" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_1.33" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limb.34" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_sub_1.34" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.05"/></proof>
   </goal>
-  <goal name="VC sub_limb.35" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_1.35" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limb.36" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_1.36" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_limb.37" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_1.37" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.08" steps="87"/></proof>
   </goal>
-  <goal name="VC sub_limb.38" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_1.38" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="79"/></proof>
   </goal>
-  <goal name="VC sub_limb.39" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_1.39" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="32"/></proof>
   </goal>
-  <goal name="VC sub_limb.40" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_1.40" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limb.41" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_1.41" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC sub_limbs" expl="VC for sub_limbs" proved="true">
+ <goal name="VC wmpn_sub_n" expl="VC for wmpn_sub_n" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC sub_limbs.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_n.0" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limbs.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_n.1" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.08" steps="25"/></proof>
   </goal>
-  <goal name="VC sub_limbs.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_n.2" expl="loop invariant init" proved="true">
   <proof prover="0"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limbs.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_n.3" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="77"/></proof>
   </goal>
-  <goal name="VC sub_limbs.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_n.4" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC sub_limbs.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_n.5" expl="loop invariant init" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limbs.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_n.6" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_limbs.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_n.7" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limbs.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_n.8" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limbs.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_n.9" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub_limbs.9.0" expl="VC for sub_limbs" proved="true">
+   <goal name="VC wmpn_sub_n.9.0" expl="VC for wmpn_sub_n" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="28"/></proof>
    </goal>
-   <goal name="VC sub_limbs.9.1" expl="VC for sub_limbs" proved="true">
+   <goal name="VC wmpn_sub_n.9.1" expl="VC for wmpn_sub_n" proved="true">
    <proof prover="2"><result status="valid" time="0.12"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_limbs.10" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_n.10" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.63"/></proof>
   </goal>
-  <goal name="VC sub_limbs.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_n.11" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_limbs.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_n.12" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC sub_limbs.13" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_n.13" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_limbs.14" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_n.14" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC sub_limbs.14.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub_n.14.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC sub_limbs.14.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_sub_n.14.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC sub_limbs.14.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_sub_n.14.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="5.83"/></proof>
      </goal>
-     <goal name="VC sub_limbs.14.0.0.1" proved="true">
+     <goal name="VC wmpn_sub_n.14.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.20"/></proof>
      </goal>
-     <goal name="VC sub_limbs.14.0.0.2" proved="true">
+     <goal name="VC wmpn_sub_n.14.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.22"/></proof>
      </goal>
     </transf>
@@ -249,106 +249,106 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_limbs.15" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_n.15" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC sub_limbs.16" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_n.16" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limbs.17" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_sub_n.17" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limbs.18" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_n.18" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limbs.19" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_n.19" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub_limbs.20" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_n.20" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.14"/></proof>
   </goal>
-  <goal name="VC sub_limbs.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_n.21" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_limbs.22" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_n.22" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_limbs.23" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_n.23" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="22"/></proof>
   </goal>
-  <goal name="VC sub_limbs.24" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_n.24" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC sub" expl="VC for sub" proved="true">
+ <goal name="VC wmpn_sub" expl="VC for wmpn_sub" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC sub.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.0" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.1" expl="integer overflow" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.2" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.09" steps="29"/></proof>
   </goal>
-  <goal name="VC sub.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.3" expl="loop invariant init" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub.3.0" expl="VC for sub" proved="true">
+   <goal name="VC wmpn_sub.3.0" expl="VC for wmpn_sub" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC sub.3.1" expl="VC for sub" proved="true">
+   <goal name="VC wmpn_sub.3.1" expl="VC for wmpn_sub" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.4" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="88"/></proof>
   </goal>
-  <goal name="VC sub.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.5" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC sub.6" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.6" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="17"/></proof>
   </goal>
-  <goal name="VC sub.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.7" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.8" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC sub.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.9" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.10" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="45"/></proof>
   </goal>
-  <goal name="VC sub.11" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.11" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.50"/></proof>
   </goal>
-  <goal name="VC sub.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.12" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="39"/></proof>
   </goal>
-  <goal name="VC sub.13" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.13" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub.14" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.14" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="41"/></proof>
   </goal>
-  <goal name="VC sub.15" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.15" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC sub.15.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub.15.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC sub.15.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_sub.15.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC sub.15.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_sub.15.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="5.58"/></proof>
      </goal>
-     <goal name="VC sub.15.0.0.1" proved="true">
+     <goal name="VC wmpn_sub.15.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.22"/></proof>
      </goal>
-     <goal name="VC sub.15.0.0.2" proved="true">
+     <goal name="VC wmpn_sub.15.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.23"/></proof>
      </goal>
     </transf>
@@ -357,92 +357,92 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub.16" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.16" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub.17" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_sub.17" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.18" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.18" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub.19" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.19" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.20" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.20" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.13"/></proof>
   </goal>
-  <goal name="VC sub.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.21" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub.22" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.22" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="25"/></proof>
   </goal>
-  <goal name="VC sub.23" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.23" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="27"/></proof>
   </goal>
-  <goal name="VC sub.24" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.24" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.25" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.25" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="28"/></proof>
   </goal>
-  <goal name="VC sub.26" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.26" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="52"/></proof>
   </goal>
-  <goal name="VC sub.27" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.27" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="39"/></proof>
   </goal>
-  <goal name="VC sub.28" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.28" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="40"/></proof>
   </goal>
-  <goal name="VC sub.29" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.29" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="40"/></proof>
   </goal>
-  <goal name="VC sub.30" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.30" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="40"/></proof>
   </goal>
-  <goal name="VC sub.31" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.31" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.32" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.32" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub.32.0" expl="VC for sub" proved="true">
+   <goal name="VC wmpn_sub.32.0" expl="VC for wmpn_sub" proved="true">
    <proof prover="0" timelimit="20" memlimit="3000"><result status="valid" time="0.07"/></proof>
    </goal>
-   <goal name="VC sub.32.1" expl="VC for sub" proved="true">
+   <goal name="VC wmpn_sub.32.1" expl="VC for wmpn_sub" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.11" steps="49"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub.33" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.33" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="64"/></proof>
   </goal>
-  <goal name="VC sub.34" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.34" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="65"/></proof>
   </goal>
-  <goal name="VC sub.35" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.35" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="57"/></proof>
   </goal>
-  <goal name="VC sub.36" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.36" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub.37" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.37" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.78"/></proof>
   </goal>
-  <goal name="VC sub.38" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.38" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC sub.38.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub.38.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC sub.38.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_sub.38.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC sub.38.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_sub.38.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.56"/></proof>
      </goal>
-     <goal name="VC sub.38.0.0.1" proved="true">
+     <goal name="VC wmpn_sub.38.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.28"/></proof>
      </goal>
-     <goal name="VC sub.38.0.0.2" proved="true">
+     <goal name="VC wmpn_sub.38.0.0.2" proved="true">
      <proof prover="5" timelimit="1"><result status="valid" time="0.22" steps="190"/></proof>
      </goal>
     </transf>
@@ -451,78 +451,78 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub.39" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.39" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="77"/></proof>
   </goal>
-  <goal name="VC sub.40" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.40" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="79"/></proof>
   </goal>
-  <goal name="VC sub.41" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_sub.41" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub.42" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.42" expl="loop invariant preservation" proved="true">
   <proof prover="5"><result status="valid" time="0.07" steps="64"/></proof>
   </goal>
-  <goal name="VC sub.43" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.43" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub.43.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_sub.43.0" expl="loop invariant preservation" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.05" steps="66"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub.44" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.44" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.45" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.07" steps="107"/></proof>
   </goal>
-  <goal name="VC sub.46" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub.46" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="49"/></proof>
   </goal>
-  <goal name="VC sub.47" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub.47" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.48" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub.48" expl="postcondition" proved="true">
   <proof prover="5"><result status="valid" time="0.04" steps="50"/></proof>
   </goal>
-  <goal name="VC sub.49" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.49" expl="precondition" proved="true">
   <proof prover="4"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC sub.50" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.50" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub.50.0" expl="VC for sub" proved="true">
+   <goal name="VC wmpn_sub.50.0" expl="VC for wmpn_sub" proved="true">
    <proof prover="2"><result status="valid" time="0.07"/></proof>
    </goal>
-   <goal name="VC sub.50.1" expl="VC for sub" proved="true">
+   <goal name="VC wmpn_sub.50.1" expl="VC for wmpn_sub" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.08" steps="40"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub.51" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.51" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="58"/></proof>
   </goal>
-  <goal name="VC sub.52" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.52" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.24" steps="160"/></proof>
   </goal>
-  <goal name="VC sub.53" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.53" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="52"/></proof>
   </goal>
-  <goal name="VC sub.54" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.54" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.07" steps="53"/></proof>
   </goal>
-  <goal name="VC sub.55" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.55" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC sub.55.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub.55.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC sub.55.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_sub.55.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC sub.55.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_sub.55.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="4.23"/></proof>
      </goal>
-     <goal name="VC sub.55.0.0.1" proved="true">
+     <goal name="VC wmpn_sub.55.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.25"/></proof>
      </goal>
-     <goal name="VC sub.55.0.0.2" proved="true">
+     <goal name="VC wmpn_sub.55.0.0.2" proved="true">
      <proof prover="2"><result status="valid" time="0.22"/></proof>
      </goal>
     </transf>
@@ -531,77 +531,77 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub.56" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.56" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.41" steps="72"/></proof>
   </goal>
-  <goal name="VC sub.57" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_sub.57" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub.58" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.58" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub.59" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.59" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub.60" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.60" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.13"/></proof>
   </goal>
-  <goal name="VC sub.61" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.61" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub.62" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.62" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="113"/></proof>
   </goal>
-  <goal name="VC sub.63" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.63" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="37"/></proof>
   </goal>
-  <goal name="VC sub.64" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.64" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="37"/></proof>
   </goal>
-  <goal name="VC sub.65" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.65" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="37"/></proof>
   </goal>
-  <goal name="VC sub.66" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub.66" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub.67" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.67" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub.67.0" expl="VC for sub" proved="true">
+   <goal name="VC wmpn_sub.67.0" expl="VC for wmpn_sub" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="46"/></proof>
    </goal>
-   <goal name="VC sub.67.1" expl="VC for sub" proved="true">
+   <goal name="VC wmpn_sub.67.1" expl="VC for wmpn_sub" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.10" steps="47"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub.68" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.68" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.07" steps="62"/></proof>
   </goal>
-  <goal name="VC sub.69" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.69" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="63"/></proof>
   </goal>
-  <goal name="VC sub.70" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.70" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="55"/></proof>
   </goal>
-  <goal name="VC sub.71" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub.71" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="56"/></proof>
   </goal>
-  <goal name="VC sub.72" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.72" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.46"/></proof>
   </goal>
-  <goal name="VC sub.73" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub.73" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC sub.73.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub.73.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC sub.73.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_sub.73.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC sub.73.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_sub.73.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.45"/></proof>
      </goal>
-     <goal name="VC sub.73.0.0.1" proved="true">
+     <goal name="VC wmpn_sub.73.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.35"/></proof>
      </goal>
-     <goal name="VC sub.73.0.0.2" proved="true">
+     <goal name="VC wmpn_sub.73.0.0.2" proved="true">
      <proof prover="5" timelimit="1"><result status="valid" time="0.36" steps="188"/></proof>
      </goal>
     </transf>
@@ -610,114 +610,114 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub.74" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.74" expl="integer overflow" proved="true">
   <proof prover="5"><result status="valid" time="0.02" steps="75"/></proof>
   </goal>
-  <goal name="VC sub.75" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub.75" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="77"/></proof>
   </goal>
-  <goal name="VC sub.76" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_sub.76" expl="loop variant decrease" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub.77" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.77" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub.78" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.78" expl="loop invariant preservation" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC sub.79" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.79" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub.80" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub.80" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.10" steps="105"/></proof>
   </goal>
-  <goal name="VC sub.81" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub.81" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="46"/></proof>
   </goal>
-  <goal name="VC sub.82" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub.82" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub.83" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub.83" expl="postcondition" proved="true">
   <proof prover="4"><result status="valid" time="0.02"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC sub_in_place" expl="VC for sub_in_place" proved="true">
+ <goal name="VC wmpn_sub_in_place" expl="VC for wmpn_sub_in_place" proved="true">
  <transf name="split_goal_right" proved="true" >
-  <goal name="VC sub_in_place.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_in_place.0" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="22"/></proof>
   </goal>
-  <goal name="VC sub_in_place.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_in_place.1" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="23"/></proof>
   </goal>
-  <goal name="VC sub_in_place.2" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_in_place.2" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="24"/></proof>
   </goal>
-  <goal name="VC sub_in_place.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.3" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="13"/></proof>
   </goal>
-  <goal name="VC sub_in_place.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.4" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="74"/></proof>
   </goal>
-  <goal name="VC sub_in_place.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.5" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="16"/></proof>
   </goal>
-  <goal name="VC sub_in_place.6" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.6" expl="loop invariant init" proved="true">
   <proof prover="0"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC sub_in_place.7" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.7" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="6"/></proof>
   </goal>
-  <goal name="VC sub_in_place.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.8" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="35"/></proof>
   </goal>
-  <goal name="VC sub_in_place.9" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.9" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="51"/></proof>
   </goal>
-  <goal name="VC sub_in_place.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.10" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.08" steps="37"/></proof>
   </goal>
-  <goal name="VC sub_in_place.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.11" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub_in_place.11.0" expl="VC for sub_in_place" proved="true">
+   <goal name="VC wmpn_sub_in_place.11.0" expl="VC for wmpn_sub_in_place" proved="true">
    <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.06"/></proof>
    </goal>
-   <goal name="VC sub_in_place.11.1" expl="VC for sub_in_place" proved="true">
+   <goal name="VC wmpn_sub_in_place.11.1" expl="VC for wmpn_sub_in_place" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="27"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_in_place.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.12" expl="precondition" proved="true">
   <proof prover="2"><result status="valid" time="0.07"/></proof>
   </goal>
-  <goal name="VC sub_in_place.13" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.13" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="63"/></proof>
   </goal>
-  <goal name="VC sub_in_place.14" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.14" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.42"/></proof>
   </goal>
-  <goal name="VC sub_in_place.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.15" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.10" steps="39"/></proof>
   </goal>
-  <goal name="VC sub_in_place.16" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.16" expl="precondition" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.12"/></proof>
   </goal>
-  <goal name="VC sub_in_place.17" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.17" expl="precondition" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC sub_in_place.18" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.18" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC sub_in_place.18.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub_in_place.18.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC sub_in_place.18.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_sub_in_place.18.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC sub_in_place.18.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_sub_in_place.18.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="4.34"/></proof>
      </goal>
-     <goal name="VC sub_in_place.18.0.0.1" proved="true">
+     <goal name="VC wmpn_sub_in_place.18.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.21"/></proof>
      </goal>
-     <goal name="VC sub_in_place.18.0.0.2" proved="true">
+     <goal name="VC wmpn_sub_in_place.18.0.0.2" proved="true">
      <proof prover="3"><result status="valid" time="0.18"/></proof>
      </goal>
     </transf>
@@ -726,140 +726,140 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_in_place.19" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_in_place.19" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_in_place.20" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_sub_in_place.20" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_in_place.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.21" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_in_place.22" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.22" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_in_place.23" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.23" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_in_place.24" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.24" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.40"/></proof>
   </goal>
-  <goal name="VC sub_in_place.25" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.25" expl="loop invariant preservation" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub_in_place.25.0" expl="loop invariant preservation" proved="true">
+   <goal name="VC wmpn_sub_in_place.25.0" expl="loop invariant preservation" proved="true">
    <proof prover="2"><result status="valid" time="0.08"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_in_place.26" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.26" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.01" steps="24"/></proof>
   </goal>
-  <goal name="VC sub_in_place.27" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.27" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="26"/></proof>
   </goal>
-  <goal name="VC sub_in_place.28" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.28" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_in_place.29" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.29" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="54"/></proof>
   </goal>
-  <goal name="VC sub_in_place.30" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_sub_in_place.30" expl="loop invariant init" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="52"/></proof>
   </goal>
-  <goal name="VC sub_in_place.31" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.31" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="37"/></proof>
   </goal>
-  <goal name="VC sub_in_place.32" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.32" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub_in_place.32.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub_in_place.32.0" expl="assertion" proved="true">
    <proof prover="3"><result status="valid" time="0.04"/></proof>
    </goal>
-   <goal name="VC sub_in_place.32.1" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub_in_place.32.1" expl="assertion" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC sub_in_place.32.2" expl="VC for sub_in_place" proved="true">
+   <goal name="VC wmpn_sub_in_place.32.2" expl="VC for wmpn_sub_in_place" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="67"/></proof>
    </goal>
-   <goal name="VC sub_in_place.32.3" expl="VC for sub_in_place" proved="true">
+   <goal name="VC wmpn_sub_in_place.32.3" expl="VC for wmpn_sub_in_place" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_in_place.33" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.33" expl="precondition" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.18"/></proof>
   </goal>
-  <goal name="VC sub_in_place.34" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.34" expl="precondition" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC sub_in_place.35" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.35" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="40"/></proof>
   </goal>
-  <goal name="VC sub_in_place.36" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.36" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="70"/></proof>
   </goal>
-  <goal name="VC sub_in_place.37" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.37" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="42"/></proof>
   </goal>
-  <goal name="VC sub_in_place.38" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.38" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.06" steps="43"/></proof>
   </goal>
-  <goal name="VC sub_in_place.39" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.39" expl="postcondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub_in_place.39.0" expl="postcondition" proved="true">
+   <goal name="VC wmpn_sub_in_place.39.0" expl="postcondition" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="68"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_in_place.40" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.40" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="48"/></proof>
   </goal>
-  <goal name="VC sub_in_place.41" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.41" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.03" steps="64"/></proof>
   </goal>
-  <goal name="VC sub_in_place.42" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.42" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="39"/></proof>
   </goal>
-  <goal name="VC sub_in_place.43" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.43" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="42"/></proof>
   </goal>
-  <goal name="VC sub_in_place.44" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.44" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="43"/></proof>
   </goal>
-  <goal name="VC sub_in_place.45" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.45" expl="precondition" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub_in_place.45.0" expl="VC for sub_in_place" proved="true">
+   <goal name="VC wmpn_sub_in_place.45.0" expl="VC for wmpn_sub_in_place" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="44"/></proof>
    </goal>
-   <goal name="VC sub_in_place.45.1" expl="VC for sub_in_place" proved="true">
+   <goal name="VC wmpn_sub_in_place.45.1" expl="VC for wmpn_sub_in_place" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_in_place.46" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.46" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.27" steps="153"/></proof>
   </goal>
-  <goal name="VC sub_in_place.47" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.47" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="82"/></proof>
   </goal>
-  <goal name="VC sub_in_place.48" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.48" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC sub_in_place.49" expl="precondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.49" expl="precondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="53"/></proof>
   </goal>
-  <goal name="VC sub_in_place.50" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.50" expl="assertion" proved="true">
   <transf name="introduce_premises" proved="true" >
-   <goal name="VC sub_in_place.50.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub_in_place.50.0" expl="assertion" proved="true">
    <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-    <goal name="VC sub_in_place.50.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_sub_in_place.50.0.0" expl="assertion" proved="true">
     <transf name="reflection_f" proved="true" arg1="mp_decision">
-     <goal name="VC sub_in_place.50.0.0.0" expl="assertion" proved="true">
+     <goal name="VC wmpn_sub_in_place.50.0.0.0" expl="assertion" proved="true">
      <proof prover="0"><result status="valid" time="0.37"/></proof>
      </goal>
-     <goal name="VC sub_in_place.50.0.0.1" proved="true">
+     <goal name="VC wmpn_sub_in_place.50.0.0.1" proved="true">
      <proof prover="3"><result status="valid" time="0.22"/></proof>
      </goal>
-     <goal name="VC sub_in_place.50.0.0.2" proved="true">
+     <goal name="VC wmpn_sub_in_place.50.0.0.2" proved="true">
      <proof prover="2"><result status="valid" time="0.24"/></proof>
      </goal>
     </transf>
@@ -868,390 +868,390 @@
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_in_place.51" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_sub_in_place.51" expl="integer overflow" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.17" steps="68"/></proof>
   </goal>
-  <goal name="VC sub_in_place.52" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_sub_in_place.52" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_in_place.53" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.53" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_in_place.54" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.54" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC sub_in_place.55" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.55" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC sub_in_place.56" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.56" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.51"/></proof>
   </goal>
-  <goal name="VC sub_in_place.57" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_sub_in_place.57" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.11"/></proof>
   </goal>
-  <goal name="VC sub_in_place.58" expl="assertion" proved="true">
+  <goal name="VC wmpn_sub_in_place.58" expl="assertion" proved="true">
   <transf name="split_goal_right" proved="true" >
-   <goal name="VC sub_in_place.58.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_sub_in_place.58.0" expl="assertion" proved="true">
    <proof prover="5" memlimit="2000"><result status="valid" time="0.04" steps="103"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC sub_in_place.59" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.59" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.07" steps="36"/></proof>
   </goal>
-  <goal name="VC sub_in_place.60" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.60" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="37"/></proof>
   </goal>
-  <goal name="VC sub_in_place.61" expl="postcondition" proved="true">
+  <goal name="VC wmpn_sub_in_place.61" expl="postcondition" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.05" steps="62"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC decr" expl="VC for decr" proved="true">
+ <goal name="VC wmpn_decr" expl="VC for wmpn_decr" proved="true">
  <transf name="split_vc" proved="true" >
-  <goal name="VC decr.0" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr.0" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr.1" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr.1" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr.2" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr.3" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="26"/></proof>
   </goal>
-  <goal name="VC decr.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr.4" expl="loop invariant init" proved="true">
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
-  <goal name="VC decr.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr.5" expl="loop invariant init" proved="true">
   <proof prover="2" timelimit="5" memlimit="2000"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC decr.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.6" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="98"/></proof>
   </goal>
-  <goal name="VC decr.7" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr.7" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="38"/></proof>
   </goal>
-  <goal name="VC decr.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.8" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr.9" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr.9" expl="assertion" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC decr.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.10" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.11" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.12" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="129"/></proof>
   </goal>
-  <goal name="VC decr.13" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr.13" expl="assertion" proved="true">
   <proof prover="5" memlimit="2000"><result status="valid" time="0.02" steps="51"/></proof>
   </goal>
-  <goal name="VC decr.14" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr.14" expl="assertion" proved="true">
   <transf name="split_all_full" proved="true" >
-   <goal name="VC decr.14.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_decr.14.0" expl="assertion" proved="true">
    <proof prover="5" timelimit="10" memlimit="4000"><result status="valid" time="6.21" steps="241"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC decr.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.15" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr.16" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.16" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr.17" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr.17" expl="assertion" proved="true">
   <transf name="use_th" proved="true" arg1="lineardecision.LinearDecisionIntMP">
-   <goal name="VC decr.17.0" expl="assertion" proved="true">
+   <goal name="VC wmpn_decr.17.0" expl="assertion" proved="true">
    <transf name="reflection_f" proved="true" arg1="mp_decision">
-    <goal name="VC decr.17.0.0" expl="assertion" proved="true">
+    <goal name="VC wmpn_decr.17.0.0" expl="assertion" proved="true">
     <proof prover="0"><result status="valid" time="0.52"/></proof>
     </goal>
-    <goal name="VC decr.17.0.1" proved="true">
+    <goal name="VC wmpn_decr.17.0.1" proved="true">
     <proof prover="3"><result status="valid" time="0.28"/></proof>
     </goal>
-    <goal name="VC decr.17.0.2" proved="true">
+    <goal name="VC wmpn_decr.17.0.2" proved="true">
     <proof prover="3"><result status="valid" time="0.23"/></proof>
     </goal>
    </transf>
    </goal>
   </transf>
   </goal>
-  <goal name="VC decr.18" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_decr.18" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.26"/></proof>
   </goal>
-  <goal name="VC decr.19" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr.19" expl="assertion" proved="true">
   <transf name="split_vc" proved="true" >
-   <goal name="VC decr.19.0" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.19.0" expl="VC for wmpn_decr" proved="true">
    <proof prover="0"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC decr.19.1" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.19.1" expl="VC for wmpn_decr" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC decr.19.2" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.19.2" expl="VC for wmpn_decr" proved="true">
    <proof prover="2"><result status="valid" time="0.36"/></proof>
    </goal>
-   <goal name="VC decr.19.3" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.19.3" expl="VC for wmpn_decr" proved="true">
    <proof prover="3"><result status="valid" time="0.00"/></proof>
    </goal>
-   <goal name="VC decr.19.4" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.19.4" expl="VC for wmpn_decr" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC decr.19.5" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.19.5" expl="VC for wmpn_decr" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC decr.20" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_decr.20" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr.21" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.08"/></proof>
   </goal>
-  <goal name="VC decr.22" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr.22" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr.23" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr.23" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr.24" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr.24" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr.25" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr.25" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.66"/></proof>
   </goal>
-  <goal name="VC decr.26" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr.26" expl="loop invariant preservation" proved="true">
   <proof prover="2"><result status="valid" time="0.06"/></proof>
   </goal>
-  <goal name="VC decr.27" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.27" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr.28" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.28" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr.29" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr.29" expl="assertion" proved="true">
   <transf name="split_vc" proved="true" >
-   <goal name="VC decr.29.0" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.29.0" expl="VC for wmpn_decr" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC decr.29.1" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.29.1" expl="VC for wmpn_decr" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC decr.29.2" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.29.2" expl="VC for wmpn_decr" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="40"/></proof>
    </goal>
-   <goal name="VC decr.29.3" expl="VC for decr" proved="true">
+   <goal name="VC wmpn_decr.29.3" expl="VC for wmpn_decr" proved="true">
    <proof prover="3"><result status="valid" time="0.00"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC decr.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr.30" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC decr.31" expl="postcondition" proved="true">
+  <goal name="VC wmpn_decr.31" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="22"/></proof>
   </goal>
-  <goal name="VC decr.32" expl="postcondition" proved="true">
+  <goal name="VC wmpn_decr.32" expl="postcondition" proved="true">
   <proof prover="0"><result status="valid" time="0.03"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC decr_1" expl="VC for decr_1" proved="true">
+ <goal name="VC wmpn_decr_1" expl="VC for wmpn_decr_1" proved="true">
  <transf name="split_vc" proved="true" >
-  <goal name="VC decr_1.0" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr_1.0" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr_1.1" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr_1.1" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr_1.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr_1.2" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr_1.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr_1.3" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr_1.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr_1.4" expl="loop invariant init" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC decr_1.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr_1.5" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="20"/></proof>
   </goal>
-  <goal name="VC decr_1.6" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_decr_1.6" expl="loop invariant init" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="18"/></proof>
   </goal>
-  <goal name="VC decr_1.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.7" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="90"/></proof>
   </goal>
-  <goal name="VC decr_1.8" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.8" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.01" steps="40"/></proof>
   </goal>
-  <goal name="VC decr_1.9" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.9" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="29"/></proof>
   </goal>
-  <goal name="VC decr_1.10" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.10" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC decr_1.11" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.11" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr_1.12" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.12" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="130"/></proof>
   </goal>
-  <goal name="VC decr_1.13" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.13" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="54"/></proof>
   </goal>
-  <goal name="VC decr_1.14" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.14" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.08" steps="114"/></proof>
   </goal>
-  <goal name="VC decr_1.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.15" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr_1.16" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.16" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr_1.17" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.17" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="54"/></proof>
   </goal>
-  <goal name="VC decr_1.18" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_decr_1.18" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.20"/></proof>
   </goal>
-  <goal name="VC decr_1.19" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.19" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.77" steps="269"/></proof>
   </goal>
-  <goal name="VC decr_1.20" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_decr_1.20" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC decr_1.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.21" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="122"/></proof>
   </goal>
-  <goal name="VC decr_1.22" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.22" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC decr_1.23" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.23" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC decr_1.24" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.24" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr_1.25" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.25" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="50"/></proof>
   </goal>
-  <goal name="VC decr_1.26" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.26" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="66"/></proof>
   </goal>
-  <goal name="VC decr_1.27" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.27" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="69"/></proof>
   </goal>
-  <goal name="VC decr_1.28" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.28" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="52"/></proof>
   </goal>
-  <goal name="VC decr_1.29" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.29" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC decr_1.30" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.30" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr_1.31" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.31" expl="precondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="131"/></proof>
   </goal>
-  <goal name="VC decr_1.32" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.32" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="55"/></proof>
   </goal>
-  <goal name="VC decr_1.33" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.33" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.09" steps="112"/></proof>
   </goal>
-  <goal name="VC decr_1.34" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.34" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr_1.35" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.35" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC decr_1.36" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.36" expl="assertion" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="42"/></proof>
   </goal>
-  <goal name="VC decr_1.37" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_decr_1.37" expl="integer overflow" proved="true">
   <proof prover="3"><result status="valid" time="0.16"/></proof>
   </goal>
-  <goal name="VC decr_1.38" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.38" expl="assertion" proved="true">
   <transf name="split_vc" proved="true" >
-   <goal name="VC decr_1.38.0" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.38.0" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="47"/></proof>
    </goal>
-   <goal name="VC decr_1.38.1" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.38.1" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
-   <goal name="VC decr_1.38.2" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.38.2" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="2"><result status="valid" time="0.33"/></proof>
    </goal>
-   <goal name="VC decr_1.38.3" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.38.3" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC decr_1.38.4" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.38.4" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC decr_1.38.5" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.38.5" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC decr_1.39" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_decr_1.39" expl="loop variant decrease" proved="true">
   <proof prover="3"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC decr_1.40" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.40" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.08" steps="122"/></proof>
   </goal>
-  <goal name="VC decr_1.41" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.41" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC decr_1.42" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.42" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC decr_1.43" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.43" expl="loop invariant preservation" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr_1.44" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.44" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="50"/></proof>
   </goal>
-  <goal name="VC decr_1.45" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.45" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.04" steps="66"/></proof>
   </goal>
-  <goal name="VC decr_1.46" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_decr_1.46" expl="loop invariant preservation" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="69"/></proof>
   </goal>
-  <goal name="VC decr_1.47" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.47" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr_1.48" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.48" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC decr_1.49" expl="assertion" proved="true">
+  <goal name="VC wmpn_decr_1.49" expl="assertion" proved="true">
   <transf name="split_vc" proved="true" >
-   <goal name="VC decr_1.49.0" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.49.0" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.03"/></proof>
    </goal>
-   <goal name="VC decr_1.49.1" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.49.1" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.02"/></proof>
    </goal>
-   <goal name="VC decr_1.49.2" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.49.2" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="5" timelimit="1"><result status="valid" time="0.02" steps="44"/></proof>
    </goal>
-   <goal name="VC decr_1.49.3" expl="VC for decr_1" proved="true">
+   <goal name="VC wmpn_decr_1.49.3" expl="VC for wmpn_decr_1" proved="true">
    <proof prover="3"><result status="valid" time="0.01"/></proof>
    </goal>
   </transf>
   </goal>
-  <goal name="VC decr_1.50" expl="precondition" proved="true">
+  <goal name="VC wmpn_decr_1.50" expl="precondition" proved="true">
   <proof prover="3"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC decr_1.51" expl="postcondition" proved="true">
+  <goal name="VC wmpn_decr_1.51" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.03" steps="26"/></proof>
   </goal>
-  <goal name="VC decr_1.52" expl="postcondition" proved="true">
+  <goal name="VC wmpn_decr_1.52" expl="postcondition" proved="true">
   <proof prover="5" timelimit="1"><result status="valid" time="0.06" steps="40"/></proof>
   </goal>
  </transf>
diff --git a/examples/multiprecision/tests.c b/examples/multiprecision/tests.c
index ee36ab29bd1fd702b1677d4724c8fe926529d5d9..4709e2dd3abe93e6e1fbcb8d36e37c311c0100e9 100644
--- a/examples/multiprecision/tests.c
+++ b/examples/multiprecision/tests.c
@@ -110,7 +110,7 @@ int main () {
             c = mpn_add (refp, ap, an, bp, bn);
 #endif
 #ifdef TEST_WHY3
-            refc = add (rp, ap, bp, an, bn);
+            refc = wmpn_add (rp, ap, bp, an, bn);
 #endif
 
 #ifdef BENCH
@@ -174,7 +174,7 @@ int main () {
             mpn_mul (refp, ap, an, bp, bn);
 #endif
 #ifdef TEST_WHY3
-            mul (rp, ap, bp, an, bn);
+            wmpn_mul (rp, ap, bp, an, bn);
 #endif
 
 #ifdef BENCH
@@ -238,7 +238,7 @@ int main () {
                 mpn_div_qr (refq, refr, an, bp, bn);
 #endif
 #ifdef TEST_WHY3
-                tdiv_qr(rq, rr, ap, bp, an, bn);
+                wmpn_tdiv_qr(rq, rr, ap, bp, an, bn);
 #endif
 
 #ifdef BENCH
diff --git a/examples/multiprecision/toom.mlw b/examples/multiprecision/toom.mlw
index 571785ae69e24960e601b3ee3d5169750e966dc7..32168cf4ce41625ef9d76d20b0a1cff091288a5b 100644
--- a/examples/multiprecision/toom.mlw
+++ b/examples/multiprecision/toom.mlw
@@ -98,23 +98,23 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
     if (Int32.(=) s n)
     then
       if begin ensures { result <->  value x0 n < value x1 n }
-           Int32.(<) (compare_same_size x0 x1 n) 0
+           Int32.(<) (wmpn_cmp x0 x1 n) 0
          end
       then begin
-        let ghost b = sub_limbs xsm1 x1 x0 n in
+        let ghost b = wmpn_sub_n xsm1 x1 x0 n in
         no_borrow_ptr x1 x0 xsm1 (p2i n) (p2i n) b;
         vm1_neg := true end
-      else let ghost b = sub_limbs xsm1 x0 x1 n in
+      else let ghost b = wmpn_sub_n xsm1 x0 x1 n in
            no_borrow_ptr x0 x1 xsm1 (p2i n) (p2i n) b
     else
       (* n-s=1*)
       if (Limb.(=) (get_ofs x0 s) 0) &&
-         (Int32.(<) (compare_same_size x0 x1 s) 0)
+         (Int32.(<) (wmpn_cmp x0 x1 s) 0)
       then begin
         assert { value x0 s < value x1 s };
         value_tail x0 s;
         assert { value x0 n = value x0 s };
-        let ghost b = sub_limbs xsm1 x1 x0 s in
+        let ghost b = wmpn_sub_n xsm1 x1 x0 s in
         no_borrow_ptr x1 x0 xsm1 (p2i s) (p2i s) b;
         value_sub_shift_no_change (pelts xsm1) (xsm1.offset) (p2i s) (p2i s) 0;
         set_ofs xsm1 s 0;
@@ -122,7 +122,7 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
         value_tail xsm1 s
         end
       else begin
-        let b = sub_limbs xsm1 x0 x1 s in
+        let b = wmpn_sub_n xsm1 x0 x1 s in
         label Borrow in
         value_sub_shift_no_change (pelts xsm1) (xsm1.offset) (p2i s) (p2i s) b;
         let lx = get_ofs x0 s in
@@ -142,32 +142,32 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
     if (Int32.(=) t n)
     then
       if begin ensures { result <-> value y0 n < value y1 n }
-           Int32.(<) (compare_same_size y0 y1 n) 0
+           Int32.(<) (wmpn_cmp y0 y1 n) 0
          end
       then begin
-        let ghost b = sub_limbs ysm1 y1 y0 n in
+        let ghost b = wmpn_sub_n ysm1 y1 y0 n in
         no_borrow_ptr y1 y0 ysm1 (p2i n) (p2i n) b;
         vm1_neg := not !vm1_neg end
       else
-        let ghost b = sub_limbs ysm1 y0 y1 n in
+        let ghost b = wmpn_sub_n ysm1 y0 y1 n in
         no_borrow_ptr y0 y1 ysm1 (p2i n) (p2i n) b;
     else
       let y0t = C.incr y0 t in
-      let c0 = (Int32.(=) (is_zero y0t (Int32.(-) n t)) 1) in
-      let c1 = (Int32.(<) (compare_same_size y0 y1 t) 0) in
+      let c0 = (Int32.(=) (wmpn_zero_p y0t (Int32.(-) n t)) 1) in
+      let c1 = (Int32.(<) (wmpn_cmp y0 y1 t) 0) in
       if c0 && c1
       then begin
         assert { value y0 t < value y1 t };
         value_concat y0 t n;
         assert { value y0 n = value y0 t };
-        let ghost b = sub_limbs ysm1 y1 y0 t in
+        let ghost b = wmpn_sub_n ysm1 y1 y0 t in
         no_borrow_ptr y1 y0 ysm1 (p2i t) (p2i t) b;
         assert { forall j. (j < offset r \/ offset r + sx + sy <= j)
                              -> (pelts r)[j] = (pelts r)[j] at BSM1 };
         label Zero in
         let ghost ysm1z = { ysm1 } in
         let ysm1t = C.incr ysm1 t in
-        zero ysm1t (Int32.(-) n t);
+        wmpn_zero ysm1t (Int32.(-) n t);
         value_sub_frame_shift (pelts ysm1) (pelts ysm1z)
                               (offset ysm1) (offset ysm1z) (p2i t);
         assert { value ysm1 t = value ysm1 t at Zero };
@@ -187,7 +187,7 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
                   \/ (not c1
                       so value y1 t <= value y0 t
                       so value y0 t <= value y0 n) };
-        let ghost b = sub ysm1 y0 y1 n t in
+        let ghost b = wmpn_sub ysm1 y0 y1 n t in
         no_borrow_ptr y0 y1 ysm1 (p2i n) (p2i t) b;
         end
   end;
@@ -245,16 +245,16 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
   let ghost hvinf = value vinfn (int32'int s + int32'int t- int32'int n) in
   assert { lv0 + m * hv0 = a0 * b0 };
   assert { lvinf + m * hvinf = a1 * b1 };
-  let cy = ref (add_in_place vinf v0n n n) in (*TODO add_limbs_in_place*)
+  let cy = ref (wmpn_add_in_place vinf v0n n n) in (*TODO wmpn_add_n_in_place*)
   assert { value vinf n = lvinf + hv0 - m * !cy };
-  let c = add_limbs v0n vinf v0 n in
+  let c = wmpn_add_n v0n vinf v0 n in
   let cy2 = Limb.(+) c !cy in
   assert { value v0n n = lvinf + hv0 + lv0 - m * cy2
            by value v0n n = lv0 + value vinf n - m * c
                           = lvinf + hv0 + lv0 - m * !cy - m * c
                           = lvinf + hv0 + lv0 - m * cy2 };
   label Add3 in
-  let c' = add_in_place vinf vinfn n (Int32.(-) (Int32.(+) s t) n) in
+  let c' = wmpn_add_in_place vinf vinfn n (Int32.(-) (Int32.(+) s t) n) in
   cy := Limb.(+) !cy c';
   assert { value vinf n = hvinf + lvinf + hv0 - m * !cy
            by m * (!cy at Add3) + m * c' = m * !cy
@@ -301,7 +301,7 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
     assert { power radix (n+n) = m * m };
     if !vm1_neg
     then
-      let c'' = add_in_place v0n scratch (n+n) (n+n) in
+      let c'' = wmpn_add_in_place v0n scratch (n+n) (n+n) in
       assert { value v0n (n+n)
                = value v0n (n+n) at AddSub + value scratch (n+n)
                  - power radix (n+n) * c'' };
@@ -317,7 +317,7 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
                   = a1 * b1 + a0 * b0 - (a0 - a1)*(b0 - b1)
                     + hv0 + m * lvinf - m * cy2 - m * m * !cy }
     else
-      let b = sub_in_place v0n scratch (n+n) (n+n) in
+      let b = wmpn_sub_in_place v0n scratch (n+n) (n+n) in
       assert { value v0n (n+n)
                = value v0n (n+n) at AddSub - value scratch (n+n)
                  + power radix (n+n) * b };
@@ -633,7 +633,7 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
               so (m * m) * (value vinf0 (s+t) + cy2) < (m * m) * (m * m') };
   let ghost ri = { r } in
   label IncrM in
-  incr vinf0 cy2 (Int32.(+) s t);
+  wmpn_incr vinf0 cy2 (Int32.(+) s t);
   value_concat r (Int32.(+) n n) (Int32.(+) sx sy);
   assert { value_sub (pelts r) (offset r + n + n) (offset r + sx + sy)
            = value vinf0 (s+t) };
@@ -692,7 +692,7 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
                 >= power radix (3*n) * (value vinfn (s+t-n) + !cy)
                 so power radix (3*n) * (value vinfn (s+t-n) + !cy)
                    < power radix (3*n) * m'};
-    incr vinfn !cy (Int32.(-) (Int32.(+) s t) n);
+    wmpn_incr vinfn !cy (Int32.(-) (Int32.(+) s t) n);
     value_concat r (Int32.( *) 3 n) (Int32.(+) sx sy);
     assert { value_sub (pelts r) (offset r + 3*n) (offset r + sx + sy)
              = value vinfn (s+t-n)
@@ -734,7 +734,7 @@ let rec toom22_mul (r x y scratch: ptr limb) (sx sy:int32) (ghost k: int) : unit
              so value r (3*n) < power radix (3*n)
              so power radix (3*n) * value vinfn (s+t-n) > 0
              so value vinfn (s+t-n) > 0 };
-    decr_1 vinfn (Int32.(-) (Int32.(+) s t) n);
+    wmpn_decr_1 vinfn (Int32.(-) (Int32.(+) s t) n);
     value_concat r (Int32.( *) 3 n) (Int32.(+) sx sy);
     assert { value_sub (pelts r) (offset r + 3*n) (offset r + sx + sy)
              = value vinfn (s+t-n)
@@ -801,11 +801,11 @@ with toom22_mul_rec (r x y scratch: ptr limb) (sx sy: int32) (ghost k: int)
   variant  { k + k + 1 }
 =
   if Int32.(<=) sy toom22_threshold
-  then mul r x y sx sy
+  then wmpn_mul r x y sx sy
   else
     if Int32.(<) (Int32.( *) 4 sx) (Int32.( *) 5 sy) (* ? *)
     then toom22_mul r x y scratch sx sy k
-    else mul r x y sx sy (* TODO toom33_mul *)
+    else wmpn_mul r x y sx sy (* TODO toom33_mul *)
 
 with toom22_mul_n_rec (r x y scratch: ptr limb) (sz:int32) (ghost k: int) : unit
   requires { valid x sz }
@@ -830,7 +830,7 @@ with toom22_mul_n_rec (r x y scratch: ptr limb) (sz:int32) (ghost k: int) : unit
   variant  { k + k + 1 }
 =
   if Int32.(<=) sz toom22_threshold
-  then mul r x y sz sz
+  then wmpn_mul r x y sz sz
   else toom22_mul r x y scratch sz sz k
 
 end
\ No newline at end of file
diff --git a/examples/multiprecision/toom/why3session.xml b/examples/multiprecision/toom/why3session.xml
index 6baab8b7e8fa59436603b4fc194337a2caff31ad..132f64e50f96553f22bb472cfb95cabcfdac94c5 100644
--- a/examples/multiprecision/toom/why3session.xml
+++ b/examples/multiprecision/toom/why3session.xml
@@ -214,7 +214,7 @@
   <proof prover="5"><result status="valid" time="0.63" steps="140"/></proof>
   </goal>
   <goal name="VC toom22_mul.40" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.01"/></proof>
+  <proof prover="3"><result status="valid" time="0.03"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
@@ -224,7 +224,7 @@
   </transf>
   </goal>
   <goal name="VC toom22_mul.42" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.03"/></proof>
+  <proof prover="3"><result status="valid" time="0.01"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
@@ -253,7 +253,7 @@
   <proof prover="1"><result status="valid" time="0.11"/></proof>
   </goal>
   <goal name="VC toom22_mul.51" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.02"/></proof>
+  <proof prover="3"><result status="valid" time="0.01"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
@@ -263,7 +263,7 @@
   </transf>
   </goal>
   <goal name="VC toom22_mul.53" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.01"/></proof>
+  <proof prover="3"><result status="valid" time="0.02"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
@@ -437,22 +437,22 @@
   <proof prover="1"><result status="valid" time="0.15"/></proof>
   </goal>
   <goal name="VC toom22_mul.101" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.02"/></proof>
+  <proof prover="3"><result status="valid" time="0.01"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
   <goal name="VC toom22_mul.102" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.01"/></proof>
+  <proof prover="3"><result status="valid" time="0.02"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
   <goal name="VC toom22_mul.103" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.02"/></proof>
+  <proof prover="3"><result status="valid" time="0.01"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
   <goal name="VC toom22_mul.104" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.01"/></proof>
+  <proof prover="3"><result status="valid" time="0.02"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
@@ -481,22 +481,22 @@
   <proof prover="5"><result status="valid" time="0.81" steps="144"/></proof>
   </goal>
   <goal name="VC toom22_mul.113" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.02"/></proof>
+  <proof prover="3"><result status="valid" time="0.01"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
   <goal name="VC toom22_mul.114" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.01"/></proof>
+  <proof prover="3"><result status="valid" time="0.02"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
   <goal name="VC toom22_mul.115" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.02"/></proof>
+  <proof prover="3"><result status="valid" time="0.01"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
   <goal name="VC toom22_mul.116" expl="postcondition" proved="true">
-  <proof prover="3"><result status="valid" time="0.01"/></proof>
+  <proof prover="3"><result status="valid" time="0.02"/></proof>
   <transf name="split_vc" proved="true" >
   </transf>
   </goal>
@@ -901,7 +901,7 @@
   </transf>
   </goal>
   <goal name="VC toom22_mul.205" expl="precondition" proved="true">
-  <proof prover="5"><result status="valid" time="1.94" steps="356"/></proof>
+  <proof prover="5" timelimit="5" memlimit="2000"><result status="valid" time="1.21" steps="356"/></proof>
   </goal>
   <goal name="VC toom22_mul.206" expl="postcondition" proved="true">
   <proof prover="3"><result status="valid" time="0.01"/></proof>
@@ -2159,10 +2159,10 @@
     </transf>
     </goal>
     <goal name="VC toom22_mul.331.3.1" proved="true">
-    <proof prover="3"><result status="valid" time="0.04"/></proof>
+    <proof prover="3"><result status="valid" time="0.06"/></proof>
     </goal>
     <goal name="VC toom22_mul.331.3.2" proved="true">
-    <proof prover="3"><result status="valid" time="0.06"/></proof>
+    <proof prover="3"><result status="valid" time="0.04"/></proof>
     </goal>
    </transf>
    </goal>
diff --git a/examples/multiprecision/util.mlw b/examples/multiprecision/util.mlw
index a972fa7c91a5c6461f8f377d37cf4b08418a002d..34963d3893922c19d934033c32782bd78483c4d5 100644
--- a/examples/multiprecision/util.mlw
+++ b/examples/multiprecision/util.mlw
@@ -10,7 +10,7 @@ module Util
   use types.Types
   use lemmas.Lemmas
 
-  let copy (r x:t) (sz:int32) : unit
+  let wmpn_copyi (r x:t) (sz:int32) : unit
     requires { valid x sz }
     requires { valid r sz }
     ensures { map_eq_sub_shift (pelts r) (pelts x) r.offset x.offset sz }
@@ -42,8 +42,8 @@ module Util
       i := Int32.(+) !i one;
     done
 
-   (* `is_zero` checks if `x[0..sz-1]` is zero. It corresponds to `mpn_zero_p`. *)
-   let is_zero (x:t) (sz:int32) : int32
+   (* `wmpn_zero_p` checks if `x[0..sz-1]` is zero. It corresponds to `mpn_zero_p`. *)
+   let wmpn_zero_p (x:t) (sz:int32) : int32
      requires { valid x sz }
      ensures { 0 <= Int32.to_int result <= 1 }
      ensures { Int32.to_int result = 1 <-> value x sz = 0 }
@@ -75,8 +75,8 @@ module Util
      with Return32 r -> r
      end
 
-  (** `zero r sz` sets `(r,sz)` to zero. Corresponds to `mpn_zero`. *)
-  let zero (r:t) (sz:int32) : unit
+  (** `wmpn_zero r sz` sets `(r,sz)` to zero. Corresponds to `mpn_zero`. *)
+  let wmpn_zero (r:t) (sz:int32) : unit
     requires { valid r sz }
     ensures { value r sz = 0 }
     ensures { forall j. (j < offset r \/ offset r + sz <= j)
diff --git a/examples/multiprecision/util/why3session.xml b/examples/multiprecision/util/why3session.xml
index f48fa7b1f06eac41bce3419b673fef97ceb170aa..9c3b152dab87ae160d4a28067305f159561ca937 100644
--- a/examples/multiprecision/util/why3session.xml
+++ b/examples/multiprecision/util/why3session.xml
@@ -6,221 +6,221 @@
 <prover id="1" name="Z3" version="4.5.0" timelimit="1" steplimit="0" memlimit="1000"/>
 <file name="../util.mlw" proved="true">
 <theory name="Util" proved="true">
- <goal name="VC copy" expl="VC for copy" proved="true">
+ <goal name="VC wmpn_copyi" expl="VC for wmpn_copyi" proved="true">
  <transf name="split_vc" proved="true" >
-  <goal name="VC copy.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_copyi.0" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_copyi.1" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.2" expl="precondition" proved="true">
+  <goal name="VC wmpn_copyi.2" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC copy.3" expl="precondition" proved="true">
+  <goal name="VC wmpn_copyi.3" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.4" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.5" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.5" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC copy.6" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.6" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.00"/></proof>
   </goal>
-  <goal name="VC copy.7" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.7" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC copy.8" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.8" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC copy.9" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.9" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC copy.10" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.10" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC copy.11" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.11" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC copy.12" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.12" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC copy.13" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.13" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC copy.14" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_copyi.14" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC copy.15" expl="precondition" proved="true">
+  <goal name="VC wmpn_copyi.15" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.16" expl="precondition" proved="true">
+  <goal name="VC wmpn_copyi.16" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.17" expl="precondition" proved="true">
+  <goal name="VC wmpn_copyi.17" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC copy.18" expl="precondition" proved="true">
+  <goal name="VC wmpn_copyi.18" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC copy.19" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_copyi.19" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.20" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_copyi.20" expl="loop variant decrease" proved="true">
   <proof prover="1"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC copy.21" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.21" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.04"/></proof>
   </goal>
-  <goal name="VC copy.22" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.22" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.06" steps="213"/></proof>
   </goal>
-  <goal name="VC copy.23" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.23" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC copy.24" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.24" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.05" steps="101"/></proof>
   </goal>
-  <goal name="VC copy.25" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.25" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.26" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.26" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.27" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.27" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC copy.28" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.28" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC copy.29" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.29" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC copy.30" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.30" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC copy.31" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_copyi.31" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.02" steps="108"/></proof>
   </goal>
-  <goal name="VC copy.32" expl="postcondition" proved="true">
+  <goal name="VC wmpn_copyi.32" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC copy.33" expl="postcondition" proved="true">
+  <goal name="VC wmpn_copyi.33" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC is_zero" expl="VC for is_zero" proved="true">
+ <goal name="VC wmpn_zero_p" expl="VC for wmpn_zero_p" proved="true">
  <transf name="split_vc" proved="true" >
-  <goal name="VC is_zero.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero_p.0" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.1" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_zero_p.1" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_zero_p.2" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.3" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero_p.3" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.4" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero_p.4" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.5" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero_p.5" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.6" expl="assertion" proved="true">
+  <goal name="VC wmpn_zero_p.6" expl="assertion" proved="true">
   <proof prover="0"><result status="valid" time="0.01" steps="16"/></proof>
   </goal>
-  <goal name="VC is_zero.7" expl="precondition" proved="true">
+  <goal name="VC wmpn_zero_p.7" expl="precondition" proved="true">
   <proof prover="0"><result status="valid" time="0.01" steps="24"/></proof>
   </goal>
-  <goal name="VC is_zero.8" expl="precondition" proved="true">
+  <goal name="VC wmpn_zero_p.8" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.9" expl="precondition" proved="true">
+  <goal name="VC wmpn_zero_p.9" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.10" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero_p.10" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.11" expl="postcondition" proved="true">
+  <goal name="VC wmpn_zero_p.11" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC is_zero.12" expl="postcondition" proved="true">
+  <goal name="VC wmpn_zero_p.12" expl="postcondition" proved="true">
   <proof prover="0"><result status="valid" time="0.02" steps="84"/></proof>
   </goal>
-  <goal name="VC is_zero.13" expl="assertion" proved="true">
+  <goal name="VC wmpn_zero_p.13" expl="assertion" proved="true">
   <proof prover="1"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC is_zero.14" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_zero_p.14" expl="loop variant decrease" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.15" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_zero_p.15" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.16" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_zero_p.16" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.01" steps="36"/></proof>
   </goal>
-  <goal name="VC is_zero.17" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero_p.17" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.18" expl="postcondition" proved="true">
+  <goal name="VC wmpn_zero_p.18" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC is_zero.19" expl="postcondition" proved="true">
+  <goal name="VC wmpn_zero_p.19" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
  </transf>
  </goal>
- <goal name="VC zero" expl="VC for zero" proved="true">
+ <goal name="VC wmpn_zero" expl="VC for wmpn_zero" proved="true">
  <transf name="split_vc" proved="true" >
-  <goal name="VC zero.0" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero.0" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC zero.1" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero.1" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC zero.2" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_zero.2" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC zero.3" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_zero.3" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC zero.4" expl="loop invariant init" proved="true">
+  <goal name="VC wmpn_zero.4" expl="loop invariant init" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC zero.5" expl="precondition" proved="true">
+  <goal name="VC wmpn_zero.5" expl="precondition" proved="true">
   <proof prover="0"><result status="valid" time="0.01" steps="24"/></proof>
   </goal>
-  <goal name="VC zero.6" expl="precondition" proved="true">
+  <goal name="VC wmpn_zero.6" expl="precondition" proved="true">
   <proof prover="1"><result status="valid" time="0.01"/></proof>
   </goal>
-  <goal name="VC zero.7" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero.7" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
-  <goal name="VC zero.8" expl="integer overflow" proved="true">
+  <goal name="VC wmpn_zero.8" expl="integer overflow" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC zero.9" expl="loop variant decrease" proved="true">
+  <goal name="VC wmpn_zero.9" expl="loop variant decrease" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC zero.10" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_zero.10" expl="loop invariant preservation" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC zero.11" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_zero.11" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.10" steps="110"/></proof>
   </goal>
-  <goal name="VC zero.12" expl="loop invariant preservation" proved="true">
+  <goal name="VC wmpn_zero.12" expl="loop invariant preservation" proved="true">
   <proof prover="0"><result status="valid" time="0.02" steps="51"/></proof>
   </goal>
-  <goal name="VC zero.13" expl="postcondition" proved="true">
+  <goal name="VC wmpn_zero.13" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="0.03"/></proof>
   </goal>
-  <goal name="VC zero.14" expl="postcondition" proved="true">
+  <goal name="VC wmpn_zero.14" expl="postcondition" proved="true">
   <proof prover="1"><result status="valid" time="0.02"/></proof>
   </goal>
  </transf>