From 9dce6844b5b71bec793cd415039a3f7ccca234af Mon Sep 17 00:00:00 2001
From: Patrick Baudin <patrick.baudin@cea.fr>
Date: Wed, 2 Feb 2022 14:48:59 +0100
Subject: [PATCH] [Wp] updated oracles of the default tests

---
 .../tests/wp/oracle/wp_call_pre.2.res.oracle  |   9 +-
 .../tests/wp/oracle/wp_call_pre.3.res.oracle  |   9 +-
 .../wp/tests/wp_acsl/oracle/arith.res.oracle  |   6 +-
 .../wp_acsl/oracle/assigns_path.res.oracle    |  18 +-
 .../wp_acsl/oracle/assigns_range.res.oracle   |  24 +--
 .../wp_acsl/oracle/chunk_typing.res.oracle    | 192 +-----------------
 .../wp_acsl/oracle/looplabels.res.oracle      |  25 +--
 .../wp_acsl/oracle/postassigns.res.oracle     |  11 +-
 .../wp_acsl/oracle/simpl_is_type.res.oracle   |  43 +---
 .../terminates_variant_option.1.res.oracle    |  13 +-
 .../wp/tests/wp_bts/oracle/bts779.res.oracle  |   4 +-
 .../tests/wp_bts/oracle/issue_751.res.oracle  |  13 +-
 .../wp_plugin/oracle/combined.res.oracle      |  19 +-
 .../wp/tests/wp_plugin/oracle/copy.res.oracle |  27 +--
 .../tests/wp_plugin/oracle/prenex.res.oracle  |  58 +-----
 .../tests/wp_plugin/oracle/repeat.res.oracle  |  46 +----
 .../wp_plugin/oracle/sequence.res.oracle      |  48 +----
 .../wp_plugin/oracle/string_c.res.oracle      |  80 +-------
 .../tests/wp_tip/oracle/modmask.0.res.oracle  |  22 +-
 .../script/check_lemma_and_modulo_u.json      |   4 +-
 .../script/check_lemma_and_modulo_us_255.json |   3 +-
 .../tests/wp_tip/oracle/modmask.1.res.oracle  |  22 +-
 .../script/check_lemma_and_modulo_u.json      |   4 +-
 .../script/check_lemma_and_modulo_us_255.json |   3 +-
 .../wp_typed/oracle/unit_call.0.res.oracle    |   9 +-
 .../wp_typed/oracle/unit_call.1.res.oracle    |   9 +-
 .../wp_typed/oracle/unit_cast.0.res.oracle    |   4 +-
 .../wp_typed/oracle/unit_cast.1.res.oracle    |   4 +-
 .../wp_typed/oracle/user_collect.0.res.oracle |  45 +---
 .../wp_typed/oracle/user_collect.1.res.oracle |  45 +---
 .../wp_typed/oracle/user_init.0.res.oracle    |  19 +-
 .../wp_typed/oracle/user_init.1.res.oracle    |  19 +-
 .../wp_typed/oracle/user_rec.0.res.oracle     |  25 +--
 .../wp_typed/oracle/user_rec.1.res.oracle     |  25 +--
 .../tests/wp_usage/oracle/caveat2.res.oracle  |  19 +-
 .../wp_usage/oracle/caveat_range.res.oracle   |  17 +-
 36 files changed, 71 insertions(+), 872 deletions(-)

diff --git a/src/plugins/wp/tests/wp/oracle/wp_call_pre.2.res.oracle b/src/plugins/wp/tests/wp/oracle/wp_call_pre.2.res.oracle
index 4f4bf9be94a..8ee9e5fdf9b 100644
--- a/src/plugins/wp/tests/wp/oracle/wp_call_pre.2.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle/wp_call_pre.2.res.oracle
@@ -18,14 +18,7 @@ Prove: true.
 
 Goal Instance of 'Pre-condition 'qed_ok,Rf' in 'f'' in 'double_call' at initialization of 'x2' (file wp_call_pre.c, line 26)
 :
-Assume {
-  Type: is_sint32(f) /\ is_sint32(x).
-  (* Pre-condition 'Rd' *)
-  Have: 0 <= x.
-  (* Call 'f' *)
-  Have: 0 < f.
-}
-Prove: (-1) <= x.
+Prove: true.
 
 ------------------------------------------------------------
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp/oracle/wp_call_pre.3.res.oracle b/src/plugins/wp/tests/wp/oracle/wp_call_pre.3.res.oracle
index 15d814ca6a8..63c5f1576f9 100644
--- a/src/plugins/wp/tests/wp/oracle/wp_call_pre.3.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle/wp_call_pre.3.res.oracle
@@ -13,13 +13,6 @@ Prove: true.
 
 Goal Instance of 'Pre-condition 'qed_ok,Rf' in 'f'' in 'double_call' at initialization of 'x2' (file wp_call_pre.c, line 26)
 :
-Assume {
-  Type: is_sint32(f) /\ is_sint32(x).
-  (* Pre-condition 'Rd' *)
-  Have: 0 <= x.
-  (* Call 'f' *)
-  Have: 0 < f.
-}
-Prove: (-1) <= x.
+Prove: true.
 
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/arith.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/arith.res.oracle
index 9e0b53a7ea0..745239a656b 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/arith.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/arith.res.oracle
@@ -158,13 +158,11 @@ Prove: true.
 ------------------------------------------------------------
 
 Goal Assertion 'qed_ok,A1' (file arith.i, line 16):
-Assume { Type: is_uint8(i). }
-Prove: 0 <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
 Goal Assertion 'qed_ok,A2' (file arith.i, line 17):
-Assume { Type: is_uint8(i). (* Assertion 'qed_ok,A1' *) Have: 0 <= i. }
-Prove: i <= 255.
+Prove: true.
 
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/assigns_path.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/assigns_path.res.oracle
index b8e9db163f8..aaf2d71df37 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/assigns_path.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/assigns_path.res.oracle
@@ -35,23 +35,7 @@ Prove: Mint_0[shift_sint32(b, i)] = v[i].
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file assigns_path.i, line 16):
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i).
-  (* Heap *)
-  Type: region(b.base) <= 0.
-  (* Pre-condition *)
-  Have: n <= 3.
-  (* Invariant *)
-  Have: 0 <= n.
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (Mint_0[shift_sint32(b, i_1)] = v[i_1]))).
-  (* Then *)
-  Have: i < n.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
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 f06695c9f12..cb23d6906cf 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
@@ -89,22 +89,7 @@ Prove: true.
 
 Goal Instance of 'Pre-condition (file assigns_range.i, line 23) in 'assigns_t4_sup_bound'' in 'call_assigns_all' at call 'assigns_t4_sup_bound' (file assigns_range.i, line 40)
 :
-Assume {
-  Type: is_sint32(i) /\ is_sint32(j).
-  (* Heap *)
-  Type: IsArray_sint32(t2_0) /\ IsArray_sint32(t3_0).
-  (* Pre-condition *)
-  Have: (0 <= i) /\ (i <= j) /\ (j <= 19).
-  (* Call 'assigns_t1_an_element' *)
-  Have: i <= 19.
-  (* Call Effects *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 <= 19) ->
-      (((i_1 < i) \/ (j < i_1)) -> (t2_1[i_1] = t2_0[i_1])))).
-  (* Call Effects *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 <= 19) ->
-      (((i_1 < i) \/ (20 <= i_1)) -> (t3_1[i_1] = t3_0[i_1])))).
-}
-Prove: 0 <= j.
+Prove: true.
 
 ------------------------------------------------------------
 ------------------------------------------------------------
@@ -237,11 +222,6 @@ Prove: i <= 0.
 
 Goal Instance of 'Pre-condition (file assigns_range.i, line 23) in 'assigns_t4_sup_bound'' in 'call_assigns_t4' at call 'assigns_t4_sup_bound' (file assigns_range.i, line 65)
 :
