From 6510c2bd25340321225e57fed910a56d1cbab112 Mon Sep 17 00:00:00 2001
From: Patrick Baudin <patrick.baudin@cea.fr>
Date: Wed, 26 Jun 2019 08:25:52 +0200
Subject: [PATCH] [wp] replaces lc_open,lc_iter,lc_map by e_open,f_iter,f_map
 into Cint simplifier (oracle changes)

---
 .../wp_acsl/oracle/assigns_range.res.oracle   |  4 +-
 .../wp_typed/oracle/user_init.0.res.oracle    | 78 ++++++++++---------
 .../wp_typed/oracle/user_init.1.res.oracle    | 78 ++++++++++---------
 3 files changed, 88 insertions(+), 72 deletions(-)

diff --git a/src/plugins/wp/tests/wp_acsl/oracle/assigns_range.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/assigns_range.res.oracle
index dc175209d04..049b05cc6d2 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/assigns_range.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/assigns_range.res.oracle
@@ -204,7 +204,7 @@ Assume {
   Have: (0 <= i) /\ (i <= j) /\ (j <= 19).
   (* Exit Effects *)
   Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 <= 19) ->
-      (((j < i_1) \/ (i_1 < 0)) -> (t4_0[i_1] = t4_1[i_1])))).
+      (((i_1 < 0) \/ (j < i_1)) -> (t4_0[i_1] = t4_1[i_1])))).
 }
 Prove: i <= 0.
 
@@ -220,7 +220,7 @@ Assume {
   Have: (0 <= i) /\ (i <= j) /\ (j <= 19).
   (* Call Effects *)
   Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 <= 19) ->
-      (((j < i_1) \/ (i_1 < 0)) -> (t4_0[i_1] = t4_1[i_1])))).
+      (((i_1 < 0) \/ (j < i_1)) -> (t4_0[i_1] = t4_1[i_1])))).
 }
 Prove: i <= 0.
 
diff --git a/src/plugins/wp/tests/wp_typed/oracle/user_init.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/user_init.0.res.oracle
index fe5efd3387b..7c9323b15bd 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/user_init.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/user_init.0.res.oracle
@@ -367,13 +367,15 @@ Assume {
       (havoc(Mint_undef_0, Mint_1, shift_sint32(a_1, 0), 20)
          [shift_sint32(a_1, i_3)] = v))).
 }
-Prove: (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-        ((i_3 <= 19) -> false))))) \/
-    (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-     ((i_3 <= 19) ->
-     (exists i_6,i_5 : Z. (i_6 <= i_4) /\ (i_5 <= i_3) /\ (0 <= i_6) /\
-      (i_4 <= i_6) /\ (0 <= i_5) /\ (i_3 <= i_5) /\ (i_6 <= 9) /\
-      (i_5 <= 19))))))).
+Prove: (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+        (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+         ((i_4 <= 19) -> false)))))))) \/
+    (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+     (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+      ((i_4 <= 19) ->
+      (exists i_6,i_5 : Z. (i_6 <= i_3) /\ (i_5 <= i_4) /\ (0 <= i_6) /\
+       (i_3 <= i_6) /\ (0 <= i_5) /\ (i_4 <= i_5) /\ (i_6 <= 9) /\
+       (i_5 <= 19)))))))))).
 
 ------------------------------------------------------------
 
@@ -421,8 +423,8 @@ Assume {
   Have: i_2 <= 9.
   Have: i_3 <= 19.
   Have: 0 <= i.
-  Have: 0 <= i_1.
   Have: i <= 9.
+  Have: 0 <= i_1.
   Have: i_1 <= 19.
   (* Loop assigns 'lack,Zone' *)
   Have: forall a : addr.
@@ -456,8 +458,8 @@ Assume {
   Have: i_2 <= 9.
   Have: i_3 <= 19.
   Have: 0 <= i.
-  Have: 0 <= i_1.
   Have: i <= 9.
+  Have: 0 <= i_1.
   Have: i_1 <= 19.
   (* Loop assigns 'lack,Zone' *)
   Have: forall a : addr.
@@ -1049,13 +1051,15 @@ Assume {
   (* Invariant 'Partial_j' *)
   Have: forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 19) -> (t2_2[i][i_3] = v))).
 }