-Assume {
-  Type: is_sint32(i) /\ is_sint32(j).
-  (* Pre-condition *)
-  Have: (0 <= i) /\ (i <= j) /\ (j <= 19).
-}
-Prove: 0 <= j.
+Prove: true.
 
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/chunk_typing.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/chunk_typing.res.oracle
index 4c3b2575f9e..18d052e09ff 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/chunk_typing.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/chunk_typing.res.oracle
@@ -90,102 +90,7 @@ Prove: (a_16 = (1 + x[i])) /\ (a_17 = (1 + a_16)) /\ (a_18 = (1 + a_17)) /\
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file chunk_typing.i, line 31):
-Let a = shift_uint64(u64_0, i).
-Let a_1 = shift_sint64(i64_0, i).
-Let a_2 = shift_uint32(u32_0, i).
-Let a_3 = shift_sint32(i32_0, i).
-Let a_4 = shift_uint16(u16_0, i).
-Let a_5 = shift_sint16(i16_0, i).
-Let a_6 = shift_uint8(u8_0, i).
-Let a_7 = shift_sint8(i8_0, i).
-Let a_8 = shift_uint64(u64_0, 0).
-Let a_9 = havoc(Mint_undef_5, Mint_5, a_8, 10).
-Let a_10 = shift_sint64(i64_0, 0).
-Let a_11 = havoc(Mint_undef_2, Mint_2, a_10, 10).
-Let a_12 = shift_uint32(u32_0, 0).
-Let a_13 = havoc(Mint_undef_4, Mint_4, a_12, 10).
-Let a_14 = shift_sint32(i32_0, 0).
-Let a_15 = havoc(Mint_undef_1, Mint_1, a_14, 10).
-Let a_16 = shift_uint16(u16_0, 0).
-Let a_17 = havoc(Mint_undef_3, Mint_3, a_16, 10).
-Let a_18 = shift_sint16(i16_0, 0).
-Let a_19 = havoc(Mint_undef_0, Mint_0, a_18, 10).
-Let a_20 = shift_uint8(u8_0, 0).
-Let a_21 = havoc(Mint_undef_6, Mint_6, a_20, 10).
-Let a_22 = shift_sint8(i8_0, 0).
-Let a_23 = havoc(Mchar_undef_0, Mchar_0, a_22, 10).
-Assume {
-  Type: is_sint16_chunk(Mint_0) /\ is_sint32_chunk(Mint_1) /\
-      is_sint64_chunk(Mint_2) /\ is_sint8_chunk(Mchar_0) /\
-      is_uint16_chunk(Mint_3) /\ is_uint32_chunk(Mint_4) /\
-      is_uint64_chunk(Mint_5) /\ is_uint8_chunk(Mint_6) /\ is_sint32(i) /\
-      is_sint32(1 + i) /\ is_sint16_chunk(a_19) /\ is_sint32_chunk(a_15) /\
-      is_sint64_chunk(a_11) /\ is_sint8_chunk(a_23) /\
-      is_uint16_chunk(a_17) /\ is_uint32_chunk(a_13) /\
-      is_uint64_chunk(a_9) /\ is_uint8_chunk(a_21) /\
-      is_sint16_chunk(a_19[a_5 <- 3]) /\ is_sint32_chunk(a_15[a_3 <- 5]) /\
-      is_sint64_chunk(a_11[a_1 <- 7]) /\ is_sint8_chunk(a_23[a_7 <- 1]) /\
-      is_uint16_chunk(a_17[a_4 <- 4]) /\ is_uint32_chunk(a_13[a_2 <- 6]) /\
-      is_uint64_chunk(a_9[a <- 8]) /\ is_uint8_chunk(a_21[a_6 <- 2]).
-  (* Heap *)
-  Type: (region(i16_0.base) <= 0) /\ (region(i32_0.base) <= 0) /\
-      (region(i64_0.base) <= 0) /\ (region(i8_0.base) <= 0) /\
-      (region(u16_0.base) <= 0) /\ (region(u32_0.base) <= 0) /\
-      (region(u64_0.base) <= 0) /\ (region(u8_0.base) <= 0) /\
-      linked(Malloc_0) /\ sconst(Mchar_0).
-  (* Pre-condition *)
-  Have: valid_rw(Malloc_0, a_18, 10) /\ valid_rw(Malloc_0, a_14, 10) /\
-      valid_rw(Malloc_0, a_10, 10) /\ valid_rw(Malloc_0, a_22, 10) /\
-      valid_rw(Malloc_0, a_16, 10) /\ valid_rw(Malloc_0, a_12, 10) /\
-      valid_rw(Malloc_0, a_8, 10) /\ valid_rw(Malloc_0, a_20, 10).
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= 10).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_23[shift_sint8(i8_0, i_1)] = 1))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_21[shift_uint8(u8_0, i_1)] = 2))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_19[shift_sint16(i16_0, i_1)] = 3))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_17[shift_uint16(u16_0, i_1)] = 4))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_15[shift_sint32(i32_0, i_1)] = 5))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_13[shift_uint32(u32_0, i_1)] = 6))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_11[shift_sint64(i64_0, i_1)] = 7))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_9[shift_uint64(u64_0, i_1)] = 8))).
-  (* Then *)
-  Have: i <= 9.
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_7, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_6, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_5, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_4, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_3, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_2, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_1, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a, 1).
-  (* Assertion 'rte,signed_overflow' *)
-  Have: i <= 2147483646.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -1846,100 +1751,7 @@ Prove: valid_rw(Malloc_0, shift_uint64(u64_0, i), 1).
 ------------------------------------------------------------
 
 Goal Assertion 'rte,signed_overflow' (file chunk_typing.i, line 44):
-Let a = shift_uint64(u64_0, i).
-Let a_1 = shift_sint64(i64_0, i).
-Let a_2 = shift_uint32(u32_0, i).
-Let a_3 = shift_sint32(i32_0, i).
-Let a_4 = shift_uint16(u16_0, i).
-Let a_5 = shift_sint16(i16_0, i).
-Let a_6 = shift_uint8(u8_0, i).
-Let a_7 = shift_sint8(i8_0, i).
-Let a_8 = shift_uint64(u64_0, 0).
-Let a_9 = havoc(Mint_undef_5, Mint_5, a_8, 10).
-Let a_10 = shift_sint64(i64_0, 0).
-Let a_11 = havoc(Mint_undef_2, Mint_2, a_10, 10).
-Let a_12 = shift_uint32(u32_0, 0).
-Let a_13 = havoc(Mint_undef_4, Mint_4, a_12, 10).
-Let a_14 = shift_sint32(i32_0, 0).
-Let a_15 = havoc(Mint_undef_1, Mint_1, a_14, 10).
-Let a_16 = shift_uint16(u16_0, 0).
-Let a_17 = havoc(Mint_undef_3, Mint_3, a_16, 10).
-Let a_18 = shift_sint16(i16_0, 0).
-Let a_19 = havoc(Mint_undef_0, Mint_0, a_18, 10).
-Let a_20 = shift_uint8(u8_0, 0).
-Let a_21 = havoc(Mint_undef_6, Mint_6, a_20, 10).
-Let a_22 = shift_sint8(i8_0, 0).
-Let a_23 = havoc(Mchar_undef_0, Mchar_0, a_22, 10).
-Assume {
-  Type: is_sint16_chunk(Mint_0) /\ is_sint32_chunk(Mint_1) /\
-      is_sint64_chunk(Mint_2) /\ is_sint8_chunk(Mchar_0) /\
-      is_uint16_chunk(Mint_3) /\ is_uint32_chunk(Mint_4) /\
-      is_uint64_chunk(Mint_5) /\ is_uint8_chunk(Mint_6) /\ is_sint32(i) /\
-      is_sint16_chunk(a_19) /\ is_sint32_chunk(a_15) /\
-      is_sint64_chunk(a_11) /\ is_sint8_chunk(a_23) /\
-      is_uint16_chunk(a_17) /\ is_uint32_chunk(a_13) /\
-      is_uint64_chunk(a_9) /\ is_uint8_chunk(a_21) /\
-      is_sint16_chunk(a_19[a_5 <- 3]) /\ is_sint32_chunk(a_15[a_3 <- 5]) /\
-      is_sint64_chunk(a_11[a_1 <- 7]) /\ is_sint8_chunk(a_23[a_7 <- 1]) /\
-      is_uint16_chunk(a_17[a_4 <- 4]) /\ is_uint32_chunk(a_13[a_2 <- 6]) /\
-      is_uint64_chunk(a_9[a <- 8]) /\ is_uint8_chunk(a_21[a_6 <- 2]).
-  (* Heap *)
-  Type: (region(i16_0.base) <= 0) /\ (region(i32_0.base) <= 0) /\
-      (region(i64_0.base) <= 0) /\ (region(i8_0.base) <= 0) /\
-      (region(u16_0.base) <= 0) /\ (region(u32_0.base) <= 0) /\
-      (region(u64_0.base) <= 0) /\ (region(u8_0.base) <= 0) /\
-      linked(Malloc_0) /\ sconst(Mchar_0).
-  (* Pre-condition *)
-  Have: valid_rw(Malloc_0, a_18, 10) /\ valid_rw(Malloc_0, a_14, 10) /\
-      valid_rw(Malloc_0, a_10, 10) /\ valid_rw(Malloc_0, a_22, 10) /\
-      valid_rw(Malloc_0, a_16, 10) /\ valid_rw(Malloc_0, a_12, 10) /\
-      valid_rw(Malloc_0, a_8, 10) /\ valid_rw(Malloc_0, a_20, 10).
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= 10).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_23[shift_sint8(i8_0, i_1)] = 1))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_21[shift_uint8(u8_0, i_1)] = 2))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_19[shift_sint16(i16_0, i_1)] = 3))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_17[shift_uint16(u16_0, i_1)] = 4))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_15[shift_sint32(i32_0, i_1)] = 5))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_13[shift_uint32(u32_0, i_1)] = 6))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_11[shift_sint64(i64_0, i_1)] = 7))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_9[shift_uint64(u64_0, i_1)] = 8))).
-  (* Then *)
-  Have: i <= 9.
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_7, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_6, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_5, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_4, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_3, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_2, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a_1, 1).
-  (* Assertion 'rte,mem_access' *)
-  Have: valid_rw(Malloc_0, a, 1).
-}
-Prove: i <= 2147483646.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/looplabels.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/looplabels.res.oracle
index b97ad879047..bb59f39de14 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/looplabels.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/looplabels.res.oracle
@@ -35,30 +35,7 @@ Prove: P_IsEqual(havoc(Mint_undef_0, Mint_0, a_1, i), a, b, i).
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file looplabels.i, line 18):
-Let a_1 = shift_sint32(b, 0).
-Let a_2 = shift_sint32(a, 0).
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i).
-  (* Heap *)
-  Type: (region(a.base) <= 0) /\ (region(b.base) <= 0) /\ linked(Malloc_0).
-  (* Pre-condition *)
-  Have: 0 < n.
-  (* Pre-condition *)
-  Have: valid_rw(Malloc_0, a_2, n).
-  (* Pre-condition *)
-  Have: valid_rw(Malloc_0, a_1, n).
-  (* Pre-condition *)
-  Have: separated(a_2, n, a_1, n).
-  (* Invariant *)
-  Have: P_IsEqual(Mint_0, a, b, 0).
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant *)
-  Have: P_IsEqual(havoc(Mint_undef_0, Mint_0, a_1, n), a, b, i).
-  (* Then *)
-  Have: i < n.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/postassigns.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/postassigns.res.oracle
index 45bac9e9756..68a4d2e6a12 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/postassigns.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/postassigns.res.oracle
@@ -145,16 +145,7 @@ Prove: true.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file postassigns.c, line 38):
-Assume {
-  Type: is_sint32(N) /\ is_sint32(i) /\ is_sint32(1 + i).
-  (* Invariant *)
-  Have: 0 <= N.
-  (* Invariant *)
-  Have: (i <= N) /\ (0 <= i).
-  (* Then *)
-  Have: i < N.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/simpl_is_type.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/simpl_is_type.res.oracle
index e3393701a39..80262cbe5dc 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/simpl_is_type.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/simpl_is_type.res.oracle
@@ -229,28 +229,7 @@ Prove: 0 < havoc(Mint_undef_0, Mint_0, a, i)[shift_sint32(t, i_1)].
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file simpl_is_type.i, line 22):
-Let a = havoc(Mint_undef_0, Mint_0, shift_sint32(t, 0), size_0).
-Assume {
-  Type: is_sint32(i) /\ is_sint32(size_0) /\ is_sint32(1 + i).
-  (* Heap *)
-  Type: region(t.base) <= 0.
-  (* Pre-condition *)
-  Have: 0 < size_0.
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < size_0) ->
-      (Mint_0[shift_sint32(t, i_1)] < 0))).
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= size_0).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (0 < a[shift_sint32(t, i_1)]))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((i <= i_1) -> ((i_1 < size_0) ->
-      (a[shift_sint32(t, i_1)] < 0))).
-  (* Then *)
-  Have: i < size_0.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -422,25 +401,7 @@ Prove: exists i_1 : Z. (Mint_0[shift_sint32(t, i_1)] = x) /\ (0 <= i_1) /\
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file simpl_is_type.i, line 44):
-Let x_1 = Mint_0[shift_sint32(t, i)].
-Assume {
-  Type: is_sint32(i) /\ is_sint32(size_0) /\ is_sint32(x) /\
-      is_sint32(1 + i) /\ is_sint32(x_1).
-  (* Heap *)
-  Type: region(t.base) <= 0.
-  (* Pre-condition *)
-  Have: 0 < size_0.
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= size_0).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (Mint_0[shift_sint32(t, i_1)] != x))).
-  (* Then *)
-  Have: i < size_0.
-  (* Else *)
-  Have: x_1 != x.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.1.res.oracle
index 37df7d0a04a..dc049f029f8 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle/terminates_variant_option.1.res.oracle
@@ -46,18 +46,7 @@ Prove: true.
 ------------------------------------------------------------
 
 Goal Positivity of Loop variant at loop (file terminates_variant_option.i, line 41):
-Assume {
-  Type: is_sint32(c1_0) /\ is_sint32(cpt_0) /\ is_sint32(cpt_0 - 1).
-  (* Goal *)
-  When: c1_0 != 0.
-  (* Invariant *)
-  Have: ((0 <= c1_0) -> ((cpt_0 <= c1_0) /\ (0 <= cpt_0))).
-  (* Else *)
-  Have: 2 <= cpt_0.
-  (* Invariant *)
-  Have: ((0 <= c1_0) -> (cpt_0 <= (1 + c1_0))).
-}
-Prove: 0 <= cpt_0.
+Prove: true.
 
 ------------------------------------------------------------
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_bts/oracle/bts779.res.oracle b/src/plugins/wp/tests/wp_bts/oracle/bts779.res.oracle
index 5683dde8aeb..214d5ef2e3c 100644
--- a/src/plugins/wp/tests/wp_bts/oracle/bts779.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle/bts779.res.oracle
@@ -7,8 +7,6 @@
 ------------------------------------------------------------
 
 Goal Assertion (file bts779.i, line 6):
-Let x = Mint_0[shift_uint8(t, 0)].
-Assume { Type: is_uint8(x). (* Heap *) Type: region(t.base) <= 0. }
-Prove: x <= 255.
+Prove: true.
 
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_bts/oracle/issue_751.res.oracle b/src/plugins/wp/tests/wp_bts/oracle/issue_751.res.oracle
index 18231f2787c..2e738afb004 100644
--- a/src/plugins/wp/tests/wp_bts/oracle/issue_751.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle/issue_751.res.oracle
@@ -7,18 +7,7 @@
 ------------------------------------------------------------
 
 Goal Preservation of Invariant 'RANGE' (file issue_751.i, line 7):