-Prove: (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-        ((i_3 <= 19) -> false))))) \/
-    (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-     ((i_3 <= 19) ->
-     (exists i_6,i_5 : Z. (i_6 <= i_4) /\ (i_5 <= i_3) /\ (0 <= i_6) /\
-      (i_4 <= i_6) /\ (0 <= i_5) /\ (i_3 <= i_5) /\ (i_6 <= 9) /\
-      (i_5 <= 19))))))).
+Prove: (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+        (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+         ((i_4 <= 19) -> false)))))))) \/
+    (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+     (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+      ((i_4 <= 19) ->
+      (exists i_6,i_5 : Z. (i_6 <= i_3) /\ (i_5 <= i_4) /\ (0 <= i_6) /\
+       (i_3 <= i_6) /\ (0 <= i_5) /\ (i_4 <= i_5) /\ (i_6 <= 9) /\
+       (i_5 <= 19)))))))))).
 
 ------------------------------------------------------------
 
@@ -1088,13 +1092,15 @@ Assume {
   (* Invariant 'Partial_j' *)
   Have: forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 19) -> (t2_2[i][i_3] = v))).
 }
-Prove: (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-        ((i_3 <= 19) -> false))))) \/
-    (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-     ((i_3 <= 19) ->
-     (exists i_6,i_5 : Z. (i_6 <= i_4) /\ (i_5 <= i_3) /\ (0 <= i_6) /\
-      (i_4 <= i_6) /\ (0 <= i_5) /\ (i_3 <= i_5) /\ (i_6 <= 9) /\
-      (i_5 <= 19))))))).
+Prove: (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+        (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+         ((i_4 <= 19) -> false)))))))) \/
+    (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+     (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+      ((i_4 <= 19) ->
+      (exists i_6,i_5 : Z. (i_6 <= i_3) /\ (i_5 <= i_4) /\ (0 <= i_6) /\
+       (i_3 <= i_6) /\ (0 <= i_5) /\ (i_4 <= i_5) /\ (i_6 <= 9) /\
+       (i_5 <= 19)))))))))).
 
 ------------------------------------------------------------
 
@@ -1136,13 +1142,15 @@ Assume {
   (* Then *)
   Have: j <= 19.
 }
-Prove: (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-        ((i_3 <= 19) -> false))))) \/
-    (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-     ((i_3 <= 19) ->
-     (exists i_6,i_5 : Z. (i_6 <= i_4) /\ (i_5 <= i_3) /\ (0 <= i_6) /\
-      (i_4 <= i_6) /\ (0 <= i_5) /\ (i_3 <= i_5) /\ (i_6 <= 9) /\
-      (i_5 <= 19))))))).
+Prove: (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+        (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+         ((i_4 <= 19) -> false)))))))) \/
+    (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+     (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+      ((i_4 <= 19) ->
+      (exists i_6,i_5 : Z. (i_6 <= i_3) /\ (i_5 <= i_4) /\ (0 <= i_6) /\
+       (i_3 <= i_6) /\ (0 <= i_5) /\ (i_4 <= i_5) /\ (i_6 <= 9) /\
+       (i_5 <= 19)))))))))).
 
 ------------------------------------------------------------
 
@@ -1175,8 +1183,8 @@ Assume {
   (* Invariant 'Range_j' *)
   Have: j <= 20.
 }
-Prove: exists i_2,i_1 : Z. (i_2 <= i) /\ (i_1 <= j) /\ (0 <= i_2) /\
-    (i <= i_2) /\ (0 <= i_1) /\ (j <= i_1) /\ (i_2 <= 9) /\ (i_1 <= 19).
+Prove: exists i_2,i_1 : Z. (i_2 <= i) /\ (0 <= i_2) /\ (i <= i_2) /\
+    (0 <= i_1) /\ (j <= i_1) /\ (i_1 <= j) /\ (i_2 <= 9) /\ (i_1 <= 19).
 
 ------------------------------------------------------------
 