-Let x = land(3840, R).
-Let x_1 = x / 256.
-Assume {
-  Type: is_sint32(R) /\ is_sint32(j) /\ is_sint32(1 + j).
-  (* Pre-condition *)
-  Have: (0 < x) /\ (x <= 2303).
-  (* Invariant 'RANGE' *)
-  Have: (0 <= j) /\ (j <= x_1).
-  (* Then *)
-  Have: j < x_1.
-}
-Prove: (-1) <= j.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/combined.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/combined.res.oracle
index 977dad88e4b..ff49553d883 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/combined.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/combined.res.oracle
@@ -13,24 +13,7 @@ Prove: (50 <= A) /\ (A <= 100).
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file combined.c, line 29):
-Assume {
-  Type: is_sint32(A) /\ is_sint32(i) /\ is_sint32(v) /\ is_sint32(1 + i).
-  (* Heap *)
-  Type: region(t.base) <= 0.
-  (* Assertion *)
-  Have: (50 <= A) /\ (A <= 100).
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= 50).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      P_P(havoc(Mint_undef_0, Mint_0, shift_sint32(t, 0), 50)
-            [shift_sint32(t, i_1)]))).
-  (* Then *)
-  Have: i <= 49.
-  (* Call 'f' *)
-  Have: P_P(v).
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/copy.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/copy.res.oracle
index 45e2914bd43..5e9cbd10437 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/copy.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/copy.res.oracle
@@ -72,32 +72,7 @@ Prove: true.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant 'Range' (file copy.i, line 10):
-Let a_1 = shift_sint32(a, 0).
-Let a_2 = havoc(Mint_undef_0, Mint_0, a_1, n).
-Let a_3 = a_2[shift_sint32(a, i) <- a_2[shift_sint32(b, i)]].
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i).
-  (* Heap *)
-  Type: (region(a.base) <= 0) /\ (region(b.base) <= 0).
-  (* Pre-condition *)
-  Have: separated(a_1, n, shift_sint32(b, 0), n).
-  (* Invariant 'Range' *)
-  Have: 0 <= n.
-  (* Invariant 'Range' *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant 'Copy' *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_2[shift_sint32(b, i_1)] = a_2[shift_sint32(a, i_1)]))).
-  (* Then *)
-  Have: i < n.
-  (* Assertion 'A' *)
-  Have: forall i_1 : Z. let a_4 = shift_sint32(a, i_1) in ((0 <= i_1) ->
-      ((i_1 < i) -> (a_3[a_4] = a_2[a_4]))).
-  (* Assertion 'B' *)
-  Have: forall i_1 : Z. let a_4 = shift_sint32(b, i_1) in ((0 <= i_1) ->
-      ((i_1 < i) -> (a_3[a_4] = a_2[a_4]))).
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/prenex.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/prenex.res.oracle
index 2721d73c750..ed64f075c63 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/prenex.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/prenex.res.oracle
@@ -48,32 +48,7 @@ Prove: (forall i_2 : Z. ((0 <= i_2) -> ((i_2 < n) ->
 ------------------------------------------------------------
 
 Goal Preservation of Invariant 'I' (file prenex.i, line 19):
-Assume {
-  Type: is_sint32(i) /\ is_sint32(j) /\ is_sint32(m) /\ is_sint32(n) /\
-      is_sint32(1 + i).
-  (* Heap *)
-  Type: (region(p.base) <= 0) /\ (region(q.base) <= 0).
-  (* Invariant 'I' *)
-  Have: 0 <= n.
-  (* Invariant 'I' *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant 'PI' *)
-  Have: forall i_2,i_1 : Z. ((0 <= i_2) -> ((i_2 < i) -> ((0 <= i_1) ->
-      ((i_1 < m) ->
-      (Mint_0[shift_sint32(p, i_2)] < Mint_0[shift_sint32(q, i_1)]))))).
-  (* Then *)
-  Have: i < n.
-  (* Invariant 'J' *)
-  Have: 0 <= m.
-  (* Invariant 'J' *)
-  Have: (0 <= j) /\ (j <= m).
-  (* Invariant 'PJ' *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < j) ->
-      (Mint_0[shift_sint32(p, i)] < Mint_0[shift_sint32(q, i_1)]))).
-  (* Else *)
-  Have: m <= j.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -122,36 +97,7 @@ Prove: true.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant 'J' (file prenex.i, line 28):
-Let x = Mint_0[shift_sint32(p, i)].
-Let x_1 = Mint_0[shift_sint32(q, j)].
-Assume {
-  Type: is_sint32(i) /\ is_sint32(j) /\ is_sint32(m) /\ is_sint32(n) /\
-      is_sint32(1 + j) /\ is_sint32(x) /\ is_sint32(x_1).
-  (* Heap *)
-  Type: (region(p.base) <= 0) /\ (region(q.base) <= 0).
-  (* Invariant 'I' *)
-  Have: 0 <= n.
-  (* Invariant 'I' *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant 'PI' *)
-  Have: forall i_2,i_1 : Z. ((0 <= i_2) -> ((i_2 < i) -> ((0 <= i_1) ->
-      ((i_1 < m) ->
-      (Mint_0[shift_sint32(p, i_2)] < Mint_0[shift_sint32(q, i_1)]))))).
-  (* Then *)
-  Have: i < n.
-  (* Invariant 'J' *)
-  Have: 0 <= m.
-  (* Invariant 'J' *)
-  Have: (0 <= j) /\ (j <= m).
-  (* Invariant 'PJ' *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < j) ->
-      (x < Mint_0[shift_sint32(q, i_1)]))).
-  (* Then *)
-  Have: j < m.
-  (* Else *)
-  Have: x < x_1.
-}
-Prove: (-1) <= j.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/repeat.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/repeat.res.oracle
index 99192ce42a7..72cc29ecc9f 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/repeat.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/repeat.res.oracle
@@ -13,27 +13,7 @@ Prove: true.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file repeat.c, line 61):
-Let a = L_sequence(calls_1).
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i).
-  (* Heap *)
-  Type: is_sint32(calls_0).
-  (* Pre-condition *)
-  Have: L_sequence(calls_0) = nil.
-  (* Invariant *)
-  Have: 0 <= n.
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant *)
-  Have: ([ 1, 2 ] *^ i) = a.
-  (* Then *)
-  Have: i < n.
-  (* Call 'f' *)
-  Have: L_sequence(calls_2) = a ^ [ 1 ].
-  (* Call 'g' *)
-  Have: L_sequence(calls_3) = a ^ [ 1, 2 ].
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -148,29 +128,7 @@ Prove: (a *^ 1 + i) = a_2.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file repeat.c, line 81):
-Let a = ([ 1, 2 ] *^ i).
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i).
-  (* Heap *)
-  Type: is_sint32(calls_0).
-  (* Pre-condition *)
-  Have: L_sequence(calls_0) = nil.
-  (* Call 'f' *)
-  Have: L_sequence(calls_1) = [ 1 ].
-  (* Invariant *)
-  Have: 0 <= n.
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant *)
-  Have: L_sequence(calls_2) = a ^ [ 1 ].
-  (* Then *)
-  Have: i < n.
-  (* Call 'g' *)
-  Have: L_sequence(calls_3) = a ^ [ 1, 2 ].
-  (* Call 'f' *)
-  Have: L_sequence(calls_4) = a ^ [ 1, 2, 1 ].
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/sequence.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/sequence.res.oracle
index fedcdb66fb6..156a43c16d4 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/sequence.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/sequence.res.oracle
@@ -39,30 +39,7 @@ Prove: nth(a_1, 1 + i) = z.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant 'ok,id_max' (file sequence.i, line 97):
-Let a = ([ y ] *^ i).
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(x) /\ is_sint32(y) /\
-      is_sint32(1 + i).
-  (* Heap *)
-  Type: is_sint32(call_seq_0).
-  (* Pre-condition *)
-  Have: L_call_obs(call_seq_0) = nil.
-  (* Call 'f' *)
-  Have: L_call_obs(call_seq_1) = [ x ].
-  (* Invariant 'ok,id_min' *)
-  Have: 0 <= i.
-  (* Invariant 'ok,id_max' *)
-  Have: if (0 <= n) then (i <= n) else (i <= 0).
-  (* Invariant 'ok,inv' *)
-  Have: L_call_obs(call_seq_2) = [ x ] ^ a.
-  (* Then *)
-  Have: i < n.
-  (* Call 'g' *)
-  Have: L_call_obs(call_seq_3) = [ x ] ^ a ^ [ y ].
-  (* Invariant 'ok,id_min' *)
-  Have: (-1) <= i.
-}
-Prove: 0 <= n.
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -72,28 +49,7 @@ Prove: true.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant 'ok,id_min' (file sequence.i, line 96):
-Let a = ([ y ] *^ i).
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(x) /\ is_sint32(y) /\
-      is_sint32(1 + i).
-  (* Heap *)
-  Type: is_sint32(call_seq_0).
-  (* Pre-condition *)
-  Have: L_call_obs(call_seq_0) = nil.
-  (* Call 'f' *)
-  Have: L_call_obs(call_seq_1) = [ x ].
-  (* Invariant 'ok,id_min' *)
-  Have: 0 <= i.
-  (* Invariant 'ok,id_max' *)
-  Have: if (0 <= n) then (i <= n) else (i <= 0).
-  (* Invariant 'ok,inv' *)
-  Have: L_call_obs(call_seq_2) = [ x ] ^ a.
-  (* Then *)
-  Have: i < n.
-  (* Call 'g' *)
-  Have: L_call_obs(call_seq_3) = [ x ] ^ a ^ [ y ].
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle
index c1383873535..faadd1df808 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/string_c.res.oracle
@@ -66,19 +66,7 @@ Prove: to_uint64(1 + i) <= n.
 ------------------------------------------------------------
 
 Goal Establishment of Invariant 'no_eva' (file FRAMAC_SHARE/libc/string.c, line 33):
-Assume {
-  Type: is_uint64(n).
-  (* Heap *)
-  Type: (region(dest_0.base) <= 0) /\ (region(src_0.base) <= 0) /\
-      linked(Malloc_0).
-  (* Pre-condition 'valid_dest' *)
-  Have: P_valid_or_empty(Malloc_0, dest_0, n).
-  (* Pre-condition 'valid_src' *)
-  Have: P_valid_read_or_empty(Malloc_0, src_0, n).
-  (* Pre-condition 'separation' *)
-  Have: separated(shift_sint8(dest_0, 0), n, shift_sint8(src_0, 0), n).
-}
-Prove: 0 <= n.
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -338,28 +326,7 @@ Prove: to_uint64(1 + i) <= n.
 ------------------------------------------------------------
 
 Goal Establishment of Invariant 'no_eva' (file FRAMAC_SHARE/libc/string.c, line 95):
-Let a = shift_sint8(d, 0).
-Let a_1 = shift_sint8(s, 0).
-Assume {
-  Type: is_sint32(memoverlap_0) /\ is_uint64(n).
-  (* Heap *)
-  Type: (region(d.base) <= 0) /\ (region(s.base) <= 0) /\ linked(Malloc_0).
-  (* Pre-condition 'valid_dest' *)
-  Have: P_valid_or_empty(Malloc_0, d, n).
-  (* Pre-condition 'valid_src' *)
-  Have: P_valid_read_or_empty(Malloc_0, s, n).
-  (* Else *)
-  Have: n != 0.
-  (* Call 'memoverlap' *)
-  Have: ((separated(a, n, a_1, n) -> (memoverlap_0 = 0))) /\
-      ((addr_le(d, s) -> (addr_lt(s, shift_sint8(d, n)) ->
-       ((!separated(a, n, a_1, n)) -> (memoverlap_0 = (-1)))))) /\
-      ((addr_lt(s, d) -> (addr_le(d, shift_sint8(s, n)) ->
-       ((!separated(a, n, a_1, n)) -> (memoverlap_0 = 1))))).
-  (* Then *)
-  Have: memoverlap_0 <= 0.
-}
-Prove: 0 <= n.
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -850,48 +817,7 @@ Prove: true.
 
 Goal Assigns (file FRAMAC_SHARE/libc/string.h, line 122) in 'memmove' (6/7):
 Effect at line 115
-Let a = shift_sint8(d, 0).
-Let a_1 = havoc(Mchar_undef_0, Mchar_0, a, n).
-Let x = to_uint64(n - 1).
-Let a_2 = shift_sint8(src_0, 0).
-Assume {
-  Type: is_sint32(memoverlap_0) /\ is_uint64(i) /\ is_uint64(n).
-  (* Heap *)
-  Type: (region(d.base) <= 0) /\ (region(src_0.base) <= 0) /\
-      linked(Malloc_0) /\ sconst(Mchar_0).
-  (* Goal *)
-  When: !invalid(Malloc_0, a, 1).
-  (* Pre-condition 'valid_dest' *)
-  Have: P_valid_or_empty(Malloc_0, d, n).
-  (* Pre-condition 'valid_src' *)
-  Have: P_valid_read_or_empty(Malloc_0, src_0, n).
-  (* Else *)
-  Have: n != 0.
-  (* Call 'memoverlap' *)
-  Have: ((separated(a, n, a_2, n) -> (memoverlap_0 = 0))) /\
-      ((addr_le(d, src_0) -> (addr_lt(src_0, shift_sint8(d, n)) ->
-       ((!separated(a, n, a_2, n)) -> (memoverlap_0 = (-1)))))) /\
-      ((addr_lt(src_0, d) -> (addr_le(d, shift_sint8(src_0, n)) ->
-       ((!separated(a, n, a_2, n)) -> (memoverlap_0 = 1))))).
-  (* Else *)
-  Have: 0 < memoverlap_0.
-  (* Invariant 'no_eva' *)
-  Have: x < n.
-  (* Invariant 'no_eva' *)
-  Have: forall i_1 : Z. ((i_1 < n) -> ((x < i_1) ->
-      (Mchar_0[shift_sint8(src_0, i_1)] = Mchar_0[shift_sint8(d, i_1)]))).
-  (* Invariant 'no_eva' *)
-  Have: (0 <= i) /\ (i < n).
-  (* Invariant 'no_eva' *)
-  Have: forall i_1 : Z. ((i < i_1) -> ((i_1 < n) ->
-      (a_1[shift_sint8(d, i_1)] = Mchar_0[shift_sint8(src_0, i_1)]))).
-  (* Invariant 'no_eva' *)
-  Have: forall i_1 : Z. let a_3 = shift_sint8(src_0, i_1) in ((i_1 <= i) ->
-      ((0 <= i_1) -> (a_1[a_3] = Mchar_0[a_3]))).
-  (* Else *)
-  Have: i <= 0.
-}
-Prove: 0 < n.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_tip/oracle/modmask.0.res.oracle b/src/plugins/wp/tests/wp_tip/oracle/modmask.0.res.oracle
index dd1cd3edf7d..b65abf98b7f 100644
--- a/src/plugins/wp/tests/wp_tip/oracle/modmask.0.res.oracle
+++ b/src/plugins/wp/tests/wp_tip/oracle/modmask.0.res.oracle
@@ -14,6 +14,7 @@
   Prove: (is_uint16 us_0) -> ((us_0 mod 256)=(land 255 us_0))
   
   ------------------------------------------------------------
+[wp] [Script] Goal typed_check_lemma_and_modulo_us_255 : Valid
 [wp:script:allgoals] 
   typed_check_lemma_and_modulo_u subgoal:
   
@@ -30,30 +31,13 @@
   Prove: true.
   Prover Qed returns Valid
   
-  ------------------------------------------------------------
-[wp:script:allgoals] 
-  typed_check_lemma_and_modulo_us_255 subgoal:
-  
-  Goal Wp.Tactical.typed_check_lemma_and_modulo_us_255-0 (generated):
-  Assume { Have: is_uint16(us_0). }
-  Prove: 0 <= us_0.
-  
-  ------------------------------------------------------------
-[wp] [Script] Goal typed_check_lemma_and_modulo_us_255 : Valid
-[wp:script:allgoals] 
-  typed_check_lemma_and_modulo_us_255 subgoal:
-  
-  Goal Wp.Tactical.typed_check_lemma_and_modulo_us_255-1 (generated):
-  Prove: true.
-  Prover Qed returns Valid
-  
   ------------------------------------------------------------
 [wp:script:allgoals] 
   typed_check_lemma_and_modulo_u subgoal:
   
   Goal Wp.Tactical.typed_check_lemma_and_modulo_u-2 (generated):