@@ -1194,8 +1202,8 @@ Assume {
   Have: i_2 <= 9.
   Have: i_3 <= 19.
   Have: 0 <= i.
-  Have: 0 <= i_1.
   Have: i <= 9.
+  Have: 0 <= i_1.
   Have: i_1 <= 19.
   (* Loop assigns 'lack,Zone_i' *)
   Have: forall i_5,i_4 : Z. ((0 <= i_5) -> ((0 <= i_4) -> ((i_5 <= 9) ->
@@ -1642,8 +1650,8 @@ Assume {
   (* Invariant 'Range_j' *)
   Have: j <= 20.
 }
-Prove: exists i_2,i_1 : Z. (i_2 <= i) /\ (i_1 <= j) /\ (0 <= i_2) /\
-    (i <= i_2) /\ (j <= i_1) /\ (i_2 <= 9).
+Prove: exists i_2,i_1 : Z. (i_2 <= i) /\ (0 <= i_2) /\ (i <= i_2) /\
+    (j <= i_1) /\ (i_1 <= j) /\ (i_2 <= 9).
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_typed/oracle/user_init.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/user_init.1.res.oracle
index 39da789135d..b48ff1d096a 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/user_init.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/user_init.1.res.oracle
@@ -367,13 +367,15 @@ Assume {
       (havoc(Mint_undef_0, Mint_1, shift_sint32(a_1, 0), 20)
          [shift_sint32(a_1, i_3)] = v))).
 }
-Prove: (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-        ((i_3 <= 19) -> false))))) \/
-    (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-     ((i_3 <= 19) ->
-     (exists i_6,i_5 : Z. (i_6 <= i_4) /\ (i_5 <= i_3) /\ (0 <= i_6) /\
-      (i_4 <= i_6) /\ (0 <= i_5) /\ (i_3 <= i_5) /\ (i_6 <= 9) /\
-      (i_5 <= 19))))))).
+Prove: (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+        (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+         ((i_4 <= 19) -> false)))))))) \/
+    (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+     (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+      ((i_4 <= 19) ->
+      (exists i_6,i_5 : Z. (i_6 <= i_3) /\ (i_5 <= i_4) /\ (0 <= i_6) /\
+       (i_3 <= i_6) /\ (0 <= i_5) /\ (i_4 <= i_5) /\ (i_6 <= 9) /\
+       (i_5 <= 19)))))))))).
 
 ------------------------------------------------------------
 
@@ -421,8 +423,8 @@ Assume {
   Have: i_2 <= 9.
   Have: i_3 <= 19.
   Have: 0 <= i.
-  Have: 0 <= i_1.
   Have: i <= 9.
+  Have: 0 <= i_1.
   Have: i_1 <= 19.
   (* Loop assigns 'lack,Zone' *)
   Have: forall a : addr.
@@ -456,8 +458,8 @@ Assume {
   Have: i_2 <= 9.
   Have: i_3 <= 19.
   Have: 0 <= i.
-  Have: 0 <= i_1.
   Have: i <= 9.
+  Have: 0 <= i_1.
   Have: i_1 <= 19.
   (* Loop assigns 'lack,Zone' *)
   Have: forall a : addr.
@@ -1049,13 +1051,15 @@ Assume {
   (* Invariant 'Partial_j' *)
   Have: forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 19) -> (t2_2[i][i_3] = v))).
 }
-Prove: (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-        ((i_3 <= 19) -> false))))) \/
-    (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-     ((i_3 <= 19) ->
-     (exists i_6,i_5 : Z. (i_6 <= i_4) /\ (i_5 <= i_3) /\ (0 <= i_6) /\
-      (i_4 <= i_6) /\ (0 <= i_5) /\ (i_3 <= i_5) /\ (i_6 <= 9) /\
-      (i_5 <= 19))))))).
+Prove: (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+        (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+         ((i_4 <= 19) -> false)))))))) \/
+    (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+     (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+      ((i_4 <= 19) ->
+      (exists i_6,i_5 : Z. (i_6 <= i_3) /\ (i_5 <= i_4) /\ (0 <= i_6) /\
+       (i_3 <= i_6) /\ (0 <= i_5) /\ (i_4 <= i_5) /\ (i_6 <= 9) /\
+       (i_5 <= 19)))))))))).
 
 ------------------------------------------------------------
 
@@ -1088,13 +1092,15 @@ Assume {
   (* Invariant 'Partial_j' *)
   Have: forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 19) -> (t2_2[i][i_3] = v))).
 }