-  Assume { Have: 0 <= shift_0. Have: shift_0 <= 31. Have: is_uint32(us_0). }
-  Prove: 0 <= us_0.
+  Prove: true.
+  Prover Qed returns Valid
   
   ------------------------------------------------------------
 [wp:script:allgoals] 
diff --git a/src/plugins/wp/tests/wp_tip/oracle/modmask.0.session/script/check_lemma_and_modulo_u.json b/src/plugins/wp/tests/wp_tip/oracle/modmask.0.session/script/check_lemma_and_modulo_u.json
index e40e8863e3c..84b0af02539 100644
--- a/src/plugins/wp/tests/wp_tip/oracle/modmask.0.session/script/check_lemma_and_modulo_u.json
+++ b/src/plugins/wp/tests/wp_tip/oracle/modmask.0.session/script/check_lemma_and_modulo_u.json
@@ -8,7 +8,9 @@
                                     "select": { "select": "clause-goal",
                                                 "target": "let x_0 = (lsl 1 shift_0) in\n(0<=us_0) /\\ (0<x_0) /\\ (exists i_0:int.\n                         ((lsl 1 i_0)=x_0) /\\ (0<=i_0))",
                                                 "pattern": "&<=<\\E0$us0lsl1$shiftlsl011$shift" },
-                                    "children": { "Goal 1/3": [ { "header": "Definition",
+                                    "children": { "Goal 1/3": [ { "prover": "qed",
+                                                                  "verdict": "valid" },
+                                                                { "header": "Definition",
                                                                   "tactic": "Wp.unfold",
                                                                   "params": {},
                                                                   "select": 
diff --git a/src/plugins/wp/tests/wp_tip/oracle/modmask.0.session/script/check_lemma_and_modulo_us_255.json b/src/plugins/wp/tests/wp_tip/oracle/modmask.0.session/script/check_lemma_and_modulo_us_255.json
index 0232433c576..67fe782ea8a 100644
--- a/src/plugins/wp/tests/wp_tip/oracle/modmask.0.session/script/check_lemma_and_modulo_us_255.json
+++ b/src/plugins/wp/tests/wp_tip/oracle/modmask.0.session/script/check_lemma_and_modulo_us_255.json
@@ -2,7 +2,8 @@
     "params": { "Wp.modmask.revert": false },
     "select": { "select": "inside-goal", "occur": 0,
                 "target": "us_0 mod 256", "pattern": "%$us256" },
-    "children": { "Mask Guard": [ { "header": "Definition",
+    "children": { "Mask Guard": [ { "prover": "qed", "verdict": "valid" },
+                                  { "header": "Definition",
                                     "tactic": "Wp.unfold", "params": {},
                                     "select": { "select": "clause-step",
                                                 "at": 0, "kind": "have",
diff --git a/src/plugins/wp/tests/wp_tip/oracle/modmask.1.res.oracle b/src/plugins/wp/tests/wp_tip/oracle/modmask.1.res.oracle
index dd1cd3edf7d..b65abf98b7f 100644
--- a/src/plugins/wp/tests/wp_tip/oracle/modmask.1.res.oracle
+++ b/src/plugins/wp/tests/wp_tip/oracle/modmask.1.res.oracle
@@ -14,6 +14,7 @@
   Prove: (is_uint16 us_0) -> ((us_0 mod 256)=(land 255 us_0))
   
   ------------------------------------------------------------
+[wp] [Script] Goal typed_check_lemma_and_modulo_us_255 : Valid
 [wp:script:allgoals] 
   typed_check_lemma_and_modulo_u subgoal:
   
@@ -30,30 +31,13 @@
   Prove: true.
   Prover Qed returns Valid
   
-  ------------------------------------------------------------
-[wp:script:allgoals] 
-  typed_check_lemma_and_modulo_us_255 subgoal:
-  
-  Goal Wp.Tactical.typed_check_lemma_and_modulo_us_255-0 (generated):
-  Assume { Have: is_uint16(us_0). }
-  Prove: 0 <= us_0.
-  
-  ------------------------------------------------------------
-[wp] [Script] Goal typed_check_lemma_and_modulo_us_255 : Valid
-[wp:script:allgoals] 
-  typed_check_lemma_and_modulo_us_255 subgoal:
-  
-  Goal Wp.Tactical.typed_check_lemma_and_modulo_us_255-1 (generated):
-  Prove: true.
-  Prover Qed returns Valid
-  
   ------------------------------------------------------------
 [wp:script:allgoals] 
   typed_check_lemma_and_modulo_u subgoal:
   
   Goal Wp.Tactical.typed_check_lemma_and_modulo_u-2 (generated):
-  Assume { Have: 0 <= shift_0. Have: shift_0 <= 31. Have: is_uint32(us_0). }
-  Prove: 0 <= us_0.
+  Prove: true.
+  Prover Qed returns Valid
   
   ------------------------------------------------------------
 [wp:script:allgoals] 
diff --git a/src/plugins/wp/tests/wp_tip/oracle/modmask.1.session/script/check_lemma_and_modulo_u.json b/src/plugins/wp/tests/wp_tip/oracle/modmask.1.session/script/check_lemma_and_modulo_u.json
index 7d2e4b041e8..51fbe949924 100644
--- a/src/plugins/wp/tests/wp_tip/oracle/modmask.1.session/script/check_lemma_and_modulo_u.json
+++ b/src/plugins/wp/tests/wp_tip/oracle/modmask.1.session/script/check_lemma_and_modulo_u.json
@@ -8,7 +8,9 @@
                                    "select": { "select": "clause-goal",
                                                "target": "let x_0 = (lsl 1 shift_0) in\n(0<=us_0) /\\ (0<x_0) /\\ (exists i_0:int.\n                         ((lsl 1 i_0)=x_0) /\\ (0<=i_0))",
                                                "pattern": "&<=<\\E0$us0lsl1$shiftlsl011$shift" },
-                                   "children": { "Goal 1/3": [ { "header": "Definition",
+                                   "children": { "Goal 1/3": [ { "prover": "qed",
+                                                                 "verdict": "valid" },
+                                                               { "header": "Definition",
                                                                  "tactic": "Wp.unfold",
                                                                  "params": {},
                                                                  "select": 
diff --git a/src/plugins/wp/tests/wp_tip/oracle/modmask.1.session/script/check_lemma_and_modulo_us_255.json b/src/plugins/wp/tests/wp_tip/oracle/modmask.1.session/script/check_lemma_and_modulo_us_255.json
index a56490bac7a..c16388ade5d 100644
--- a/src/plugins/wp/tests/wp_tip/oracle/modmask.1.session/script/check_lemma_and_modulo_us_255.json
+++ b/src/plugins/wp/tests/wp_tip/oracle/modmask.1.session/script/check_lemma_and_modulo_us_255.json
@@ -2,7 +2,8 @@
     "params": { "Wp.modmask.revert": false },
     "select": { "select": "inside-goal", "occur": 0,
                 "target": "(land 255 us_0)", "pattern": "land255$us" },
-    "children": { "Mod Guard": [ { "header": "Definition",
+    "children": { "Mod Guard": [ { "prover": "qed", "verdict": "valid" },
+                                 { "header": "Definition",
                                    "tactic": "Wp.unfold", "params": {},
                                    "select": { "select": "clause-step",
                                                "at": 0, "kind": "have",
diff --git a/src/plugins/wp/tests/wp_typed/oracle/unit_call.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/unit_call.0.res.oracle
index 7088dae230b..81b6a3c63ea 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/unit_call.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/unit_call.0.res.oracle
@@ -9,13 +9,6 @@
 ------------------------------------------------------------
 
 Goal Assertion (file unit_call.i, line 14):
-Assume {
-  Type: is_sint32(r_1) /\ is_sint32(r).
-  (* Call 'f' *)
-  Have: r < 0.
-  (* Call 'f' *)
-  Have: 0 < r_1.
-}
-Prove: r != r_1.
+Prove: true.
 
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_typed/oracle/unit_call.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/unit_call.1.res.oracle
index 96fd464c7d6..70022706b9f 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/unit_call.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/unit_call.1.res.oracle
@@ -9,13 +9,6 @@
 ------------------------------------------------------------
 
 Goal Assertion (file unit_call.i, line 14):
-Assume {
-  Type: is_sint32(r_1) /\ is_sint32(r).
-  (* Call 'f' *)
-  Have: r < 0.
-  (* Call 'f' *)
-  Have: 0 < r_1.
-}
-Prove: r != r_1.
+Prove: true.
 
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_typed/oracle/unit_cast.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/unit_cast.0.res.oracle
index b8222c6a9e6..c334ef3718a 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/unit_cast.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/unit_cast.0.res.oracle
@@ -12,8 +12,6 @@ Goal Assertion 'OUT' (file unit_cast.i, line 5):
 unit_cast.i:4: warning from Typed Model:
  - Warning: Hide sub-term definition
    Reason: Cast with incompatible pointers types (source: sint32*) (target: sint8*)
-Let x = Mchar_0[w].
-Assume { Type: is_sint8(x). (* Heap *) Type: sconst(Mchar_0). }
-Prove: x <= 255.
+Prove: true.
 
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_typed/oracle/unit_cast.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/unit_cast.1.res.oracle
index 569fa012199..5d4f10b4737 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/unit_cast.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/unit_cast.1.res.oracle
@@ -12,8 +12,6 @@ Goal Assertion 'OUT' (file unit_cast.i, line 5):
 unit_cast.i:4: warning from Typed Model:
  - Warning: Hide sub-term definition
    Reason: Cast with incompatible pointers types (source: sint32*) (target: sint8*)
-Let x = Mchar_0[w].
-Assume { Type: is_sint8(x). (* Heap *) Type: sconst(Mchar_0). }
-Prove: x <= 255.
+Prove: true.
 
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_typed/oracle/user_collect.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/user_collect.0.res.oracle
index 4f262f16125..557801a5598 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/user_collect.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/user_collect.0.res.oracle
@@ -51,24 +51,13 @@ Prove: x2_0 = v.
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 15) in 'job'' in 'caller' at call 'job' (file user_collect.i, line 57)
 :
-Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8).
-}
-Prove: k <= 9.
+Prove: true.
 
 ------------------------------------------------------------
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 15) in 'job'' in 'caller' at call 'job' (file user_collect.i, line 58)
 :
-Let m = p[k <- v].
-Assume {
-  Type: IsArray_sint32(p) /\ is_sint32(k) /\ is_sint32(x1_0) /\
-      IsArray_sint32(m) /\ is_sint32(1 + k).
-  (* Pre-condition *)
-  Have: (0 <= k) /\ (k <= 8).
-  (* Call 'job' *)
-  Have: (k <= 9) /\ EqArray_int(10, m, p[k <- x1_0]).
-}
-Prove: (-1) <= k.
+Prove: true.
 
 ------------------------------------------------------------
 ------------------------------------------------------------
@@ -140,24 +129,13 @@ Prove: EqArray_S1_S(10, m_1, m_2[k <- s2_0]).
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 26) in 'job2'' in 'caller2' at call 'job2' (file user_collect.i, line 70)
 :
-Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8).
-}
-Prove: k <= 9.
+Prove: true.
 
 ------------------------------------------------------------
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 26) in 'job2'' in 'caller2' at call 'job2' (file user_collect.i, line 71)
 :
-Let m = q[k <- v].
-Assume {
-  Type: IsArray_S1_S(q) /\ IsS1_S(s1_0) /\ is_sint32(k) /\ IsArray_S1_S(m) /\
-      is_sint32(1 + k).
-  (* Pre-condition *)
-  Have: (0 <= k) /\ (k <= 8).
-  (* Call 'job2' *)
-  Have: (k <= 9) /\ EqArray_S1_S(10, m, q[k <- s1_0]).
-}
-Prove: (-1) <= k.
+Prove: true.
 
 ------------------------------------------------------------
 ------------------------------------------------------------
@@ -229,24 +207,13 @@ Prove: EqArray_S1_S(10, m_1, m_2[k <- s2_0]).
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 37) in 'job3'' in 'caller3' at call 'job3' (file user_collect.i, line 83)
 :
-Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8).
-}
-Prove: k <= 9.
+Prove: true.
 
 ------------------------------------------------------------
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 37) in 'job3'' in 'caller3' at call 'job3' (file user_collect.i, line 84)
 :
-Let m = q[k <- v].
-Assume {
-  Type: IsArray_S1_S(q) /\ IsS1_S(s1_0) /\ is_sint32(k) /\ IsArray_S1_S(m) /\
-      is_sint32(1 + k).
-  (* Pre-condition *)
-  Have: (0 <= k) /\ (k <= 8).
-  (* Call 'job3' *)
-  Have: (k <= 9) /\ EqArray_S1_S(10, m, q[k <- s1_0]).
-}
-Prove: (-1) <= k.
+Prove: true.
 
 ------------------------------------------------------------
 ------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_typed/oracle/user_collect.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/user_collect.1.res.oracle
index a96c98731e4..0cc485057a9 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/user_collect.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/user_collect.1.res.oracle
@@ -51,24 +51,13 @@ Prove: x2_0 = v.
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 15) in 'job'' in 'caller' at call 'job' (file user_collect.i, line 57)
 :
-Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8).
-}
-Prove: k <= 9.
+Prove: true.
 
 ------------------------------------------------------------
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 15) in 'job'' in 'caller' at call 'job' (file user_collect.i, line 58)
 :
-Let m = p[k <- v].
-Assume {
-  Type: IsArray_sint32(p) /\ is_sint32(k) /\ is_sint32(x1_0) /\
-      IsArray_sint32(m) /\ is_sint32(1 + k).
-  (* Pre-condition *)
-  Have: (0 <= k) /\ (k <= 8).
-  (* Call 'job' *)
-  Have: (k <= 9) /\ EqArray_int(10, m, p[k <- x1_0]).
-}
-Prove: (-1) <= k.
+Prove: true.
 
 ------------------------------------------------------------
 ------------------------------------------------------------
@@ -140,24 +129,13 @@ Prove: EqArray_S1_S(10, m_1, m_2[k <- s2_0]).
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 26) in 'job2'' in 'caller2' at call 'job2' (file user_collect.i, line 70)
 :
-Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8).
-}
-Prove: k <= 9.
+Prove: true.
 
 ------------------------------------------------------------
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 26) in 'job2'' in 'caller2' at call 'job2' (file user_collect.i, line 71)
 :
-Let m = q[k <- v].
-Assume {
-  Type: IsArray_S1_S(q) /\ IsS1_S(s1_0) /\ is_sint32(k) /\ IsArray_S1_S(m) /\
-      is_sint32(1 + k).
-  (* Pre-condition *)
-  Have: (0 <= k) /\ (k <= 8).
-  (* Call 'job2' *)
-  Have: (k <= 9) /\ EqArray_S1_S(10, m, q[k <- s1_0]).
-}
-Prove: (-1) <= k.
+Prove: true.
 
 ------------------------------------------------------------
 ------------------------------------------------------------
@@ -229,24 +207,13 @@ Prove: EqArray_S1_S(10, m_1, m_2[k <- s2_0]).
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 37) in 'job3'' in 'caller3' at call 'job3' (file user_collect.i, line 83)
 :
-Assume { Type: is_sint32(k). (* Pre-condition *) Have: (0 <= k) /\ (k <= 8).
-}
-Prove: k <= 9.
+Prove: true.
 
 ------------------------------------------------------------
 
 Goal Instance of 'Pre-condition (file user_collect.i, line 37) in 'job3'' in 'caller3' at call 'job3' (file user_collect.i, line 84)
 :
-Let m = q[k <- v].
-Assume {
-  Type: IsArray_S1_S(q) /\ IsS1_S(s1_0) /\ is_sint32(k) /\ IsArray_S1_S(m) /\
-      is_sint32(1 + k).
-  (* Pre-condition *)
-  Have: (0 <= k) /\ (k <= 8).
-  (* Call 'job3' *)
-  Have: (k <= 9) /\ EqArray_S1_S(10, m, q[k <- s1_0]).
-}
-Prove: (-1) <= k.
+Prove: true.
 
 ------------------------------------------------------------
 ------------------------------------------------------------
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 85d53722544..39e37a366cc 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
@@ -68,24 +68,7 @@ Prove: true.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant 'Range' (file user_init.i, line 16):
-Let a_1 = shift_sint32(a, 0).
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i).
-  (* Heap *)
-  Type: (region(a.base) <= 0) /\ linked(Malloc_0).
-  (* Pre-condition *)
-  Have: valid_rw(Malloc_0, a_1, n).
-  (* Invariant 'Range' *)
-  Have: 0 <= n.
-  (* Invariant 'Range' *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant 'Partial' *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (havoc(Mint_undef_0, Mint_0, a_1, n)[shift_sint32(a, i_1)] = v))).
-  (* Then *)
-  Have: i < n.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
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 2abe7e2f668..418fe8936dd 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
@@ -68,24 +68,7 @@ Prove: true.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant 'Range' (file user_init.i, line 16):
-Let a_1 = shift_sint32(a, 0).
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i).
-  (* Heap *)
-  Type: (region(a.base) <= 0) /\ linked(Malloc_0).
-  (* Pre-condition *)
-  Have: valid_rw(Malloc_0, a_1, n).
-  (* Invariant 'Range' *)
-  Have: 0 <= n.
-  (* Invariant 'Range' *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant 'Partial' *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (havoc(Mint_undef_0, Mint_0, a_1, n)[shift_sint32(a, i_1)] = v))).
-  (* Then *)
-  Have: i < n.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_typed/oracle/user_rec.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/user_rec.0.res.oracle
index 409348e3f43..a0ad9eb6560 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/user_rec.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/user_rec.0.res.oracle
@@ -45,27 +45,12 @@ Prove: L_fact(n) = F1_0.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file user_rec.i, line 15):
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i) /\
-      is_sint32(L_fact(i - 1)).
-  (* Else *)
-  Have: 2 <= n.
-  (* Invariant *)
-  Have: 0 < n.
-  (* Invariant *)
-  Have: L_fact(1) = 1.
-  (* Invariant *)
-  Have: (2 <= i) /\ (i <= (1 + n)).
-  (* Then *)
-  Have: i <= n.
-}
-Prove: 0 < i.
+Prove: true.
 
 ------------------------------------------------------------
 
 Goal Establishment of Invariant (file user_rec.i, line 15):