-Prove: (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-        ((i_3 <= 19) -> false))))) \/
-    (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-     ((i_3 <= 19) ->
-     (exists i_6,i_5 : Z. (i_6 <= i_4) /\ (i_5 <= i_3) /\ (0 <= i_6) /\
-      (i_4 <= i_6) /\ (0 <= i_5) /\ (i_3 <= i_5) /\ (i_6 <= 9) /\
-      (i_5 <= 19))))))).
+Prove: (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+        (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+         ((i_4 <= 19) -> false)))))))) \/
+    (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+     (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+      ((i_4 <= 19) ->
+      (exists i_6,i_5 : Z. (i_6 <= i_3) /\ (i_5 <= i_4) /\ (0 <= i_6) /\
+       (i_3 <= i_6) /\ (0 <= i_5) /\ (i_4 <= i_5) /\ (i_6 <= 9) /\
+       (i_5 <= 19)))))))))).
 
 ------------------------------------------------------------
 
@@ -1136,13 +1142,15 @@ Assume {
   (* Then *)
   Have: j <= 19.
 }
-Prove: (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-        ((i_3 <= 19) -> false))))) \/
-    (forall i_4,i_3 : Z. ((0 <= i_4) -> ((0 <= i_3) -> ((i_4 <= 9) ->
-     ((i_3 <= 19) ->
-     (exists i_6,i_5 : Z. (i_6 <= i_4) /\ (i_5 <= i_3) /\ (0 <= i_6) /\
-      (i_4 <= i_6) /\ (0 <= i_5) /\ (i_3 <= i_5) /\ (i_6 <= 9) /\
-      (i_5 <= 19))))))).
+Prove: (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+        (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+         ((i_4 <= 19) -> false)))))))) \/
+    (forall i_3 : Z. ((0 <= i_3) -> ((i_3 <= 9) ->
+     (forall i_4 : Z. ((0 <= i_3) -> ((0 <= i_4) -> ((i_3 <= 9) ->
+      ((i_4 <= 19) ->
+      (exists i_6,i_5 : Z. (i_6 <= i_3) /\ (i_5 <= i_4) /\ (0 <= i_6) /\
+       (i_3 <= i_6) /\ (0 <= i_5) /\ (i_4 <= i_5) /\ (i_6 <= 9) /\
+       (i_5 <= 19)))))))))).
 
 ------------------------------------------------------------
 
@@ -1175,8 +1183,8 @@ Assume {
   (* Invariant 'Range_j' *)
   Have: j <= 20.
 }
-Prove: exists i_2,i_1 : Z. (i_2 <= i) /\ (i_1 <= j) /\ (0 <= i_2) /\
-    (i <= i_2) /\ (0 <= i_1) /\ (j <= i_1) /\ (i_2 <= 9) /\ (i_1 <= 19).
+Prove: exists i_2,i_1 : Z. (i_2 <= i) /\ (0 <= i_2) /\ (i <= i_2) /\
+    (0 <= i_1) /\ (j <= i_1) /\ (i_1 <= j) /\ (i_2 <= 9) /\ (i_1 <= 19).
 
 ------------------------------------------------------------
 
@@ -1194,8 +1202,8 @@ Assume {
   Have: i_2 <= 9.
   Have: i_3 <= 19.
   Have: 0 <= i.
-  Have: 0 <= i_1.
   Have: i <= 9.
+  Have: 0 <= i_1.
   Have: i_1 <= 19.
   (* Loop assigns 'lack,Zone_i' *)
   Have: forall i_5,i_4 : Z. ((0 <= i_5) -> ((0 <= i_4) -> ((i_5 <= 9) ->
@@ -1642,8 +1650,8 @@ Assume {
   (* Invariant 'Range_j' *)
   Have: j <= 20.
 }
-Prove: exists i_2,i_1 : Z. (i_2 <= i) /\ (i_1 <= j) /\ (0 <= i_2) /\
-    (i <= i_2) /\ (j <= i_1) /\ (i_2 <= 9).
+Prove: exists i_2,i_1 : Z. (i_2 <= i) /\ (0 <= i_2) /\ (i <= i_2) /\
+    (j <= i_1) /\ (i_1 <= j) /\ (i_2 <= 9).
 
 ------------------------------------------------------------
 
-- 
GitLab