-Assume { Type: is_sint32(n). (* Else *) Have: 2 <= n. }
-Prove: 0 < n.
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -181,8 +166,7 @@ Prove: if (n <= 1) then (i = 1) else (0 < i).
 ------------------------------------------------------------
 
 Goal Establishment of Invariant 'RANGE' (file user_rec.i, line 28):
-Assume { Type: is_sint32(n). }
-Prove: (0 < n) \/ (n <= 1).
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -270,8 +254,7 @@ Prove: if (n <= 1) then (x_1 = n_1) else (n_1 <= x_1).
 ------------------------------------------------------------
 
 Goal Establishment of Invariant 'RANGE' (file user_rec.i, line 41):
-Assume { Type: is_sint32(n). }
-Prove: (0 < n) \/ (n <= 1).
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_typed/oracle/user_rec.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/user_rec.1.res.oracle
index 56da8ae6012..f5f40e3f116 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/user_rec.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/user_rec.1.res.oracle
@@ -45,27 +45,12 @@ Prove: L_fact(n) = F1_0.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file user_rec.i, line 15):
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i) /\
-      is_sint32(L_fact(i - 1)).
-  (* Else *)
-  Have: 2 <= n.
-  (* Invariant *)
-  Have: 0 < n.
-  (* Invariant *)
-  Have: L_fact(1) = 1.
-  (* Invariant *)
-  Have: (2 <= i) /\ (i <= (1 + n)).
-  (* Then *)
-  Have: i <= n.
-}
-Prove: 0 < i.
+Prove: true.
 
 ------------------------------------------------------------
 
 Goal Establishment of Invariant (file user_rec.i, line 15):
-Assume { Type: is_sint32(n). (* Else *) Have: 2 <= n. }
-Prove: 0 < n.
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -181,8 +166,7 @@ Prove: if (n <= 1) then (i = 1) else (0 < i).
 ------------------------------------------------------------
 
 Goal Establishment of Invariant 'RANGE' (file user_rec.i, line 28):
-Assume { Type: is_sint32(n). }
-Prove: (0 < n) \/ (n <= 1).
+Prove: true.
 
 ------------------------------------------------------------
 
@@ -270,8 +254,7 @@ Prove: if (n <= 1) then (x_1 = n_1) else (n_1 <= x_1).
 ------------------------------------------------------------
 
 Goal Establishment of Invariant 'RANGE' (file user_rec.i, line 41):
-Assume { Type: is_sint32(n). }
-Prove: (0 < n) \/ (n <= 1).
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_usage/oracle/caveat2.res.oracle b/src/plugins/wp/tests/wp_usage/oracle/caveat2.res.oracle
index 2389a4fcd58..fbc663bb95a 100644
--- a/src/plugins/wp/tests/wp_usage/oracle/caveat2.res.oracle
+++ b/src/plugins/wp/tests/wp_usage/oracle/caveat2.res.oracle
@@ -41,24 +41,7 @@ Prove: Mint_0[shift_sint32(a, i)] = v[i].
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file caveat2.i, line 21):
-Assume {
-  Type: is_sint32(i) /\ is_sint32(n) /\ is_sint32(1 + i).
-  (* Pre-condition *)
-  Have: n <= 3.
-  Have: ({ Init_p_0 with Init_F1_S_n = true }) = Init_p_0.
-  (* Invariant *)
-  Have: 0 <= n.
-  (* Loop assigns ... *)
-  Have: ({ Init_p_0 with Init_F1_S_a = v }) = Init_p_0.
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= n).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (Mint_0[shift_sint32(global(G_b_26), i_1)] = v_1[i_1]))).
-  (* Then *)
-  Have: i < n.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
diff --git a/src/plugins/wp/tests/wp_usage/oracle/caveat_range.res.oracle b/src/plugins/wp/tests/wp_usage/oracle/caveat_range.res.oracle
index 82c8bbe685e..8411b76b58d 100644
--- a/src/plugins/wp/tests/wp_usage/oracle/caveat_range.res.oracle
+++ b/src/plugins/wp/tests/wp_usage/oracle/caveat_range.res.oracle
@@ -51,22 +51,7 @@ Prove: a_1[shiftfield_F1_S_g(shift_S1_S(a, i))] = 2.
 ------------------------------------------------------------
 
 Goal Preservation of Invariant (file caveat_range.i, line 19):
-Let a = global(G_p_22).
-Let a_1 = havoc(Mint_undef_0, Mint_0, shift_S1_S(a, 0), 20).
-Assume {
-  Type: is_sint32(i) /\ is_sint32(1 + i).
-  (* Invariant *)
-  Have: (0 <= i) /\ (i <= 10).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_1[shiftfield_F1_S_f(shift_S1_S(a, i_1))] = 1))).
-  (* Invariant *)
-  Have: forall i_1 : Z. ((0 <= i_1) -> ((i_1 < i) ->
-      (a_1[shiftfield_F1_S_g(shift_S1_S(a, i_1))] = 2))).
-  (* Then *)
-  Have: i <= 9.
-}
-Prove: (-1) <= i.
+Prove: true.
 
 ------------------------------------------------------------
 
-- 
GitLab