diff --git a/Makefile b/Makefile
index 33a67f1597a66546ae488bd42802c6ff9c7ae115..62da0160b06b00127cd4a487da4e77d2e5a8486b 100644
--- a/Makefile
+++ b/Makefile
@@ -430,6 +430,7 @@ LIB_CMO =\
 	src/libraries/datatype/type \
 	src/libraries/datatype/descr \
 	src/libraries/utils/filepath \
+	src/libraries/utils/sanitizer \
 	src/libraries/utils/pretty_utils \
 	src/libraries/utils/hook \
 	src/libraries/utils/bag \
diff --git a/headers/header_spec.txt b/headers/header_spec.txt
index 0a279499223744d29686aa8da1ff084dab09e751..ee59f185d30614161842e5a0052beb7664a12517 100644
--- a/headers/header_spec.txt
+++ b/headers/header_spec.txt
@@ -673,6 +673,8 @@ src/libraries/utils/rgmap.ml: CEA_LGPL
 src/libraries/utils/rgmap.mli: CEA_LGPL
 src/libraries/utils/rich_text.ml: CEA_LGPL
 src/libraries/utils/rich_text.mli: CEA_LGPL
+src/libraries/utils/sanitizer.ml: CEA_LGPL
+src/libraries/utils/sanitizer.mli: CEA_LGPL
 src/libraries/utils/task.ml: CEA_LGPL
 src/libraries/utils/task.mli: CEA_LGPL
 src/libraries/utils/unicode.ml: CEA_LGPL
@@ -999,8 +1001,6 @@ src/plugins/report/csv.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/report/csv.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/report/dump.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/report/dump.mli: CEA_LGPL_OR_PROPRIETARY
-src/plugins/report/property_names.ml: CEA_LGPL_OR_PROPRIETARY
-src/plugins/report/property_names.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/report/register.ml: CEA_LGPL_OR_PROPRIETARY
 src/plugins/report/register.mli: CEA_LGPL_OR_PROPRIETARY
 src/plugins/report/report_parameters.ml: CEA_LGPL_OR_PROPRIETARY
diff --git a/src/kernel_services/ast_data/property.ml b/src/kernel_services/ast_data/property.ml
index 4b49226f70f318ca3b60565b60509917e2c86f86..5fb29bc6d374ff2cad37c8c69dad16c0aaa6b42f 100644
--- a/src/kernel_services/ast_data/property.ml
+++ b/src/kernel_services/ast_data/property.ml
@@ -764,7 +764,14 @@ let rec pretty_debug fmt = function
       Cil_types_debug.pp_string s
       pp_other_loc ol
 
-module Names = struct
+(* -------------------------------------------------------------------------- *)
+(* --- Legacy Property Names                                              --- *)
+(* -------------------------------------------------------------------------- *)
+
+(* Shall be deprecated *)
+module LegacyNames =
+struct
+
   module NamesTbl = 
     State_builder.Hashtbl(Datatype.String.Hashtbl)(Datatype.Int)
       (struct
@@ -949,19 +956,200 @@ module Names = struct
 	IndexTbl.add ip unique_name ;
 	unique_name
 
-(* 
-  (** force computation of the unique name identifying the property *)
-  let make_prop_name_id ip =
-    ignore (get_prop_name_id ip)
+end
       
-  let remove_prop_name_id ip =
+(* -------------------------------------------------------------------------- *)
+(* --- Property Names                                                     --- *)
+(* -------------------------------------------------------------------------- *)
+
+module Names =
+struct
+
+  open Cil_types
+
+  type part =
+    | B of behavior
+    | K of kernel_function
+    | A of string
+    | I of identified_predicate
+    | P of predicate
+    | T of term
+    | S of stmt
+
+  let add_part buffer = function
+    | B bhv ->
+      if not (Cil.is_default_behavior bhv)
+      then Sanitizer.add_string buffer bhv.b_name
+    | K kf -> Sanitizer.add_string buffer (Kernel_function.get_name kf)
+    | A msg -> Sanitizer.add_string buffer msg
+    | S stmt -> Sanitizer.add_string buffer (Printf.sprintf "s%d" stmt.sid)
+    | I { ip_content = { pred_name = a } }
+    | P { pred_name = a } | T { term_name = a } -> Sanitizer.add_list buffer a
+
+  let rec add_parts buffer = function
+    | [] -> ()
+    | p::ps ->
+      let open Sanitizer in
+      add_part buffer p ; add_sep buffer ; add_parts buffer ps
+
+  let rec parts_of_property ip : part list =
+    match ip with
+    | IPBehavior(kf,Kglobal,_,bhv) ->
+      [ K kf ; B bhv ]
+    | IPBehavior(kf,Kstmt s,_,bhv) ->
+      [ K kf ; B bhv ; S s ]
+
+    | IPPredicate (PKAssumes bhv,kf,_,ip) ->
+      [ K kf ; B bhv ; A "assumes" ; I ip ]
+    | IPPredicate (PKRequires bhv,kf,_,ip) ->
+      [ K kf ; B bhv ; A "requires" ; I ip ]
+    | IPPredicate (PKEnsures(bhv,Normal),kf,_,ip) ->
+      [ K kf ; B bhv ; A "ensures" ; I ip ]
+    | IPPredicate (PKEnsures(bhv,Exits),kf,_,ip) ->
+      [ K kf ; B bhv ; A "exits" ; I ip ]
+    | IPPredicate (PKEnsures(bhv,Breaks),kf,_,ip) ->
+      [ K kf ; B bhv ; A "breaks" ; I ip ]
+    | IPPredicate (PKEnsures(bhv,Continues),kf,_,ip) ->
+      [ K kf ; B bhv ; A "continues" ; I ip ]
+    | IPPredicate (PKEnsures(bhv,Returns),kf,_,ip) ->
+      [ K kf ; B bhv ; A "returns" ; I ip ]
+    | IPPredicate (PKTerminates,kf,_,ip) ->
+      [ K kf ; A "terminates" ; I ip ]
+
+    | IPAllocation(kf,_,Id_contract(_,bhv),_) ->
+      [ K kf ; B bhv ; A "allocates" ]
+    | IPAllocation(kf,_,Id_loop _,_) ->
+      [ K kf ; A "loop_allocates" ]
+
+    | IPAssigns(kf,_,Id_contract(_,bhv),_) ->
+      [ K kf ; B bhv ; A "assigns" ]
+
+    | IPAssigns(kf,_,Id_loop _,_) ->
+      [ K kf ; A "loop_assigns" ]
+
+    | IPFrom(kf,_,Id_contract(_,bhv),_) ->
+      [ K kf ; B bhv ; A "assigns_from" ]
+
+    | IPFrom(kf,_,Id_loop _,_) ->
+      [ K kf ; A "loop_assigns_from" ]
+
+    | IPDecrease (kf,_,None,_) ->
+      [ K kf ; A "variant" ]
+
+    | IPDecrease (kf,_,Some _,_) ->
+      [ K kf ; A "loop_variant" ]
+
+    | IPCodeAnnot (kf,stmt, { annot_content = AStmtSpec _ } ) ->
+      [ K kf ; A "contract" ; S stmt ]
+
+    | IPCodeAnnot (kf,stmt, { annot_content = APragma _ } ) ->
+      [ K kf ; A "pragma" ; S stmt ]
+
+    | IPCodeAnnot (kf,stmt, { annot_content = AExtended(_,_,(_,clause,_,_)) } )
+      -> [ K kf ; A clause ; S stmt ]
+
+    | IPCodeAnnot (kf,_, { annot_content = AAssert(_,p) } ) ->
+      [K kf ; A "assert" ; P p ]
+    | IPCodeAnnot (kf,_, { annot_content = AInvariant(_,true,p) } ) ->
+      [K kf ; A "loop_invariant" ; P p ]
+    | IPCodeAnnot (kf,_, { annot_content = AInvariant(_,false,p) } ) ->
+      [K kf ; A "invariant" ; P p ]
+    | IPCodeAnnot (kf,_, { annot_content = AVariant(e,_) } ) ->
+      [K kf ; A "loop_variant" ; T e ]
+    | IPCodeAnnot (kf,_, { annot_content = AAssigns _ } ) ->
+      [K kf ; A "loop_assigns" ]
+    | IPCodeAnnot (kf,_, { annot_content = AAllocation _ } ) ->
+      [K kf ; A "loop_allocates" ]
+
+    | IPComplete (kf,_,_,cs) ->
+      (K kf :: A "complete" :: List.map (fun a -> A a) cs)
+    | IPDisjoint(kf,_,_,cs) ->
+      (K kf :: A "disjoint" :: List.map (fun a -> A a) cs)
+
+    | IPReachable (None, _, _) -> []
+    | IPReachable (Some kf,Kglobal,Before) ->
+      [ K kf ; A "reachable" ]
+    | IPReachable (Some kf,Kglobal,After) ->
+      [ K kf ; A "reachable_post" ]
+    | IPReachable (Some kf,Kstmt s,Before) ->
+      [ K kf ; A "reachable" ; S s ]
+    | IPReachable (Some kf,Kstmt s,After) ->
+      [ K kf ; A "reachable_after" ; S s ]
+
+    | IPAxiomatic _
+    | IPAxiom _ -> []
+    | IPLemma(name,_,_,p,_) ->
+      [ A "lemma" ; A name ; P p ]
+
+    | IPTypeInvariant(name,_,_,_)
+    | IPGlobalInvariant(name,_,_) ->
+      [ A "invariant" ; A name ]
+
+    | IPOther(name,OLGlob _) -> [ A name ]
+    | IPOther(name,OLContract kf) -> [ K kf ; A name ]
+    | IPOther(name,OLStmt(kf,s)) -> [ K kf ; A name ; S s ]
+
+    | IPExtended(ELGlob,(_,name,_,_)) -> [ A name ]
+    | IPExtended(ELContract(kf),(_,name,_,_)) -> [ K kf ; A name ]
+    | IPExtended(ELStmt(kf,s),(_,name,_,_)) -> [ K kf ; A name ; S s ]
+
+    | IPPropertyInstance (_, _, _, ip) -> parts_of_property ip
+
+  let get_prop_basename ?truncate ip =
+    let buffer =
+      match truncate with
+      | None -> Sanitizer.create ~truncate:false 20
+      | Some n -> Sanitizer.create ~truncate:true n
+    in
+    add_parts buffer (parts_of_property ip) ;
+    Sanitizer.contents buffer
+
+  (* Numerotation of properties with same basename *)
+  module NamesTbl =
+    State_builder.Hashtbl(Datatype.String.Hashtbl)(Datatype.Int)
+      (struct
+	let name = "Property.Names.NamesTbl"
+        let dependencies = [ ]
+        let size = 97
+      end)
+
+  (* Computed name of properties *)
+  module IndexTbl = (* indexed by Property *)
+    State_builder.Hashtbl(Hashtbl)(Datatype.String)
+      (struct
+	let name = "Property.Names.IndexTbl"
+	let dependencies = [ Ast.self; NamesTbl.self; Globals.Functions.self ]
+	let size = 97
+      end)
+
+  let self = IndexTbl.self
+
+  let compute_name_id basename =
     try 
-      ignore (IndexTbl.find ip);
-      IndexTbl.remove ip
-  with Not_found -> ()
-*)
+      let speed_up_start = NamesTbl.find basename in
+      (* this basename is already reserved *)
+      let n,unique_name = Extlib.make_unique_name NamesTbl.mem ~sep:"_" ~start:speed_up_start basename
+      in NamesTbl.replace basename (succ n) ; (* to speed up Extlib.make_unique_name for next time *)
+      unique_name
+    with Not_found -> (* first time that basename is reserved *)
+      NamesTbl.add basename 2 ;
+      basename
+
+  let get_prop_name_id ip =
+    try IndexTbl.find ip
+    with Not_found -> (* first time we are asking for a name for that [ip] *)
+      let basename = get_prop_basename ip in
+      let unique_name = compute_name_id basename in
+      IndexTbl.add ip unique_name ;
+      unique_name
+
 end
 
+(* -------------------------------------------------------------------------- *)
+(* --- Smart Constructors                                                 --- *)
+(* -------------------------------------------------------------------------- *)
+
+
 let ip_other s le = IPOther(s,le)
 
 let ip_reachable_stmt kf ki = IPReachable(Some kf, Kstmt ki, Before)
diff --git a/src/kernel_services/ast_data/property.mli b/src/kernel_services/ast_data/property.mli
index 7b5100d1ae11ab05d021dc551b057805e680febe..3c2a7e5c8be14bf4630da7ec7b91cbb93145eca0 100644
--- a/src/kernel_services/ast_data/property.mli
+++ b/src/kernel_services/ast_data/property.mli
@@ -461,23 +461,32 @@ val source: identified_property -> Filepath.position option
 (** {2 names} *)
 (**************************************************************************)
 
+
+(** @since Frama-C+dev deprecated old naming scheeme, 
+    to be removed in future versions. *)
+module LegacyNames :
+sig
+  val self: State.t
+  val get_prop_basename: identified_property -> string
+  val get_prop_name_id: identified_property -> string
+end
+
 (** @since Oxygen-20120901 *)
-module Names: sig
+module Names :
+sig
 
   val self: State.t
 
   val get_prop_name_id: identified_property -> string
     (** returns a unique name identifying the property.
-	This name is built from the basename of the property. *)
-    
-  val get_prop_basename: identified_property -> string
-    (** returns the basename of the property. *)
+      This name is built from the basename of the property. 
+      @modify Frama-C+dev new naming scheme, Cf. LegacyNames
+  *)
     
-  val reserve_name_id: string -> string
-(** returns the name that should be returned by the function
-    [get_prop_name_id] if the given property has [name] as basename. That name
-    is reserved so that [get_prop_name_id prop] can never return an identical
-    name. *)
+  val get_prop_basename: ?truncate:int -> identified_property -> string
+  (** returns the basename of the property. 
+      @modify Frama-C+dev additional truncation parameter
+  *)
 
 end
 
diff --git a/src/libraries/utils/sanitizer.ml b/src/libraries/utils/sanitizer.ml
new file mode 100644
index 0000000000000000000000000000000000000000..cb0d0148b09c826865e3e4859bda5360660d2c9b
--- /dev/null
+++ b/src/libraries/utils/sanitizer.ml
@@ -0,0 +1,99 @@
+(**************************************************************************)
+(*                                                                        *)
+(*  This file is part of Frama-C.                                         *)
+(*                                                                        *)
+(*  Copyright (C) 2007-2019                                               *)
+(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
+(*         alternatives)                                                  *)
+(*                                                                        *)
+(*  you can redistribute it and/or modify it under the terms of the GNU   *)
+(*  Lesser General Public License as published by the Free Software       *)
+(*  Foundation, version 2.1.                                              *)
+(*                                                                        *)
+(*  It is distributed in the hope that it will be useful,                 *)
+(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
+(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
+(*  GNU Lesser General Public License for more details.                   *)
+(*                                                                        *)
+(*  See the GNU Lesser General Public License version 2.1                 *)
+(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* -------------------------------------------------------------------------- *)
+(* --- Sanitizer                                                          --- *)
+(* -------------------------------------------------------------------------- *)
+
+(*
+   Keeps only alphanumerical characters,
+   remove consecutive, trailing and leading `_`
+*)
+
+type state = START | SEP | CHAR | TRUNCATE
+
+type buffer = {
+  content : Buffer.t ;
+  truncate : int ;
+  mutable lastsep : int ;
+  mutable state : state ;
+}
+
+let create ?(truncate=false) n = {
+  content = Buffer.create n ;
+  truncate = if truncate then n else max_int ;
+  lastsep = 0 ;
+  state = START ;
+}
+
+let clear buffer =
+  begin
+    Buffer.clear buffer.content ;
+    buffer.state <- START ;
+    buffer.lastsep <- 0 ;
+  end
+
+let add_sep buffer =
+  if buffer.state = CHAR then
+    let offset = Buffer.length buffer.content in
+    if offset < buffer.truncate then
+      begin
+        buffer.state <- SEP ;
+        buffer.lastsep <- offset ;
+      end
+    else
+      begin
+        buffer.state <- TRUNCATE ;
+        (* TODO [OCaml 4.05] Buffer.truncate buffer.content buffer.lastsep ; *)
+      end
+
+let add_char buffer = function
+  | ('a'..'z' | 'A'..'Z' | '0'..'9') as c ->
+    begin
+      match buffer.state with
+      | START ->
+        Buffer.add_char buffer.content c ;
+        buffer.state <- CHAR
+      | SEP ->
+        Buffer.add_char buffer.content '_' ;
+        Buffer.add_char buffer.content c ;
+        buffer.state <- CHAR
+      | CHAR ->
+        Buffer.add_char buffer.content c
+      | TRUNCATE -> ()
+    end
+  | '_' | '-' | ' ' | '\t' | ',' | ';' | '.' | '/' | '\\' | ':' ->
+    add_sep buffer
+  | _ -> ()
+
+let add_string buffer s = String.iter (add_char buffer) s
+
+let rec add_list buffer = function
+  | [] -> ()
+  | p::ps -> add_string buffer p ; add_sep buffer ; add_list buffer ps
+
+let contents buffer =
+  (* TODO [OCaml 4.05] simply buffer contents if using Buffer.truncate *)
+  let s = Buffer.contents buffer.content in
+  if buffer.state = TRUNCATE then
+    String.sub s 0 buffer.lastsep
+  else s
diff --git a/src/plugins/report/property_names.mli b/src/libraries/utils/sanitizer.mli
similarity index 76%
rename from src/plugins/report/property_names.mli
rename to src/libraries/utils/sanitizer.mli
index 1a34d4cdef3c042ad3970108461ef5f9a1481092..3371d4cd4a5930320d2f77bc70b1b0d8242b61fc 100644
--- a/src/plugins/report/property_names.mli
+++ b/src/libraries/utils/sanitizer.mli
@@ -20,20 +20,21 @@
 (*                                                                        *)
 (**************************************************************************)
 
-open Cil_types
+(** {2 Sanitizer}
 
-type part =
-  | B of behavior
-  | K of kernel_function
-  | A of string
-  | I of identified_predicate
-  | P of predicate
-  | T of term
-  | S of stmt
+    Keeps only alpha-numerical characters.
+    Separator ['_'] is allowed, but leading, trailing and consecutive
+    separators are removed.
+*)
 
-val is_name : string -> bool
-val join : string list -> string
+type buffer
 
-val string_of_part : part -> string
-val string_of_parts : part list -> string
-val parts_of_property : Property.t -> part list
+val create : ?truncate:bool -> int -> buffer
+val clear : buffer -> unit
+
+val add_sep : buffer -> unit (** Adds ['_'] character *)
+val add_char : buffer -> char -> unit
+val add_string : buffer -> string -> unit
+val add_list : buffer -> string list -> unit (** Separated with ['_'] *)
+
+val contents : buffer -> string
diff --git a/src/plugins/report/Makefile.in b/src/plugins/report/Makefile.in
index bb159e8f5ab30d00ff02a32cadea5e19a0d0b0a6..7011cc664417688ec84af0e515664f7db4dd7504 100644
--- a/src/plugins/report/Makefile.in
+++ b/src/plugins/report/Makefile.in
@@ -36,7 +36,7 @@ endif
 PLUGIN_DIR ?=.
 PLUGIN_ENABLE:=@ENABLE_REPORT@
 PLUGIN_NAME:=Report
-PLUGIN_CMO:= report_parameters scan dump csv property_names classify register
+PLUGIN_CMO:= report_parameters scan dump csv classify register
 PLUGIN_DISTRIBUTED:=$(PLUGIN_ENABLE)
 PLUGIN_DISTRIB_EXTERNAL:= Makefile.in configure.ac configure
 #PLUGIN_NO_DEFAULT_TEST:=no
diff --git a/src/plugins/report/classify.ml b/src/plugins/report/classify.ml
index b40a5a6d4438d0f5d612b5e3c6c2f7bdf9e16830..f14ae80130e34ff8adf403f3605582636f5ad075 100644
--- a/src/plugins/report/classify.ml
+++ b/src/plugins/report/classify.ml
@@ -74,7 +74,7 @@ let errors = {
 type props = {
   ps_name : string ;
   ps_rules : rule Queue.t ;
-  ps_action : (unit -> string) ;
+  ps_action : (unit -> string) ; (* plugin option getter *)
 }
 
 let props ps_name ps_action =
@@ -408,19 +408,50 @@ let pending f pending =
         (fun _ ips -> Property.Set.iter f ips) m)
     pending
 
+let rec monitored_property ip =
+  let open Cil_types in
+  let open Property in
+  match ip with
+  | IPBehavior _ -> false
+  | IPPredicate (PKAssumes _,_,_,_) -> false
+  | IPPredicate (PKRequires _,_,_,_) -> true
+  | IPPredicate (PKEnsures _,_,_,_) -> true
+  | IPPredicate (PKTerminates,_,_,_) -> true
+  | IPAllocation(_,_,_,_) -> true
+  | IPAssigns(_,_,_,_) -> true
+  | IPFrom(_,_,_,_) -> true
+  | IPDecrease (_,_,_,_) -> true
+  | IPCodeAnnot (_,_, { annot_content = AStmtSpec _ } ) -> false
+  | IPCodeAnnot (_,_, { annot_content = APragma _ } ) -> false
+  | IPCodeAnnot (_,_, { annot_content = AExtended _ } ) -> true
+  | IPCodeAnnot (_,_, { annot_content = AAssert _ } ) -> true
+  | IPCodeAnnot (_,_, { annot_content = AInvariant _ } ) -> true
+  | IPCodeAnnot (_,_, { annot_content = AVariant _ } ) -> true
+  | IPCodeAnnot (_,_, { annot_content = AAssigns _ } ) -> true
+  | IPCodeAnnot (_,_, { annot_content = AAllocation _ } ) -> true
+  | IPComplete (_,_,_,_) -> true
+  | IPDisjoint(_,_,_,_) -> true
+  | IPReachable (None,_,_) -> false
+  | IPReachable (Some _,_,_) -> true
+  | IPAxiomatic _ | IPAxiom _ -> false
+  | IPLemma(_,_,_,_,_) -> true
+  | IPTypeInvariant(_,_,_,_) | IPGlobalInvariant(_,_,_) -> true
+  | IPOther(_,_) -> true
+  | IPExtended _ -> true
+  | IPPropertyInstance (_, _, _, ip) -> monitored_property ip
+
 let monitor_status properties ip =
-  let ps = Property_names.parts_of_property ip in
-  if ps = [] then () else
-    let msg = Property_names.string_of_parts ps in
+  if monitored_property ip then
+    let name = Property.Names.get_prop_name_id ip in
     let lookup = find properties.ps_rules in
     let source = Property.source ip in
     let unclassified () =
       let e_id = "unclassified." ^ properties.ps_name in
-      let e_title = msg in
+      let e_title = name in
       let e_action = properties.ps_action () |> action in
       let e_descr = T.String.capitalize_ascii properties.ps_name ^ " status" in
       { unclassified with e_id ; e_action ; e_title ; e_descr }
-    in monitor ~lookup ~category:[] ~msg ~source unclassified
+    in monitor ~lookup ~category:[] ~msg:name ~source unclassified
 
 let monitor_property pool push ip =
   begin
diff --git a/src/plugins/report/property_names.ml b/src/plugins/report/property_names.ml
deleted file mode 100644
index dd31d925e9f93501c8dd19d99e810b12047d5df8..0000000000000000000000000000000000000000
--- a/src/plugins/report/property_names.ml
+++ /dev/null
@@ -1,131 +0,0 @@
-(**************************************************************************)
-(*                                                                        *)
-(*  This file is part of Frama-C.                                         *)
-(*                                                                        *)
-(*  Copyright (C) 2007-2019                                               *)
-(*    CEA (Commissariat à l'énergie atomique et aux énergies              *)
-(*         alternatives)                                                  *)
-(*                                                                        *)
-(*  you can redistribute it and/or modify it under the terms of the GNU   *)
-(*  Lesser General Public License as published by the Free Software       *)
-(*  Foundation, version 2.1.                                              *)
-(*                                                                        *)
-(*  It is distributed in the hope that it will be useful,                 *)
-(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
-(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
-(*  GNU Lesser General Public License for more details.                   *)
-(*                                                                        *)
-(*  See the GNU Lesser General Public License version 2.1                 *)
-(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
-(*                                                                        *)
-(**************************************************************************)
-
-open Cil_types
-
-type part =
-  | B of behavior
-  | K of kernel_function
-  | A of string
-  | I of identified_predicate
-  | P of predicate
-  | T of term
-  | S of stmt
-
-let is_name s = s <> "" && s <> "_"
-let join ps = String.concat "_" (List.filter is_name ps)
-
-let string_of_part = function
-  | B bhv -> if Cil.is_default_behavior bhv then "" else bhv.b_name
-  | K kf -> Kernel_function.get_name kf
-  | A msg -> msg
-  | S stmt -> Printf.sprintf "s%d" stmt.sid
-  | I { ip_content = { pred_name = a } }
-  | P { pred_name = a } | T { term_name = a } -> join a
-
-let string_of_parts ps = join (List.map string_of_part ps)
-
-let rec parts_of_property ip : part list =
-  let open Property in
-  match ip with
-  | IPBehavior _ -> []
-  | IPPredicate (PKAssumes _,_,_,_) -> []
-  | IPPredicate (PKRequires bhv,kf,_,ip) ->
-    [ K kf ; B bhv ; A "requires" ; I ip ]
-  | IPPredicate (PKEnsures(bhv,Normal),kf,_,ip) ->
-    [ K kf ; B bhv ; A "ensures" ; I ip ]
-  | IPPredicate (PKEnsures(bhv,Exits),kf,_,ip) ->
-    [ K kf ; B bhv ; A "exits" ; I ip ]
-  | IPPredicate (PKEnsures(bhv,Breaks),kf,_,ip) ->
-    [ K kf ; B bhv ; A "breaks" ; I ip ]
-  | IPPredicate (PKEnsures(bhv,Continues),kf,_,ip) ->
-    [ K kf ; B bhv ; A "continues" ; I ip ]
-  | IPPredicate (PKEnsures(bhv,Returns),kf,_,ip) ->
-    [ K kf ; B bhv ; A "returns" ; I ip ]
-  | IPPredicate (PKTerminates,kf,_,ip) ->
-    [ K kf ; A "terminates" ; I ip ]
-
-  | IPAllocation(kf,_,Id_contract(_,bhv),_) ->
-    [ K kf ; B bhv ; A "allocates" ]
-  | IPAllocation(kf,_,Id_loop _,_) ->
-    [ K kf ; A "loop_allocates" ]
-
-  | IPAssigns(kf,_,Id_contract(_,bhv),_) ->
-    [ K kf ; B bhv ; A "assigns" ]
-
-  | IPAssigns(kf,_,Id_loop _,_) ->
-    [ K kf ; A "loop_assigns" ]
-
-  | IPFrom(kf,_,Id_contract(_,bhv),_) ->
-    [ K kf ; B bhv ; A "assigns_from" ]
-
-  | IPFrom(kf,_,Id_loop _,_) ->
-    [ K kf ; A "loop_assigns_from" ]
-
-  | IPDecrease (kf,_,None,_) ->
-    [ K kf ; A "variant" ]
-
-  | IPDecrease (kf,_,Some _,_) ->
-    [ K kf ; A "loop_variant" ]
-
-  | IPCodeAnnot (_,_, { annot_content = AStmtSpec _ } ) -> []
-  | IPCodeAnnot (_,_, { annot_content = APragma _ | AExtended _ } ) -> []
-  | IPCodeAnnot (kf,_, { annot_content = AAssert(_,p) } ) ->
-    [K kf ; A "assert" ; P p ]
-  | IPCodeAnnot (kf,_, { annot_content = AInvariant(_,true,p) } ) ->
-    [K kf ; A "loop_invariant" ; P p ]
-  | IPCodeAnnot (kf,_, { annot_content = AInvariant(_,false,p) } ) ->
-    [K kf ; A "invariant" ; P p ]
-  | IPCodeAnnot (kf,_, { annot_content = AVariant(e,_) } ) ->
-    [K kf ; A "loop_variant" ; T e ]
-  | IPCodeAnnot (kf,_, { annot_content = AAssigns _ } ) ->
-    [K kf ; A "loop_assigns" ]
-  | IPCodeAnnot (kf,_, { annot_content = AAllocation _ } ) ->
-    [K kf ; A "loop_allocates" ]
-
-  | IPComplete (kf,_,_,cs) ->
-    (K kf :: A "complete" :: List.map (fun a -> A a) cs)
-  | IPDisjoint(kf,_,_,cs) ->
-    (K kf :: A "disjoint" :: List.map (fun a -> A a) cs)
-
-  | IPReachable (None, _, _) -> []
-  | IPReachable (Some kf,Kglobal,Before) ->
-    [ K kf ; A "reachable" ]
-  | IPReachable (Some kf,Kglobal,After) ->
-    [ K kf ; A "reachable_post" ]
-  | IPReachable (Some kf,Kstmt s,Before) ->
-    [ K kf ; S s ; A "reachable" ]
-  | IPReachable (Some kf,Kstmt s,After) ->
-    [ K kf ; S s ; A "reachable_after" ]
-  | IPAxiomatic _ | IPAxiom _ -> []
-  | IPLemma(name,_,_,_,_) -> [ A "lemma" ; A name ]
-  | IPTypeInvariant(name,_,_,_)
-  | IPGlobalInvariant(name,_,_) -> [ A "invariant" ; A name]
-  | IPOther(name, OLContract kf) -> [ K kf ; A name ]
-  | IPOther(name, OLStmt (kf, s)) -> [K kf; S s; A name]
-  | IPOther(name,OLGlob _) -> [ A name ]
-  | IPPropertyInstance (_, _, _, ip) -> parts_of_property ip
-  | IPExtended(ELContract kf,(_,name,_,_)) -> [ K kf ; A name ]
-  | IPExtended(ELStmt (kf, s),(_,name,_,_)) -> [ K kf ; S s ; A name ]
-  | IPExtended(ELGlob, (_,name,_,_)) -> [ A name ]
-
-(**************************************************************************)
diff --git a/src/plugins/report/tests/report/oracle/classify.0.res.oracle b/src/plugins/report/tests/report/oracle/classify.0.res.oracle
index 08e3a2f22246d9b0ce10e23016c15f9413fe8218..2d9f271aea5752a9bbc3037c9c42b90aac05b38e 100644
--- a/src/plugins/report/tests/report/oracle/classify.0.res.oracle
+++ b/src/plugins/report/tests/report/oracle/classify.0.res.oracle
@@ -4,8 +4,8 @@
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_f_assign : Valid
-[wp] [Qed] Goal typed_f_post : Valid
+[wp] [Qed] Goal typed_f_assigns : Valid
+[wp] [Qed] Goal typed_f_ensures : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [report] Classification
diff --git a/src/plugins/report/tests/report/oracle/classify.1.res.oracle b/src/plugins/report/tests/report/oracle/classify.1.res.oracle
index 5dc01f6e288d62097d7aeb8bcff5de4b9a758aeb..9266851bb999c61aaf138053b920459d475fb73d 100644
--- a/src/plugins/report/tests/report/oracle/classify.1.res.oracle
+++ b/src/plugins/report/tests/report/oracle/classify.1.res.oracle
@@ -5,8 +5,8 @@
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_f_assign : Valid
-[wp] [Qed] Goal typed_f_post : Valid
+[wp] [Qed] Goal typed_f_assigns : Valid
+[wp] [Qed] Goal typed_f_ensures : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [report] Classification
diff --git a/src/plugins/report/tests/report/oracle/classify.2.res.oracle b/src/plugins/report/tests/report/oracle/classify.2.res.oracle
index 0d4bf582b12dcdfdfcd194cce2b00f461d03f48b..8e0f90163361e74984979077ddaa1a85702be12e 100644
--- a/src/plugins/report/tests/report/oracle/classify.2.res.oracle
+++ b/src/plugins/report/tests/report/oracle/classify.2.res.oracle
@@ -5,8 +5,8 @@
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_f_assign : Valid
-[wp] [Qed] Goal typed_f_post : Valid
+[wp] [Qed] Goal typed_f_assigns : Valid
+[wp] [Qed] Goal typed_f_ensures : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [report] Classification
diff --git a/src/plugins/report/tests/report/oracle/classify.3.res.oracle b/src/plugins/report/tests/report/oracle/classify.3.res.oracle
index e41bd323df63f3913f41fe42d9e7ac2fdf50227b..5fab349a04e38664af8b21b15febbb573588c6c7 100644
--- a/src/plugins/report/tests/report/oracle/classify.3.res.oracle
+++ b/src/plugins/report/tests/report/oracle/classify.3.res.oracle
@@ -6,8 +6,8 @@
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_f_assign : Valid
-[wp] [Qed] Goal typed_f_post : Valid
+[wp] [Qed] Goal typed_f_assigns : Valid
+[wp] [Qed] Goal typed_f_ensures : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [report] Classification
diff --git a/src/plugins/report/tests/report/oracle/classify.4.res.oracle b/src/plugins/report/tests/report/oracle/classify.4.res.oracle
index 70e846d1bf34b306e607d9579046c28735bb18d0..4fe970e76ac2d9a5d2c965d22a6f185ebaeb2f95 100644
--- a/src/plugins/report/tests/report/oracle/classify.4.res.oracle
+++ b/src/plugins/report/tests/report/oracle/classify.4.res.oracle
@@ -6,8 +6,8 @@
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_f_assign : Valid
-[wp] [Qed] Goal typed_f_post : Valid
+[wp] [Qed] Goal typed_f_assigns : Valid
+[wp] [Qed] Goal typed_f_ensures : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [report] Classification
diff --git a/src/plugins/report/tests/report/oracle/classify.5.res.oracle b/src/plugins/report/tests/report/oracle/classify.5.res.oracle
index da6f9a37f4f68fd31782b82428ff795cf9ea9ebc..fe7d84466c0e64effca171af82723994cecf7759 100644
--- a/src/plugins/report/tests/report/oracle/classify.5.res.oracle
+++ b/src/plugins/report/tests/report/oracle/classify.5.res.oracle
@@ -5,8 +5,8 @@
   unbound logic variable ignored. Ignoring code annotation
 [wp] Running WP plugin...
 [wp] Warning: Missing RTE guards
-[wp] Goal typed_f_post : not tried
-[wp] Goal typed_f_assign : trivial
+[wp] Goal typed_f_ensures : not tried
+[wp] Goal typed_f_assigns : trivial
 [report] Classification
 [report] Output tests/report/result/classified.5.json
 [report] Reviews     :    2
diff --git a/src/plugins/wp/tests/wp/oracle/sharing.res.oracle b/src/plugins/wp/tests/wp/oracle/sharing.res.oracle
index a0d983a2b87ba821477e9d9c565efca9970df679..33ccf33c4b4de07a852143364aa4b4bf0277534d 100644
--- a/src/plugins/wp/tests/wp/oracle/sharing.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle/sharing.res.oracle
@@ -5,12 +5,12 @@
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
 [wp:print-generated] 
-  "WPOUT/typed/f_post.ergo"
+  "WPOUT/typed/f_ensures.ergo"
   (* ---------------------------------------------------------- *)
   (* --- Post-condition (file tests/wp/sharing.c, line 8) in 'f' --- *)
   (* ---------------------------------------------------------- *)
   
-  goal f_post:
+  goal f_ensures:
     forall i_1,i : int.
     forall t : int farray.
     forall t_1 : (addr,int) farray.
diff --git a/src/plugins/wp/tests/wp/oracle/wp_eqb.res.oracle b/src/plugins/wp/tests/wp/oracle/wp_eqb.res.oracle
index 191de1ee13455a16f3cf455b3277454fb8a28ebb..f9360746b680f16c9895df394646273b82570572 100644
--- a/src/plugins/wp/tests/wp/oracle/wp_eqb.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle/wp_eqb.res.oracle
@@ -5,12 +5,12 @@
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
 [wp:print-generated] 
-  "WPOUT/typed/f_post.ergo"
+  "WPOUT/typed/f_ensures.ergo"
   (* ---------------------------------------------------------- *)
   (* --- Post-condition (file tests/wp/wp_eqb.i, line 8) in 'f' --- *)
   (* ---------------------------------------------------------- *)
   
-  goal f_post:
+  goal f_ensures:
     forall i_3,i_2,i_1,i : int.
     ((match_bool((eqb(i_3, i_2)), 1, 0)) = (match_bool((eqb(i_1, i)), 1, 0))) ->
     is_sint32(i) ->
diff --git a/src/plugins/wp/tests/wp/oracle_qualif/sharing.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/sharing.res.oracle
index 7988ff2ccb6da01de8db30aeb0fb8a1186753fa5..db5f8b7b5fdf62bb967e126eacfd8a0d331b49b8 100644
--- a/src/plugins/wp/tests/wp/oracle_qualif/sharing.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle_qualif/sharing.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_f_post : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.res.oracle
index 8f1cd7083055e2712a599239a2bb5cbba4665706..839e3038d0306d643d8016cd8a09145c1f0100f2 100644
--- a/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle_qualif/stmtcompiler_test.res.oracle
@@ -30,9 +30,9 @@
 [wp] [Qed] Goal typed_one_if_assert : Valid
 [wp] [Qed] Goal typed_some_seq_assert : Valid
 [wp] [Qed] Goal typed_some_seq_assert_2 : Valid
-[wp] [Qed] Goal typed_zloop_post : Valid
-[wp] [Alt-Ergo] Goal typed_zloop_loop_inv_preserved : Unknown
-[wp] [Qed] Goal typed_zloop_loop_inv_established : Valid
+[wp] [Qed] Goal typed_zloop_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_zloop_loop_invariant_preserved : Unknown
+[wp] [Qed] Goal typed_zloop_loop_invariant_established : Valid
 [wp] [Qed] Goal typed_zloop_assert : Valid
 [wp] [Qed] Goal typed_zloop_assert_2 : Valid
 [wp] [Alt-Ergo] Goal typed_zloop_assert_3 : Unknown
diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.res.oracle
index 624ee703375823c18012b2a40e57dd5e369e5ff1..efac690185b3a871059dab5fe51bd9f56bd89a2f 100644
--- a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.0.res.oracle
@@ -17,41 +17,41 @@
 [wp] [Alt-Ergo] Goal typed_assert_needed_assert_ko : Unknown
 [wp] [Qed] Goal typed_assert_needed_assert_qed_ok_ok_with_hyp : Valid
 [wp] [Alt-Ergo] Goal typed_bhv_complete_pos_neg : Valid
-[wp] [Qed] Goal typed_bhv_neg_post_qed_ok : Valid
-[wp] [Qed] Goal typed_bhv_pos_post_qed_ok : Valid
-[wp] [Alt-Ergo] Goal typed_bts0513_post_ko1 : Unknown
-[wp] [Alt-Ergo] Goal typed_bts0513_post_ko2 : Unknown
-[wp] [Qed] Goal typed_f_post_qed_ok : Valid
-[wp] [Qed] Goal typed_f_x1_post_qed_ok : Valid
-[wp] [Qed] Goal typed_f_assert_qed_ok_for_x1 : Valid
-[wp] [Qed] Goal typed_f_x2_post_qed_ok : Valid
-[wp] [Qed] Goal typed_f_assert_qed_ok_for_x2 : Valid
-[wp] [Qed] Goal typed_local_named_behavior_stmt_xpos_post_qed_ok : Valid
-[wp] [Qed] Goal typed_local_named_behavior_stmt_xpos_post_qed_ok_2 : Valid
+[wp] [Qed] Goal typed_bhv_neg_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_bhv_pos_ensures_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_bts0513_ensures_ko1 : Unknown
+[wp] [Alt-Ergo] Goal typed_bts0513_ensures_ko2 : Unknown
+[wp] [Qed] Goal typed_f_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_f_x1_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_f_assert_qed_ok : Valid
+[wp] [Qed] Goal typed_f_x2_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_f_assert_qed_ok_2 : Valid
+[wp] [Qed] Goal typed_local_named_behavior_xpos_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_local_named_behavior_xpos_ensures_qed_ok_2 : Valid
 [wp] [Qed] Goal typed_min_complete_bx_by : Valid
 [wp] [Qed] Goal typed_min_disjoint_bx_by : Valid
-[wp] [Qed] Goal typed_min_bx_post_qed_ok : Valid
-[wp] [Qed] Goal typed_min_by_post_qed_ok : Valid
-[wp] [Qed] Goal typed_more_stmt_assigns_post_qed_ok_ok_with_hoare : Valid
-[wp] [Qed] Goal typed_more_stmt_assigns_stmt_blk_assign_part1 : Valid
-[wp] [Qed] Goal typed_more_stmt_assigns_stmt_blk_assign_part2 : Valid
-[wp] [Qed] Goal typed_part_stmt_bhv_b1_post_qed_ok : Valid
-[wp] [Alt-Ergo] Goal typed_part_stmt_bhv_stmt_bs_post : Unknown
-[wp] [Alt-Ergo] Goal typed_razT_loop_inv_qed_ok_preserved : Valid
-[wp] [Qed] Goal typed_razT_loop_inv_qed_ok_established : Valid
-[wp] [Alt-Ergo] Goal typed_razT_b1_post_e1 : Unknown
-[wp] [Qed] Goal typed_stmt_assigns_post : Valid
-[wp] [Alt-Ergo] Goal typed_stmt_assigns_stmt_assign : Unknown
-[wp] [Qed] Goal typed_stmt_contract_stmt_pre_qed_ok : Valid
-[wp] [Qed] Goal typed_stmt_contract_stmt_post_qed_ok : Valid
-[wp] [Qed] Goal typed_stmt_contract_ok_post_qed_ok : Valid
-[wp] [Qed] Goal typed_stmt_contract_assigns_stmt_pre_qed_ok : Valid
-[wp] [Qed] Goal typed_stmt_contract_assigns_stmt_post_qed_ok : Valid
-[wp] [Qed] Goal typed_stmt_contract_assigns_stmt_assign : Valid
-[wp] [Qed] Goal typed_stmt_contract_assigns_ok_post_qed_ok : Valid
-[wp] [Qed] Goal typed_stmt_contract_assigns_ok_asgn_post_qed_ok : Valid
-[wp] [Qed] Goal typed_stmt_contract_label_post_qed_ok : Valid
-[wp] [Qed] Goal typed_stmt_contract_label_stmt_post_qed_ok : Valid
+[wp] [Qed] Goal typed_min_bx_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_min_by_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_more_stmt_assigns_ensures_qed_ok_ok_with_hoare : Valid
+[wp] [Qed] Goal typed_more_stmt_assigns_blk_assigns_part1 : Valid
+[wp] [Qed] Goal typed_more_stmt_assigns_blk_assigns_part2 : Valid
+[wp] [Qed] Goal typed_part_stmt_bhv_b1_ensures_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_part_stmt_bhv_bs_ensures : Unknown
+[wp] [Alt-Ergo] Goal typed_razT_loop_invariant_qed_ok_preserved : Valid
+[wp] [Qed] Goal typed_razT_loop_invariant_qed_ok_established : Valid
+[wp] [Alt-Ergo] Goal typed_razT_b1_ensures_e1 : Unknown
+[wp] [Qed] Goal typed_stmt_assigns_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_stmt_assigns_assigns : Unknown
+[wp] [Qed] Goal typed_stmt_contract_requires_qed_ok : Valid
+[wp] [Qed] Goal typed_stmt_contract_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_stmt_contract_ok_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_stmt_contract_assigns_requires_qed_ok : Valid
+[wp] [Qed] Goal typed_stmt_contract_assigns_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_stmt_contract_assigns_assigns : Valid
+[wp] [Qed] Goal typed_stmt_contract_assigns_ok_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_stmt_contract_assigns_ok_asgn_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_stmt_contract_label_ensures_qed_ok_2 : Valid
+[wp] [Qed] Goal typed_stmt_contract_label_ensures_qed_ok : Valid
 [wp] Proved goals:   32 / 38
   Qed:            30 
   Alt-Ergo:        2  (unknown: 6)
diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.res.oracle
index 83792030946b5942b66307d7f9c27588b8cd62b2..745a17600fa3965aa0a10b658d65edde47f6910e 100644
--- a/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_behav.1.res.oracle
@@ -8,14 +8,14 @@
 [wp] tests/wp/wp_behav.c:69: Warning: 
   Missing assigns clause (assigns 'everything' instead)
 [wp] 8 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_f_x1_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_f_x2_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_min_bx_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_min_by_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_stmt_contract_ko_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_stmt_contract_ko_without_asgn_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_stmt_contract_assigns_ko_post_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_x1_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_x2_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_min_bx_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_min_by_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_stmt_contract_ko_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_stmt_contract_ko_without_asgn_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_stmt_contract_assigns_ko_ensures_qed_ko : Unknown
 [wp] Proved goals:    0 / 8
   Alt-Ergo:        0  (unknown: 8)
 [wp] Report 'tests/wp/wp_behav.c.1.report.json'
diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.res.oracle
index bec840af1d64d50e33124d68757fedde515e086e..892d48242609a7c061574ecb0669f0a9d1f3b15c 100644
--- a/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_call_pre.res.oracle
@@ -8,16 +8,16 @@
   No code nor implicit assigns clause for function f, generating default assigns from the prototype
 [wp] Warning: Missing RTE guards
 [wp] 10 goals scheduled
-[wp] [Qed] Goal typed_call_g_call_g_pre_qed_ok_Rga : Valid
-[wp] [Qed] Goal typed_call_g_call_g_pre_Rgb : Valid
-[wp] [Qed] Goal typed_call_main_post_qed_ok : Valid
-[wp] [Qed] Goal typed_call_main_call_main_pre_qed_ok_Rmain : Valid
-[wp] [Qed] Goal typed_double_call_call_f_pre_qed_ok_Rf : Valid
-[wp] [Alt-Ergo] Goal typed_double_call_call_f_pre_qed_ok_Rf_2 : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_Rmain : Valid
-[wp] [Qed] Goal typed_main_post_qed_ok_Emain : Valid
-[wp] [Qed] Goal typed_main_call_f_pre_qed_ok_Rf : Valid
-[wp] [Qed] Goal typed_stmt_pre_stmt_pre_qed_ok_Rstmt : Valid
+[wp] [Qed] Goal typed_call_g_call_g_requires_qed_ok_Rga : Valid
+[wp] [Qed] Goal typed_call_g_call_g_requires_Rgb : Valid
+[wp] [Qed] Goal typed_call_main_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_call_main_call_main_requires_qed_ok_Rmain : Valid
+[wp] [Qed] Goal typed_double_call_call_f_requires_qed_ok_Rf : Valid
+[wp] [Alt-Ergo] Goal typed_double_call_call_f_requires_qed_ok_Rf_2 : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_Rmain : Valid
+[wp] [Qed] Goal typed_main_ensures_qed_ok_Emain : Valid
+[wp] [Qed] Goal typed_main_call_f_requires_qed_ok_Rf : Valid
+[wp] [Qed] Goal typed_stmt_pre_requires_qed_ok_Rstmt : Valid
 [wp] Proved goals:   10 / 10
   Qed:             9 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.res.oracle
index a08574adb8811eed37ff05686640fcc24d3205f1..e838815abc14a013119915deda971041887722ba 100644
--- a/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_eqb.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_f_post : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.res.oracle b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.res.oracle
index 2e5b53af9fcf2c34f57e8dd073f418cd261527b2..8dfdb335c2b8ed73c162e80ac9d560a08bbabc39 100644
--- a/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.res.oracle
+++ b/src/plugins/wp/tests/wp/oracle_qualif/wp_strategy.res.oracle
@@ -11,31 +11,31 @@
 [wp] Running WP plugin...
 [wp] Loading driver 'share/wp.driver'
 [wp] 25 goals scheduled
-[wp] [Alt-Ergo] Goal hoare_bts0513_post_qed_ko_ko1 : Unknown
-[wp] [Alt-Ergo] Goal hoare_bts0513_post_qed_ko_ko2 : Unknown
+[wp] [Alt-Ergo] Goal hoare_bts0513_ensures_qed_ko_ko1 : Unknown
+[wp] [Alt-Ergo] Goal hoare_bts0513_ensures_qed_ko_ko2 : Unknown
 [wp] [Alt-Ergo] Goal hoare_bts0513_bis_assert_qed_ko_ko1 : Unknown
 [wp] [Qed] Goal hoare_bts0513_bis_assert_qed_ok_ok : Valid
-[wp] [Qed] Goal hoare_default_behaviors_post_qed_ok : Valid
+[wp] [Qed] Goal hoare_default_behaviors_ensures_qed_ok : Valid
 [wp] [Qed] Goal hoare_default_behaviors_assert_qed_ok_2 : Valid
-[wp] [Qed] Goal hoare_default_behaviors_stmt_post_qed_ok_stmt_p : Valid
+[wp] [Qed] Goal hoare_default_behaviors_ensures_qed_ok_stmt_p : Valid
 [wp] [Qed] Goal hoare_default_behaviors_assert_qed_ok : Valid
 [wp] [Alt-Ergo] Goal hoare_default_behaviors_assert_rte_signed_overflow : Unknown
-[wp] [Qed] Goal hoare_default_behaviors_stmt_assign : Valid
+[wp] [Qed] Goal hoare_default_behaviors_assigns : Valid
 [wp] [Qed] Goal hoare_dpd1_assert_qed_ok_A : Valid
-[wp] [Alt-Ergo] Goal hoare_dpd1_stmt_post_qed_ko_Eko : Unknown
-[wp] [Qed] Goal hoare_dpd1_stmt_assign : Valid
-[wp] [Qed] Goal hoare_dpd2_assert_qed_ok_A_for_P : Valid
-[wp] [Alt-Ergo] Goal hoare_dpd2_stmt_post_qed_ko_Eko : Unknown
-[wp] [Qed] Goal hoare_dpd2_stmt_assign : Valid
-[wp] [Qed] Goal hoare_spec_if_post_qed_ok : Valid
-[wp] [Qed] Goal hoare_spec_if_stmt_post_qed_ok : Valid
-[wp] [Qed] Goal hoare_spec_if_stmt_assign : Valid
+[wp] [Alt-Ergo] Goal hoare_dpd1_ensures_qed_ko_Eko : Unknown
+[wp] [Qed] Goal hoare_dpd1_assigns : Valid
+[wp] [Qed] Goal hoare_dpd2_assert_qed_ok_A : Valid
+[wp] [Alt-Ergo] Goal hoare_dpd2_ensures_qed_ko_Eko : Unknown
+[wp] [Qed] Goal hoare_dpd2_assigns : Valid
+[wp] [Qed] Goal hoare_spec_if_ensures_qed_ok_2 : Valid
+[wp] [Qed] Goal hoare_spec_if_ensures_qed_ok : Valid
+[wp] [Qed] Goal hoare_spec_if_assigns : Valid
 [wp] [Alt-Ergo] Goal hoare_spec_if_assert_rte_signed_overflow : Unknown
-[wp] [Qed] Goal hoare_spec_if_stmt_assign_2 : Valid
+[wp] [Qed] Goal hoare_spec_if_assigns_2 : Valid
 [wp] [Alt-Ergo] Goal hoare_spec_if_assert_rte_signed_overflow_2 : Unknown
-[wp] [Qed] Goal hoare_spec_if_stmt_assign_3 : Valid
-[wp] [Qed] Goal hoare_spec_if_cond_stmt_post_qed_ok : Valid
-[wp] [Qed] Goal hoare_spec_if_not_cond_stmt_post_qed_ok : Valid
+[wp] [Qed] Goal hoare_spec_if_assigns_3 : Valid
+[wp] [Qed] Goal hoare_spec_if_cond_ensures_qed_ok : Valid
+[wp] [Qed] Goal hoare_spec_if_not_cond_ensures_qed_ok : Valid
 [wp] Proved goals:   17 / 25
   Qed:            17 
   Alt-Ergo:        0  (unknown: 8)
diff --git a/src/plugins/wp/tests/wp/sharing.c.0.report.json b/src/plugins/wp/tests/wp/sharing.c.0.report.json
index 4a51520be5395c49e07f447760b60b7c76508885..f08f661bf7a183e2144da8b1cad89d056b767e79 100644
--- a/src/plugins/wp/tests/wp/sharing.c.0.report.json
+++ b/src/plugins/wp/tests/wp/sharing.c.0.report.json
@@ -1,9 +1,11 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 12 },
                  "wp:main": { "total": 1, "valid": 1, "rank": 12 } },
-  "wp:functions": { "f": { "f_post": { "alt-ergo": { "total": 1, "valid": 1,
-                                                     "rank": 12 },
-                                       "wp:main": { "total": 1, "valid": 1,
-                                                    "rank": 12 } },
+  "wp:functions": { "f": { "f_ensures": { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 13 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 13 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 12 },
diff --git a/src/plugins/wp/tests/wp/stmtcompiler_test.i.0.report.json b/src/plugins/wp/tests/wp/stmtcompiler_test.i.0.report.json
index 542d6fa1e57e7a7467757a22b7c5932a113c3365..30d7f46035873ef8c377113e04793b0189963c6a 100644
--- a/src/plugins/wp/tests/wp/stmtcompiler_test.i.0.report.json
+++ b/src/plugins/wp/tests/wp/stmtcompiler_test.i.0.report.json
@@ -108,17 +108,18 @@
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1 } },
-                               "zloop_loop_inv": { "alt-ergo": { "total": 1,
-                                                                 "unknown": 1 },
-                                                   "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 1,
-                                                                "unknown": 1 } },
-                               "zloop_post": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+                               "zloop_loop_invariant": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "unknown": 1 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 1,
+                                                                    "unknown": 1 } },
+                               "zloop_ensures": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "alt-ergo": { "total": 3,
                                                              "unknown": 3 },
                                                "qed": { "total": 4,
diff --git a/src/plugins/wp/tests/wp/wp_behav.c.0.report.json b/src/plugins/wp/tests/wp/wp_behav.c.0.report.json
index 2ad0a05fcc3dc7c7eaba88253214719169bc3013..11838e89fc295b6076d8ca03bb56b6a0feba33ae 100644
--- a/src/plugins/wp/tests/wp/wp_behav.c.0.report.json
+++ b/src/plugins/wp/tests/wp/wp_behav.c.0.report.json
@@ -3,26 +3,26 @@
                  "qed": { "total": 30, "valid": 30 },
                  "wp:main": { "total": 38, "valid": 32, "unknown": 6,
                               "rank": 3 } },
-  "wp:functions": { "f": { "f_assert_qed_ok_for_x2": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_assert_qed_ok_for_x1": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_x2_post_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_x1_post_qed_ok": { "qed": { "total": 1,
+  "wp:functions": { "f": { "f_assert_qed_ok_2": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                           "f_assert_qed_ok": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                           "f_x2_ensures_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_x1_ensures_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok": { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1 } },
-                           "f_post_qed_ok": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
                            "wp:section": { "qed": { "total": 5, "valid": 5 },
                                            "wp:main": { "total": 5,
                                                         "valid": 5 } } },
@@ -34,14 +34,14 @@
                                                               "valid": 1 },
                                                      "wp:main": { "total": 1,
                                                                   "valid": 1 } },
-                             "min_by_post_qed_ok": { "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1 } },
-                             "min_bx_post_qed_ok": { "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1 } },
+                             "min_by_ensures_qed_ok": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                             "min_bx_ensures_qed_ok": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                              "wp:section": { "qed": { "total": 4,
                                                       "valid": 4 },
                                              "wp:main": { "total": 4,
@@ -52,14 +52,14 @@
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 1 } },
-                             "bhv_neg_post_qed_ok": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                             "bhv_pos_post_qed_ok": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
+                             "bhv_neg_ensures_qed_ok": { "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                             "bhv_pos_ensures_qed_ok": { "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 1 },
@@ -68,15 +68,15 @@
                                              "wp:main": { "total": 3,
                                                           "valid": 3,
                                                           "rank": 1 } } },
-                    "stmt_contract": { "stmt_contract_stmt_post_qed_ok": 
+                    "stmt_contract": { "stmt_contract_ensures_qed_ok": 
                                          { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } },
-                                       "stmt_contract_stmt_pre_qed_ok": 
+                                       "stmt_contract_requires_qed_ok": 
                                          { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } },
-                                       "stmt_contract_ok_post_qed_ok": 
+                                       "stmt_contract_ok_ensures_qed_ok": 
                                          { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } },
@@ -84,12 +84,12 @@
                                                                 "valid": 3 },
                                                        "wp:main": { "total": 3,
                                                                     "valid": 3 } } },
-                    "stmt_contract_label": { "stmt_contract_label_stmt_post_qed_ok": 
+                    "stmt_contract_label": { "stmt_contract_label_ensures_qed_ok": 
                                                { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1 } },
-                                             "stmt_contract_label_post_qed_ok": 
+                                             "stmt_contract_label_ensures_qed_ok_2": 
                                                { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
@@ -99,27 +99,27 @@
                                                              "wp:main": 
                                                                { "total": 2,
                                                                  "valid": 2 } } },
-                    "stmt_contract_assigns": { "stmt_contract_assigns_stmt_assign": 
+                    "stmt_contract_assigns": { "stmt_contract_assigns_assigns": 
                                                  { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } },
-                                               "stmt_contract_assigns_stmt_post_qed_ok": 
+                                               "stmt_contract_assigns_ensures_qed_ok": 
                                                  { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } },
-                                               "stmt_contract_assigns_stmt_pre_qed_ok": 
+                                               "stmt_contract_assigns_requires_qed_ok": 
                                                  { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } },
-                                               "stmt_contract_assigns_ok_asgn_post_qed_ok": 
+                                               "stmt_contract_assigns_ok_asgn_ensures_qed_ok": 
                                                  { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } },
-                                               "stmt_contract_assigns_ok_post_qed_ok": 
+                                               "stmt_contract_assigns_ok_ensures_qed_ok": 
                                                  { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
@@ -130,12 +130,12 @@
                                                                "wp:main": 
                                                                  { "total": 5,
                                                                    "valid": 5 } } },
-                    "local_named_behavior": { "local_named_behavior_stmt_xpos_post_qed_ok_2": 
+                    "local_named_behavior": { "local_named_behavior_xpos_ensures_qed_ok_2": 
                                                 { "qed": { "total": 1,
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } },
-                                              "local_named_behavior_stmt_xpos_post_qed_ok": 
+                                              "local_named_behavior_xpos_ensures_qed_ok": 
                                                 { "qed": { "total": 1,
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
@@ -163,29 +163,34 @@
                                                        "wp:main": { "total": 2,
                                                                     "valid": 1,
                                                                     "unknown": 1 } } },
-                    "bts0513": { "bts0513_post_ko2": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "unknown": 1 } },
-                                 "bts0513_post_ko1": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "unknown": 1 } },
+                    "bts0513": { "bts0513_ensures_ko2": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "unknown": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "unknown": 1 } },
+                                 "bts0513_ensures_ko1": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "unknown": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "unknown": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 2,
                                                                "unknown": 2 },
                                                  "wp:main": { "total": 2,
                                                               "unknown": 2 } } },
-                    "stmt_assigns": { "stmt_assigns_stmt_assign": { "alt-ergo": 
-                                                                    { "total": 1,
+                    "stmt_assigns": { "stmt_assigns_assigns": { "alt-ergo": 
+                                                                  { "total": 1,
                                                                     "unknown": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
+                                                                "wp:main": 
+                                                                  { "total": 1,
                                                                     "unknown": 1 } },
-                                      "stmt_assigns_post": { "qed": { "total": 1,
+                                      "stmt_assigns_ensures": { "qed": 
+                                                                  { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1 } },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 } },
                                       "wp:section": { "alt-ergo": { "total": 1,
                                                                     "unknown": 1 },
                                                       "qed": { "total": 1,
@@ -193,18 +198,21 @@
                                                       "wp:main": { "total": 2,
                                                                    "valid": 1,
                                                                    "unknown": 1 } } },
-                    "razT": { "razT_loop_inv_qed_ok": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 3 },
-                                                        "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 3 } },
-                              "razT_b1_post_e1": { "alt-ergo": { "total": 1,
-                                                                 "unknown": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "unknown": 1 } },
+                    "razT": { "razT_loop_invariant_qed_ok": { "alt-ergo": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 4 },
+                                                              "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 2,
+                                                                  "valid": 2,
+                                                                  "rank": 4 } },
+                              "razT_b1_ensures_e1": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "unknown": 1 } },
                               "wp:section": { "alt-ergo": { "total": 2,
                                                             "valid": 1,
                                                             "unknown": 1,
@@ -215,12 +223,12 @@
                                                            "valid": 2,
                                                            "unknown": 1,
                                                            "rank": 3 } } },
-                    "more_stmt_assigns": { "more_stmt_assigns_stmt_blk_assign": 
+                    "more_stmt_assigns": { "more_stmt_assigns_blk_assigns": 
                                              { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } },
-                                           "more_stmt_assigns_post_qed_ok_ok_with_hoare": 
+                                           "more_stmt_assigns_ensures_qed_ok_ok_with_hoare": 
                                              { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
@@ -230,12 +238,13 @@
                                                            "wp:main": 
                                                              { "total": 3,
                                                                "valid": 3 } } },
-                    "part_stmt_bhv": { "part_stmt_bhv_stmt_bs_post": 
-                                         { "alt-ergo": { "total": 1,
-                                                         "unknown": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "unknown": 1 } },
-                                       "part_stmt_bhv_b1_post_qed_ok": 
+                    "part_stmt_bhv": { "part_stmt_bhv_bs_ensures": { "alt-ergo": 
+                                                                    { "total": 1,
+                                                                    "unknown": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "unknown": 1 } },
+                                       "part_stmt_bhv_b1_ensures_qed_ok": 
                                          { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } },
diff --git a/src/plugins/wp/tests/wp/wp_behav.c.1.report.json b/src/plugins/wp/tests/wp/wp_behav.c.1.report.json
index 5179dc51e1f5a05ee8b4d95ff5496e2888964a4b..ca159cdef949ee9378ea7b68912908a313217b80 100644
--- a/src/plugins/wp/tests/wp/wp_behav.c.1.report.json
+++ b/src/plugins/wp/tests/wp/wp_behav.c.1.report.json
@@ -1,39 +1,39 @@
 { "wp:global": { "alt-ergo": { "total": 8, "unknown": 8 },
                  "wp:main": { "total": 8, "unknown": 8 } },
-  "wp:functions": { "f": { "f_x2_post_qed_ko": { "alt-ergo": { "total": 1,
+  "wp:functions": { "f": { "f_x2_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                  "unknown": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "unknown": 1 } },
+                           "f_x1_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                  "unknown": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "unknown": 1 } },
+                           "f_ensures_qed_ko": { "alt-ergo": { "total": 1,
                                                                "unknown": 1 },
                                                  "wp:main": { "total": 1,
                                                               "unknown": 1 } },
-                           "f_x1_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                               "unknown": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "unknown": 1 } },
-                           "f_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                            "unknown": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 3,
                                                          "unknown": 3 },
                                            "wp:main": { "total": 3,
                                                         "unknown": 3 } } },
-                    "min": { "min_by_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                             "min_bx_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
+                    "min": { "min_by_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                             "min_bx_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
                              "wp:section": { "alt-ergo": { "total": 2,
                                                            "unknown": 2 },
                                              "wp:main": { "total": 2,
                                                           "unknown": 2 } } },
-                    "stmt_contract": { "stmt_contract_ko_without_asgn_post_qed_ko": 
+                    "stmt_contract": { "stmt_contract_ko_without_asgn_ensures_qed_ko": 
                                          { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "wp:main": { "total": 1,
                                                         "unknown": 1 } },
-                                       "stmt_contract_ko_post_qed_ko": 
+                                       "stmt_contract_ko_ensures_qed_ko": 
                                          { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "wp:main": { "total": 1,
@@ -42,7 +42,7 @@
                                                                     "unknown": 2 },
                                                        "wp:main": { "total": 2,
                                                                     "unknown": 2 } } },
-                    "stmt_contract_assigns": { "stmt_contract_assigns_ko_post_qed_ko": 
+                    "stmt_contract_assigns": { "stmt_contract_assigns_ko_ensures_qed_ko": 
                                                  { "alt-ergo": { "total": 1,
                                                                  "unknown": 1 },
                                                    "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp/wp_call_pre.c.0.report.json b/src/plugins/wp/tests/wp/wp_call_pre.c.0.report.json
index e906db69b8c2655f456b55e33646bb6049ea674f..a2610236d4a0e697eadd2c48d226b9a881bff43e 100644
--- a/src/plugins/wp/tests/wp/wp_call_pre.c.0.report.json
+++ b/src/plugins/wp/tests/wp/wp_call_pre.c.0.report.json
@@ -1,16 +1,20 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 2 },
                  "qed": { "total": 9, "valid": 9 },
                  "wp:main": { "total": 10, "valid": 10, "rank": 2 } },
-  "wp:functions": { "double_call": { "specialization_f_pre_qed_ok_Rf_at_double_call_stmt_2": 
-                                       { "alt-ergo": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 2 },
-                                         "wp:main": { "total": 1, "valid": 1,
-                                                      "rank": 2 } },
-                                     "specialization_f_pre_qed_ok_Rf_at_double_call_stmt_1": 
-                                       { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
+  "wp:functions": { "double_call": { "f_requires_qed_ok_Rf_3": { "alt-ergo": 
+                                                                   { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 2 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 2 } },
+                                     "f_requires_qed_ok_Rf_2": { "qed": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 } },
                                      "wp:section": { "alt-ergo": { "total": 1,
                                                                    "valid": 1,
                                                                    "rank": 2 },
@@ -19,36 +23,43 @@
                                                      "wp:main": { "total": 2,
                                                                   "valid": 2,
                                                                   "rank": 2 } } },
-                    "main": { "specialization_f_pre_qed_ok_Rf_at_main_stmt_6": 
-                                { "qed": { "total": 1, "valid": 1 },
-                                  "wp:main": { "total": 1, "valid": 1 } },
-                              "main_post_qed_ok_Emain": { "qed": { "total": 1,
+                    "main": { "f_requires_qed_ok_Rf_4": { "qed": { "total": 1,
                                                                    "valid": 1 },
                                                           "wp:main": 
                                                             { "total": 1,
                                                               "valid": 1 } },
-                              "main_pre_qed_ok_Rmain": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                              "wp:section": { "qed": { "total": 3,
-                                                       "valid": 3 },
-                                              "wp:main": { "total": 3,
-                                                           "valid": 3 } } },
-                    "call_main": { "specialization_main_pre_qed_ok_Rmain_at_call_main_stmt_11": 
-                                     { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
-                                   "call_main_post_qed_ok": { "qed": 
+                              "main_ensures_qed_ok_Emain": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
+                              "main_requires_qed_ok_Rmain": { "qed": 
                                                                 { "total": 1,
                                                                   "valid": 1 },
                                                               "wp:main": 
                                                                 { "total": 1,
                                                                   "valid": 1 } },
+                              "wp:section": { "qed": { "total": 3,
+                                                       "valid": 3 },
+                                              "wp:main": { "total": 3,
+                                                           "valid": 3 } } },
+                    "call_main": { "main_requires_qed_ok_Rmain_2": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                   "call_main_ensures_qed_ok": { "qed": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 } },
                                    "wp:section": { "qed": { "total": 2,
                                                             "valid": 2 },
                                                    "wp:main": { "total": 2,
                                                                 "valid": 2 } } },
-                    "stmt_pre": { "stmt_pre_stmt_pre_qed_ok_Rstmt": { "qed": 
+                    "stmt_pre": { "stmt_pre_requires_qed_ok_Rstmt": { "qed": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
                                                                     "wp:main": 
@@ -58,12 +69,15 @@
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } } },
-                    "call_g": { "specialization_g_pre_Rgb_at_call_g_stmt_22": 
-                                  { "qed": { "total": 1, "valid": 1 },
-                                    "wp:main": { "total": 1, "valid": 1 } },
-                                "specialization_g_pre_qed_ok_Rga_at_call_g_stmt_22": 
-                                  { "qed": { "total": 1, "valid": 1 },
-                                    "wp:main": { "total": 1, "valid": 1 } },
+                    "call_g": { "g_requires_Rgb_2": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                                "g_requires_qed_ok_Rga_2": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
                                 "wp:section": { "qed": { "total": 2,
                                                          "valid": 2 },
                                                 "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp/wp_eqb.i.0.report.json b/src/plugins/wp/tests/wp/wp_eqb.i.0.report.json
index 31678b1201a677a977dd04902eddb54caa33f639..61ebcf4782f55aad4236e4abfd5a7be592f4c998 100644
--- a/src/plugins/wp/tests/wp/wp_eqb.i.0.report.json
+++ b/src/plugins/wp/tests/wp/wp_eqb.i.0.report.json
@@ -1,9 +1,11 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 9 },
                  "wp:main": { "total": 1, "valid": 1, "rank": 9 } },
-  "wp:functions": { "f": { "f_post": { "alt-ergo": { "total": 1, "valid": 1,
-                                                     "rank": 9 },
-                                       "wp:main": { "total": 1, "valid": 1,
-                                                    "rank": 9 } },
+  "wp:functions": { "f": { "f_ensures": { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 10 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 10 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 9 },
diff --git a/src/plugins/wp/tests/wp/wp_strategy.c.0.report.json b/src/plugins/wp/tests/wp/wp_strategy.c.0.report.json
index 40f46e25467a95082221a53bb85c3ce8a04dce22..85d15bfd046fbed5c4f2725ddbd28ac81f835aaf 100644
--- a/src/plugins/wp/tests/wp/wp_strategy.c.0.report.json
+++ b/src/plugins/wp/tests/wp/wp_strategy.c.0.report.json
@@ -1,18 +1,18 @@
 { "wp:global": { "alt-ergo": { "total": 8, "unknown": 8 },
                  "qed": { "total": 17, "valid": 17 },
                  "wp:main": { "total": 25, "valid": 17, "unknown": 8 } },
-  "wp:functions": { "bts0513": { "bts0513_post_qed_ko_ko2": { "alt-ergo": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 } },
-                                 "bts0513_post_qed_ko_ko1": { "alt-ergo": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 } },
+  "wp:functions": { "bts0513": { "bts0513_ensures_qed_ko_ko2": { "alt-ergo": 
+                                                                   { "total": 1,
+                                                                    "unknown": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "unknown": 1 } },
+                                 "bts0513_ensures_qed_ko_ko1": { "alt-ergo": 
+                                                                   { "total": 1,
+                                                                    "unknown": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "unknown": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 2,
                                                                "unknown": 2 },
                                                  "wp:main": { "total": 2,
@@ -37,16 +37,16 @@
                                                                  "valid": 1 },
                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                              "dpd1_stmt_assign": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
-                              "dpd1_stmt_post_qed_ko_Eko": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 } },
+                              "dpd1_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "dpd1_ensures_qed_ko_Eko": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
                               "wp:section": { "alt-ergo": { "total": 1,
                                                             "unknown": 1 },
                                               "qed": { "total": 2,
@@ -54,22 +54,20 @@
                                               "wp:main": { "total": 3,
                                                            "valid": 2,
                                                            "unknown": 1 } } },
-                    "dpd2": { "dpd2_assert_qed_ok_A_for_P": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
-                              "dpd2_stmt_assign": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
-                              "dpd2_stmt_post_qed_ko_Eko": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 } },
+                    "dpd2": { "dpd2_assert_qed_ok_A": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                              "dpd2_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "dpd2_ensures_qed_ko_Eko": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
                               "wp:section": { "alt-ergo": { "total": 1,
                                                             "unknown": 1 },
                                               "qed": { "total": 2,
@@ -83,32 +81,29 @@
                                  "spec_if_assert_rte_signed_overflow": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "spec_if_stmt_assign_3": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
-                                 "spec_if_stmt_assign_2": { "qed": { "total": 1,
+                                 "spec_if_assigns_3": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                                 "spec_if_assigns_2": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                                 "spec_if_assigns": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                                 "spec_if_ensures_qed_ok": { "qed": { "total": 1,
                                                                     "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
-                                 "spec_if_stmt_assign": { "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1 } },
-                                 "spec_if_stmt_post_qed_ok": { "qed": 
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
+                                 "spec_if_ensures_qed_ok_2": { "qed": 
                                                                  { "total": 1,
                                                                    "valid": 1 },
                                                                "wp:main": 
                                                                  { "total": 1,
                                                                    "valid": 1 } },
-                                 "spec_if_post_qed_ok": { "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 2,
                                                                "unknown": 2 },
                                                  "qed": { "total": 5,
@@ -116,7 +111,7 @@
                                                  "wp:main": { "total": 7,
                                                               "valid": 5,
                                                               "unknown": 2 } } },
-                    "spec_if_cond": { "spec_if_cond_stmt_post_qed_ok": 
+                    "spec_if_cond": { "spec_if_cond_ensures_qed_ok": 
                                         { "qed": { "total": 1, "valid": 1 },
                                           "wp:main": { "total": 1,
                                                        "valid": 1 } },
@@ -124,7 +119,7 @@
                                                                "valid": 1 },
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1 } } },
-                    "spec_if_not_cond": { "spec_if_not_cond_stmt_post_qed_ok": 
+                    "spec_if_not_cond": { "spec_if_not_cond_ensures_qed_ok": 
                                             { "qed": { "total": 1,
                                                        "valid": 1 },
                                               "wp:main": { "total": 1,
@@ -149,17 +144,17 @@
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
                                                             "valid": 1 } },
-                                           "default_behaviors_stmt_assign": 
+                                           "default_behaviors_assigns": 
                                              { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
                                                             "valid": 1 } },
-                                           "default_behaviors_stmt_post_qed_ok_stmt_p": 
+                                           "default_behaviors_ensures_qed_ok_stmt_p": 
                                              { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
                                                             "valid": 1 } },
-                                           "default_behaviors_post_qed_ok": 
+                                           "default_behaviors_ensures_qed_ok": 
                                              { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/arith.i.0.report.json b/src/plugins/wp/tests/wp_acsl/arith.i.0.report.json
index 613f84813e258b26e25ef8f2db1f40d10206834a..8d930f7e71b1fb9b714dfae57822e0aabc380cf9 100644
--- a/src/plugins/wp/tests/wp_acsl/arith.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/arith.i.0.report.json
@@ -106,7 +106,7 @@
                                            "wp:main": { "total": 21,
                                                         "valid": 21,
                                                         "rank": 0 } } } },
-  "wp:functions": { "cast_sgn_usgn": { "cast_sgn_usgn_post_qed_ok_nat": 
+  "wp:functions": { "cast_sgn_usgn": { "cast_sgn_usgn_ensures_qed_ok_nat": 
                                          { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } },
diff --git a/src/plugins/wp/tests/wp_acsl/arith.i.1.report.json b/src/plugins/wp/tests/wp_acsl/arith.i.1.report.json
index 5d5263c3f330fa7ee13c1252c37d23dec9c81519..d2cc0ea1c99088084f9c0d3f60a86defa91a9008 100644
--- a/src/plugins/wp/tests/wp_acsl/arith.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/arith.i.1.report.json
@@ -1,6 +1,6 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "wp:main": { "total": 1, "unknown": 1 } },
-  "wp:functions": { "cast_sgn_usgn": { "cast_sgn_usgn_post_qed_ko_KO": 
+  "wp:functions": { "cast_sgn_usgn": { "cast_sgn_usgn_ensures_qed_ko_KO": 
                                          { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/assign_array.i.0.report.json b/src/plugins/wp/tests/wp_acsl/assign_array.i.0.report.json
index 0ed6cda82f4f07ee74997ae359be44570d4ec148..c9b4abc0b34fba30c01071e1f47fe4f2e8c8ce92 100644
--- a/src/plugins/wp/tests/wp_acsl/assign_array.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/assign_array.i.0.report.json
@@ -1,17 +1,17 @@
 { "wp:global": { "qed": { "total": 4, "valid": 4 },
                  "wp:main": { "total": 4, "valid": 4 } },
-  "wp:functions": { "jobA": { "jobA_assign": { "qed": { "total": 2,
-                                                        "valid": 2 },
-                                               "wp:main": { "total": 2,
-                                                            "valid": 2 } },
+  "wp:functions": { "jobA": { "jobA_assigns": { "qed": { "total": 2,
+                                                         "valid": 2 },
+                                                "wp:main": { "total": 2,
+                                                             "valid": 2 } },
                               "wp:section": { "qed": { "total": 2,
                                                        "valid": 2 },
                                               "wp:main": { "total": 2,
                                                            "valid": 2 } } },
-                    "jobG": { "jobG_assign": { "qed": { "total": 2,
-                                                        "valid": 2 },
-                                               "wp:main": { "total": 2,
-                                                            "valid": 2 } },
+                    "jobG": { "jobG_assigns": { "qed": { "total": 2,
+                                                         "valid": 2 },
+                                                "wp:main": { "total": 2,
+                                                             "valid": 2 } },
                               "wp:section": { "qed": { "total": 2,
                                                        "valid": 2 },
                                               "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_acsl/assigns_path.i.0.report.json b/src/plugins/wp/tests/wp_acsl/assigns_path.i.0.report.json
index 2866dccc60d1584dfa4b3b0f120c0806543c8969..d631c80748633898e04874a5d0e420fcfd89099c 100644
--- a/src/plugins/wp/tests/wp_acsl/assigns_path.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/assigns_path.i.0.report.json
@@ -1,40 +1,40 @@
 { "wp:global": { "alt-ergo": { "total": 3, "valid": 3, "rank": 5 },
                  "qed": { "total": 6, "valid": 6 },
                  "wp:main": { "total": 9, "valid": 9, "rank": 5 } },
-  "wp:functions": { "job": { "job_loop_inv_2": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 5 },
-                                                 "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 5 } },
-                             "job_loop_inv": { "alt-ergo": { "total": 1,
+  "wp:functions": { "job": { "job_loop_invariant_2": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 6 },
+                                                       "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 6 } },
+                             "job_loop_invariant": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 4 },
+                                                     "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2,
+                                                                  "rank": 4 } },
+                             "job_assigns": { "qed": { "total": 2,
+                                                       "valid": 2 },
+                                              "wp:main": { "total": 2,
+                                                           "valid": 2 } },
+                             "job_loop_assigns": { "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1 } },
+                             "job_ensures_A": { "alt-ergo": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 5 },
+                                                "wp:main": { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 3 },
-                                               "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 2,
-                                                            "valid": 2,
-                                                            "rank": 3 } },
-                             "job_assign": { "qed": { "total": 2,
-                                                      "valid": 2 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2 } },
-                             "job_loop_assign": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                             "job_post_A": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 4 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1,
-                                                          "rank": 4 } },
-                             "job_post_N": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                                                             "rank": 5 } },
+                             "job_ensures_N": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                              "wp:section": { "alt-ergo": { "total": 3,
                                                            "valid": 3,
                                                            "rank": 5 },
diff --git a/src/plugins/wp/tests/wp_acsl/assigns_range.i.0.report.json b/src/plugins/wp/tests/wp_acsl/assigns_range.i.0.report.json
index 1fe78dc9d29e99b87af197f1f38cff8e938a55a7..d0edaad17c5ad7f9cc643576a07e896ac641071b 100644
--- a/src/plugins/wp/tests/wp_acsl/assigns_range.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/assigns_range.i.0.report.json
@@ -1,31 +1,31 @@
 { "wp:global": { "alt-ergo": { "total": 5, "valid": 5, "rank": 2 },
                  "qed": { "total": 12, "valid": 12 },
                  "wp:main": { "total": 17, "valid": 17, "rank": 2 } },
-  "wp:functions": { "call_assigns_all": { "specialization_assigns_t4_sup_bound_pre_at_call_assigns_all_stmt_4": 
+  "wp:functions": { "call_assigns_all": { "assigns_t4_sup_bound_requires_2": 
                                             { "alt-ergo": { "total": 1,
                                                             "valid": 1,
-                                                            "rank": 2 },
+                                                            "rank": 3 },
                                               "wp:main": { "total": 1,
                                                            "valid": 1,
-                                                           "rank": 2 } },
-                                          "specialization_assigns_t3_inf_bound_pre_at_call_assigns_all_stmt_3": 
+                                                           "rank": 3 } },
+                                          "assigns_t3_inf_bound_requires_2": 
                                             { "qed": { "total": 1,
                                                        "valid": 1 },
                                               "wp:main": { "total": 1,
                                                            "valid": 1 } },
-                                          "specialization_assigns_t2_bound_pre_at_call_assigns_all_stmt_2": 
+                                          "assigns_t2_bound_requires_2": 
                                             { "qed": { "total": 1,
                                                        "valid": 1 },
                                               "wp:main": { "total": 1,
                                                            "valid": 1 } },
-                                          "specialization_assigns_t1_an_element_pre_at_call_assigns_all_stmt_1": 
+                                          "assigns_t1_an_element_requires_2": 
                                             { "alt-ergo": { "total": 1,
                                                             "valid": 1,
                                                             "rank": 2 },
                                               "wp:main": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 2 } },
-                                          "call_assigns_all_assign": 
+                                          "call_assigns_all_assigns": 
                                             { "qed": { "total": 10,
                                                        "valid": 10 },
                                               "wp:main": { "total": 10,
@@ -40,13 +40,13 @@
                                                             { "total": 14,
                                                               "valid": 14,
                                                               "rank": 2 } } },
-                    "call_assigns_t1": { "specialization_assigns_t1_an_element_pre_at_call_assigns_t1_stmt_8": 
+                    "call_assigns_t1": { "assigns_t1_an_element_requires_3": 
                                            { "alt-ergo": { "total": 1,
                                                            "valid": 1,
-                                                           "rank": 1 },
+                                                           "rank": 2 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1,
-                                                          "rank": 1 } },
+                                                          "rank": 2 } },
                                          "wp:section": { "alt-ergo": 
                                                            { "total": 1,
                                                              "valid": 1,
@@ -54,13 +54,13 @@
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 1 } } },
-                    "call_assigns_t2": { "specialization_assigns_t2_bound_pre_at_call_assigns_t2_stmt_11": 
+                    "call_assigns_t2": { "assigns_t2_bound_requires_3": 
                                            { "alt-ergo": { "total": 1,
                                                            "valid": 1,
-                                                           "rank": 1 },
+                                                           "rank": 2 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1,
-                                                          "rank": 1 } },
+                                                          "rank": 2 } },
                                          "wp:section": { "alt-ergo": 
                                                            { "total": 1,
                                                              "valid": 1,
@@ -68,7 +68,7 @@
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 1 } } },
-                    "call_assigns_t4": { "specialization_assigns_t4_sup_bound_pre_at_call_assigns_t4_stmt_14": 
+                    "call_assigns_t4": { "assigns_t4_sup_bound_requires_3": 
                                            { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 2 },
diff --git a/src/plugins/wp/tests/wp_acsl/assigns_range.i.1.report.json b/src/plugins/wp/tests/wp_acsl/assigns_range.i.1.report.json
index 95a3aef7e5be5982ddce042f7aeae17967b2fce4..e68efa739414de5aa88ca2c6c6b080ceb01e4d97 100644
--- a/src/plugins/wp/tests/wp_acsl/assigns_range.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/assigns_range.i.1.report.json
@@ -1,6 +1,6 @@
 { "wp:global": { "alt-ergo": { "total": 6, "unknown": 6 },
                  "wp:main": { "total": 6, "unknown": 6 } },
-  "wp:functions": { "call_assigns_t1": { "call_assigns_t1_assign": { "alt-ergo": 
+  "wp:functions": { "call_assigns_t1": { "call_assigns_t1_assigns": { "alt-ergo": 
                                                                     { "total": 2,
                                                                     "unknown": 2 },
                                                                     "wp:main": 
@@ -11,7 +11,7 @@
                                                              "unknown": 2 },
                                                          "wp:main": { "total": 2,
                                                                     "unknown": 2 } } },
-                    "call_assigns_t2": { "call_assigns_t2_assign": { "alt-ergo": 
+                    "call_assigns_t2": { "call_assigns_t2_assigns": { "alt-ergo": 
                                                                     { "total": 2,
                                                                     "unknown": 2 },
                                                                     "wp:main": 
@@ -22,7 +22,7 @@
                                                              "unknown": 2 },
                                                          "wp:main": { "total": 2,
                                                                     "unknown": 2 } } },
-                    "call_assigns_t4": { "call_assigns_t4_assign": { "alt-ergo": 
+                    "call_assigns_t4": { "call_assigns_t4_assigns": { "alt-ergo": 
                                                                     { "total": 2,
                                                                     "unknown": 2 },
                                                                     "wp:main": 
diff --git a/src/plugins/wp/tests/wp_acsl/axioms.i.0.report.json b/src/plugins/wp/tests/wp_acsl/axioms.i.0.report.json
index 04cbcf21bd93fe950ca4f1c2bf0e56d13bebae5b..eefcca4016015985dcbd4d79d14b610a9901b67e 100644
--- a/src/plugins/wp/tests/wp_acsl/axioms.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/axioms.i.0.report.json
@@ -3,41 +3,44 @@
                  "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 10, "valid": 8, "unknown": 2,
                               "rank": 22 } },
-  "wp:functions": { "f": { "f_loop_inv_Positive": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 8 },
-                                                    "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 8 } },
-                           "f_loop_inv_Index": { "alt-ergo": { "total": 2,
-                                                               "valid": 2,
-                                                               "rank": 5 },
-                                                 "wp:main": { "total": 2,
+  "wp:functions": { "f": { "f_loop_invariant_Positive": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 9 },
+                                                          "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 2,
                                                               "valid": 2,
-                                                              "rank": 5 } },
-                           "f_assign": { "alt-ergo": { "total": 1,
-                                                       "unknown": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "unknown": 1 } },
-                           "f_loop_assign": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 22 },
-                                              "qed": { "total": 2,
-                                                       "valid": 2 },
-                                              "wp:main": { "total": 3,
-                                                           "valid": 3,
-                                                           "rank": 22 } },
-                           "f_post_Q": { "alt-ergo": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 12 },
-                                         "wp:main": { "total": 1, "valid": 1,
-                                                      "rank": 12 } },
-                           "f_post_P_todo": { "alt-ergo": { "total": 1,
-                                                            "unknown": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "unknown": 1 } },
+                                                              "rank": 9 } },
+                           "f_loop_invariant_Index": { "alt-ergo": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 5 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 5 } },
+                           "f_assigns": { "alt-ergo": { "total": 1,
+                                                        "unknown": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "unknown": 1 } },
+                           "f_loop_assigns": { "alt-ergo": { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 22 },
+                                               "qed": { "total": 2,
+                                                        "valid": 2 },
+                                               "wp:main": { "total": 3,
+                                                            "valid": 3,
+                                                            "rank": 22 } },
+                           "f_ensures_Q": { "alt-ergo": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 12 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1,
+                                                         "rank": 12 } },
+                           "f_ensures_P_todo": { "alt-ergo": { "total": 1,
+                                                               "unknown": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 7,
                                                          "valid": 5,
                                                          "unknown": 2,
diff --git a/src/plugins/wp/tests/wp_acsl/base_offset.i.0.report.json b/src/plugins/wp/tests/wp_acsl/base_offset.i.0.report.json
index b89a535bdd006c8874e52faed199900d732a2999..00e56d6163eb0a3226a058f7518a6b315a27e255 100644
--- a/src/plugins/wp/tests/wp_acsl/base_offset.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/base_offset.i.0.report.json
@@ -1,16 +1,18 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 3 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 3, "valid": 3, "rank": 3 } },
-  "wp:functions": { "f": { "f_post_3": { "alt-ergo": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 3 },
-                                         "wp:main": { "total": 1, "valid": 1,
-                                                      "rank": 3 } },
-                           "f_post_2": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "f_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+  "wp:functions": { "f": { "f_ensures_3": { "alt-ergo": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 3 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1,
+                                                         "rank": 3 } },
+                           "f_ensures_2": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
+                           "f_ensures": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 3 },
diff --git a/src/plugins/wp/tests/wp_acsl/bitwise.i.0.report.json b/src/plugins/wp/tests/wp_acsl/bitwise.i.0.report.json
index c59febe4d379e2ecc4dfabe44e015b836b47ec35..65c0f07e3beca29399fdfe4d87c64f9a48c965b0 100644
--- a/src/plugins/wp/tests/wp_acsl/bitwise.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/bitwise.i.0.report.json
@@ -3,139 +3,150 @@
                  "qed": { "total": 25, "valid": 25 },
                  "wp:main": { "total": 29, "valid": 26, "unknown": 3,
                               "rank": 2 } },
-  "wp:functions": { "band": { "band_bit4_post_band6": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                              "band_bit3_post_band5": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                              "band_bit2_post_band4": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                              "band_bit1_post_band3": { "qed": { "total": 1,
+  "wp:functions": { "band": { "band_bit4_ensures_band6": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                              "band_bit3_ensures_band5": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                              "band_bit2_ensures_band4": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                              "band_bit1_ensures_band3": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                              "band_bit0_ensures_band2": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                              "band_bit0_ensures_band1": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                              "band_ensures_band0": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                              "band_ensures": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "wp:section": { "qed": { "total": 8,
+                                                       "valid": 8 },
+                                              "wp:main": { "total": 8,
+                                                           "valid": 8 } } },
+                    "bor": { "bor_bit3_ensures_bor3": { "qed": { "total": 1,
                                                                  "valid": 1 },
                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                              "band_bit0_post_band2": { "qed": { "total": 1,
+                             "bor_bit2_ensures_bor2": { "qed": { "total": 1,
                                                                  "valid": 1 },
                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                              "band_bit0_post_band1": { "qed": { "total": 1,
+                             "bor_bit1_ensures_bor1": { "qed": { "total": 1,
                                                                  "valid": 1 },
                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                              "band_post_band0": { "qed": { "total": 1,
+                             "bor_ensures_bor0": { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } },
-                              "band_post": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
-                              "wp:section": { "qed": { "total": 8,
-                                                       "valid": 8 },
-                                              "wp:main": { "total": 8,
-                                                           "valid": 8 } } },
-                    "bor": { "bor_bit3_post_bor3": { "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1 } },
-                             "bor_bit2_post_bor2": { "qed": { "total": 1,
+                             "bor_ensures": { "qed": { "total": 1,
+                                                       "valid": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1 } },
+                             "wp:section": { "qed": { "total": 5,
+                                                      "valid": 5 },
+                                             "wp:main": { "total": 5,
+                                                          "valid": 5 } } },
+                    "bxor": { "bxor_bit2_ensures": { "qed": { "total": 1,
                                                               "valid": 1 },
                                                      "wp:main": { "total": 1,
                                                                   "valid": 1 } },
-                             "bor_bit1_post_bor1": { "qed": { "total": 1,
+                              "bxor_bit1_ensures": { "qed": { "total": 1,
                                                               "valid": 1 },
                                                      "wp:main": { "total": 1,
                                                                   "valid": 1 } },
-                             "bor_post_bor0": { "qed": { "total": 1,
+                              "bxor_ensures": { "qed": { "total": 1,
                                                          "valid": 1 },
                                                 "wp:main": { "total": 1,
                                                              "valid": 1 } },
-                             "bor_post": { "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1 } },
-                             "wp:section": { "qed": { "total": 5,
-                                                      "valid": 5 },
-                                             "wp:main": { "total": 5,
-                                                          "valid": 5 } } },
-                    "bxor": { "bxor_bit2_post": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                              "bxor_bit1_post": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                              "bxor_post": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
                               "wp:section": { "qed": { "total": 3,
                                                        "valid": 3 },
                                               "wp:main": { "total": 3,
                                                            "valid": 3 } } },
-                    "bnot": { "bnot_post": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                    "bnot": { "bnot_ensures": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                               "wp:section": { "qed": { "total": 1,
                                                        "valid": 1 },
                                               "wp:main": { "total": 1,
                                                            "valid": 1 } } },
-                    "lshift": { "lshift_shift2_post_lsl3": { "qed": { "total": 1,
+                    "lshift": { "lshift_shift2_ensures_lsl3": { "qed": 
+                                                                  { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1 } },
-                                "lshift_shift1_post_lsl2": { "qed": { "total": 1,
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 } },
+                                "lshift_shift1_ensures_lsl2": { "qed": 
+                                                                  { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1 } },
-                                "lshift_shift1_post_lsl1": { "qed": { "total": 1,
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 } },
+                                "lshift_shift1_ensures_lsl1": { "qed": 
+                                                                  { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 } },
+                                "lshift_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
                                                                  "valid": 1 } },
-                                "lshift_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
                                 "wp:section": { "qed": { "total": 4,
                                                          "valid": 4 },
                                                 "wp:main": { "total": 4,
                                                              "valid": 4 } } },
-                    "rshift": { "rshift_shift1_post_lsr1": { "qed": { "total": 1,
+                    "rshift": { "rshift_shift1_ensures_lsr1": { "qed": 
+                                                                  { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 } },
+                                "rshift_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
                                                                  "valid": 1 } },
-                                "rshift_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
                                 "wp:section": { "qed": { "total": 2,
                                                          "valid": 2 },
                                                 "wp:main": { "total": 2,
                                                              "valid": 2 } } },
-                    "bor_bool": { "bor_bool_false_post": { "alt-ergo": 
-                                                             { "total": 1,
-                                                               "unknown": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "unknown": 1 } },
-                                  "bor_bool_true_post": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 } },
+                    "bor_bool": { "bor_bool_false_ensures": { "alt-ergo": 
+                                                                { "total": 1,
+                                                                  "unknown": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "unknown": 1 } },
+                                  "bor_bool_true_ensures": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 2 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 2 } },
                                   "wp:section": { "alt-ergo": { "total": 2,
                                                                 "valid": 1,
                                                                 "unknown": 1,
@@ -144,17 +155,18 @@
                                                                "valid": 1,
                                                                "unknown": 1,
                                                                "rank": 2 } } },
-                    "band_bool": { "band_bool_false_post": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 } },
-                                   "band_bool_true_post": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "band_bool": { "band_bool_false_ensures": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 } },
+                                   "band_bool_true_ensures": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "unknown": 1 },
                                                    "qed": { "total": 1,
@@ -162,17 +174,18 @@
                                                    "wp:main": { "total": 2,
                                                                 "valid": 1,
                                                                 "unknown": 1 } } },
-                    "bxor_bool": { "bxor_bool_false_post": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 } },
-                                   "bxor_bool_true_post": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "bxor_bool": { "bxor_bool_false_ensures": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 } },
+                                   "bxor_bool_true_ensures": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "unknown": 1 },
                                                    "qed": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/block_length.i.0.report.json b/src/plugins/wp/tests/wp_acsl/block_length.i.0.report.json
index fb673ed5ab9532f8584ec65e285bd2a3be38b28c..20266136120270c069fde403de99a3b22be7845e 100644
--- a/src/plugins/wp/tests/wp_acsl/block_length.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/block_length.i.0.report.json
@@ -1,40 +1,45 @@
 { "wp:global": { "qed": { "total": 10, "valid": 10 },
                  "wp:main": { "total": 10, "valid": 10 } },
-  "wp:functions": { "f": { "f_post_Pts1": { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
-                           "f_post_Pmat12": { "qed": { "total": 1,
+  "wp:functions": { "f": { "f_ensures_Pts1": { "qed": { "total": 1,
+                                                        "valid": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "valid": 1 } },
+                           "f_ensures_Pmat12": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_Pt1": { "qed": { "total": 1,
                                                        "valid": 1 },
                                               "wp:main": { "total": 1,
                                                            "valid": 1 } },
-                           "f_post_Pt1": { "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1 } },
-                           "f_post_Pts": { "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1 } },
-                           "f_post_Ps": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_Pmat2": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
-                           "f_post_Psiz2": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
-                           "f_post_Pmat1": { "qed": { "total": 1,
+                           "f_ensures_Pts": { "qed": { "total": 1,
+                                                       "valid": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1 } },
+                           "f_ensures_Ps": { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1 } },
-                           "f_post_Psiz1": { "qed": { "total": 1,
+                           "f_ensures_Pmat2": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                           "f_ensures_Psiz2": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                           "f_ensures_Pmat1": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                           "f_ensures_Psiz1": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                           "f_ensures_Pt": { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1 } },
-                           "f_post_Pt": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 10,
                                                     "valid": 10 },
                                            "wp:main": { "total": 10,
diff --git a/src/plugins/wp/tests/wp_acsl/cnf.i.0.report.json b/src/plugins/wp/tests/wp_acsl/cnf.i.0.report.json
index 67e7a7e8eb88868ae70419c0b6878abdf09e6605..02bbe2c305041e6d908733978e4dc5c0bf4eb7cf 100644
--- a/src/plugins/wp/tests/wp_acsl/cnf.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/cnf.i.0.report.json
@@ -1,231 +1,242 @@
 { "wp:global": { "alt-ergo": { "total": 32, "valid": 32, "rank": 42 },
                  "qed": { "total": 11, "valid": 11 },
                  "wp:main": { "total": 43, "valid": 43, "rank": 42 } },
-  "wp:functions": { "f": { "f_post_e2": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_e1": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_e0": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_d9": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 6 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 6 } },
-                           "f_post_d8": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 2 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 2 } },
-                           "f_post_d7": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 2 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 2 } },
-                           "f_post_d6": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 5 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 5 } },
-                           "f_post_d5": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 3 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 3 } },
-                           "f_post_d4": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 5 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 5 } },
-                           "f_post_d3": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 5 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 5 } },
-                           "f_post_d2": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 4 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 4 } },
-                           "f_post_d1": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 4 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 4 } },
-                           "f_post_d0": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 5 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 5 } },
-                           "f_post_c9": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_c8": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_c7": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 12 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 12 } },
-                           "f_post_c6": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 9 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 9 } },
-                           "f_post_c5": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 12 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 12 } },
-                           "f_post_c4": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 3 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 3 } },
-                           "f_post_c3": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 3 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 3 } },
-                           "f_post_c2": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 2 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 2 } },
-                           "f_post_c1": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_c0": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 3 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 3 } },
-                           "f_post_b9": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_b8": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_b7": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_b6": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_b5": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_b4": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_b3": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_b2": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_b1": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_b0": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_a9": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 42 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 42 } },
-                           "f_post_a8": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 22 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 22 } },
-                           "f_post_a7": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 13 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 13 } },
-                           "f_post_a6": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 4 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 4 } },
-                           "f_post_a5": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 7 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 7 } },
-                           "f_post_a4": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a3": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a2": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_a1": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_a0": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
+  "wp:functions": { "f": { "f_ensures_e2": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_e1": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_e0": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_d9": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 6 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 6 } },
+                           "f_ensures_d8": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 2 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 2 } },
+                           "f_ensures_d7": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 2 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 2 } },
+                           "f_ensures_d6": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 5 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 5 } },
+                           "f_ensures_d5": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 3 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 3 } },
+                           "f_ensures_d4": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 5 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 5 } },
+                           "f_ensures_d3": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 5 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 5 } },
+                           "f_ensures_d2": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 4 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 4 } },
+                           "f_ensures_d1": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 4 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 4 } },
+                           "f_ensures_d0": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 5 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 5 } },
+                           "f_ensures_c9": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_c8": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_c7": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 12 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 12 } },
+                           "f_ensures_c6": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 9 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 9 } },
+                           "f_ensures_c5": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 12 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 12 } },
+                           "f_ensures_c4": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 3 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 3 } },
+                           "f_ensures_c3": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 3 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 3 } },
+                           "f_ensures_c2": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 2 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 2 } },
+                           "f_ensures_c1": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_c0": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 3 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 3 } },
+                           "f_ensures_b9": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_b8": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_b7": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_b6": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_b5": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_b4": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_b3": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_b2": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_b1": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_b0": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_a9": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 42 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 42 } },
+                           "f_ensures_a8": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 22 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 22 } },
+                           "f_ensures_a7": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 13 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 13 } },
+                           "f_ensures_a6": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 4 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 4 } },
+                           "f_ensures_a5": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 7 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 7 } },
+                           "f_ensures_a4": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a3": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a2": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_a1": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_a0": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
                            "wp:section": { "alt-ergo": { "total": 32,
                                                          "valid": 32,
                                                          "rank": 42 },
diff --git a/src/plugins/wp/tests/wp_acsl/div_mod.i.0.report.json b/src/plugins/wp/tests/wp_acsl/div_mod.i.0.report.json
index a6918d2a8a054472d9f3d9a8b4649459216a1972..91e01b9e14e7069bfd31348b1c7ba0df36caafd9 100644
--- a/src/plugins/wp/tests/wp_acsl/div_mod.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/div_mod.i.0.report.json
@@ -1,137 +1,165 @@
 { "wp:global": { "alt-ergo": { "total": 22, "valid": 22, "rank": 2 },
                  "wp:main": { "total": 22, "valid": 22, "rank": 2 } },
-  "wp:functions": { "f": { "f_post_sm3_mod_neg_neg": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                           "f_post_sm2_mod_pos_neg": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                           "f_post_sm1_mod_neg_pos": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                           "f_post_sm0_mod_pos_pos": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                           "f_post_m6_mod_0_x": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 2 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 2 } },
-                           "f_post_m5_mod_x_minus1": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                           "f_post_m4_mod_x_1": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 1 } },
-                           "f_post_m3_mod_neg_neg": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 1 },
-                                                      "wp:main": { "total": 1,
+  "wp:functions": { "f": { "f_ensures_sm3_mod_neg_neg": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                           "f_ensures_sm2_mod_pos_neg": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                           "f_ensures_sm1_mod_neg_pos": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                           "f_ensures_sm0_mod_pos_pos": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                           "f_ensures_m6_mod_0_x": { "alt-ergo": { "total": 1,
                                                                    "valid": 1,
-                                                                   "rank": 1 } },
-                           "f_post_m2_mod_pos_neg": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 1 } },
-                           "f_post_m1_mod_neg_pos": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 1 },
-                                                      "wp:main": { "total": 1,
+                                                                   "rank": 3 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 3 } },
+                           "f_ensures_m5_mod_x_minus1": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 3 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 3 } },
+                           "f_ensures_m4_mod_x_1": { "alt-ergo": { "total": 1,
                                                                    "valid": 1,
-                                                                   "rank": 1 } },
-                           "f_post_m0_mod_pos_pos": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 1 } },
-                           "f_post_sd3_div_neg_neg": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                           "f_post_sd2_div_pos_neg": { "alt-ergo": { "total": 1,
+                                                                   "rank": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 1 } },
+                           "f_ensures_m3_mod_neg_neg": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 2 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                           "f_post_sd1_div_neg_pos": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                           "f_post_sd0_div_pos_pos": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                           "f_post_d6_div_0_x": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 2 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 2 } },
-                           "f_post_d5_div_x_minus1": { "alt-ergo": { "total": 1,
+                                                                    "rank": 1 } },
+                           "f_ensures_m2_mod_pos_neg": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 1 },
-                                                       "wp:main": { "total": 1,
+                                                                    "rank": 1 } },
+                           "f_ensures_m1_mod_neg_pos": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 1 } },
-                           "f_post_d4_div_x_1": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 1 } },
-                           "f_post_d3_div_neg_neg": { "alt-ergo": { "total": 1,
+                           "f_ensures_m0_mod_pos_pos": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 1 },
-                                                      "wp:main": { "total": 1,
+                                                                    "rank": 1 } },
+                           "f_ensures_sd3_div_neg_neg": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                           "f_ensures_sd2_div_pos_neg": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                           "f_ensures_sd1_div_neg_pos": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                           "f_ensures_sd0_div_pos_pos": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                           "f_ensures_d6_div_0_x": { "alt-ergo": { "total": 1,
                                                                    "valid": 1,
-                                                                   "rank": 1 } },
-                           "f_post_d2_div_pos_neg": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 1 },
-                                                      "wp:main": { "total": 1,
+                                                                   "rank": 3 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 3 } },
+                           "f_ensures_d5_div_x_minus1": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                           "f_ensures_d4_div_x_1": { "alt-ergo": { "total": 1,
                                                                    "valid": 1,
-                                                                   "rank": 1 } },
-                           "f_post_d1_div_neg_pos": { "alt-ergo": { "total": 1,
+                                                                   "rank": 2 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 2 } },
+                           "f_ensures_d3_div_neg_neg": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 1 } },
-                           "f_post_d0_div_pos_pos": { "alt-ergo": { "total": 1,
+                                                                    "rank": 1 } },
+                           "f_ensures_d2_div_pos_neg": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 1 } },
+                                                                    "rank": 1 } },
+                           "f_ensures_d1_div_neg_pos": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 1 } },
+                           "f_ensures_d0_div_pos_pos": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 1 } },
                            "wp:section": { "alt-ergo": { "total": 22,
                                                          "valid": 22,
                                                          "rank": 2 },
diff --git a/src/plugins/wp/tests/wp_acsl/div_mod.i.1.report.json b/src/plugins/wp/tests/wp_acsl/div_mod.i.1.report.json
index 42f37807207f7895f6b56751c5c1cab33f6cc17e..ce944a4be8c1f241fab89018a588b755f5b8a56d 100644
--- a/src/plugins/wp/tests/wp_acsl/div_mod.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/div_mod.i.1.report.json
@@ -1,111 +1,125 @@
 { "wp:global": { "why3:alt-ergo": { "total": 22, "valid": 22 },
                  "wp:main": { "total": 22, "valid": 22 } },
-  "wp:functions": { "f": { "f_post_sm3_mod_neg_neg": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
+  "wp:functions": { "f": { "f_ensures_sm3_mod_neg_neg": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_sm2_mod_pos_neg": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_sm1_mod_neg_pos": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_sm0_mod_pos_pos": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_m6_mod_0_x": { "why3:alt-ergo": 
+                                                       { "total": 1,
+                                                         "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                           "f_ensures_m5_mod_x_minus1": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_m4_mod_x_1": { "why3:alt-ergo": 
+                                                       { "total": 1,
+                                                         "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                           "f_ensures_m3_mod_neg_neg": { "why3:alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                           "f_post_sm2_mod_pos_neg": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
+                           "f_ensures_m2_mod_pos_neg": { "why3:alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                           "f_post_sm1_mod_neg_pos": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
+                           "f_ensures_m1_mod_neg_pos": { "why3:alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                           "f_post_sm0_mod_pos_pos": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
+                           "f_ensures_m0_mod_pos_pos": { "why3:alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                           "f_post_m6_mod_0_x": { "why3:alt-ergo": { "total": 1,
-                                                                    "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                           "f_post_m5_mod_x_minus1": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
+                           "f_ensures_sd3_div_neg_neg": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_sd2_div_pos_neg": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_sd1_div_neg_pos": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_sd0_div_pos_pos": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_d6_div_0_x": { "why3:alt-ergo": 
+                                                       { "total": 1,
+                                                         "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                           "f_ensures_d5_div_x_minus1": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_d4_div_x_1": { "why3:alt-ergo": 
+                                                       { "total": 1,
+                                                         "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                           "f_ensures_d3_div_neg_neg": { "why3:alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                           "f_post_m4_mod_x_1": { "why3:alt-ergo": { "total": 1,
-                                                                    "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                           "f_post_m3_mod_neg_neg": { "why3:alt-ergo": 
-                                                        { "total": 1,
-                                                          "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                           "f_post_m2_mod_pos_neg": { "why3:alt-ergo": 
-                                                        { "total": 1,
-                                                          "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                           "f_post_m1_mod_neg_pos": { "why3:alt-ergo": 
-                                                        { "total": 1,
-                                                          "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                           "f_post_m0_mod_pos_pos": { "why3:alt-ergo": 
-                                                        { "total": 1,
-                                                          "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                           "f_post_sd3_div_neg_neg": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
+                           "f_ensures_d2_div_pos_neg": { "why3:alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                           "f_post_sd2_div_pos_neg": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
+                           "f_ensures_d1_div_neg_pos": { "why3:alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                           "f_post_sd1_div_neg_pos": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
+                           "f_ensures_d0_div_pos_pos": { "why3:alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                           "f_post_sd0_div_pos_pos": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_post_d6_div_0_x": { "why3:alt-ergo": { "total": 1,
-                                                                    "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                           "f_post_d5_div_x_minus1": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_post_d4_div_x_1": { "why3:alt-ergo": { "total": 1,
-                                                                    "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                           "f_post_d3_div_neg_neg": { "why3:alt-ergo": 
-                                                        { "total": 1,
-                                                          "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                           "f_post_d2_div_pos_neg": { "why3:alt-ergo": 
-                                                        { "total": 1,
-                                                          "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                           "f_post_d1_div_neg_pos": { "why3:alt-ergo": 
-                                                        { "total": 1,
-                                                          "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                           "f_post_d0_div_pos_pos": { "why3:alt-ergo": 
-                                                        { "total": 1,
-                                                          "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
                            "wp:section": { "why3:alt-ergo": { "total": 22,
                                                               "valid": 22 },
                                            "wp:main": { "total": 22,
diff --git a/src/plugins/wp/tests/wp_acsl/div_mod.i.2.report.json b/src/plugins/wp/tests/wp_acsl/div_mod.i.2.report.json
index 2296ef2855715d7f43c75faf36c55c4f2ebe4cb8..0488ae3aa58aa498aaea1c450afe90a1dc670377 100644
--- a/src/plugins/wp/tests/wp_acsl/div_mod.i.2.report.json
+++ b/src/plugins/wp/tests/wp_acsl/div_mod.i.2.report.json
@@ -1,13 +1,13 @@
 { "wp:global": { "alt-ergo": { "total": 2, "unknown": 2 },
                  "wp:main": { "total": 2, "unknown": 2 } },
-  "wp:functions": { "f": { "f_post_m7_mod_0_x_ko": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                           "f_post_d7_div_0_x_ko": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
+  "wp:functions": { "f": { "f_ensures_m7_mod_0_x_ko": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                           "f_ensures_d7_div_0_x_ko": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 2,
                                                          "unknown": 2 },
                                            "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_acsl/e_imply.i.0.report.json b/src/plugins/wp/tests/wp_acsl/e_imply.i.0.report.json
index 764dbf0656bc0529dec4b6b2dae21d9668c2a7d4..45608cf39a24b0277ab31b900c41307ad04049e9 100644
--- a/src/plugins/wp/tests/wp_acsl/e_imply.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/e_imply.i.0.report.json
@@ -1,702 +1,633 @@
 { "wp:global": { "alt-ergo": { "total": 111, "valid": 111, "rank": 3 },
                  "qed": { "total": 8, "valid": 8 },
                  "wp:main": { "total": 119, "valid": 119, "rank": 3 } },
-  "wp:axiomatics": { "": { "global_Qed_0077": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0076": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0075": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0074": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0073": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0072": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0071": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0070": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0069": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0068": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0067": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0066": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0065": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0064": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0063": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0062": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0061": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0060": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0059": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0058": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0057": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0056": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 1 } },
-                           "global_Qed_0055": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0054": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0053": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0052": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 3 } },
-                           "global_Qed_0051": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0050": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 1 } },
-                           "global_Qed_0049": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0048": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0047": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0046": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0045": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0044": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0043": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0042": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0041": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0040": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0039": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0038": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0037": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0036": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0035": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0034": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0033": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0032": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0031": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0030": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0029": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0028": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0027": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0026": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0025": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0024": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0023": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0022": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0021": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0020": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0019": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0018": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0017": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0016": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0015": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 1 } },
-                           "global_Qed_0014": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0013": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 1 } },
-                           "global_Qed_0012": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 1 } },
-                           "global_Qed_0011": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0010": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0009": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0008": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0007": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0006": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 2 } },
-                           "global_Qed_0005": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0004": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0003": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0002": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
-                           "global_Qed_0001": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 0 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 0 } },
+  "wp:axiomatics": { "": { "Qed_0077": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0076": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0075": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0074": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0073": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0072": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0071": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0070": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0069": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0068": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0067": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0066": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0065": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0064": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0063": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0062": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0061": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0060": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0059": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0058": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0057": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0056": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 1 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 1 } },
+                           "Qed_0055": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0054": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0053": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0052": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 3 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 3 } },
+                           "Qed_0051": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0050": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 1 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 1 } },
+                           "Qed_0049": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0048": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0047": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0046": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0045": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0044": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0043": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0042": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0041": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0040": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0039": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0038": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0037": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0036": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0035": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0034": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0033": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0032": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0031": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0030": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0029": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0028": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0027": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0026": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0025": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0024": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0023": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0022": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0021": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0020": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0019": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0018": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0017": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0016": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0015": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 1 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 1 } },
+                           "Qed_0014": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0013": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 1 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 1 } },
+                           "Qed_0012": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 1 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 1 } },
+                           "Qed_0011": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0010": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0009": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0008": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0007": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0006": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 2 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 2 } },
+                           "Qed_0005": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0004": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0003": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0002": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
+                           "Qed_0001": { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 0 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 0 } },
                            "wp:section": { "alt-ergo": { "total": 77,
                                                          "valid": 77,
                                                          "rank": 3 },
                                            "wp:main": { "total": 77,
                                                         "valid": 77,
                                                         "rank": 3 } } } },
-  "wp:functions": { "f": { "f_post_f1": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_f0": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_o9": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_o8": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_o7": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_o6": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_o5": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_o4": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_o3": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_o2": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_o1": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_o0": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a9": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a8": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a7": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a6": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a5": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a4": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a3": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a2": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a1": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_a0": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_i9": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_i8": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_i7": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 2 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 2 } },
-                           "f_post_i6": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 2 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 2 } },
-                           "f_post_i5": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_i4": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_i3": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_i2": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_i1": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_i0": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_p9": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_p8": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_p7": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_p6": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_p5": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_p4": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                           "f_post_p3": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_p2": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
-                           "f_post_p1": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 1 } },
-                           "f_post_p0": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 0 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 0 } },
+  "wp:functions": { "f": { "f_ensures_f1": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_f0": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_o9": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_o8": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_o7": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_o6": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_o5": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_o4": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_o3": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_o2": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_o1": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_o0": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a9": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a8": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a7": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a6": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a5": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a4": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a3": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a2": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a1": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_a0": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_i9": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_i8": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_i7": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 2 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 2 } },
+                           "f_ensures_i6": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 2 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 2 } },
+                           "f_ensures_i5": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_i4": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_i3": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_i2": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_i1": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_i0": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_p9": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_p8": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_p7": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_p6": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_p5": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_p4": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_ensures_p3": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_p2": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
+                           "f_ensures_p1": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 1 } },
+                           "f_ensures_p0": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 0 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 0 } },
                            "wp:section": { "alt-ergo": { "total": 34,
                                                          "valid": 34,
                                                          "rank": 2 },
diff --git a/src/plugins/wp/tests/wp_acsl/equal.i.0.report.json b/src/plugins/wp/tests/wp_acsl/equal.i.0.report.json
index df2fc6fa43a89a0724d706d43dda02153146db91..09df329ac3888a77c5897374c8cc9dc96a304701 100644
--- a/src/plugins/wp/tests/wp_acsl/equal.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/equal.i.0.report.json
@@ -1,37 +1,37 @@
 { "wp:global": { "alt-ergo": { "total": 5, "valid": 5, "rank": 7 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 6, "valid": 6, "rank": 7 } },
-  "wp:functions": { "simple_struct": { "simple_struct_post": { "qed": 
-                                                                 { "total": 1,
-                                                                   "valid": 1 },
-                                                               "wp:main": 
-                                                                 { "total": 1,
-                                                                   "valid": 1 } },
+  "wp:functions": { "simple_struct": { "simple_struct_ensures": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                  "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
                                        "wp:section": { "qed": { "total": 1,
                                                                 "valid": 1 },
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1 } } },
-                    "simple_array": { "simple_array_post": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 4 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 4 } },
+                    "simple_array": { "simple_array_ensures": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 4 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 4 } },
                                       "wp:section": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 4 },
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1,
                                                                    "rank": 4 } } },
-                    "with_array_struct": { "with_array_struct_post": 
+                    "with_array_struct": { "with_array_struct_ensures": 
                                              { "alt-ergo": { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 3 },
+                                                             "rank": 4 },
                                                "wp:main": { "total": 1,
                                                             "valid": 1,
-                                                            "rank": 3 } },
+                                                            "rank": 4 } },
                                            "wp:section": { "alt-ergo": 
                                                              { "total": 1,
                                                                "valid": 1,
@@ -40,14 +40,14 @@
                                                              { "total": 1,
                                                                "valid": 1,
                                                                "rank": 3 } } },
-                    "with_ptr_struct": { "with_ptr_struct_post": { "alt-ergo": 
+                    "with_ptr_struct": { "with_ptr_struct_ensures": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 1 },
-                                                                   "wp:main": 
+                                                                    "rank": 2 },
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 1 } },
+                                                                    "rank": 2 } },
                                          "wp:section": { "alt-ergo": 
                                                            { "total": 1,
                                                              "valid": 1,
@@ -55,27 +55,27 @@
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 1 } } },
-                    "with_ptr_array": { "with_ptr_array_post": { "alt-ergo": 
-                                                                   { "total": 1,
+                    "with_ptr_array": { "with_ptr_array_ensures": { "alt-ergo": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 3 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
+                                                                    "rank": 4 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 3 } },
+                                                                    "rank": 4 } },
                                         "wp:section": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 3 },
                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 3 } } },
-                    "with_ptr_and_array_struct": { "with_ptr_and_array_struct_post": 
+                    "with_ptr_and_array_struct": { "with_ptr_and_array_struct_ensures": 
                                                      { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 7 },
+                                                                    "rank": 8 },
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 7 } },
+                                                                    "rank": 8 } },
                                                    "wp:section": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/funvar_inv.i.0.report.json b/src/plugins/wp/tests/wp_acsl/funvar_inv.i.0.report.json
index 3983dfdf97939afea2aea6a13b13249858667c74..798d459f646ea58a686252d9745495b2787cbbe6 100644
--- a/src/plugins/wp/tests/wp_acsl/funvar_inv.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/funvar_inv.i.0.report.json
@@ -1,23 +1,23 @@
 { "wp:global": { "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 3, "valid": 3 } },
-  "wp:functions": { "f": { "f_loop_assign": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
+  "wp:functions": { "f": { "f_loop_assigns": { "qed": { "total": 1,
+                                                        "valid": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } },
-                    "f2": { "f2_loop_assign": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
+                    "f2": { "f2_loop_assigns": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
                             "wp:section": { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } } },
-                    "g": { "g_loop_assign": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
+                    "g": { "g_loop_assigns": { "qed": { "total": 1,
+                                                        "valid": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } } } }
diff --git a/src/plugins/wp/tests/wp_acsl/implicit_enum_cast.i.0.report.json b/src/plugins/wp/tests/wp_acsl/implicit_enum_cast.i.0.report.json
index f374dc090cf064d168175b01954a44a584a9dc3b..ed396bf7e2986b4e9eee657b6c51541ae3c34d3d 100644
--- a/src/plugins/wp/tests/wp_acsl/implicit_enum_cast.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/implicit_enum_cast.i.0.report.json
@@ -1,12 +1,13 @@
 { "wp:global": { "qed": { "total": 9, "valid": 9 },
                  "wp:main": { "total": 9, "valid": 9 } },
-  "wp:functions": { "bar": { "bar_assign": { "qed": { "total": 8,
-                                                      "valid": 8 },
-                                             "wp:main": { "total": 8,
-                                                          "valid": 8 } },
-                             "bar_post": { "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1 } },
+  "wp:functions": { "bar": { "bar_assigns": { "qed": { "total": 8,
+                                                       "valid": 8 },
+                                              "wp:main": { "total": 8,
+                                                           "valid": 8 } },
+                             "bar_ensures": { "qed": { "total": 1,
+                                                       "valid": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1 } },
                              "wp:section": { "qed": { "total": 9,
                                                       "valid": 9 },
                                              "wp:main": { "total": 9,
diff --git a/src/plugins/wp/tests/wp_acsl/init_label.i.0.report.json b/src/plugins/wp/tests/wp_acsl/init_label.i.0.report.json
index 81a337fa1fbd2bfb2c9372356b869ed194937958..3d33c8c50aa7c8d908c3718f8ff99be5e4a3bac1 100644
--- a/src/plugins/wp/tests/wp_acsl/init_label.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/init_label.i.0.report.json
@@ -3,38 +3,38 @@
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 4, "valid": 3, "unknown": 1,
                               "rank": 5 } },
-  "wp:functions": { "main": { "main_pre_OK": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+  "wp:functions": { "main": { "main_requires_OK": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                               "wp:section": { "qed": { "total": 1,
                                                        "valid": 1 },
                                               "wp:main": { "total": 1,
                                                            "valid": 1 } } },
-                    "job": { "job_post_OK": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 5 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 5 } },
+                    "job": { "job_ensures_OK": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 5 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 5 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 5 } } },
-                    "foreign": { "foreign_post_OK": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
+                    "foreign": { "foreign_ensures_OK": { "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                                  "wp:section": { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1 } } },
-                    "extra": { "extra_post_KO": { "alt-ergo": { "total": 1,
-                                                                "unknown": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "unknown": 1 } },
+                    "extra": { "extra_ensures_KO": { "alt-ergo": { "total": 1,
+                                                                   "unknown": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "unknown": 1 } },
                                "wp:section": { "alt-ergo": { "total": 1,
                                                              "unknown": 1 },
                                                "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/init_value.i.0.report.json b/src/plugins/wp/tests/wp_acsl/init_value.i.0.report.json
index ed3d641728778606547731d1d152cd81ce12ddbd..577a3f779da8f885a59f3b5dc6353e0b41ac3db5 100644
--- a/src/plugins/wp/tests/wp_acsl/init_value.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/init_value.i.0.report.json
@@ -1,114 +1,112 @@
 { "wp:global": { "alt-ergo": { "total": 7, "valid": 7, "rank": 29 },
                  "qed": { "total": 17, "valid": 17 },
                  "wp:main": { "total": 24, "valid": 24, "rank": 29 } },
-  "wp:functions": { "main": { "main_pre_qed_ok_direct_init_union": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                              "main_pre_qed_ok_5": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 2 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 2 } },
-                              "main_pre_qed_ok_4": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 2 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 2 } },
-                              "main_pre_qed_ok_todo": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                              "main_pre_qed_ok_3": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 2 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 2 } },
-                              "main_pre_qed_ok_2": { "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1 } },
-                              "main_pre_qed_ok": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                              "main_pre_qed_ok_Tab_todo": { "alt-ergo": 
-                                                              { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 2 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 2 } },
-                              "main_pre_qed_ok_Tab_no_init": { "qed": 
-                                                                 { "total": 1,
-                                                                   "valid": 1 },
-                                                               "wp:main": 
-                                                                 { "total": 1,
-                                                                   "valid": 1 } },
-                              "main_pre_qed_ok_Sc_c_3": { "qed": { "total": 1,
-                                                                   "valid": 1 },
+  "wp:functions": { "main": { "main_requires_qed_ok_direct_init_union": 
+                                { "qed": { "total": 1, "valid": 1 },
+                                  "wp:main": { "total": 1, "valid": 1 } },
+                              "main_requires_qed_ok_5": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
                                                           "wp:main": 
                                                             { "total": 1,
-                                                              "valid": 1 } },
-                              "main_pre_qed_ok_Sc_c_2": { "qed": { "total": 1,
-                                                                   "valid": 1 },
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                              "main_requires_qed_ok_4": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
                                                           "wp:main": 
                                                             { "total": 1,
-                                                              "valid": 1 } },
-                              "main_pre_qed_ok_Sc_t_2": { "qed": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                              "main_requires_qed_ok_todo": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
+                              "main_requires_qed_ok_3": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 2 } },
+                              "main_requires_qed_ok_2": { "qed": { "total": 1,
                                                                    "valid": 1 },
                                                           "wp:main": 
                                                             { "total": 1,
                                                               "valid": 1 } },
-                              "main_pre_qed_ok_Sc_t": { "qed": { "total": 1,
+                              "main_requires_qed_ok": { "qed": { "total": 1,
                                                                  "valid": 1 },
                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                              "main_pre_qed_ok_Sc_eq": { "alt-ergo": 
-                                                           { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 8 },
-                                                         "wp:main": { "total": 1,
+                              "main_requires_qed_ok_Tab_todo": { "alt-ergo": 
+                                                                   { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 8 } },
-                              "main_pre_qed_ok_With_Array_Struct_3": 
-                                { "qed": { "total": 1, "valid": 1 },
-                                  "wp:main": { "total": 1, "valid": 1 } },
-                              "main_pre_qed_ok_With_Array_Struct_5": 
-                                { "qed": { "total": 1, "valid": 1 },
-                                  "wp:main": { "total": 1, "valid": 1 } },
-                              "main_pre_qed_ok_Simple_Array_1": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 3 },
-                                                                  "wp:main": 
-                                                                    { "total": 1,
+                                                                    "rank": 2 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 3 } },
-                              "main_pre_qed_ok_Simple_Array_0": { "qed": 
+                                                                    "rank": 2 } },
+                              "main_requires_qed_ok_Tab_no_init": { "qed": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                  "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                              "main_pre_qed_ok_Struct_Simple_b": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                              "main_pre_qed_ok_Struct_Simple_a": { "qed": 
-                                                                    { "total": 1,
+                              "main_requires_qed_ok_Sc_c_3": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
+                              "main_requires_qed_ok_Sc_c_2": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
+                              "main_requires_qed_ok_Sc_t_2": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
+                              "main_requires_qed_ok_Sc_t": { "qed": { "total": 1,
                                                                     "valid": 1 },
-                                                                   "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
+                              "main_requires_qed_ok_Sc_eq": { "alt-ergo": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 8 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 8 } },
+                              "main_requires_qed_ok_With_Array_Struct_3": 
+                                { "qed": { "total": 1, "valid": 1 },
+                                  "wp:main": { "total": 1, "valid": 1 } },
+                              "main_requires_qed_ok_With_Array_Struct_5": 
+                                { "qed": { "total": 1, "valid": 1 },
+                                  "wp:main": { "total": 1, "valid": 1 } },
+                              "main_requires_qed_ok_Simple_Array_1": 
+                                { "alt-ergo": { "total": 1, "valid": 1,
+                                                "rank": 3 },
+                                  "wp:main": { "total": 1, "valid": 1,
+                                               "rank": 3 } },
+                              "main_requires_qed_ok_Simple_Array_0": 
+                                { "qed": { "total": 1, "valid": 1 },
+                                  "wp:main": { "total": 1, "valid": 1 } },
+                              "main_requires_qed_ok_Struct_Simple_b": 
+                                { "qed": { "total": 1, "valid": 1 },
+                                  "wp:main": { "total": 1, "valid": 1 } },
+                              "main_requires_qed_ok_Struct_Simple_a": 
+                                { "qed": { "total": 1, "valid": 1 },
+                                  "wp:main": { "total": 1, "valid": 1 } },
                               "wp:section": { "alt-ergo": { "total": 6,
                                                             "valid": 6,
                                                             "rank": 8 },
@@ -117,36 +115,36 @@
                                               "wp:main": { "total": 20,
                                                            "valid": 20,
                                                            "rank": 8 } } },
-                    "fa1": { "fa1_post_qed_ok": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
+                    "fa1": { "fa1_ensures_qed_ok": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                              "wp:section": { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1 } } },
-                    "fa2": { "fa2_post_qed_ok": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
+                    "fa2": { "fa2_ensures_qed_ok": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                              "wp:section": { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1 } } },
-                    "fa3": { "fa3_post_qed_ok": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
+                    "fa3": { "fa3_ensures_qed_ok": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                              "wp:section": { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1 } } },
-                    "fs1": { "fs1_post_qed_ok": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 29 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 29 } },
+                    "fs1": { "fs1_ensures_qed_ok": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 29 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 29 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 29 },
diff --git a/src/plugins/wp/tests/wp_acsl/init_value.i.1.report.json b/src/plugins/wp/tests/wp_acsl/init_value.i.1.report.json
index a90fa9753d457fe09ba9c0a8dc032f363b91a00e..890d8170ecfaf478cb43e8608883a3bb550a2ed6 100644
--- a/src/plugins/wp/tests/wp_acsl/init_value.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/init_value.i.1.report.json
@@ -1,99 +1,93 @@
 { "wp:global": { "alt-ergo": { "total": 18, "unknown": 18 },
                  "wp:main": { "total": 18, "unknown": 18 } },
-  "wp:functions": { "main_ko": { "main_ko_pre_qed_ko_indirect_init_union_t": 
+  "wp:functions": { "main_ko": { "main_ko_requires_qed_ko_indirect_init_union_t": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "main_ko_pre_qed_ko_indirect_init_union_b": 
+                                 "main_ko_requires_qed_ko_indirect_init_union_b": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "main_ko_pre_qed_ko_T1_6": { "alt-ergo": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 } },
-                                 "main_ko_pre_qed_ko_Simple_Array_1": 
+                                 "main_ko_requires_qed_ko_T1_6": { "alt-ergo": 
+                                                                    { "total": 1,
+                                                                    "unknown": 1 },
+                                                                   "wp:main": 
+                                                                    { "total": 1,
+                                                                    "unknown": 1 } },
+                                 "main_ko_requires_qed_ko_Simple_Array_1": 
+                                   { "alt-ergo": { "total": 1, "unknown": 1 },
+                                     "wp:main": { "total": 1, "unknown": 1 } },
+                                 "main_ko_requires_qed_ko_With_Array_Struct_3": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "main_ko_pre_qed_ko_With_Array_Struct_3": 
+                                 "main_ko_requires_qed_ko_Tab_no_init": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "main_ko_pre_qed_ko_Tab_no_init": { "alt-ergo": 
+                                 "main_ko_requires_qed_ko_Sc_c_2": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "unknown": 1 },
                                                                     "wp:main": 
                                                                     { "total": 1,
                                                                     "unknown": 1 } },
-                                 "main_ko_pre_qed_ko_Sc_c_2": { "alt-ergo": 
-                                                                  { "total": 1,
-                                                                    "unknown": 1 },
-                                                                "wp:main": 
-                                                                  { "total": 1,
-                                                                    "unknown": 1 } },
-                                 "main_ko_pre_qed_ko_Sc_t": { "alt-ergo": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 } },
-                                 "main_ko_pre_qed_ko_Sc_eq_ko": { "alt-ergo": 
+                                 "main_ko_requires_qed_ko_Sc_t": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "unknown": 1 },
-                                                                  "wp:main": 
+                                                                   "wp:main": 
                                                                     { "total": 1,
                                                                     "unknown": 1 } },
+                                 "main_ko_requires_qed_ko_Sc_eq_ko": 
+                                   { "alt-ergo": { "total": 1, "unknown": 1 },
+                                     "wp:main": { "total": 1, "unknown": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 9,
                                                                "unknown": 9 },
                                                  "wp:main": { "total": 9,
                                                               "unknown": 9 } } },
-                    "fa1": { "fa1_post_qed_ko_2": { "alt-ergo": { "total": 1,
-                                                                  "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
-                             "fa1_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                                "unknown": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "unknown": 1 } },
+                    "fa1": { "fa1_ensures_qed_ko_2": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                             "fa1_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                   "unknown": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "unknown": 1 } },
                              "wp:section": { "alt-ergo": { "total": 2,
                                                            "unknown": 2 },
                                              "wp:main": { "total": 2,
                                                           "unknown": 2 } } },
-                    "fa2": { "fa2_post_qed_ko_2": { "alt-ergo": { "total": 1,
-                                                                  "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
-                             "fa2_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                                "unknown": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "unknown": 1 } },
+                    "fa2": { "fa2_ensures_qed_ko_2": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                             "fa2_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                   "unknown": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "unknown": 1 } },
                              "wp:section": { "alt-ergo": { "total": 2,
                                                            "unknown": 2 },
                                              "wp:main": { "total": 2,
                                                           "unknown": 2 } } },
-                    "fa3": { "fa3_post_qed_ko_3": { "alt-ergo": { "total": 1,
-                                                                  "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
-                             "fa3_post_qed_ko_2": { "alt-ergo": { "total": 1,
-                                                                  "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
-                             "fa3_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                                "unknown": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "unknown": 1 } },
+                    "fa3": { "fa3_ensures_qed_ko_3": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                             "fa3_ensures_qed_ko_2": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                             "fa3_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                   "unknown": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "unknown": 1 } },
                              "wp:section": { "alt-ergo": { "total": 3,
                                                            "unknown": 3 },
                                              "wp:main": { "total": 3,
                                                           "unknown": 3 } } },
-                    "fs1": { "fs1_post_qed_ko_2": { "alt-ergo": { "total": 1,
-                                                                  "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
-                             "fs1_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                                "unknown": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "unknown": 1 } },
+                    "fs1": { "fs1_ensures_qed_ko_2": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                             "fs1_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                   "unknown": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "unknown": 1 } },
                              "wp:section": { "alt-ergo": { "total": 2,
                                                            "unknown": 2 },
                                              "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_acsl/init_value_mem.i.0.report.json b/src/plugins/wp/tests/wp_acsl/init_value_mem.i.0.report.json
index fa64194949c99b5e31929add92629ff42a7cf8bf..cebe8968bc3df1b614d17ee8cd97d2322efa3a64 100644
--- a/src/plugins/wp/tests/wp_acsl/init_value_mem.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/init_value_mem.i.0.report.json
@@ -1,17 +1,17 @@
 { "wp:global": { "alt-ergo": { "total": 2, "valid": 2, "rank": 9 },
                  "wp:main": { "total": 2, "valid": 2, "rank": 9 } },
-  "wp:functions": { "main": { "main_post_Q": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 9 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 9 } },
-                              "main_post_P": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 9 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 9 } },
+  "wp:functions": { "main": { "main_ensures_Q": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 10 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 10 } },
+                              "main_ensures_P": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 10 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 10 } },
                               "wp:section": { "alt-ergo": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 9 },
diff --git a/src/plugins/wp/tests/wp_acsl/intbool.i.0.report.json b/src/plugins/wp/tests/wp_acsl/intbool.i.0.report.json
index c599a4ddfcf992126d7af0205c32897aab8216d9..4ed4a7c4e6305b0311d13850278f63d06912e2c8 100644
--- a/src/plugins/wp/tests/wp_acsl/intbool.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/intbool.i.0.report.json
@@ -1,8 +1,9 @@
 { "wp:global": { "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 1, "valid": 1 } },
-  "wp:functions": { "bug": { "bug_post": { "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1 } },
+  "wp:functions": { "bug": { "bug_ensures": { "qed": { "total": 1,
+                                                       "valid": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1 } },
                              "wp:section": { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/logic.i.0.report.json b/src/plugins/wp/tests/wp_acsl/logic.i.0.report.json
index 0ca5753d2884ec797d09eebcde0005178ca5263a..dbea9266892252577bdcb7e95c02cc215bf84dde 100644
--- a/src/plugins/wp/tests/wp_acsl/logic.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/logic.i.0.report.json
@@ -3,95 +3,129 @@
                  "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 21, "valid": 5, "unknown": 16,
                               "rank": 15 } },
-  "wp:functions": { "h": { "h_assign": { "qed": { "total": 2, "valid": 2 },
-                                         "wp:main": { "total": 2,
-                                                      "valid": 2 } },
-                           "h_post": { "alt-ergo": { "total": 1,
-                                                     "unknown": 1 },
-                                       "wp:main": { "total": 1,
-                                                    "unknown": 1 } },
+  "wp:functions": { "h": { "h_assigns": { "qed": { "total": 2, "valid": 2 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2 } },
+                           "h_ensures": { "alt-ergo": { "total": 1,
+                                                        "unknown": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "qed": { "total": 2, "valid": 2 },
                                            "wp:main": { "total": 3,
                                                         "valid": 2,
                                                         "unknown": 1 } } },
-                    "main": { "main_pre_qed_ok_18": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "unknown": 1 } },
-                              "main_pre_qed_ok_17": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "unknown": 1 } },
-                              "main_pre_qed_ok_16": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "unknown": 1 } },
-                              "main_pre_qed_ok_15": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "unknown": 1 } },
-                              "main_pre_qed_ok_14": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "unknown": 1 } },
-                              "main_pre_qed_ok_13": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "unknown": 1 } },
-                              "main_pre_qed_ok_12": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "unknown": 1 } },
-                              "main_pre_qed_ok_11": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "unknown": 1 } },
-                              "main_pre_qed_ok_10": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "unknown": 1 } },
-                              "main_pre_qed_ok_9": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                              "main_pre_qed_ok_8": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                              "main_pre_qed_ok_7": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                              "main_pre_qed_ok_6": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                              "main_pre_qed_ok_5": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                              "main_pre_qed_ok_4": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                              "main_pre_qed_ok_3": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 15 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 15 } },
-                              "main_pre_qed_ok_2": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 15 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 15 } },
-                              "main_pre_qed_ok": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+                    "main": { "main_requires_qed_ok_18": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
+                              "main_requires_qed_ok_17": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
+                              "main_requires_qed_ok_16": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
+                              "main_requires_qed_ok_15": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
+                              "main_requires_qed_ok_14": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
+                              "main_requires_qed_ok_13": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
+                              "main_requires_qed_ok_12": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
+                              "main_requires_qed_ok_11": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
+                              "main_requires_qed_ok_10": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
+                              "main_requires_qed_ok_9": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "unknown": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "unknown": 1 } },
+                              "main_requires_qed_ok_8": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "unknown": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "unknown": 1 } },
+                              "main_requires_qed_ok_7": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "unknown": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "unknown": 1 } },
+                              "main_requires_qed_ok_6": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "unknown": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "unknown": 1 } },
+                              "main_requires_qed_ok_5": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "unknown": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "unknown": 1 } },
+                              "main_requires_qed_ok_4": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "unknown": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "unknown": 1 } },
+                              "main_requires_qed_ok_3": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 16 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 16 } },
+                              "main_requires_qed_ok_2": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 16 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 16 } },
+                              "main_requires_qed_ok": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                               "wp:section": { "alt-ergo": { "total": 17,
                                                             "valid": 2,
                                                             "unknown": 15,
diff --git a/src/plugins/wp/tests/wp_acsl/looplabels.i.0.report.json b/src/plugins/wp/tests/wp_acsl/looplabels.i.0.report.json
index 8f3eb9da0a166c92a08a1298fa6d7848805ab18c..478692a300544506e97c3458b4d35ee2f078c9ca 100644
--- a/src/plugins/wp/tests/wp_acsl/looplabels.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/looplabels.i.0.report.json
@@ -1,38 +1,39 @@
 { "wp:global": { "alt-ergo": { "total": 5, "valid": 5, "rank": 37 },
                  "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 8, "valid": 8, "rank": 37 } },
-  "wp:functions": { "copy": { "copy_loop_inv_2": { "alt-ergo": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 37 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 37 } },
-                              "copy_loop_inv": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 5 },
-                                                 "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 5 } },
-                              "copy_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "copy_loop_assign": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 22 },
-                                                    "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 22 } },
-                              "copy_post": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 5 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1,
-                                                          "rank": 5 } },
+  "wp:functions": { "copy": { "copy_loop_invariant_2": { "alt-ergo": 
+                                                           { "total": 2,
+                                                             "valid": 2,
+                                                             "rank": 37 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 37 } },
+                              "copy_loop_invariant": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 6 },
+                                                       "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 6 } },
+                              "copy_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "copy_loop_assigns": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 22 },
+                                                     "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2,
+                                                                  "rank": 22 } },
+                              "copy_ensures": { "alt-ergo": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 6 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 6 } },
                               "wp:section": { "alt-ergo": { "total": 5,
                                                             "valid": 5,
                                                             "rank": 37 },
diff --git a/src/plugins/wp/tests/wp_acsl/null.c.0.report.json b/src/plugins/wp/tests/wp_acsl/null.c.0.report.json
index 0a50deb53ababb68938d44c46fc84e8d7365844a..79fbcb44621bbe66323dc1c13c9b7b044015f84a 100644
--- a/src/plugins/wp/tests/wp_acsl/null.c.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/null.c.0.report.json
@@ -21,11 +21,12 @@
                                            "wp:main": { "total": 2,
                                                         "valid": 2,
                                                         "rank": 1 } } } },
-  "wp:functions": { "null_is_zero": { "null_is_zero_post": { "qed": { "total": 1,
+  "wp:functions": { "null_is_zero": { "null_is_zero_ensures": { "qed": 
+                                                                  { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1 } },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 } },
                                       "wp:section": { "qed": { "total": 1,
                                                                "valid": 1 },
                                                       "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.res.oracle
index 07d06584686e232c0f532a6753c680eb5cfb9c90..59311b18676f7856b4a25cf6f439faa465c92bc2 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.0.res.oracle
@@ -25,7 +25,7 @@
 [wp] [Qed] Goal typed_lemma_ucL4_qed_ok : Valid
 [wp] [Qed] Goal typed_lemma_ucN1_qed_ok : Valid
 [wp] [Qed] Goal typed_lemma_ucN2_qed_ok : Valid
-[wp] [Qed] Goal typed_cast_sgn_usgn_post_qed_ok_nat : Valid
+[wp] [Qed] Goal typed_cast_sgn_usgn_ensures_qed_ok_nat : Valid
 [wp] [Alt-Ergo] Goal typed_uchar_range_assert_qed_ok_A1 : Valid
 [wp] [Alt-Ergo] Goal typed_uchar_range_assert_qed_ok_A2 : Valid
 [wp] Proved goals:   24 / 24
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.res.oracle
index a08d1132de31a1100db53a8cf6a5a067f2ff2ef5..473a012c3e21722c774d5dde8a1d77be84ef94ee 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/arith.1.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_cast_sgn_usgn_post_qed_ko_KO : Unknown
+[wp] [Alt-Ergo] Goal typed_cast_sgn_usgn_ensures_qed_ko_KO : Unknown
 [wp] Proved goals:    0 / 1
   Alt-Ergo:        0  (unknown: 1)
 [wp] Report 'tests/wp_acsl/arith.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assign_array.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assign_array.res.oracle
index 9f7b8911db6db6d8cd8add3e31df51ff7a2c7384..cb994356b5b0a1d0d6dfab1cf301f3069c5c05f7 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assign_array.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assign_array.res.oracle
@@ -4,10 +4,10 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 4 goals scheduled
-[wp] [Qed] Goal typed_jobA_assign_exit : Valid
-[wp] [Qed] Goal typed_jobA_assign_normal : Valid
-[wp] [Qed] Goal typed_jobG_assign_exit : Valid
-[wp] [Qed] Goal typed_jobG_assign_normal : Valid
+[wp] [Qed] Goal typed_jobA_assigns_exit : Valid
+[wp] [Qed] Goal typed_jobA_assigns_normal : Valid
+[wp] [Qed] Goal typed_jobG_assigns_exit : Valid
+[wp] [Qed] Goal typed_jobG_assigns_normal : Valid
 [wp] Proved goals:    4 / 4
   Qed:             4
 [wp] Report 'tests/wp_acsl/assign_array.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.res.oracle
index ee214135b6cbf6302dc3b6db7e95dc9f36064b97..abf7da1b683f7857b155cd03fa1d22d632bdff6c 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_path.res.oracle
@@ -4,15 +4,15 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 9 goals scheduled
-[wp] [Qed] Goal typed_job_post_N : Valid
-[wp] [Alt-Ergo] Goal typed_job_post_A : Valid
-[wp] [Alt-Ergo] Goal typed_job_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_job_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_job_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_job_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_job_loop_assign : Valid
-[wp] [Qed] Goal typed_job_assign_part1 : Valid
-[wp] [Qed] Goal typed_job_assign_part2 : Valid
+[wp] [Qed] Goal typed_job_ensures_N : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures_A : Valid
+[wp] [Alt-Ergo] Goal typed_job_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_job_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_job_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_job_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_job_loop_assigns : Valid
+[wp] [Qed] Goal typed_job_assigns_part1 : Valid
+[wp] [Qed] Goal typed_job_assigns_part2 : Valid
 [wp] Proved goals:    9 / 9
   Qed:             6 
   Alt-Ergo:        3
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.res.oracle
index 5c7e54e44313cf946824b880f2542ab5a05ed509..1d797d98c1fb2e3439ba10a3b9f9c97e184a03f7 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.0.res.oracle
@@ -4,23 +4,23 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 17 goals scheduled
-[wp] [Qed] Goal typed_call_assigns_all_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_call_assigns_all_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_call_assigns_all_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_call_assigns_all_assign_exit_part4 : Valid
-[wp] [Qed] Goal typed_call_assigns_all_assign_exit_part5 : Valid
-[wp] [Qed] Goal typed_call_assigns_all_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_call_assigns_all_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_call_assigns_all_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_call_assigns_all_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_call_assigns_all_assign_normal_part5 : Valid
-[wp] [Alt-Ergo] Goal typed_call_assigns_all_call_assigns_t1_an_element_pre : Valid
-[wp] [Qed] Goal typed_call_assigns_all_call_assigns_t2_bound_pre : Valid
-[wp] [Qed] Goal typed_call_assigns_all_call_assigns_t3_inf_bound_pre : Valid
-[wp] [Alt-Ergo] Goal typed_call_assigns_all_call_assigns_t4_sup_bound_pre : Valid
-[wp] [Alt-Ergo] Goal typed_call_assigns_t1_call_assigns_t1_an_element_pre : Valid
-[wp] [Alt-Ergo] Goal typed_call_assigns_t2_call_assigns_t2_bound_pre : Valid
-[wp] [Alt-Ergo] Goal typed_call_assigns_t4_call_assigns_t4_sup_bound_pre : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_exit_part4 : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_exit_part5 : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_call_assigns_all_assigns_normal_part5 : Valid
+[wp] [Alt-Ergo] Goal typed_call_assigns_all_call_assigns_t1_an_element_requires : Valid
+[wp] [Qed] Goal typed_call_assigns_all_call_assigns_t2_bound_requires : Valid
+[wp] [Qed] Goal typed_call_assigns_all_call_assigns_t3_inf_bound_requires : Valid
+[wp] [Alt-Ergo] Goal typed_call_assigns_all_call_assigns_t4_sup_bound_requires : Valid
+[wp] [Alt-Ergo] Goal typed_call_assigns_t1_call_assigns_t1_an_element_requires : Valid
+[wp] [Alt-Ergo] Goal typed_call_assigns_t2_call_assigns_t2_bound_requires : Valid
+[wp] [Alt-Ergo] Goal typed_call_assigns_t4_call_assigns_t4_sup_bound_requires : Valid
 [wp] Proved goals:   17 / 17
   Qed:            12 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.res.oracle
index 84e3f10f0efe53d104098b94a57cf534ff117f4f..73d00d5b60c654dd9afa4677e6010add74322230 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/assigns_range.1.res.oracle
@@ -4,12 +4,12 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Alt-Ergo] Goal typed_call_assigns_t1_assign_exit : Unknown
-[wp] [Alt-Ergo] Goal typed_call_assigns_t1_assign_normal : Unknown
-[wp] [Alt-Ergo] Goal typed_call_assigns_t2_assign_exit : Unknown
-[wp] [Alt-Ergo] Goal typed_call_assigns_t2_assign_normal : Unknown
-[wp] [Alt-Ergo] Goal typed_call_assigns_t4_assign_exit : Unknown
-[wp] [Alt-Ergo] Goal typed_call_assigns_t4_assign_normal : Unknown
+[wp] [Alt-Ergo] Goal typed_call_assigns_t1_assigns_exit : Unknown
+[wp] [Alt-Ergo] Goal typed_call_assigns_t1_assigns_normal : Unknown
+[wp] [Alt-Ergo] Goal typed_call_assigns_t2_assigns_exit : Unknown
+[wp] [Alt-Ergo] Goal typed_call_assigns_t2_assigns_normal : Unknown
+[wp] [Alt-Ergo] Goal typed_call_assigns_t4_assigns_exit : Unknown
+[wp] [Alt-Ergo] Goal typed_call_assigns_t4_assigns_normal : Unknown
 [wp] Proved goals:    0 / 6
   Alt-Ergo:        0  (unknown: 6)
 [wp] Report 'tests/wp_acsl/assigns_range.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.res.oracle
index 9f0c0ed6dfd4dc51ec6a27508ac7c19efc112a66..f5638f7fcd190c69e8182ab88bdc7c4b6dcff689 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/axioms.res.oracle
@@ -4,16 +4,16 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 10 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_P_todo : Unknown
-[wp] [Alt-Ergo] Goal typed_f_post_Q : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_inv_Index_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_inv_Index_established : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_inv_Positive_preserved : Valid
-[wp] [Qed] Goal typed_f_loop_inv_Positive_established : Valid
-[wp] [Qed] Goal typed_f_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_f_loop_assign_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_assign_part3 : Valid
-[wp] [Alt-Ergo] Goal typed_f_assign : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_P_todo : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_Q : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_invariant_Index_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_invariant_Index_established : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_invariant_Positive_preserved : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_Positive_established : Valid
+[wp] [Qed] Goal typed_f_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_f_loop_assigns_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_assigns_part3 : Valid
+[wp] [Alt-Ergo] Goal typed_f_assigns : Unknown
 [wp] Proved goals:    8 / 10
   Qed:             3 
   Alt-Ergo:        5  (unknown: 2)
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.res.oracle
index 5cca1ab7358a312f7bab570a0cf48b14de209f7d..4db477821a2d5675f28755aca8f3efd79f3afa9b 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/base_offset.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_f_post : Valid
-[wp] [Qed] Goal typed_f_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_3 : Valid
+[wp] [Qed] Goal typed_f_ensures : Valid
+[wp] [Qed] Goal typed_f_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_3 : Valid
 [wp] Proved goals:    3 / 3
   Qed:             2 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.res.oracle
index 2fa1eca8458955a096b6d3c49920c29621e3a793..3e2273eac8354bdd6fb8fdb663d0c28f8e47bc6c 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/bitwise.res.oracle
@@ -4,35 +4,35 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 29 goals scheduled
-[wp] [Qed] Goal typed_band_post : Valid
-[wp] [Qed] Goal typed_band_post_band0 : Valid
-[wp] [Qed] Goal typed_band_bit0_post_band1 : Valid
-[wp] [Qed] Goal typed_band_bit0_post_band2 : Valid
-[wp] [Qed] Goal typed_band_bit1_post_band3 : Valid
-[wp] [Qed] Goal typed_band_bit2_post_band4 : Valid
-[wp] [Qed] Goal typed_band_bit3_post_band5 : Valid
-[wp] [Qed] Goal typed_band_bit4_post_band6 : Valid
-[wp] [Alt-Ergo] Goal typed_band_bool_false_post : Unknown
-[wp] [Qed] Goal typed_band_bool_true_post : Valid
-[wp] [Qed] Goal typed_bnot_post : Valid
-[wp] [Qed] Goal typed_bor_post : Valid
-[wp] [Qed] Goal typed_bor_post_bor0 : Valid
-[wp] [Qed] Goal typed_bor_bit1_post_bor1 : Valid
-[wp] [Qed] Goal typed_bor_bit2_post_bor2 : Valid
-[wp] [Qed] Goal typed_bor_bit3_post_bor3 : Valid
-[wp] [Alt-Ergo] Goal typed_bor_bool_false_post : Unknown
-[wp] [Alt-Ergo] Goal typed_bor_bool_true_post : Valid
-[wp] [Qed] Goal typed_bxor_post : Valid
-[wp] [Qed] Goal typed_bxor_bit1_post : Valid
-[wp] [Qed] Goal typed_bxor_bit2_post : Valid
-[wp] [Alt-Ergo] Goal typed_bxor_bool_false_post : Unknown
-[wp] [Qed] Goal typed_bxor_bool_true_post : Valid
-[wp] [Qed] Goal typed_lshift_post : Valid
-[wp] [Qed] Goal typed_lshift_shift1_post_lsl1 : Valid
-[wp] [Qed] Goal typed_lshift_shift1_post_lsl2 : Valid
-[wp] [Qed] Goal typed_lshift_shift2_post_lsl3 : Valid
-[wp] [Qed] Goal typed_rshift_post : Valid
-[wp] [Qed] Goal typed_rshift_shift1_post_lsr1 : Valid
+[wp] [Qed] Goal typed_band_ensures : Valid
+[wp] [Qed] Goal typed_band_ensures_band0 : Valid
+[wp] [Qed] Goal typed_band_bit0_ensures_band1 : Valid
+[wp] [Qed] Goal typed_band_bit0_ensures_band2 : Valid
+[wp] [Qed] Goal typed_band_bit1_ensures_band3 : Valid
+[wp] [Qed] Goal typed_band_bit2_ensures_band4 : Valid
+[wp] [Qed] Goal typed_band_bit3_ensures_band5 : Valid
+[wp] [Qed] Goal typed_band_bit4_ensures_band6 : Valid
+[wp] [Alt-Ergo] Goal typed_band_bool_false_ensures : Unknown
+[wp] [Qed] Goal typed_band_bool_true_ensures : Valid
+[wp] [Qed] Goal typed_bnot_ensures : Valid
+[wp] [Qed] Goal typed_bor_ensures : Valid
+[wp] [Qed] Goal typed_bor_ensures_bor0 : Valid
+[wp] [Qed] Goal typed_bor_bit1_ensures_bor1 : Valid
+[wp] [Qed] Goal typed_bor_bit2_ensures_bor2 : Valid
+[wp] [Qed] Goal typed_bor_bit3_ensures_bor3 : Valid
+[wp] [Alt-Ergo] Goal typed_bor_bool_false_ensures : Unknown
+[wp] [Alt-Ergo] Goal typed_bor_bool_true_ensures : Valid
+[wp] [Qed] Goal typed_bxor_ensures : Valid
+[wp] [Qed] Goal typed_bxor_bit1_ensures : Valid
+[wp] [Qed] Goal typed_bxor_bit2_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_bxor_bool_false_ensures : Unknown
+[wp] [Qed] Goal typed_bxor_bool_true_ensures : Valid
+[wp] [Qed] Goal typed_lshift_ensures : Valid
+[wp] [Qed] Goal typed_lshift_shift1_ensures_lsl1 : Valid
+[wp] [Qed] Goal typed_lshift_shift1_ensures_lsl2 : Valid
+[wp] [Qed] Goal typed_lshift_shift2_ensures_lsl3 : Valid
+[wp] [Qed] Goal typed_rshift_ensures : Valid
+[wp] [Qed] Goal typed_rshift_shift1_ensures_lsr1 : Valid
 [wp] Proved goals:   26 / 29
   Qed:            25 
   Alt-Ergo:        1  (unknown: 3)
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/block_length.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/block_length.res.oracle
index a602ae20ac0c4038302d93be1e5d770b7baca9bf..6033f7105e78cd4d628f8150f778cbaf3f2b1b0c 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/block_length.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/block_length.res.oracle
@@ -4,16 +4,16 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 10 goals scheduled
-[wp] [Qed] Goal typed_f_post_Pt : Valid
-[wp] [Qed] Goal typed_f_post_Psiz1 : Valid
-[wp] [Qed] Goal typed_f_post_Pmat1 : Valid
-[wp] [Qed] Goal typed_f_post_Psiz2 : Valid
-[wp] [Qed] Goal typed_f_post_Pmat2 : Valid
-[wp] [Qed] Goal typed_f_post_Ps : Valid
-[wp] [Qed] Goal typed_f_post_Pts : Valid
-[wp] [Qed] Goal typed_f_post_Pt1 : Valid
-[wp] [Qed] Goal typed_f_post_Pmat12 : Valid
-[wp] [Qed] Goal typed_f_post_Pts1 : Valid
+[wp] [Qed] Goal typed_f_ensures_Pt : Valid
+[wp] [Qed] Goal typed_f_ensures_Psiz1 : Valid
+[wp] [Qed] Goal typed_f_ensures_Pmat1 : Valid
+[wp] [Qed] Goal typed_f_ensures_Psiz2 : Valid
+[wp] [Qed] Goal typed_f_ensures_Pmat2 : Valid
+[wp] [Qed] Goal typed_f_ensures_Ps : Valid
+[wp] [Qed] Goal typed_f_ensures_Pts : Valid
+[wp] [Qed] Goal typed_f_ensures_Pt1 : Valid
+[wp] [Qed] Goal typed_f_ensures_Pmat12 : Valid
+[wp] [Qed] Goal typed_f_ensures_Pts1 : Valid
 [wp] Proved goals:   10 / 10
   Qed:            10
 [wp] Report 'tests/wp_acsl/block_length.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.res.oracle
index ca4bd42b039922e733543429316587d83a3560da..6ebd97b44fdd765b8aca8b5bbeca9eadb450e4ac 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/cnf.res.oracle
@@ -5,20 +5,20 @@
 [wp] Warning: Missing RTE guards
 [wp] 43 goals scheduled
 [wp:cnf] CNF=P_A /\ P_A1 /\ P_A2
-[wp] [Qed] Goal typed_f_post_a0 : Valid
+[wp] [Qed] Goal typed_f_ensures_a0 : Valid
 [wp:cnf] CNF=P_A \/ P_A1 \/ P_A2
-[wp] [Qed] Goal typed_f_post_a1 : Valid
+[wp] [Qed] Goal typed_f_ensures_a1 : Valid
 [wp:cnf] CNF=P_A2
-[wp] [Qed] Goal typed_f_post_a2 : Valid
+[wp] [Qed] Goal typed_f_ensures_a2 : Valid
 [wp:cnf] CNF=((not P_A1) \/ P_A2) /\ (P_A1 \/ (not P_A2))
-[wp] [Alt-Ergo] Goal typed_f_post_a3 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a3 : Valid
 [wp:cnf] CNF=((not P_A) \/ P_A1) /\ (P_A \/ P_A2)
-[wp] [Alt-Ergo] Goal typed_f_post_a4 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a4 : Valid
 [wp:cnf] 
   CNF=(P_A \/ P_B) /\ (P_A \/ P_B1) /\ (P_A \/ P_B2) /\ (P_A \/ P_C)
        /\ (P_A1 \/ P_B) /\ (P_A1 \/ P_B1) /\ (P_A1 \/ P_B2) /\ (P_A1 \/ P_C)
        /\ (P_A2 \/ P_B) /\ (P_A2 \/ P_B1) /\ (P_A2 \/ P_B2) /\ (P_A2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_a5 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a5 : Valid
 [wp:cnf] 
   CNF=(P_A \/ P_A1 \/ P_A2 \/ P_C) /\ (P_A \/ P_A1 \/ P_A2 \/ P_B \/ P_C)
        /\ (P_A \/ P_A1 \/ P_A2 \/ P_B1 \/ P_C)
@@ -27,7 +27,7 @@
        /\ (P_A \/ P_A1 \/ P_A2 \/ P_B \/ P_B1 \/ P_C)
        /\ (P_A \/ P_A1 \/ P_A2 \/ P_B \/ P_B2 \/ P_C)
        /\ (P_A \/ P_A1 \/ P_A2 \/ P_B1 \/ P_B2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_a6 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a6 : Valid
 [wp:cnf] 
   CNF=((not P_A) \/ (not P_A1) \/ P_A2 \/ P_C)
        /\ ((not P_A) \/ (not P_A1) \/ P_A2 \/ (not P_B) \/ P_C)
@@ -37,7 +37,7 @@
        /\ ((not P_A) \/ (not P_A1) \/ P_A2 \/ (not P_B) \/ (not P_B1) \/ P_C)
        /\ ((not P_A) \/ (not P_A1) \/ P_A2 \/ (not P_B) \/ P_B2 \/ P_C)
        /\ ((not P_A) \/ (not P_A1) \/ P_A2 \/ (not P_B1) \/ P_B2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_a7 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a7 : Valid
 [wp:cnf] 
   CNF=((not P_A1) \/ P_A2 \/ P_C) /\ (P_A1 \/ (not P_A2) \/ P_C)
        /\ ((not P_A1) \/ P_A2 \/ (not P_B1) \/ P_B2)
@@ -60,7 +60,7 @@
        /\ (P_A1 \/ (not P_A2) \/ (not P_B1) \/ P_B2 \/ P_C)
        /\ (P_A1 \/ (not P_A2) \/ P_B1 \/ (not P_B2) \/ P_C)
        /\ (P_A1 \/ (not P_A2) \/ P_B1 \/ P_B2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_a8 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a8 : Valid
 [wp:cnf] 
   CNF=((not P_A) \/ P_A1 \/ P_C) /\ (P_A \/ P_A2 \/ P_C)
        /\ ((not P_A) \/ P_A1 \/ (not P_B) \/ P_B1)
@@ -122,37 +122,37 @@
        /\ ((not P_A) \/ P_A1 \/ P_A2 \/ P_B \/ P_B1 \/ P_B2 \/ P_C)
        /\ (P_A \/ P_A1 \/ P_A2 \/ (not P_B) \/ P_B1 \/ P_B2 \/ P_C)
        /\ (P_A \/ P_A1 \/ P_A2 \/ P_B \/ P_B1 \/ P_B2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_a9 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a9 : Valid
 [wp:cnf] CNF=P_B /\ P_B1 /\ P_B2 /\ P_C
-[wp] [Qed] Goal typed_f_post_b0 : Valid
+[wp] [Qed] Goal typed_f_ensures_b0 : Valid
 [wp:cnf] CNF=P_C /\ (P_B \/ P_B1 \/ P_B2)
-[wp] [Qed] Goal typed_f_post_b1 : Valid
+[wp] [Qed] Goal typed_f_ensures_b1 : Valid
 [wp:cnf] CNF=P_C /\ ((not P_B) \/ (not P_B1) \/ P_B2)
-[wp] [Alt-Ergo] Goal typed_f_post_b2 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_b2 : Valid
 [wp:cnf] CNF=P_C /\ ((not P_B1) \/ P_B2) /\ (P_B1 \/ (not P_B2))
-[wp] [Alt-Ergo] Goal typed_f_post_b3 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_b3 : Valid
 [wp:cnf] CNF=P_C /\ ((not P_B) \/ P_B1) /\ (P_B \/ P_B2)
-[wp] [Alt-Ergo] Goal typed_f_post_b4 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_b4 : Valid
 [wp:cnf] CNF=true
-[wp] [Qed] Goal typed_f_post_b5 : Valid
+[wp] [Qed] Goal typed_f_ensures_b5 : Valid
 [wp:cnf] CNF=P_B \/ P_B1 \/ P_B2 \/ P_C1
-[wp] [Qed] Goal typed_f_post_b6 : Valid
-[wp] [Qed] Goal typed_f_post_b7 : Valid
-[wp] [Qed] Goal typed_f_post_b8 : Valid
+[wp] [Qed] Goal typed_f_ensures_b6 : Valid
+[wp] [Qed] Goal typed_f_ensures_b7 : Valid
+[wp] [Qed] Goal typed_f_ensures_b8 : Valid
 [wp:cnf] CNF=true
-[wp] [Qed] Goal typed_f_post_b9 : Valid
+[wp] [Qed] Goal typed_f_ensures_b9 : Valid
 [wp:cnf] CNF=(P_B \/ P_C) /\ (P_B1 \/ P_C) /\ (P_B2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_c0 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_c0 : Valid
 [wp:cnf] CNF=P_B \/ P_B1 \/ P_B2 \/ P_C
-[wp] [Qed] Goal typed_f_post_c1 : Valid
+[wp] [Qed] Goal typed_f_ensures_c1 : Valid
 [wp:cnf] CNF=(not P_B) \/ (not P_B1) \/ P_B2 \/ P_C
-[wp] [Alt-Ergo] Goal typed_f_post_c2 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_c2 : Valid
 [wp:cnf] CNF=((not P_B1) \/ P_B2 \/ P_C) /\ (P_B1 \/ (not P_B2) \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_c3 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_c3 : Valid
 [wp:cnf] 
   CNF=((not P_B) \/ P_B1 \/ P_C) /\ (P_B \/ P_B2 \/ P_C)
        /\ ((not P_B) \/ P_B1 \/ P_B2 \/ P_C) /\ (P_B \/ P_B1 \/ P_B2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_c4 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_c4 : Valid
 [wp:cnf] 
   CNF=(P_B \/ (not P_C) \/ (not P_C1)) /\ (P_B \/ P_C \/ P_C1)
        /\ (P_B1 \/ (not P_C) \/ (not P_C1)) /\ (P_B1 \/ P_C \/ P_C1)
@@ -181,7 +181,7 @@
        /\ (P_B \/ (not P_B1) \/ (not P_B2) \/ P_C \/ P_C1)
        /\ (P_B \/ (not P_B1) \/ P_B2 \/ P_C \/ P_C1)
        /\ (P_B \/ P_B1 \/ (not P_B2) \/ P_C \/ P_C1)
-[wp] [Alt-Ergo] Goal typed_f_post_c5 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_c5 : Valid
 [wp:cnf] 
   CNF=((not P_B) \/ P_C1) /\ ((not P_B1) \/ P_C1) /\ ((not P_B2) \/ P_C1)
        /\ ((not P_B) \/ (not P_B1) \/ P_C1)
@@ -208,7 +208,7 @@
        /\ (P_B \/ P_B1 \/ (not P_B2) \/ (not P_C) \/ P_C1)
        /\ (P_B \/ P_B1 \/ P_B2 \/ (not P_C) \/ (not P_C1))
        /\ (P_B \/ P_B1 \/ P_B2 \/ P_C \/ P_C1)
-[wp] [Alt-Ergo] Goal typed_f_post_c6 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_c6 : Valid
 [wp:cnf] 
   CNF=((not P_B2) \/ P_C1) /\ (P_B \/ P_C1) /\ (P_B1 \/ P_C1)
        /\ ((not P_B) \/ (not P_B2) \/ P_C1) /\ ((not P_B) \/ P_B1 \/ P_C1)
@@ -234,72 +234,72 @@
        /\ ((not P_B) \/ (not P_B1) \/ P_B2 \/ P_C \/ P_C1)
        /\ ((not P_B) \/ P_B1 \/ P_B2 \/ (not P_C) \/ P_C1)
        /\ (P_B \/ (not P_B1) \/ P_B2 \/ (not P_C) \/ P_C1)
-[wp] [Alt-Ergo] Goal typed_f_post_c7 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_c7 : Valid
 [wp:cnf] Too big CNF/DNF
 [wp:cnf] 
   CNF=((P_C \/ (P_B2 <-> P_B1)) -> ((P_B2 <-> P_B1) <-> P_C1))
        /\ (((P_B2 <-> P_B1) <-> P_C1) -> (P_C \/ (P_B2 <-> P_B1)))
-[wp] [Alt-Ergo] Goal typed_f_post_c8 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_c8 : Valid
 [wp:cnf] Too big CNF/DNF
 [wp:cnf] 
   CNF=((P_C \/ ((P_B -> P_B1) /\ ((not P_B) -> P_B2)))
         -> ((P_B2 <-> P_B1) <-> P_C1))
        /\ (((P_B2 <-> P_B1) <-> P_C1)
            -> (P_C \/ ((P_B -> P_B1) /\ ((not P_B) -> P_B2))))
-[wp] [Alt-Ergo] Goal typed_f_post_c9 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_c9 : Valid
 [wp:cnf] 
   CNF=(P_B \/ (not P_C)) /\ (P_B1 \/ (not P_C)) /\ (P_B2 \/ (not P_C))
        /\ ((not P_B) \/ (not P_B1) \/ (not P_B2) \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_d0 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d0 : Valid
 [wp:cnf] 
   CNF=((not P_B) \/ P_C) /\ ((not P_B1) \/ P_C) /\ ((not P_B2) \/ P_C)
        /\ (P_B \/ P_B1 \/ P_B2 \/ (not P_C))
-[wp] [Alt-Ergo] Goal typed_f_post_d1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d1 : Valid
 [wp:cnf] 
   CNF=((not P_B2) \/ P_C) /\ (P_B \/ P_C) /\ (P_B1 \/ P_C)
        /\ ((not P_B) \/ (not P_B1) \/ P_B2 \/ (not P_C))
-[wp] [Alt-Ergo] Goal typed_f_post_d2 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d2 : Valid
 [wp:cnf] 
   CNF=((not P_B1) \/ (not P_B2) \/ P_C) /\ ((not P_B1) \/ P_B2 \/ (not P_C))
        /\ (P_B1 \/ (not P_B2) \/ (not P_C)) /\ (P_B1 \/ P_B2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_d3 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d3 : Valid
 [wp:cnf] 
   CNF=((not P_B) \/ (not P_B1) \/ P_C) /\ ((not P_B) \/ P_B1 \/ (not P_C))
        /\ ((not P_B1) \/ (not P_B2) \/ P_C) /\ (P_B \/ (not P_B2) \/ P_C)
        /\ (P_B \/ P_B2 \/ (not P_C))
        /\ ((not P_B) \/ P_B1 \/ P_B2 \/ (not P_C))
        /\ (P_B \/ P_B1 \/ P_B2 \/ (not P_C))
-[wp] [Alt-Ergo] Goal typed_f_post_d4 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d4 : Valid
 [wp:cnf] 
   CNF=((not P_B1) \/ P_B2) /\ (P_B \/ (not P_B1)) /\ (P_B \/ (not P_B2))
        /\ (P_B \/ (not P_C)) /\ (P_B1 \/ (not P_B2)) /\ (P_B1 \/ (not P_C))
        /\ (P_B2 \/ (not P_C))
-[wp] [Alt-Ergo] Goal typed_f_post_d5 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d5 : Valid
 [wp:cnf] 
   CNF=((not P_B) \/ P_B1 \/ P_B2 \/ P_C) /\ (P_B \/ P_B1 \/ P_B2 \/ (not P_C))
-[wp] [Alt-Ergo] Goal typed_f_post_d6 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d6 : Valid
 [wp:cnf] 
   CNF=((not P_B) \/ (not P_B1) \/ P_B2) /\ (P_B1 \/ P_B2 \/ P_C)
        /\ ((not P_B) \/ (not P_B1) \/ P_B2 \/ (not P_C))
        /\ (P_B \/ P_B1 \/ P_B2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_d7 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d7 : Valid
 [wp:cnf] 
   CNF=((not P_B1) \/ P_B2) /\ (P_B1 \/ (not P_B2))
        /\ ((not P_B1) \/ P_B2 \/ (not P_C))
        /\ (P_B1 \/ (not P_B2) \/ (not P_C)) /\ (P_B1 \/ P_B2 \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_d8 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d8 : Valid
 [wp:cnf] 
   CNF=((not P_B) \/ P_B1 \/ (not P_B2)) /\ ((not P_B) \/ P_B1 \/ (not P_C))
        /\ (P_B \/ (not P_B1) \/ P_B2) /\ (P_B \/ P_B2 \/ (not P_C))
        /\ ((not P_B) \/ P_B1 \/ P_B2 \/ (not P_C))
        /\ (P_B \/ P_B1 \/ P_B2 \/ (not P_C))
-[wp] [Alt-Ergo] Goal typed_f_post_d9 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d9 : Valid
 [wp:cnf] CNF=P_A /\ ((not P_B) \/ P_C) /\ ((not P_A) \/ (not P_B) \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_e0 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_e0 : Valid
 [wp:cnf] CNF=P_B /\ ((not P_B) \/ P_C) /\ ((not P_A) \/ (not P_B) \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_e1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_e1 : Valid
 [wp:cnf] CNF=P_C /\ ((not P_B) \/ P_C) /\ ((not P_A) \/ (not P_B) \/ P_C)
-[wp] [Alt-Ergo] Goal typed_f_post_e2 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_e2 : Valid
 [wp] Proved goals:   43 / 43
   Qed:            11 
   Alt-Ergo:       32
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.res.oracle
index 2319800e301920f9b30018999c78d1c7d0f4554e..2939ebf7eef1124950e25ca430e0516e1e1eb59e 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.0.res.oracle
@@ -4,28 +4,28 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 22 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_d0_div_pos_pos : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_d1_div_neg_pos : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_d2_div_pos_neg : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_d3_div_neg_neg : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_d4_div_x_1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_d5_div_x_minus1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_d6_div_0_x : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_sd0_div_pos_pos : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_sd1_div_neg_pos : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_sd2_div_pos_neg : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_sd3_div_neg_neg : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_m0_mod_pos_pos : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_m1_mod_neg_pos : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_m2_mod_pos_neg : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_m3_mod_neg_neg : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_m4_mod_x_1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_m5_mod_x_minus1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_m6_mod_0_x : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_sm0_mod_pos_pos : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_sm1_mod_neg_pos : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_sm2_mod_pos_neg : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_sm3_mod_neg_neg : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d0_div_pos_pos : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d1_div_neg_pos : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d2_div_pos_neg : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d3_div_neg_neg : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d4_div_x_1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d5_div_x_minus1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_d6_div_0_x : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_sd0_div_pos_pos : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_sd1_div_neg_pos : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_sd2_div_pos_neg : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_sd3_div_neg_neg : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_m0_mod_pos_pos : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_m1_mod_neg_pos : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_m2_mod_pos_neg : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_m3_mod_neg_neg : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_m4_mod_x_1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_m5_mod_x_minus1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_m6_mod_0_x : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_sm0_mod_pos_pos : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_sm1_mod_neg_pos : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_sm2_mod_pos_neg : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_sm3_mod_neg_neg : Valid
 [wp] Proved goals:   22 / 22
   Qed:             0 
   Alt-Ergo:       22
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.res.oracle
index 75e57bd9f16a32b1bb132837a6f25cb69f01a106..6e34345f147116099c1622515dd63fb4e3e7de30 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.1.res.oracle
@@ -4,28 +4,28 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 22 goals scheduled
-[wp] [alt-ergo] Goal typed_f_post_d0_div_pos_pos : Valid
-[wp] [alt-ergo] Goal typed_f_post_d1_div_neg_pos : Valid
-[wp] [alt-ergo] Goal typed_f_post_d2_div_pos_neg : Valid
-[wp] [alt-ergo] Goal typed_f_post_d3_div_neg_neg : Valid
-[wp] [alt-ergo] Goal typed_f_post_d4_div_x_1 : Valid
-[wp] [alt-ergo] Goal typed_f_post_d5_div_x_minus1 : Valid
-[wp] [alt-ergo] Goal typed_f_post_d6_div_0_x : Valid
-[wp] [alt-ergo] Goal typed_f_post_sd0_div_pos_pos : Valid
-[wp] [alt-ergo] Goal typed_f_post_sd1_div_neg_pos : Valid
-[wp] [alt-ergo] Goal typed_f_post_sd2_div_pos_neg : Valid
-[wp] [alt-ergo] Goal typed_f_post_sd3_div_neg_neg : Valid
-[wp] [alt-ergo] Goal typed_f_post_m0_mod_pos_pos : Valid
-[wp] [alt-ergo] Goal typed_f_post_m1_mod_neg_pos : Valid
-[wp] [alt-ergo] Goal typed_f_post_m2_mod_pos_neg : Valid
-[wp] [alt-ergo] Goal typed_f_post_m3_mod_neg_neg : Valid
-[wp] [alt-ergo] Goal typed_f_post_m4_mod_x_1 : Valid
-[wp] [alt-ergo] Goal typed_f_post_m5_mod_x_minus1 : Valid
-[wp] [alt-ergo] Goal typed_f_post_m6_mod_0_x : Valid
-[wp] [alt-ergo] Goal typed_f_post_sm0_mod_pos_pos : Valid
-[wp] [alt-ergo] Goal typed_f_post_sm1_mod_neg_pos : Valid
-[wp] [alt-ergo] Goal typed_f_post_sm2_mod_pos_neg : Valid
-[wp] [alt-ergo] Goal typed_f_post_sm3_mod_neg_neg : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_d0_div_pos_pos : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_d1_div_neg_pos : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_d2_div_pos_neg : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_d3_div_neg_neg : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_d4_div_x_1 : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_d5_div_x_minus1 : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_d6_div_0_x : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_sd0_div_pos_pos : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_sd1_div_neg_pos : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_sd2_div_pos_neg : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_sd3_div_neg_neg : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_m0_mod_pos_pos : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_m1_mod_neg_pos : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_m2_mod_pos_neg : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_m3_mod_neg_neg : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_m4_mod_x_1 : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_m5_mod_x_minus1 : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_m6_mod_0_x : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_sm0_mod_pos_pos : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_sm1_mod_neg_pos : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_sm2_mod_pos_neg : Valid
+[wp] [alt-ergo] Goal typed_f_ensures_sm3_mod_neg_neg : Valid
 [wp] Proved goals:   22 / 22
   Qed:             0 
   alt-ergo:       22
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.res.oracle
index 2136cd8449ea6524b1638468f4126ae482863824..dd6bba2a7058bbc80cd6555bf7a31ae028ce1e13 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/div_mod.2.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_d7_div_0_x_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_f_post_m7_mod_0_x_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_d7_div_0_x_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_m7_mod_0_x_ko : Unknown
 [wp] Proved goals:    0 / 2
   Alt-Ergo:        0  (unknown: 2)
 [wp] Report 'tests/wp_acsl/div_mod.i.2.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.res.oracle
index 981bfaf3a377d967a9662d41f2348fc3e77c06f3..e7b1cca13f1c7f69fbf490a84061ed866318994f 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/e_imply.res.oracle
@@ -5,48 +5,48 @@
 [wp] Warning: Missing RTE guards
 [wp] Computing [100 goals...]
 [wp] 119 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_p0 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_p1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_p2 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_p3 : Valid
-[wp] [Qed] Goal typed_f_post_p4 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_p5 : Valid
-[wp] [Qed] Goal typed_f_post_p6 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_p7 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_p8 : Valid
-[wp] [Qed] Goal typed_f_post_p9 : Valid
-[wp] [Qed] Goal typed_f_post_i0 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_i1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_i2 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_i3 : Valid
-[wp] [Qed] Goal typed_f_post_i4 : Valid
-[wp] [Qed] Goal typed_f_post_i5 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_i6 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_i7 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_i8 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_i9 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a0 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a2 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a3 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a4 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a5 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a6 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a7 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a8 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_a9 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_o0 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_o1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_o2 : Valid
-[wp] [Qed] Goal typed_f_post_o3 : Valid
-[wp] [Qed] Goal typed_f_post_o4 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_o5 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_o6 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_o7 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_o8 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_o9 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_f0 : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_f1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_p0 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_p1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_p2 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_p3 : Valid
+[wp] [Qed] Goal typed_f_ensures_p4 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_p5 : Valid
+[wp] [Qed] Goal typed_f_ensures_p6 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_p7 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_p8 : Valid
+[wp] [Qed] Goal typed_f_ensures_p9 : Valid
+[wp] [Qed] Goal typed_f_ensures_i0 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_i1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_i2 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_i3 : Valid
+[wp] [Qed] Goal typed_f_ensures_i4 : Valid
+[wp] [Qed] Goal typed_f_ensures_i5 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_i6 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_i7 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_i8 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_i9 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a0 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a2 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a3 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a4 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a5 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a6 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a7 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a8 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_a9 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_o0 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_o1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_o2 : Valid
+[wp] [Qed] Goal typed_f_ensures_o3 : Valid
+[wp] [Qed] Goal typed_f_ensures_o4 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_o5 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_o6 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_o7 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_o8 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_o9 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_f0 : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_f1 : Valid
 [wp] Proved goals:  119 / 119
   Qed:             8 
   Alt-Ergo:      111
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.res.oracle
index 023b79add824fb2e8a201c35c0ce6dbd6535c0cd..edc08a57dc27d6288fa64ec2ccd4e53543845c7b 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/equal.res.oracle
@@ -4,12 +4,12 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Alt-Ergo] Goal typed_simple_array_post : Valid
-[wp] [Qed] Goal typed_simple_struct_post : Valid
-[wp] [Alt-Ergo] Goal typed_with_array_struct_post : Valid
-[wp] [Alt-Ergo] Goal typed_with_ptr_and_array_struct_post : Valid
-[wp] [Alt-Ergo] Goal typed_with_ptr_array_post : Valid
-[wp] [Alt-Ergo] Goal typed_with_ptr_struct_post : Valid
+[wp] [Alt-Ergo] Goal typed_simple_array_ensures : Valid
+[wp] [Qed] Goal typed_simple_struct_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_with_array_struct_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_with_ptr_and_array_struct_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_with_ptr_array_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_with_ptr_struct_ensures : Valid
 [wp] Proved goals:    6 / 6
   Qed:             1 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/funvar_inv.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/funvar_inv.res.oracle
index 01ff9f7bec5f551c82f6476a701ef8ac26af11f2..4710a979b9fec752a3813171ab64bef7cab9603a 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/funvar_inv.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/funvar_inv.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_ref_f_loop_assign : Valid
-[wp] [Qed] Goal typed_ref_f2_loop_assign : Valid
-[wp] [Qed] Goal typed_ref_g_loop_assign : Valid
+[wp] [Qed] Goal typed_ref_f_loop_assigns : Valid
+[wp] [Qed] Goal typed_ref_f2_loop_assigns : Valid
+[wp] [Qed] Goal typed_ref_g_loop_assigns : Valid
 [wp] Proved goals:    3 / 3
   Qed:             3
 [wp] Report 'tests/wp_acsl/funvar_inv.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/implicit_enum_cast.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/implicit_enum_cast.res.oracle
index 9ed0b0beac94694fe09623eef691536cc711ddc0..33a7efd8bc0ee2889c1b612813747638acc9c1ea 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/implicit_enum_cast.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/implicit_enum_cast.res.oracle
@@ -4,15 +4,15 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 9 goals scheduled
-[wp] [Qed] Goal typed_bar_post : Valid
-[wp] [Qed] Goal typed_bar_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_bar_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_bar_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_bar_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_bar_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_bar_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_bar_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_bar_assign_normal_part5 : Valid
+[wp] [Qed] Goal typed_bar_ensures : Valid
+[wp] [Qed] Goal typed_bar_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_bar_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_bar_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_bar_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_bar_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_bar_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_bar_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_bar_assigns_normal_part5 : Valid
 [wp] Proved goals:    9 / 9
   Qed:             9
 [wp] Report 'tests/wp_acsl/implicit_enum_cast.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.res.oracle
index fe45ccb3d654892e61686211c0102f8c154f8e6a..c3f090839d60777287c9ef82e5ad5055ba596528 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_label.res.oracle
@@ -6,10 +6,10 @@
   No code nor implicit assigns clause for function main, generating default assigns from the prototype
 [wp] Warning: Missing RTE guards
 [wp] 4 goals scheduled
-[wp] [Alt-Ergo] Goal typed_extra_post_KO : Unknown
-[wp] [Qed] Goal typed_foreign_post_OK : Valid
-[wp] [Alt-Ergo] Goal typed_job_post_OK : Valid
-[wp] [Qed] Goal typed_main_pre_OK : Valid
+[wp] [Alt-Ergo] Goal typed_extra_ensures_KO : Unknown
+[wp] [Qed] Goal typed_foreign_ensures_OK : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures_OK : Valid
+[wp] [Qed] Goal typed_main_requires_OK : Valid
 [wp] Proved goals:    3 / 4
   Qed:             2 
   Alt-Ergo:        1  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.res.oracle
index 83fb66921697c443a2b99b43cf8f9ba51d5a5b81..0619f73d418710651fd29071598ac152e5d46f4e 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.0.res.oracle
@@ -4,30 +4,30 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 24 goals scheduled
-[wp] [Qed] Goal typed_fa1_post_qed_ok : Valid
-[wp] [Qed] Goal typed_fa2_post_qed_ok : Valid
-[wp] [Qed] Goal typed_fa3_post_qed_ok : Valid
-[wp] [Alt-Ergo] Goal typed_fs1_post_qed_ok : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_Struct_Simple_a : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_Struct_Simple_b : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_Simple_Array_0 : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_Simple_Array_1 : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_With_Array_Struct_5 : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_With_Array_Struct_3 : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_Sc_eq : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_Sc_t : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_Sc_t_2 : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_Sc_c_2 : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_Sc_c_3 : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_Tab_no_init : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_Tab_todo : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_2 : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_3 : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_todo : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_4 : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_5 : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok_direct_init_union : Valid
+[wp] [Qed] Goal typed_fa1_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_fa2_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_fa3_ensures_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_fs1_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_Struct_Simple_a : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_Struct_Simple_b : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_Simple_Array_0 : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_Simple_Array_1 : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_With_Array_Struct_5 : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_With_Array_Struct_3 : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_Sc_eq : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_Sc_t : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_Sc_t_2 : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_Sc_c_2 : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_Sc_c_3 : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_Tab_no_init : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_Tab_todo : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_2 : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_3 : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_todo : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_4 : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_5 : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok_direct_init_union : Valid
 [wp] Proved goals:   24 / 24
   Qed:            17 
   Alt-Ergo:        7
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.res.oracle
index d779e53743fb22ccbdaf2a1c04e02b0489876e18..6fd6542afa8361c5a6836072b77949b948416ead 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value.1.res.oracle
@@ -4,24 +4,24 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 18 goals scheduled
-[wp] [Alt-Ergo] Goal typed_fa1_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_fa1_post_qed_ko_2 : Unknown
-[wp] [Alt-Ergo] Goal typed_fa2_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_fa2_post_qed_ko_2 : Unknown
-[wp] [Alt-Ergo] Goal typed_fa3_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_fa3_post_qed_ko_2 : Unknown
-[wp] [Alt-Ergo] Goal typed_fa3_post_qed_ko_3 : Unknown
-[wp] [Alt-Ergo] Goal typed_fs1_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_fs1_post_qed_ko_2 : Unknown
-[wp] [Alt-Ergo] Goal typed_main_ko_pre_qed_ko_Sc_eq_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_main_ko_pre_qed_ko_Sc_t : Unknown
-[wp] [Alt-Ergo] Goal typed_main_ko_pre_qed_ko_Sc_c_2 : Unknown
-[wp] [Alt-Ergo] Goal typed_main_ko_pre_qed_ko_Tab_no_init : Unknown
-[wp] [Alt-Ergo] Goal typed_main_ko_pre_qed_ko_With_Array_Struct_3 : Unknown
-[wp] [Alt-Ergo] Goal typed_main_ko_pre_qed_ko_Simple_Array_1 : Unknown
-[wp] [Alt-Ergo] Goal typed_main_ko_pre_qed_ko_T1_6 : Unknown
-[wp] [Alt-Ergo] Goal typed_main_ko_pre_qed_ko_indirect_init_union_b : Unknown
-[wp] [Alt-Ergo] Goal typed_main_ko_pre_qed_ko_indirect_init_union_t : Unknown
+[wp] [Alt-Ergo] Goal typed_fa1_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_fa1_ensures_qed_ko_2 : Unknown
+[wp] [Alt-Ergo] Goal typed_fa2_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_fa2_ensures_qed_ko_2 : Unknown
+[wp] [Alt-Ergo] Goal typed_fa3_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_fa3_ensures_qed_ko_2 : Unknown
+[wp] [Alt-Ergo] Goal typed_fa3_ensures_qed_ko_3 : Unknown
+[wp] [Alt-Ergo] Goal typed_fs1_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_fs1_ensures_qed_ko_2 : Unknown
+[wp] [Alt-Ergo] Goal typed_main_ko_requires_qed_ko_Sc_eq_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_main_ko_requires_qed_ko_Sc_t : Unknown
+[wp] [Alt-Ergo] Goal typed_main_ko_requires_qed_ko_Sc_c_2 : Unknown
+[wp] [Alt-Ergo] Goal typed_main_ko_requires_qed_ko_Tab_no_init : Unknown
+[wp] [Alt-Ergo] Goal typed_main_ko_requires_qed_ko_With_Array_Struct_3 : Unknown
+[wp] [Alt-Ergo] Goal typed_main_ko_requires_qed_ko_Simple_Array_1 : Unknown
+[wp] [Alt-Ergo] Goal typed_main_ko_requires_qed_ko_T1_6 : Unknown
+[wp] [Alt-Ergo] Goal typed_main_ko_requires_qed_ko_indirect_init_union_b : Unknown
+[wp] [Alt-Ergo] Goal typed_main_ko_requires_qed_ko_indirect_init_union_t : Unknown
 [wp] Proved goals:    0 / 18
   Alt-Ergo:        0  (unknown: 18)
 [wp] Report 'tests/wp_acsl/init_value.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.res.oracle
index 06e2445b2a07f8686ecd2cb49302d6a94991f8db..6fa7bd03c7d7620072b6c20577929b47ace39628 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/init_value_mem.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Alt-Ergo] Goal typed_main_post_P : Valid
-[wp] [Alt-Ergo] Goal typed_main_post_Q : Valid
+[wp] [Alt-Ergo] Goal typed_main_ensures_P : Valid
+[wp] [Alt-Ergo] Goal typed_main_ensures_Q : Valid
 [wp] Proved goals:    2 / 2
   Qed:             0 
   Alt-Ergo:        2
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/intbool.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/intbool.res.oracle
index 1863f3ab49f2bd301a30a76a427a88d3abceac74..aa952f482657fa24e4a8d422a41045c85f63defa 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/intbool.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/intbool.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Qed] Goal typed_bug_post : Valid
+[wp] [Qed] Goal typed_bug_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             1
 [wp] Report 'tests/wp_acsl/intbool.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.res.oracle
index 9aa246a2736630707b73b86901adcaca0d4596bf..e7d801be0aed182f709de972f353e5733b297ac3 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/logic.res.oracle
@@ -41,27 +41,27 @@
 [wp] tests/wp_acsl/logic.i:62: Warning: 
   Logic cast to struct (Tint2) from (int [6]) not implemented yet
 [wp] 21 goals scheduled
-[wp] [Alt-Ergo] Goal typed_h_post : Unknown (Stronger)
-[wp] [Qed] Goal typed_h_assign_exit : Valid
-[wp] [Qed] Goal typed_h_assign_normal : Valid
-[wp] [Qed] Goal typed_main_pre_qed_ok : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_2 : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_3 : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_4 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_5 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_6 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_7 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_8 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_9 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_10 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_11 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_12 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_13 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_14 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_15 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_16 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_17 : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_main_pre_qed_ok_18 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_h_ensures : Unknown (Stronger)
+[wp] [Qed] Goal typed_h_assigns_exit : Valid
+[wp] [Qed] Goal typed_h_assigns_normal : Valid
+[wp] [Qed] Goal typed_main_requires_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_2 : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_3 : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_4 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_5 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_6 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_7 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_8 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_9 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_10 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_11 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_12 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_13 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_14 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_15 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_16 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_17 : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_main_requires_qed_ok_18 : Unknown (Stronger)
 [wp] Proved goals:    5 / 21
   Qed:             3 
   Alt-Ergo:        2  (unknown: 16)
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.res.oracle
index 77cdf82dbbd7f0285c166b0471c02e50b21fc5fb..26c8030d9dac191617788700e6e1cdd7118eb509 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/looplabels.res.oracle
@@ -4,14 +4,14 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 8 goals scheduled
-[wp] [Alt-Ergo] Goal typed_copy_post : Valid
-[wp] [Alt-Ergo] Goal typed_copy_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_copy_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_copy_loop_inv_2_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_copy_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_copy_loop_assign_part1 : Valid
-[wp] [Alt-Ergo] Goal typed_copy_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_copy_assign : Valid
+[wp] [Alt-Ergo] Goal typed_copy_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_copy_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_copy_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_copy_loop_invariant_2_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_copy_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_copy_loop_assigns_part1 : Valid
+[wp] [Alt-Ergo] Goal typed_copy_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_copy_assigns : Valid
 [wp] Proved goals:    8 / 8
   Qed:             3 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.res.oracle
index dacdfd4c992379bde9e6c0efe492641d11254806..1d6e4b7c5b2eb68d7ca0b4629b29969acf284380 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/null.res.oracle
@@ -6,7 +6,7 @@
 [wp] 3 goals scheduled
 [wp] [Alt-Ergo] Goal typed_lemma_valid_non_null : Valid
 [wp] [Alt-Ergo] Goal typed_lemma_valid_read_non_null : Valid
-[wp] [Qed] Goal typed_null_is_zero_post : Valid
+[wp] [Qed] Goal typed_null_is_zero_ensures : Valid
 [wp] Proved goals:    3 / 3
   Qed:             1 
   Alt-Ergo:        2
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.res.oracle
index a567ce67a3445906ea27d5af544c925b5efe6cf2..7c36192fd7af34f0c6f8d194d94f4307d5195843 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.0.res.oracle
@@ -6,15 +6,15 @@
 [wp] tests/wp_acsl/pointer.i:50: Warning: Uncomparable locations p_0 and mem:t
 [wp] tests/wp_acsl/pointer.i:49: Warning: Uncomparable locations p_0 and mem:t
 [wp] 9 goals scheduled
-[wp] [Alt-Ergo] Goal typed_ref_absurd_post_qed_ko_Base_oracle_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_ref_absurd_post_qed_ko_Comp_oracle_ko : Unknown
-[wp] [Qed] Goal typed_ref_array_post_Lt : Valid
-[wp] [Qed] Goal typed_ref_array_post_Le : Valid
-[wp] [Qed] Goal typed_ref_array_post_Eq : Valid
-[wp] [Alt-Ergo] Goal typed_ref_mixed_array_pointer_post_qed_ko_Le_oracle_ko : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_ref_mixed_array_pointer_post_qed_ko_Lt_oracle_ko : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_ref_pointer_post_qed_ko_Le_oracle_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_ref_pointer_post_qed_ko_Eq_oracle_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_ref_absurd_ensures_qed_ko_Base_oracle_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_ref_absurd_ensures_qed_ko_Comp_oracle_ko : Unknown
+[wp] [Qed] Goal typed_ref_array_ensures_Lt : Valid
+[wp] [Qed] Goal typed_ref_array_ensures_Le : Valid
+[wp] [Qed] Goal typed_ref_array_ensures_Eq : Valid
+[wp] [Alt-Ergo] Goal typed_ref_mixed_array_pointer_ensures_qed_ko_Le_oracle_ko : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_ref_mixed_array_pointer_ensures_qed_ko_Lt_oracle_ko : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_ref_pointer_ensures_qed_ko_Le_oracle_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_ref_pointer_ensures_qed_ko_Eq_oracle_ko : Unknown
 [wp] Proved goals:    3 / 9
   Qed:             3 
   Alt-Ergo:        0  (unknown: 6)
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.res.oracle
index b17fbb3bd877ca7296c953e5d4a3c00e03d95781..ae8ae26c94ab00e62049da1bfbe6c2ba3b3b546b 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/pointer.1.res.oracle
@@ -6,15 +6,15 @@
 [wp] tests/wp_acsl/pointer.i:50: Warning: Uncomparable locations p_0 and mem:t
 [wp] tests/wp_acsl/pointer.i:49: Warning: Uncomparable locations p_0 and mem:t
 [wp] 9 goals scheduled
-[wp] [Alt-Ergo] Goal typed_absurd_post_qed_ko_Base_oracle_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_absurd_post_qed_ko_Comp_oracle_ko : Unknown
-[wp] [Qed] Goal typed_array_post_Lt : Valid
-[wp] [Qed] Goal typed_array_post_Le : Valid
-[wp] [Qed] Goal typed_array_post_Eq : Valid
-[wp] [Alt-Ergo] Goal typed_mixed_array_pointer_post_qed_ko_Le_oracle_ko : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_mixed_array_pointer_post_qed_ko_Lt_oracle_ko : Unknown (Stronger)
-[wp] [Alt-Ergo] Goal typed_pointer_post_qed_ko_Le_oracle_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_pointer_post_qed_ko_Eq_oracle_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_absurd_ensures_qed_ko_Base_oracle_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_absurd_ensures_qed_ko_Comp_oracle_ko : Unknown
+[wp] [Qed] Goal typed_array_ensures_Lt : Valid
+[wp] [Qed] Goal typed_array_ensures_Le : Valid
+[wp] [Qed] Goal typed_array_ensures_Eq : Valid
+[wp] [Alt-Ergo] Goal typed_mixed_array_pointer_ensures_qed_ko_Le_oracle_ko : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_mixed_array_pointer_ensures_qed_ko_Lt_oracle_ko : Unknown (Stronger)
+[wp] [Alt-Ergo] Goal typed_pointer_ensures_qed_ko_Le_oracle_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_pointer_ensures_qed_ko_Eq_oracle_ko : Unknown
 [wp] Proved goals:    3 / 9
   Qed:             3 
   Alt-Ergo:        0  (unknown: 6)
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.res.oracle
index cd608ff8c72d15f5af4d9b76bc195802dd5f93ae..6326d96688ad9b8c8e24017e0a793f78510c8d54 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.0.res.oracle
@@ -40,58 +40,58 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 52 goals scheduled
-[wp] [Qed] Goal typed_bitwise_post_r_precedence_and_xor : Valid
-[wp] [Qed] Goal typed_bitwise_post_l_precedence_and_xor : Valid
-[wp] [Qed] Goal typed_bitwise_post_r_precedence_xor_or : Valid
-[wp] [Qed] Goal typed_bitwise_post_l_precedence_xor_or : Valid
-[wp] [Qed] Goal typed_bitwise_post_r_precedence_or_implies : Valid
-[wp] [Qed] Goal typed_bitwise_post_l_precedence_or_implies : Valid
-[wp] [Qed] Goal typed_bitwise_post_ok_r_precedence_implies_or : Valid
-[wp] [Qed] Goal typed_bitwise_post_ok_since : Valid
-[wp] [Qed] Goal typed_bitwise_post_r_assoc_implies : Valid
-[wp] [Qed] Goal typed_bitwise_post_r_precedence_implies_equiv : Valid
-[wp] [Qed] Goal typed_bitwise_post_l_precedence_implies_equiv : Valid
-[wp] [Qed] Goal typed_comparison_post_chainable_lt_lt : Valid
-[wp] [Qed] Goal typed_comparison_post_chainable_le_le : Valid
-[wp] [Qed] Goal typed_comparison_post_chainable_gt_gt : Valid
-[wp] [Qed] Goal typed_comparison_post_chainable_ge_ge : Valid
-[wp] [Qed] Goal typed_comparison_post_chainable_eq_eq : Valid
-[wp] [Qed] Goal typed_comparison_post_r_precedence_eq_and : Valid
-[wp] [Qed] Goal typed_comparison_post_l_precedence_eq_and : Valid
-[wp] [Qed] Goal typed_comparison_post_r_precedence_neq_and : Valid
-[wp] [Qed] Goal typed_comparison_post_l_precedence_neq_and : Valid
-[wp] [Qed] Goal typed_predicate_post_r_precedence_and_xor : Valid
-[wp] [Qed] Goal typed_predicate_post_l_precedence_and_xor : Valid
-[wp] [Qed] Goal typed_predicate_post_r_precedence_xor_or : Valid
-[wp] [Qed] Goal typed_predicate_post_l_precedence_xor_or : Valid
-[wp] [Qed] Goal typed_predicate_post_r_precedence_or_implies : Valid
-[wp] [Qed] Goal typed_predicate_post_l_precedence_or_implies : Valid
-[wp] [Alt-Ergo] Goal typed_predicate_post_ok_r_precedence_implies_or : Valid
-[wp] [Qed] Goal typed_predicate_post_ok_since : Valid
-[wp] [Qed] Goal typed_predicate_post_r_assoc_implies : Valid
-[wp] [Qed] Goal typed_predicate_post_r_precedence_implies_equiv : Valid
-[wp] [Qed] Goal typed_predicate_post_l_precedence_implies_equiv : Valid
-[wp] [Qed] Goal typed_predicate_post_r_precedence_equiv_ite : Valid
-[wp] [Qed] Goal typed_predicate_post_m_precedence_equiv_ite : Valid
-[wp] [Qed] Goal typed_predicate_post_l_precedence_equiv_ite : Valid
-[wp] [Qed] Goal typed_predicate_post_r_assoc_ite : Valid
-[wp] [Qed] Goal typed_predicate_post_r_precedence_ite_forall : Valid
-[wp] [Qed] Goal typed_predicate_post_m_precedence_ite_forall : Valid
-[wp] [Qed] Goal typed_predicate_post_l_precedence_ite_forall : Valid
-[wp] [Qed] Goal typed_predicate_post_r_assoc_forall : Valid
-[wp] [Qed] Goal typed_predicate_post_r_precedence_ite_exists : Valid
-[wp] [Qed] Goal typed_predicate_post_m_precedence_ite_exists : Valid
-[wp] [Qed] Goal typed_predicate_post_l_precedence_ite_exists : Valid
-[wp] [Qed] Goal typed_predicate_post_r_assoc_exist : Valid
-[wp] [Qed] Goal typed_predicate_post_r_precedence_ite_let : Valid
-[wp] [Qed] Goal typed_predicate_post_m_precedence_ite_let : Valid
-[wp] [Qed] Goal typed_predicate_post_l_precedence_ite_let : Valid
-[wp] [Qed] Goal typed_predicate_post_r_assoc_let : Valid
-[wp] [Qed] Goal typed_predicate_post_scope_let : Valid
-[wp] [Qed] Goal typed_predicate_post_scope_let_2 : Valid
-[wp] [Qed] Goal typed_predicate_post_r_precedence_ite_naming : Valid
-[wp] [Qed] Goal typed_predicate_bitwise_post_r_precedence_equiv_Pand : Valid
-[wp] [Qed] Goal typed_predicate_bitwise_post_l_precedence_equiv_Pand : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_r_precedence_and_xor : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_l_precedence_and_xor : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_r_precedence_xor_or : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_l_precedence_xor_or : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_r_precedence_or_implies : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_l_precedence_or_implies : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_ok_r_precedence_implies_or : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_ok_since : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_r_assoc_implies : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_r_precedence_implies_equiv : Valid
+[wp] [Qed] Goal typed_bitwise_ensures_l_precedence_implies_equiv : Valid
+[wp] [Qed] Goal typed_comparison_ensures_chainable_lt_lt : Valid
+[wp] [Qed] Goal typed_comparison_ensures_chainable_le_le : Valid
+[wp] [Qed] Goal typed_comparison_ensures_chainable_gt_gt : Valid
+[wp] [Qed] Goal typed_comparison_ensures_chainable_ge_ge : Valid
+[wp] [Qed] Goal typed_comparison_ensures_chainable_eq_eq : Valid
+[wp] [Qed] Goal typed_comparison_ensures_r_precedence_eq_and : Valid
+[wp] [Qed] Goal typed_comparison_ensures_l_precedence_eq_and : Valid
+[wp] [Qed] Goal typed_comparison_ensures_r_precedence_neq_and : Valid
+[wp] [Qed] Goal typed_comparison_ensures_l_precedence_neq_and : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_precedence_and_xor : Valid
+[wp] [Qed] Goal typed_predicate_ensures_l_precedence_and_xor : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_precedence_xor_or : Valid
+[wp] [Qed] Goal typed_predicate_ensures_l_precedence_xor_or : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_precedence_or_implies : Valid
+[wp] [Qed] Goal typed_predicate_ensures_l_precedence_or_implies : Valid
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ok_r_precedence_implies_or : Valid
+[wp] [Qed] Goal typed_predicate_ensures_ok_since : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_assoc_implies : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_precedence_implies_equiv : Valid
+[wp] [Qed] Goal typed_predicate_ensures_l_precedence_implies_equiv : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_precedence_equiv_ite : Valid
+[wp] [Qed] Goal typed_predicate_ensures_m_precedence_equiv_ite : Valid
+[wp] [Qed] Goal typed_predicate_ensures_l_precedence_equiv_ite : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_assoc_ite : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_precedence_ite_forall : Valid
+[wp] [Qed] Goal typed_predicate_ensures_m_precedence_ite_forall : Valid
+[wp] [Qed] Goal typed_predicate_ensures_l_precedence_ite_forall : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_assoc_forall : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_precedence_ite_exists : Valid
+[wp] [Qed] Goal typed_predicate_ensures_m_precedence_ite_exists : Valid
+[wp] [Qed] Goal typed_predicate_ensures_l_precedence_ite_exists : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_assoc_exist : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_precedence_ite_let : Valid
+[wp] [Qed] Goal typed_predicate_ensures_m_precedence_ite_let : Valid
+[wp] [Qed] Goal typed_predicate_ensures_l_precedence_ite_let : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_assoc_let : Valid
+[wp] [Qed] Goal typed_predicate_ensures_scope_let : Valid
+[wp] [Qed] Goal typed_predicate_ensures_scope_let_2 : Valid
+[wp] [Qed] Goal typed_predicate_ensures_r_precedence_ite_naming : Valid
+[wp] [Qed] Goal typed_predicate_bitwise_ensures_r_precedence_equiv_Pand : Valid
+[wp] [Qed] Goal typed_predicate_bitwise_ensures_l_precedence_equiv_Pand : Valid
 [wp] Proved goals:   52 / 52
   Qed:            51 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.res.oracle
index 13603360f9df78991446d692a107ee35c1cbf1c7..b5d9d479c01f387417e3f2800de0874cecf618f7 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/precedence.1.res.oracle
@@ -40,43 +40,43 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 37 goals scheduled
-[wp] [Alt-Ergo] Goal typed_bitwise_post_ko_l_precedence_xor_and : Unknown
-[wp] [Alt-Ergo] Goal typed_bitwise_post_ko_r_precedence_xor_and : Unknown
-[wp] [Alt-Ergo] Goal typed_bitwise_post_ko_l_precedence_or_xor : Unknown
-[wp] [Alt-Ergo] Goal typed_bitwise_post_ko_r_precedence_or_xor : Unknown
-[wp] [Alt-Ergo] Goal typed_bitwise_post_ko_l_precedence_implies_or : Unknown
-[wp] [Alt-Ergo] Goal typed_bitwise_post_ko_l_assoc_implies : Unknown
-[wp] [Alt-Ergo] Goal typed_bitwise_post_ko_r_precedence_equiv_implies : Unknown
-[wp] [Alt-Ergo] Goal typed_bitwise_post_ko_l_precedence_equiv_implies : Unknown
-[wp] [Alt-Ergo] Goal typed_comparison_post_ko_r_precedence_and_eq : Unknown
-[wp] [Alt-Ergo] Goal typed_comparison_post_ko_l_precedence_and_eq : Unknown
-[wp] [Alt-Ergo] Goal typed_comparison_post_ko_l_nonassoc_eq : Unknown
-[wp] [Alt-Ergo] Goal typed_comparison_post_ko_r_nonassoc_eq : Unknown
-[wp] [Alt-Ergo] Goal typed_comparison_post_ko_r_precedence_and_neq : Unknown
-[wp] [Alt-Ergo] Goal typed_comparison_post_ko_l_precedence_and_neq : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_precedence_xor_and : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_r_precedence_xor_and : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_precedence_or_xor : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_r_precedence_or_xor : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_precedence_implies_or : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_assoc_implies : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_r_precedence_equiv_implies : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_precedence_equiv_implies : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_r_precedence_ite_equiv : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_precedence_ite_equiv : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_assoc_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_r_precedence_forall_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_m_precedence_forall_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_precedence_forall_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_r_assoc_forall : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_r_precedence_exists_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_m_precedence_exists_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_precedence_exists_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_r_assoc_exist : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_r_precedence_let_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_m_precedence_let_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_precedence_let_ite : Unknown
-[wp] [Alt-Ergo] Goal typed_predicate_post_ko_l_assoc_naming : Unknown
+[wp] [Alt-Ergo] Goal typed_bitwise_ensures_ko_l_precedence_xor_and : Unknown
+[wp] [Alt-Ergo] Goal typed_bitwise_ensures_ko_r_precedence_xor_and : Unknown
+[wp] [Alt-Ergo] Goal typed_bitwise_ensures_ko_l_precedence_or_xor : Unknown
+[wp] [Alt-Ergo] Goal typed_bitwise_ensures_ko_r_precedence_or_xor : Unknown
+[wp] [Alt-Ergo] Goal typed_bitwise_ensures_ko_l_precedence_implies_or : Unknown
+[wp] [Alt-Ergo] Goal typed_bitwise_ensures_ko_l_assoc_implies : Unknown
+[wp] [Alt-Ergo] Goal typed_bitwise_ensures_ko_r_precedence_equiv_implies : Unknown
+[wp] [Alt-Ergo] Goal typed_bitwise_ensures_ko_l_precedence_equiv_implies : Unknown
+[wp] [Alt-Ergo] Goal typed_comparison_ensures_ko_r_precedence_and_eq : Unknown
+[wp] [Alt-Ergo] Goal typed_comparison_ensures_ko_l_precedence_and_eq : Unknown
+[wp] [Alt-Ergo] Goal typed_comparison_ensures_ko_l_nonassoc_eq : Unknown
+[wp] [Alt-Ergo] Goal typed_comparison_ensures_ko_r_nonassoc_eq : Unknown
+[wp] [Alt-Ergo] Goal typed_comparison_ensures_ko_r_precedence_and_neq : Unknown
+[wp] [Alt-Ergo] Goal typed_comparison_ensures_ko_l_precedence_and_neq : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_precedence_xor_and : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_r_precedence_xor_and : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_precedence_or_xor : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_r_precedence_or_xor : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_precedence_implies_or : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_assoc_implies : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_r_precedence_equiv_implies : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_precedence_equiv_implies : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_r_precedence_ite_equiv : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_precedence_ite_equiv : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_assoc_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_r_precedence_forall_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_m_precedence_forall_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_precedence_forall_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_r_assoc_forall : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_r_precedence_exists_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_m_precedence_exists_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_precedence_exists_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_r_assoc_exist : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_r_precedence_let_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_m_precedence_let_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_precedence_let_ite : Unknown
+[wp] [Alt-Ergo] Goal typed_predicate_ensures_ko_l_assoc_naming : Unknown
 [wp] Proved goals:    0 / 37
   Alt-Ergo:        0  (unknown: 37)
 [wp] Report 'tests/wp_acsl/precedence.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/range.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/range.res.oracle
index a3ac45cef648087747780c8102a707bcd3d35880..cf9b98a9f724f9762c4a7cfe28c19da16a5f7014 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/range.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/range.res.oracle
@@ -4,10 +4,10 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 4 goals scheduled
-[wp] [Qed] Goal typed_test_post_P1_ok : Valid
-[wp] [Qed] Goal typed_test_post_P2_ok : Valid
-[wp] [Qed] Goal typed_test_call_val_assigns_p_pre_HP_ok : Valid
-[wp] [Qed] Goal typed_test_call_val_assigns_q_pre_HQ_ok : Valid
+[wp] [Qed] Goal typed_test_ensures_P1_ok : Valid
+[wp] [Qed] Goal typed_test_ensures_P2_ok : Valid
+[wp] [Qed] Goal typed_test_call_val_assigns_p_requires_HP_ok : Valid
+[wp] [Qed] Goal typed_test_call_val_assigns_q_requires_HQ_ok : Valid
 [wp] Proved goals:    4 / 4
   Qed:             4
 [wp] Report 'tests/wp_acsl/range.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.res.oracle
index b9820c5fc668f07c45d573cc977ca87992aa673a..095159c70d31cd470cfba216475f0ab81aec7226 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.0.res.oracle
@@ -4,13 +4,13 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 7 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ok : Valid
-[wp] [Alt-Ergo] Goal typed_g_post_qed_ok : Valid
-[wp] [Qed] Goal typed_modifies_x_post_qed_ok_F_OK : Valid
-[wp] [Alt-Ergo] Goal typed_modifies_x_post_qed_ok_W_OK_todo : Unknown
-[wp] [Qed] Goal typed_modifies_y_post_qed_ok_F_OK : Valid
-[wp] [Qed] Goal typed_modifies_y_post_qed_ok_G_OK : Valid
-[wp] [Alt-Ergo] Goal typed_modifies_y_post_qed_ok_W_OK_todo : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_g_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_modifies_x_ensures_qed_ok_F_OK : Valid
+[wp] [Alt-Ergo] Goal typed_modifies_x_ensures_qed_ok_W_OK_todo : Unknown
+[wp] [Qed] Goal typed_modifies_y_ensures_qed_ok_F_OK : Valid
+[wp] [Qed] Goal typed_modifies_y_ensures_qed_ok_G_OK : Valid
+[wp] [Alt-Ergo] Goal typed_modifies_y_ensures_qed_ok_W_OK_todo : Unknown
 [wp] Proved goals:    5 / 7
   Qed:             3 
   Alt-Ergo:        2  (unknown: 2)
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.res.oracle
index df2151ee5ac0385ea2ab9a5b8cb204730fed21b3..d35f0f34da7689d26651e64ae1adf2cb9de89f6d 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/reads.1.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Alt-Ergo] Goal typed_modifies_x_post_qed_ko_G_KO : Unknown
-[wp] [Alt-Ergo] Goal typed_modifies_x_post_qed_ko_H_KO : Unknown
-[wp] [Alt-Ergo] Goal typed_modifies_y_post_qed_ko_H_KO : Unknown
+[wp] [Alt-Ergo] Goal typed_modifies_x_ensures_qed_ko_G_KO : Unknown
+[wp] [Alt-Ergo] Goal typed_modifies_x_ensures_qed_ko_H_KO : Unknown
+[wp] [Alt-Ergo] Goal typed_modifies_y_ensures_qed_ko_H_KO : Unknown
 [wp] Proved goals:    0 / 3
   Alt-Ergo:        0  (unknown: 3)
 [wp] Report 'tests/wp_acsl/reads.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.res.oracle
index 78f64842093f63d9177b70abd9eb1bdb5515d13c..0eba7d398851f0ce4eeaeadea7374620772ecdb5 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.0.res.oracle
@@ -4,17 +4,17 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 11 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_M1_qed_ok : Valid
-[wp] [Qed] Goal typed_f_post_M2_qed_ok : Valid
-[wp] [Qed] Goal typed_f_post_M3_qed_ok : Valid
-[wp] [Qed] Goal typed_f_post_M4_qed_ok : Valid
-[wp] [Qed] Goal typed_f_post_M5_qed_ok : Valid
-[wp] [Qed] Goal typed_f_post_M6_qed_ok : Valid
-[wp] [Qed] Goal typed_f_post_P1_qed_ok : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_P2_qed_ok : Valid
-[wp] [Qed] Goal typed_f_post_P3_qed_ok : Valid
-[wp] [Qed] Goal typed_f_post_P4_qed_ok : Valid
-[wp] [Qed] Goal typed_f_post_P5_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_M1_qed_ok : Valid
+[wp] [Qed] Goal typed_f_ensures_M2_qed_ok : Valid
+[wp] [Qed] Goal typed_f_ensures_M3_qed_ok : Valid
+[wp] [Qed] Goal typed_f_ensures_M4_qed_ok : Valid
+[wp] [Qed] Goal typed_f_ensures_M5_qed_ok : Valid
+[wp] [Qed] Goal typed_f_ensures_M6_qed_ok : Valid
+[wp] [Qed] Goal typed_f_ensures_P1_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_P2_qed_ok : Valid
+[wp] [Qed] Goal typed_f_ensures_P3_qed_ok : Valid
+[wp] [Qed] Goal typed_f_ensures_P4_qed_ok : Valid
+[wp] [Qed] Goal typed_f_ensures_P5_qed_ok : Valid
 [wp] Proved goals:   11 / 11
   Qed:             9 
   Alt-Ergo:        2
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.res.oracle
index 8a8174e1563a87d8dbe78fbefdc9098565e0bdb7..72d59398c6be91dad9e49ad0527e4fbe318b36ab 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/record.1.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_KP5_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_KP5_qed_ko : Unknown
 [wp] Proved goals:    0 / 1
   Alt-Ergo:        0  (unknown: 1)
 [wp] Report 'tests/wp_acsl/record.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.res.oracle
index c7337043ba717ec108b1534c6fdf2e328e8eb160..59e1fa47daf8d52591e3bdfc3312996a912ceb36 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/simpl_is_type.res.oracle
@@ -4,21 +4,21 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 15 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_f_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_f_loop_inv_2_established : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_inv_3_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_inv_3_established : Valid
-[wp] [Qed] Goal typed_f_loop_assign_part1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_assign_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_g_post : Valid
-[wp] [Alt-Ergo] Goal typed_g_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_g_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_g_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_g_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_g_loop_assign : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_invariant_3_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_invariant_3_established : Valid
+[wp] [Qed] Goal typed_f_loop_assigns_part1 : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_assigns_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_g_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_g_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_g_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_g_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_g_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_g_loop_assigns : Valid
 [wp] Proved goals:   15 / 15
   Qed:             6 
   Alt-Ergo:        9
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.res.oracle
index bc2da4692e74afd2351380a01b1d5d6773a82118..8cb9c9ace8a2f782488d796359f1266aa2b4bfd0 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.0.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Alt-Ergo] Goal typed_caveat_f_post_ok : Valid
-[wp] [Qed] Goal typed_caveat_g_post_ok : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_f_ensures_ok : Valid
+[wp] [Qed] Goal typed_caveat_g_ensures_ok : Valid
 [wp] Proved goals:    2 / 2
   Qed:             1 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.res.oracle
index aa9dcc7c838b295eba14bdfefcf06087c73b0da0..c79e18f32beff0106a9501e7819fa5cd7491182e 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/struct_use_case.1.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Alt-Ergo] Goal typed_caveat_f_post_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_caveat_g_post_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_caveat_f_ensures_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_caveat_g_ensures_ko : Unknown
 [wp] Proved goals:    0 / 2
   Alt-Ergo:        0  (unknown: 2)
 [wp] Report 'tests/wp_acsl/struct_use_case.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.res.oracle
index a6ea9f4aee35b72f24c5892b641b421f3e1ecb29..3ba6b703c8f482e68d1c1f9ea2710c9d22b62720 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.0.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ok : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.res.oracle
index 8744936bcc14ad243102625fe6ae9731f71e5d77..4c0a4a82d065b3f536d0d7f827695ee0651a7645 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/type_guard.1.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ko : Unknown
 [wp] Proved goals:    0 / 1
   Alt-Ergo:        0  (unknown: 1)
 [wp] Report 'tests/wp_acsl/type_guard.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.res.oracle
index d7e86c63e7d8693f991c8fef5366b7b241c04641..cb2e57f0acdd17e32ba18b6a1f2a8605cb68baac 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/unit_bit_test.res.oracle
@@ -4,10 +4,10 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 4 goals scheduled
-[wp] [Qed] Goal typed_rotate_left_post_bit_zero : Valid
-[wp] [Alt-Ergo] Goal typed_rotate_left_post_other_bits : Valid
-[wp] [Qed] Goal typed_sum_post_ok : Valid
-[wp] [Alt-Ergo] Goal typed_sum_post_ko : Unknown
+[wp] [Qed] Goal typed_rotate_left_ensures_bit_zero : Valid
+[wp] [Alt-Ergo] Goal typed_rotate_left_ensures_other_bits : Valid
+[wp] [Qed] Goal typed_sum_ensures_ok : Valid
+[wp] [Alt-Ergo] Goal typed_sum_ensures_ko : Unknown
 [wp] Proved goals:    3 / 4
   Qed:             2 
   Alt-Ergo:        1  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.res.oracle
index 1f5420c4053fa980ede1d4ea9050af8a1d59606f..e3c4552cbe9e0350037d723724eb26bf370a4e81 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.0.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ok : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.res.oracle b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.res.oracle
index 4295e2a6211fcbc7d2b230b393e4f0bd2df74e2b..25a1b0cae037d1c7fb6fdbbfff453344fa380fc0 100644
--- a/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.res.oracle
+++ b/src/plugins/wp/tests/wp_acsl/oracle_qualif/user_def_type_guard.1.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ko : Unknown
 [wp] Proved goals:    0 / 1
   Alt-Ergo:        0  (unknown: 1)
 [wp] Report 'tests/wp_acsl/user_def_type_guard.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_acsl/pointer.i.0.report.json b/src/plugins/wp/tests/wp_acsl/pointer.i.0.report.json
index 84a062bbe53b9f468efbf2d33bf8ffdf25666d69..24bc2e2f049ee646bdbf708aa854c519013da8e6 100644
--- a/src/plugins/wp/tests/wp_acsl/pointer.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/pointer.i.0.report.json
@@ -1,38 +1,38 @@
 { "wp:global": { "alt-ergo": { "total": 6, "unknown": 6 },
                  "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 9, "valid": 3, "unknown": 6 } },
-  "wp:functions": { "array": { "array_post_Eq": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                               "array_post_Le": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                               "array_post_Lt": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
+  "wp:functions": { "array": { "array_ensures_Eq": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                               "array_ensures_Le": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                               "array_ensures_Lt": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                                "wp:section": { "qed": { "total": 3,
                                                         "valid": 3 },
                                                "wp:main": { "total": 3,
                                                             "valid": 3 } } },
-                    "pointer": { "pointer_post_qed_ko_Eq_oracle_ko": 
+                    "pointer": { "pointer_ensures_qed_ko_Eq_oracle_ko": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "pointer_post_qed_ko_Le_oracle_ko": 
+                                 "pointer_ensures_qed_ko_Le_oracle_ko": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 2,
                                                                "unknown": 2 },
                                                  "wp:main": { "total": 2,
                                                               "unknown": 2 } } },
-                    "mixed_array_pointer": { "mixed_array_pointer_post_qed_ko_Lt_oracle_ko": 
+                    "mixed_array_pointer": { "mixed_array_pointer_ensures_qed_ko_Lt_oracle_ko": 
                                                { "alt-ergo": { "total": 1,
                                                                "unknown": 1 },
                                                  "wp:main": { "total": 1,
                                                               "unknown": 1 } },
-                                             "mixed_array_pointer_post_qed_ko_Le_oracle_ko": 
+                                             "mixed_array_pointer_ensures_qed_ko_Le_oracle_ko": 
                                                { "alt-ergo": { "total": 1,
                                                                "unknown": 1 },
                                                  "wp:main": { "total": 1,
@@ -43,10 +43,10 @@
                                                              "wp:main": 
                                                                { "total": 2,
                                                                  "unknown": 2 } } },
-                    "absurd": { "absurd_post_qed_ko_Comp_oracle_ko": 
+                    "absurd": { "absurd_ensures_qed_ko_Comp_oracle_ko": 
                                   { "alt-ergo": { "total": 1, "unknown": 1 },
                                     "wp:main": { "total": 1, "unknown": 1 } },
-                                "absurd_post_qed_ko_Base_oracle_ko": 
+                                "absurd_ensures_qed_ko_Base_oracle_ko": 
                                   { "alt-ergo": { "total": 1, "unknown": 1 },
                                     "wp:main": { "total": 1, "unknown": 1 } },
                                 "wp:section": { "alt-ergo": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_acsl/pointer.i.1.report.json b/src/plugins/wp/tests/wp_acsl/pointer.i.1.report.json
index 84a062bbe53b9f468efbf2d33bf8ffdf25666d69..24bc2e2f049ee646bdbf708aa854c519013da8e6 100644
--- a/src/plugins/wp/tests/wp_acsl/pointer.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/pointer.i.1.report.json
@@ -1,38 +1,38 @@
 { "wp:global": { "alt-ergo": { "total": 6, "unknown": 6 },
                  "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 9, "valid": 3, "unknown": 6 } },
-  "wp:functions": { "array": { "array_post_Eq": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                               "array_post_Le": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                               "array_post_Lt": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
+  "wp:functions": { "array": { "array_ensures_Eq": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                               "array_ensures_Le": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                               "array_ensures_Lt": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                                "wp:section": { "qed": { "total": 3,
                                                         "valid": 3 },
                                                "wp:main": { "total": 3,
                                                             "valid": 3 } } },
-                    "pointer": { "pointer_post_qed_ko_Eq_oracle_ko": 
+                    "pointer": { "pointer_ensures_qed_ko_Eq_oracle_ko": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "pointer_post_qed_ko_Le_oracle_ko": 
+                                 "pointer_ensures_qed_ko_Le_oracle_ko": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 2,
                                                                "unknown": 2 },
                                                  "wp:main": { "total": 2,
                                                               "unknown": 2 } } },
-                    "mixed_array_pointer": { "mixed_array_pointer_post_qed_ko_Lt_oracle_ko": 
+                    "mixed_array_pointer": { "mixed_array_pointer_ensures_qed_ko_Lt_oracle_ko": 
                                                { "alt-ergo": { "total": 1,
                                                                "unknown": 1 },
                                                  "wp:main": { "total": 1,
                                                               "unknown": 1 } },
-                                             "mixed_array_pointer_post_qed_ko_Le_oracle_ko": 
+                                             "mixed_array_pointer_ensures_qed_ko_Le_oracle_ko": 
                                                { "alt-ergo": { "total": 1,
                                                                "unknown": 1 },
                                                  "wp:main": { "total": 1,
@@ -43,10 +43,10 @@
                                                              "wp:main": 
                                                                { "total": 2,
                                                                  "unknown": 2 } } },
-                    "absurd": { "absurd_post_qed_ko_Comp_oracle_ko": 
+                    "absurd": { "absurd_ensures_qed_ko_Comp_oracle_ko": 
                                   { "alt-ergo": { "total": 1, "unknown": 1 },
                                     "wp:main": { "total": 1, "unknown": 1 } },
-                                "absurd_post_qed_ko_Base_oracle_ko": 
+                                "absurd_ensures_qed_ko_Base_oracle_ko": 
                                   { "alt-ergo": { "total": 1, "unknown": 1 },
                                     "wp:main": { "total": 1, "unknown": 1 } },
                                 "wp:section": { "alt-ergo": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_acsl/precedence.i.0.report.json b/src/plugins/wp/tests/wp_acsl/precedence.i.0.report.json
index e6f56a33ce42a5132d53ef846fd4e743a142c83e..db09e8ac05f0bb0ebc86fa1be39a1bd8f8333434 100644
--- a/src/plugins/wp/tests/wp_acsl/precedence.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/precedence.i.0.report.json
@@ -1,117 +1,111 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 2 },
                  "qed": { "total": 51, "valid": 51 },
                  "wp:main": { "total": 52, "valid": 52, "rank": 2 } },
-  "wp:functions": { "predicate": { "predicate_post_r_precedence_ite_naming": 
+  "wp:functions": { "predicate": { "predicate_ensures_r_precedence_ite_naming": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_scope_let_2": { "qed": 
+                                   "predicate_ensures_scope_let_2": { "qed": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                                   "predicate_post_scope_let": { "qed": 
-                                                                   { "total": 1,
+                                   "predicate_ensures_scope_let": { "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
+                                                                    "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1 } },
-                                   "predicate_post_r_assoc_let": { "qed": 
+                                   "predicate_ensures_r_assoc_let": { "qed": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                                   "predicate_post_l_precedence_ite_let": 
+                                   "predicate_ensures_l_precedence_ite_let": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_m_precedence_ite_let": 
+                                   "predicate_ensures_m_precedence_ite_let": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_precedence_ite_let": 
+                                   "predicate_ensures_r_precedence_ite_let": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_assoc_exist": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                                   "predicate_post_l_precedence_ite_exists": 
+                                   "predicate_ensures_r_assoc_exist": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_m_precedence_ite_exists": 
+                                   "predicate_ensures_l_precedence_ite_exists": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_precedence_ite_exists": 
+                                   "predicate_ensures_m_precedence_ite_exists": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_assoc_forall": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                                   "predicate_post_l_precedence_ite_forall": 
+                                   "predicate_ensures_r_precedence_ite_exists": 
+                                     { "qed": { "total": 1, "valid": 1 },
+                                       "wp:main": { "total": 1, "valid": 1 } },
+                                   "predicate_ensures_r_assoc_forall": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_m_precedence_ite_forall": 
+                                   "predicate_ensures_l_precedence_ite_forall": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_precedence_ite_forall": 
+                                   "predicate_ensures_m_precedence_ite_forall": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_assoc_ite": { "qed": 
+                                   "predicate_ensures_r_precedence_ite_forall": 
+                                     { "qed": { "total": 1, "valid": 1 },
+                                       "wp:main": { "total": 1, "valid": 1 } },
+                                   "predicate_ensures_r_assoc_ite": { "qed": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                                   "predicate_post_l_precedence_equiv_ite": 
+                                   "predicate_ensures_l_precedence_equiv_ite": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_m_precedence_equiv_ite": 
+                                   "predicate_ensures_m_precedence_equiv_ite": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_precedence_equiv_ite": 
+                                   "predicate_ensures_r_precedence_equiv_ite": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_l_precedence_implies_equiv": 
+                                   "predicate_ensures_l_precedence_implies_equiv": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_precedence_implies_equiv": 
+                                   "predicate_ensures_r_precedence_implies_equiv": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_assoc_implies": 
+                                   "predicate_ensures_r_assoc_implies": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_ok_since": { "qed": 
-                                                                  { "total": 1,
+                                   "predicate_ensures_ok_since": { "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                                "wp:main": 
-                                                                  { "total": 1,
+                                                                   "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1 } },
-                                   "predicate_post_ok_r_precedence_implies_or": 
+                                   "predicate_ensures_ok_r_precedence_implies_or": 
                                      { "alt-ergo": { "total": 1, "valid": 1,
                                                      "rank": 2 },
                                        "wp:main": { "total": 1, "valid": 1,
                                                     "rank": 2 } },
-                                   "predicate_post_l_precedence_or_implies": 
+                                   "predicate_ensures_l_precedence_or_implies": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_precedence_or_implies": 
+                                   "predicate_ensures_r_precedence_or_implies": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_l_precedence_xor_or": 
+                                   "predicate_ensures_l_precedence_xor_or": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_precedence_xor_or": 
+                                   "predicate_ensures_r_precedence_xor_or": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_l_precedence_and_xor": 
+                                   "predicate_ensures_l_precedence_and_xor": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "predicate_post_r_precedence_and_xor": 
+                                   "predicate_ensures_r_precedence_and_xor": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
@@ -122,85 +116,86 @@
                                                    "wp:main": { "total": 30,
                                                                 "valid": 30,
                                                                 "rank": 2 } } },
-                    "comparison": { "comparison_post_l_precedence_neq_and": 
+                    "comparison": { "comparison_ensures_l_precedence_neq_and": 
                                       { "qed": { "total": 1, "valid": 1 },
                                         "wp:main": { "total": 1, "valid": 1 } },
-                                    "comparison_post_r_precedence_neq_and": 
+                                    "comparison_ensures_r_precedence_neq_and": 
                                       { "qed": { "total": 1, "valid": 1 },
                                         "wp:main": { "total": 1, "valid": 1 } },
-                                    "comparison_post_l_precedence_eq_and": 
+                                    "comparison_ensures_l_precedence_eq_and": 
                                       { "qed": { "total": 1, "valid": 1 },
                                         "wp:main": { "total": 1, "valid": 1 } },
-                                    "comparison_post_r_precedence_eq_and": 
+                                    "comparison_ensures_r_precedence_eq_and": 
                                       { "qed": { "total": 1, "valid": 1 },
                                         "wp:main": { "total": 1, "valid": 1 } },
-                                    "comparison_post_chainable_eq_eq": 
+                                    "comparison_ensures_chainable_eq_eq": 
                                       { "qed": { "total": 1, "valid": 1 },
                                         "wp:main": { "total": 1, "valid": 1 } },
-                                    "comparison_post_chainable_ge_ge": 
+                                    "comparison_ensures_chainable_ge_ge": 
                                       { "qed": { "total": 1, "valid": 1 },
                                         "wp:main": { "total": 1, "valid": 1 } },
-                                    "comparison_post_chainable_gt_gt": 
+                                    "comparison_ensures_chainable_gt_gt": 
                                       { "qed": { "total": 1, "valid": 1 },
                                         "wp:main": { "total": 1, "valid": 1 } },
-                                    "comparison_post_chainable_le_le": 
+                                    "comparison_ensures_chainable_le_le": 
                                       { "qed": { "total": 1, "valid": 1 },
                                         "wp:main": { "total": 1, "valid": 1 } },
-                                    "comparison_post_chainable_lt_lt": 
+                                    "comparison_ensures_chainable_lt_lt": 
                                       { "qed": { "total": 1, "valid": 1 },
                                         "wp:main": { "total": 1, "valid": 1 } },
                                     "wp:section": { "qed": { "total": 9,
                                                              "valid": 9 },
                                                     "wp:main": { "total": 9,
                                                                  "valid": 9 } } },
-                    "bitwise": { "bitwise_post_l_precedence_implies_equiv": 
+                    "bitwise": { "bitwise_ensures_l_precedence_implies_equiv": 
                                    { "qed": { "total": 1, "valid": 1 },
                                      "wp:main": { "total": 1, "valid": 1 } },
-                                 "bitwise_post_r_precedence_implies_equiv": 
+                                 "bitwise_ensures_r_precedence_implies_equiv": 
                                    { "qed": { "total": 1, "valid": 1 },
                                      "wp:main": { "total": 1, "valid": 1 } },
-                                 "bitwise_post_r_assoc_implies": { "qed": 
+                                 "bitwise_ensures_r_assoc_implies": { "qed": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                                 "bitwise_post_ok_since": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
-                                 "bitwise_post_ok_r_precedence_implies_or": 
+                                 "bitwise_ensures_ok_since": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
+                                 "bitwise_ensures_ok_r_precedence_implies_or": 
                                    { "qed": { "total": 1, "valid": 1 },
                                      "wp:main": { "total": 1, "valid": 1 } },
-                                 "bitwise_post_l_precedence_or_implies": 
+                                 "bitwise_ensures_l_precedence_or_implies": 
                                    { "qed": { "total": 1, "valid": 1 },
                                      "wp:main": { "total": 1, "valid": 1 } },
-                                 "bitwise_post_r_precedence_or_implies": 
+                                 "bitwise_ensures_r_precedence_or_implies": 
                                    { "qed": { "total": 1, "valid": 1 },
                                      "wp:main": { "total": 1, "valid": 1 } },
-                                 "bitwise_post_l_precedence_xor_or": 
+                                 "bitwise_ensures_l_precedence_xor_or": 
                                    { "qed": { "total": 1, "valid": 1 },
                                      "wp:main": { "total": 1, "valid": 1 } },
-                                 "bitwise_post_r_precedence_xor_or": 
+                                 "bitwise_ensures_r_precedence_xor_or": 
                                    { "qed": { "total": 1, "valid": 1 },
                                      "wp:main": { "total": 1, "valid": 1 } },
-                                 "bitwise_post_l_precedence_and_xor": 
+                                 "bitwise_ensures_l_precedence_and_xor": 
                                    { "qed": { "total": 1, "valid": 1 },
                                      "wp:main": { "total": 1, "valid": 1 } },
-                                 "bitwise_post_r_precedence_and_xor": 
+                                 "bitwise_ensures_r_precedence_and_xor": 
                                    { "qed": { "total": 1, "valid": 1 },
                                      "wp:main": { "total": 1, "valid": 1 } },
                                  "wp:section": { "qed": { "total": 11,
                                                           "valid": 11 },
                                                  "wp:main": { "total": 11,
                                                               "valid": 11 } } },
-                    "predicate_bitwise": { "predicate_bitwise_post_l_precedence_equiv_Pand": 
+                    "predicate_bitwise": { "predicate_bitwise_ensures_l_precedence_equiv_Pand": 
                                              { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
                                                             "valid": 1 } },
-                                           "predicate_bitwise_post_r_precedence_equiv_Pand": 
+                                           "predicate_bitwise_ensures_r_precedence_equiv_Pand": 
                                              { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/precedence.i.1.report.json b/src/plugins/wp/tests/wp_acsl/precedence.i.1.report.json
index f4ee809d7dcb9c42b674bb7cf680480c684e0e7f..47bc323909bc169c81bdfa3e75ab33a9d4e89e85 100644
--- a/src/plugins/wp/tests/wp_acsl/precedence.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/precedence.i.1.report.json
@@ -1,117 +1,116 @@
 { "wp:global": { "alt-ergo": { "total": 37, "unknown": 37 },
                  "wp:main": { "total": 37, "unknown": 37 } },
-  "wp:functions": { "predicate": { "predicate_post_ko_l_assoc_naming": 
+  "wp:functions": { "predicate": { "predicate_ensures_ko_l_assoc_naming": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_l_precedence_let_ite": 
+                                   "predicate_ensures_ko_l_precedence_let_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_m_precedence_let_ite": 
+                                   "predicate_ensures_ko_m_precedence_let_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_r_precedence_let_ite": 
+                                   "predicate_ensures_ko_r_precedence_let_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_r_assoc_exist": 
+                                   "predicate_ensures_ko_r_assoc_exist": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_l_precedence_exists_ite": 
+                                   "predicate_ensures_ko_l_precedence_exists_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_m_precedence_exists_ite": 
+                                   "predicate_ensures_ko_m_precedence_exists_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_r_precedence_exists_ite": 
+                                   "predicate_ensures_ko_r_precedence_exists_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_r_assoc_forall": 
+                                   "predicate_ensures_ko_r_assoc_forall": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_l_precedence_forall_ite": 
+                                   "predicate_ensures_ko_l_precedence_forall_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_m_precedence_forall_ite": 
+                                   "predicate_ensures_ko_m_precedence_forall_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_r_precedence_forall_ite": 
+                                   "predicate_ensures_ko_r_precedence_forall_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_l_assoc_ite": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 } },
-                                   "predicate_post_ko_l_precedence_ite_equiv": 
+                                   "predicate_ensures_ko_l_assoc_ite": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_r_precedence_ite_equiv": 
+                                   "predicate_ensures_ko_l_precedence_ite_equiv": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_l_precedence_equiv_implies": 
+                                   "predicate_ensures_ko_r_precedence_ite_equiv": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_r_precedence_equiv_implies": 
+                                   "predicate_ensures_ko_l_precedence_equiv_implies": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_l_assoc_implies": 
+                                   "predicate_ensures_ko_r_precedence_equiv_implies": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_l_precedence_implies_or": 
+                                   "predicate_ensures_ko_l_assoc_implies": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_r_precedence_or_xor": 
+                                   "predicate_ensures_ko_l_precedence_implies_or": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_l_precedence_or_xor": 
+                                   "predicate_ensures_ko_r_precedence_or_xor": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_r_precedence_xor_and": 
+                                   "predicate_ensures_ko_l_precedence_or_xor": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
                                                     "unknown": 1 } },
-                                   "predicate_post_ko_l_precedence_xor_and": 
+                                   "predicate_ensures_ko_r_precedence_xor_and": 
+                                     { "alt-ergo": { "total": 1,
+                                                     "unknown": 1 },
+                                       "wp:main": { "total": 1,
+                                                    "unknown": 1 } },
+                                   "predicate_ensures_ko_l_precedence_xor_and": 
                                      { "alt-ergo": { "total": 1,
                                                      "unknown": 1 },
                                        "wp:main": { "total": 1,
@@ -120,32 +119,32 @@
                                                                  "unknown": 23 },
                                                    "wp:main": { "total": 23,
                                                                 "unknown": 23 } } },
-                    "comparison": { "comparison_post_ko_l_precedence_and_neq": 
+                    "comparison": { "comparison_ensures_ko_l_precedence_and_neq": 
                                       { "alt-ergo": { "total": 1,
                                                       "unknown": 1 },
                                         "wp:main": { "total": 1,
                                                      "unknown": 1 } },
-                                    "comparison_post_ko_r_precedence_and_neq": 
+                                    "comparison_ensures_ko_r_precedence_and_neq": 
                                       { "alt-ergo": { "total": 1,
                                                       "unknown": 1 },
                                         "wp:main": { "total": 1,
                                                      "unknown": 1 } },
-                                    "comparison_post_ko_r_nonassoc_eq": 
+                                    "comparison_ensures_ko_r_nonassoc_eq": 
                                       { "alt-ergo": { "total": 1,
                                                       "unknown": 1 },
                                         "wp:main": { "total": 1,
                                                      "unknown": 1 } },
-                                    "comparison_post_ko_l_nonassoc_eq": 
+                                    "comparison_ensures_ko_l_nonassoc_eq": 
                                       { "alt-ergo": { "total": 1,
                                                       "unknown": 1 },
                                         "wp:main": { "total": 1,
                                                      "unknown": 1 } },
-                                    "comparison_post_ko_l_precedence_and_eq": 
+                                    "comparison_ensures_ko_l_precedence_and_eq": 
                                       { "alt-ergo": { "total": 1,
                                                       "unknown": 1 },
                                         "wp:main": { "total": 1,
                                                      "unknown": 1 } },
-                                    "comparison_post_ko_r_precedence_and_eq": 
+                                    "comparison_ensures_ko_r_precedence_and_eq": 
                                       { "alt-ergo": { "total": 1,
                                                       "unknown": 1 },
                                         "wp:main": { "total": 1,
@@ -154,31 +153,28 @@
                                                                   "unknown": 6 },
                                                     "wp:main": { "total": 6,
                                                                  "unknown": 6 } } },
-                    "bitwise": { "bitwise_post_ko_l_precedence_equiv_implies": 
+                    "bitwise": { "bitwise_ensures_ko_l_precedence_equiv_implies": 
+                                   { "alt-ergo": { "total": 1, "unknown": 1 },
+                                     "wp:main": { "total": 1, "unknown": 1 } },
+                                 "bitwise_ensures_ko_r_precedence_equiv_implies": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "bitwise_post_ko_r_precedence_equiv_implies": 
+                                 "bitwise_ensures_ko_l_assoc_implies": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "bitwise_post_ko_l_assoc_implies": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 } },
-                                 "bitwise_post_ko_l_precedence_implies_or": 
+                                 "bitwise_ensures_ko_l_precedence_implies_or": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "bitwise_post_ko_r_precedence_or_xor": 
+                                 "bitwise_ensures_ko_r_precedence_or_xor": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "bitwise_post_ko_l_precedence_or_xor": 
+                                 "bitwise_ensures_ko_l_precedence_or_xor": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "bitwise_post_ko_r_precedence_xor_and": 
+                                 "bitwise_ensures_ko_r_precedence_xor_and": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
-                                 "bitwise_post_ko_l_precedence_xor_and": 
+                                 "bitwise_ensures_ko_l_precedence_xor_and": 
                                    { "alt-ergo": { "total": 1, "unknown": 1 },
                                      "wp:main": { "total": 1, "unknown": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 8,
diff --git a/src/plugins/wp/tests/wp_acsl/range.i.0.report.json b/src/plugins/wp/tests/wp_acsl/range.i.0.report.json
index 8c826553edf4f3838808c7a0b7ba2b3bd8cab80c..52fe47a13eae8ad65caee2a597e6bf9c1ed5aabd 100644
--- a/src/plugins/wp/tests/wp_acsl/range.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/range.i.0.report.json
@@ -1,19 +1,25 @@
 { "wp:global": { "qed": { "total": 4, "valid": 4 },
                  "wp:main": { "total": 4, "valid": 4 } },
-  "wp:functions": { "test": { "specialization_val_assigns_q_pre_HQ_ok_at_test_stmt_2": 
-                                { "qed": { "total": 1, "valid": 1 },
-                                  "wp:main": { "total": 1, "valid": 1 } },
-                              "specialization_val_assigns_p_pre_HP_ok_at_test_stmt_1": 
-                                { "qed": { "total": 1, "valid": 1 },
-                                  "wp:main": { "total": 1, "valid": 1 } },
-                              "test_post_P2_ok": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                              "test_post_P1_ok": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+  "wp:functions": { "test": { "val_assigns_q_requires_HQ_ok_2": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                  "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                              "val_assigns_p_requires_HP_ok_2": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                  "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                              "test_ensures_P2_ok": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                              "test_ensures_P1_ok": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                               "wp:section": { "qed": { "total": 4,
                                                        "valid": 4 },
                                               "wp:main": { "total": 4,
diff --git a/src/plugins/wp/tests/wp_acsl/reads.i.0.report.json b/src/plugins/wp/tests/wp_acsl/reads.i.0.report.json
index f94728bb3726fd7c91bb967d9ca076fe1d0d1559..b4829163690ec0b513550bf55e234b95eec26253 100644
--- a/src/plugins/wp/tests/wp_acsl/reads.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/reads.i.0.report.json
@@ -3,47 +3,41 @@
                  "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 7, "valid": 5, "unknown": 2,
                               "rank": 5 } },
-  "wp:functions": { "f": { "f_post_qed_ok": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 3 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 3 } },
+  "wp:functions": { "f": { "f_ensures_qed_ok": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 4 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 4 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 3 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1,
                                                         "rank": 3 } } },
-                    "g": { "g_post_qed_ok": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 5 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 5 } },
+                    "g": { "g_ensures_qed_ok": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 6 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 6 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 5 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1,
                                                         "rank": 5 } } },
-                    "modifies_y": { "modifies_y_post_qed_ok_W_OK_todo": 
+                    "modifies_y": { "modifies_y_ensures_qed_ok_W_OK_todo": 
                                       { "alt-ergo": { "total": 1,
                                                       "unknown": 1 },
                                         "wp:main": { "total": 1,
                                                      "unknown": 1 } },
-                                    "modifies_y_post_qed_ok_G_OK": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                                    "modifies_y_post_qed_ok_F_OK": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
+                                    "modifies_y_ensures_qed_ok_G_OK": 
+                                      { "qed": { "total": 1, "valid": 1 },
+                                        "wp:main": { "total": 1, "valid": 1 } },
+                                    "modifies_y_ensures_qed_ok_F_OK": 
+                                      { "qed": { "total": 1, "valid": 1 },
+                                        "wp:main": { "total": 1, "valid": 1 } },
                                     "wp:section": { "alt-ergo": { "total": 1,
                                                                   "unknown": 1 },
                                                     "qed": { "total": 2,
@@ -51,17 +45,14 @@
                                                     "wp:main": { "total": 3,
                                                                  "valid": 2,
                                                                  "unknown": 1 } } },
-                    "modifies_x": { "modifies_x_post_qed_ok_W_OK_todo": 
+                    "modifies_x": { "modifies_x_ensures_qed_ok_W_OK_todo": 
                                       { "alt-ergo": { "total": 1,
                                                       "unknown": 1 },
                                         "wp:main": { "total": 1,
                                                      "unknown": 1 } },
-                                    "modifies_x_post_qed_ok_F_OK": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
+                                    "modifies_x_ensures_qed_ok_F_OK": 
+                                      { "qed": { "total": 1, "valid": 1 },
+                                        "wp:main": { "total": 1, "valid": 1 } },
                                     "wp:section": { "alt-ergo": { "total": 1,
                                                                   "unknown": 1 },
                                                     "qed": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/reads.i.1.report.json b/src/plugins/wp/tests/wp_acsl/reads.i.1.report.json
index f4ac0417345e052a2ad213c9e4446977997fd652..f145905f3f1bb235dd361b41335a53c980721505 100644
--- a/src/plugins/wp/tests/wp_acsl/reads.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/reads.i.1.report.json
@@ -1,27 +1,24 @@
 { "wp:global": { "alt-ergo": { "total": 3, "unknown": 3 },
                  "wp:main": { "total": 3, "unknown": 3 } },
-  "wp:functions": { "modifies_y": { "modifies_y_post_qed_ko_H_KO": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 } },
+  "wp:functions": { "modifies_y": { "modifies_y_ensures_qed_ko_H_KO": 
+                                      { "alt-ergo": { "total": 1,
+                                                      "unknown": 1 },
+                                        "wp:main": { "total": 1,
+                                                     "unknown": 1 } },
                                     "wp:section": { "alt-ergo": { "total": 1,
                                                                   "unknown": 1 },
                                                     "wp:main": { "total": 1,
                                                                  "unknown": 1 } } },
-                    "modifies_x": { "modifies_x_post_qed_ko_H_KO": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 } },
-                                    "modifies_x_post_qed_ko_G_KO": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 } },
+                    "modifies_x": { "modifies_x_ensures_qed_ko_H_KO": 
+                                      { "alt-ergo": { "total": 1,
+                                                      "unknown": 1 },
+                                        "wp:main": { "total": 1,
+                                                     "unknown": 1 } },
+                                    "modifies_x_ensures_qed_ko_G_KO": 
+                                      { "alt-ergo": { "total": 1,
+                                                      "unknown": 1 },
+                                        "wp:main": { "total": 1,
+                                                     "unknown": 1 } },
                                     "wp:section": { "alt-ergo": { "total": 2,
                                                                   "unknown": 2 },
                                                     "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_acsl/record.i.0.report.json b/src/plugins/wp/tests/wp_acsl/record.i.0.report.json
index 9088827e1204b21214c522863bc94621babe2eda..df1a2f60ec7c17edefeb4637f08082c7fa81e179 100644
--- a/src/plugins/wp/tests/wp_acsl/record.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/record.i.0.report.json
@@ -1,54 +1,54 @@
 { "wp:global": { "alt-ergo": { "total": 2, "valid": 2, "rank": 3 },
                  "qed": { "total": 9, "valid": 9 },
                  "wp:main": { "total": 11, "valid": 11, "rank": 3 } },
-  "wp:functions": { "f": { "f_post_P5_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_P4_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_P3_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_P2_qed_ok": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 3 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 } },
-                           "f_post_P1_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_M6_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_M5_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_M4_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_M3_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_M2_qed_ok": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_M1_qed_ok": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 3 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 } },
+  "wp:functions": { "f": { "f_ensures_P5_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_P4_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_P3_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_P2_qed_ok": { "alt-ergo": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 4 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 4 } },
+                           "f_ensures_P1_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_M6_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_M5_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_M4_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_M3_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_M2_qed_ok": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_M1_qed_ok": { "alt-ergo": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 3 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 3 } },
                            "wp:section": { "alt-ergo": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 3 },
diff --git a/src/plugins/wp/tests/wp_acsl/record.i.1.report.json b/src/plugins/wp/tests/wp_acsl/record.i.1.report.json
index cb6c705d66e39d531179b6c6e67dfc466d62534d..51e5dfebbb711da48275cf971ae5002909811134 100644
--- a/src/plugins/wp/tests/wp_acsl/record.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/record.i.1.report.json
@@ -1,9 +1,9 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "wp:main": { "total": 1, "unknown": 1 } },
-  "wp:functions": { "f": { "f_post_KP5_qed_ko": { "alt-ergo": { "total": 1,
-                                                                "unknown": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "unknown": 1 } },
+  "wp:functions": { "f": { "f_ensures_KP5_qed_ko": { "alt-ergo": { "total": 1,
+                                                                   "unknown": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/simpl_is_type.i.0.report.json b/src/plugins/wp/tests/wp_acsl/simpl_is_type.i.0.report.json
index d38e69542c69f1b4a84bb4639d1e59834a9094f5..74748861e0bd0bd6a4e418f9cf078328c418b8d3 100644
--- a/src/plugins/wp/tests/wp_acsl/simpl_is_type.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/simpl_is_type.i.0.report.json
@@ -1,39 +1,42 @@
 { "wp:global": { "alt-ergo": { "total": 9, "valid": 9, "rank": 20 },
                  "qed": { "total": 6, "valid": 6 },
                  "wp:main": { "total": 15, "valid": 15, "rank": 20 } },
-  "wp:functions": { "f": { "f_loop_inv_3": { "alt-ergo": { "total": 2,
-                                                           "valid": 2,
-                                                           "rank": 20 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2,
-                                                          "rank": 20 } },
-                           "f_loop_inv_2": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 14 },
-                                             "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2,
-                                                          "rank": 14 } },
-                           "f_loop_inv": { "alt-ergo": { "total": 1,
-                                                         "valid": 1,
-                                                         "rank": 4 },
-                                           "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 2,
-                                                        "valid": 2,
-                                                        "rank": 4 } },
-                           "f_loop_assign": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 19 },
-                                              "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 2,
-                                                           "valid": 2,
-                                                           "rank": 19 } },
-                           "f_post": { "alt-ergo": { "total": 1, "valid": 1,
-                                                     "rank": 5 },
-                                       "wp:main": { "total": 1, "valid": 1,
-                                                    "rank": 5 } },
+  "wp:functions": { "f": { "f_loop_invariant_3": { "alt-ergo": { "total": 2,
+                                                                 "valid": 2,
+                                                                 "rank": 20 },
+                                                   "wp:main": { "total": 2,
+                                                                "valid": 2,
+                                                                "rank": 20 } },
+                           "f_loop_invariant_2": { "alt-ergo": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 15 },
+                                                   "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 2,
+                                                                "valid": 2,
+                                                                "rank": 15 } },
+                           "f_loop_invariant": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 4 },
+                                                 "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 2,
+                                                              "valid": 2,
+                                                              "rank": 4 } },
+                           "f_loop_assigns": { "alt-ergo": { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 19 },
+                                               "qed": { "total": 1,
+                                                        "valid": 1 },
+                                               "wp:main": { "total": 2,
+                                                            "valid": 2,
+                                                            "rank": 19 } },
+                           "f_ensures": { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 6 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 6 } },
                            "wp:section": { "alt-ergo": { "total": 6,
                                                          "valid": 6,
                                                          "rank": 20 },
@@ -41,29 +44,32 @@
                                            "wp:main": { "total": 9,
                                                         "valid": 9,
                                                         "rank": 20 } } },
-                    "g": { "g_loop_inv_2": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 9 },
-                                             "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2,
-                                                          "rank": 9 } },
-                           "g_loop_inv": { "alt-ergo": { "total": 1,
-                                                         "valid": 1,
-                                                         "rank": 4 },
-                                           "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 2,
-                                                        "valid": 2,
-                                                        "rank": 4 } },
-                           "g_loop_assign": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                           "g_post": { "alt-ergo": { "total": 1, "valid": 1,
-                                                     "rank": 6 },
-                                       "wp:main": { "total": 1, "valid": 1,
-                                                    "rank": 6 } },
+                    "g": { "g_loop_invariant_2": { "alt-ergo": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 10 },
+                                                   "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 2,
+                                                                "valid": 2,
+                                                                "rank": 10 } },
+                           "g_loop_invariant": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 },
+                                                 "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 2,
+                                                              "valid": 2,
+                                                              "rank": 5 } },
+                           "g_loop_assigns": { "qed": { "total": 1,
+                                                        "valid": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "valid": 1 } },
+                           "g_ensures": { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 7 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 7 } },
                            "wp:section": { "alt-ergo": { "total": 3,
                                                          "valid": 3,
                                                          "rank": 9 },
diff --git a/src/plugins/wp/tests/wp_acsl/struct_use_case.i.0.report.json b/src/plugins/wp/tests/wp_acsl/struct_use_case.i.0.report.json
index 9c63f9c8cb36650f0966a0ebfa79d7cb96b2383e..ef6d92bd816b1a9a8094983ed7adf5bcb61c213e 100644
--- a/src/plugins/wp/tests/wp_acsl/struct_use_case.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/struct_use_case.i.0.report.json
@@ -1,21 +1,22 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 4 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 2, "valid": 2, "rank": 4 } },
-  "wp:functions": { "f": { "f_post_ok": { "alt-ergo": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 4 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 4 } },
+  "wp:functions": { "f": { "f_ensures_ok": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 5 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 5 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 4 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1,
                                                         "rank": 4 } } },
-                    "g": { "g_post_ok": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
+                    "g": { "g_ensures_ok": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } } } }
diff --git a/src/plugins/wp/tests/wp_acsl/struct_use_case.i.1.report.json b/src/plugins/wp/tests/wp_acsl/struct_use_case.i.1.report.json
index 94840d490cdf280942961010b08c1ce7db56ac7b..6b4d6768aebd25c56a7bf0771169de61d601e9ff 100644
--- a/src/plugins/wp/tests/wp_acsl/struct_use_case.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/struct_use_case.i.1.report.json
@@ -1,17 +1,17 @@
 { "wp:global": { "alt-ergo": { "total": 2, "unknown": 2 },
                  "wp:main": { "total": 2, "unknown": 2 } },
-  "wp:functions": { "f": { "f_post_ko": { "alt-ergo": { "total": 1,
-                                                        "unknown": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "unknown": 1 } },
+  "wp:functions": { "f": { "f_ensures_ko": { "alt-ergo": { "total": 1,
+                                                           "unknown": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "wp:main": { "total": 1,
                                                         "unknown": 1 } } },
-                    "g": { "g_post_ko": { "alt-ergo": { "total": 1,
-                                                        "unknown": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "unknown": 1 } },
+                    "g": { "g_ensures_ko": { "alt-ergo": { "total": 1,
+                                                           "unknown": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/type_guard.i.0.report.json b/src/plugins/wp/tests/wp_acsl/type_guard.i.0.report.json
index fb064203528e5eee25162196cbba807898464150..0618799784165be7c5a9c17185f4d7324684eaef 100644
--- a/src/plugins/wp/tests/wp_acsl/type_guard.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/type_guard.i.0.report.json
@@ -1,11 +1,11 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 4 },
                  "wp:main": { "total": 1, "valid": 1, "rank": 4 } },
-  "wp:functions": { "f": { "f_post_qed_ok": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 4 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 4 } },
+  "wp:functions": { "f": { "f_ensures_qed_ok": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 4 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 4 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 4 },
diff --git a/src/plugins/wp/tests/wp_acsl/type_guard.i.1.report.json b/src/plugins/wp/tests/wp_acsl/type_guard.i.1.report.json
index 4610ea6500e483923af7be7db0f4a28e975cc4b2..2bc163cf605feecdbd36d9f76487a13ff5787b88 100644
--- a/src/plugins/wp/tests/wp_acsl/type_guard.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/type_guard.i.1.report.json
@@ -1,9 +1,9 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "wp:main": { "total": 1, "unknown": 1 } },
-  "wp:functions": { "f": { "f_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                            "unknown": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "unknown": 1 } },
+  "wp:functions": { "f": { "f_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                               "unknown": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_acsl/unit_bit_test.c.0.report.json b/src/plugins/wp/tests/wp_acsl/unit_bit_test.c.0.report.json
index 4cfd17d42d781fa75239484b5f21aef5f83682e6..16e2cc192faebc90d577fef5c9bd2614a80a3761 100644
--- a/src/plugins/wp/tests/wp_acsl/unit_bit_test.c.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/unit_bit_test.c.0.report.json
@@ -3,14 +3,14 @@
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 4, "valid": 3, "unknown": 1,
                               "rank": 12 } },
-  "wp:functions": { "sum": { "sum_post_ko": { "alt-ergo": { "total": 1,
-                                                            "unknown": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "unknown": 1 } },
-                             "sum_post_ok": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
+  "wp:functions": { "sum": { "sum_ensures_ko": { "alt-ergo": { "total": 1,
+                                                               "unknown": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "unknown": 1 } },
+                             "sum_ensures_ok": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "unknown": 1 },
                                              "qed": { "total": 1,
@@ -18,20 +18,16 @@
                                              "wp:main": { "total": 2,
                                                           "valid": 1,
                                                           "unknown": 1 } } },
-                    "rotate_left": { "rotate_left_post_other_bits": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 12 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 12 } },
-                                     "rotate_left_post_bit_zero": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
+                    "rotate_left": { "rotate_left_ensures_other_bits": 
+                                       { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 13 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 13 } },
+                                     "rotate_left_ensures_bit_zero": 
+                                       { "qed": { "total": 1, "valid": 1 },
+                                         "wp:main": { "total": 1,
+                                                      "valid": 1 } },
                                      "wp:section": { "alt-ergo": { "total": 1,
                                                                    "valid": 1,
                                                                    "rank": 12 },
diff --git a/src/plugins/wp/tests/wp_acsl/user_def_type_guard.i.0.report.json b/src/plugins/wp/tests/wp_acsl/user_def_type_guard.i.0.report.json
index fb064203528e5eee25162196cbba807898464150..0618799784165be7c5a9c17185f4d7324684eaef 100644
--- a/src/plugins/wp/tests/wp_acsl/user_def_type_guard.i.0.report.json
+++ b/src/plugins/wp/tests/wp_acsl/user_def_type_guard.i.0.report.json
@@ -1,11 +1,11 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 4 },
                  "wp:main": { "total": 1, "valid": 1, "rank": 4 } },
-  "wp:functions": { "f": { "f_post_qed_ok": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 4 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 4 } },
+  "wp:functions": { "f": { "f_ensures_qed_ok": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 4 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 4 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 4 },
diff --git a/src/plugins/wp/tests/wp_acsl/user_def_type_guard.i.1.report.json b/src/plugins/wp/tests/wp_acsl/user_def_type_guard.i.1.report.json
index 4610ea6500e483923af7be7db0f4a28e975cc4b2..2bc163cf605feecdbd36d9f76487a13ff5787b88 100644
--- a/src/plugins/wp/tests/wp_acsl/user_def_type_guard.i.1.report.json
+++ b/src/plugins/wp/tests/wp_acsl/user_def_type_guard.i.1.report.json
@@ -1,9 +1,9 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "wp:main": { "total": 1, "unknown": 1 } },
-  "wp:functions": { "f": { "f_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                            "unknown": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "unknown": 1 } },
+  "wp:functions": { "f": { "f_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                               "unknown": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_bts/bts0708.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts0708.i.0.report.json
index 27c215485f0ca0b5e26cf2faf090f5fe7d6203ed..9b21c57e6764f83c8106e8bdcba457980dd363e9 100644
--- a/src/plugins/wp/tests/wp_bts/bts0708.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts0708.i.0.report.json
@@ -1,15 +1,17 @@
 { "wp:global": { "alt-ergo": { "total": 2, "valid": 2, "rank": 2 },
                  "wp:main": { "total": 2, "valid": 2, "rank": 2 } },
-  "wp:functions": { "f": { "f_post_B": { "alt-ergo": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 2 },
-                                         "wp:main": { "total": 1, "valid": 1,
-                                                      "rank": 2 } },
-                           "f_post_A": { "alt-ergo": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 2 },
-                                         "wp:main": { "total": 1, "valid": 1,
-                                                      "rank": 2 } },
+  "wp:functions": { "f": { "f_ensures_B": { "alt-ergo": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 2 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1,
+                                                         "rank": 2 } },
+                           "f_ensures_A": { "alt-ergo": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 2 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1,
+                                                         "rank": 2 } },
                            "wp:section": { "alt-ergo": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 2 },
diff --git a/src/plugins/wp/tests/wp_bts/bts0843.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts0843.i.0.report.json
index 98fac150243c88f138f6b09847411550ae262f18..db08ca15da789bfd1fa3d0b6eadfcb6c4c502b78 100644
--- a/src/plugins/wp/tests/wp_bts/bts0843.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts0843.i.0.report.json
@@ -1,24 +1,22 @@
 { "wp:global": { "alt-ergo": { "total": 2, "valid": 2, "rank": 3 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 4, "valid": 4, "rank": 3 } },
-  "wp:functions": { "f3": { "f3_assign": { "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1 } },
+  "wp:functions": { "f3": { "f3_assigns": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
                             "wp:section": { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } } },
-                    "g3": { "specialization_f3_pre_at_g3_stmt_4": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                            "g3_assign": { "alt-ergo": { "total": 2,
+                    "g3": { "f3_requires_2": { "qed": { "total": 1,
+                                                        "valid": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "valid": 1 } },
+                            "g3_assigns": { "alt-ergo": { "total": 2,
+                                                          "valid": 2,
+                                                          "rank": 4 },
+                                            "wp:main": { "total": 2,
                                                          "valid": 2,
-                                                         "rank": 3 },
-                                           "wp:main": { "total": 2,
-                                                        "valid": 2,
-                                                        "rank": 3 } },
+                                                         "rank": 4 } },
                             "wp:section": { "alt-ergo": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 3 },
diff --git a/src/plugins/wp/tests/wp_bts/bts788.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts788.i.0.report.json
index 88377a5be5690138764ea88265c25891193ad7c0..c3e95d5c62afeb933275397ce29b2fa98d24b34b 100644
--- a/src/plugins/wp/tests/wp_bts/bts788.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts788.i.0.report.json
@@ -1,22 +1,22 @@
 { "wp:global": { "alt-ergo": { "total": 2, "valid": 2, "rank": 3 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 3, "valid": 3, "rank": 3 } },
-  "wp:functions": { "main": { "main_post_I2": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 3 } },
-                              "main_post_I1": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 3 } },
-                              "main_post_I0": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
+  "wp:functions": { "main": { "main_ensures_I2": { "alt-ergo": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 4 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 4 } },
+                              "main_ensures_I1": { "alt-ergo": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 4 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 4 } },
+                              "main_ensures_I0": { "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1 } },
                               "wp:section": { "alt-ergo": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 3 },
diff --git a/src/plugins/wp/tests/wp_bts/bts_1360.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts_1360.i.0.report.json
index 6a79ffdefbfbe2beb018b7888d35cb07a7bf0f63..94487efbf272d7019456522624b242efb432604c 100644
--- a/src/plugins/wp/tests/wp_bts/bts_1360.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts_1360.i.0.report.json
@@ -14,14 +14,16 @@
                                    "foo_wrong_assert_rte_mem_access": 
                                      { "qed": { "total": 1, "valid": 1 },
                                        "wp:main": { "total": 1, "valid": 1 } },
-                                   "foo_wrong_assign": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                                   "foo_wrong_post": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                                   "foo_wrong_assigns": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                   "foo_wrong_ensures": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "unknown": 1 },
                                                    "qed": { "total": 4,
@@ -43,16 +45,18 @@
                                                        "rank": 4 },
                                          "wp:main": { "total": 1, "valid": 1,
                                                       "rank": 4 } },
-                                     "foo_correct_assign": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1 } },
-                                     "foo_correct_post": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1 } },
+                                     "foo_correct_assigns": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
+                                     "foo_correct_ensures": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
                                      "wp:section": { "alt-ergo": { "total": 1,
                                                                    "valid": 1,
                                                                    "rank": 4 },
diff --git a/src/plugins/wp/tests/wp_bts/bts_1462.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts_1462.i.0.report.json
index b7594892d85855829ee677051fabf893258ee369..0719103e8bc1d5263f550516f702cf3c0b923272 100644
--- a/src/plugins/wp/tests/wp_bts/bts_1462.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts_1462.i.0.report.json
@@ -8,21 +8,26 @@
                                                  "rank": 2 },
                                    "wp:main": { "total": 1, "valid": 1,
                                                 "rank": 2 } },
-                               "wrong_loop_inv_C": { "qed": { "total": 2,
-                                                              "valid": 2 },
-                                                     "wp:main": { "total": 2,
-                                                                  "valid": 2 } },
-                               "wrong_loop_inv_B": { "qed": { "total": 2,
-                                                              "valid": 2 },
-                                                     "wp:main": { "total": 2,
-                                                                  "valid": 2 } },
-                               "wrong_loop_inv_A_KO": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                        "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 2,
-                                                                    "valid": 1,
-                                                                    "unknown": 1 } },
+                               "wrong_loop_invariant_C": { "qed": { "total": 2,
+                                                                    "valid": 2 },
+                                                           "wp:main": 
+                                                             { "total": 2,
+                                                               "valid": 2 } },
+                               "wrong_loop_invariant_B": { "qed": { "total": 2,
+                                                                    "valid": 2 },
+                                                           "wp:main": 
+                                                             { "total": 2,
+                                                               "valid": 2 } },
+                               "wrong_loop_invariant_A_KO": { "alt-ergo": 
+                                                                { "total": 1,
+                                                                  "unknown": 1 },
+                                                              "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 2,
+                                                                  "valid": 1,
+                                                                  "unknown": 1 } },
                                "wrong_assert_for_value": { "alt-ergo": 
                                                              { "total": 1,
                                                                "valid": 1,
@@ -31,10 +36,10 @@
                                                              { "total": 1,
                                                                "valid": 1,
                                                                "rank": 1 } },
-                               "wrong_loop_assign": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
+                               "wrong_loop_assigns": { "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                                "wp:section": { "alt-ergo": { "total": 3,
                                                              "valid": 2,
                                                              "unknown": 1,
@@ -45,14 +50,14 @@
                                                             "valid": 8,
                                                             "unknown": 1,
                                                             "rank": 2 } } },
-                    "local": { "local_loop_inv": { "qed": { "total": 2,
-                                                            "valid": 2 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2 } },
-                               "local_loop_assign": { "qed": { "total": 2,
-                                                               "valid": 2 },
-                                                      "wp:main": { "total": 2,
-                                                                   "valid": 2 } },
+                    "local": { "local_loop_invariant": { "qed": { "total": 2,
+                                                                  "valid": 2 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2 } },
+                               "local_loop_assigns": { "qed": { "total": 2,
+                                                                "valid": 2 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2 } },
                                "wp:section": { "qed": { "total": 4,
                                                         "valid": 4 },
                                                "wp:main": { "total": 4,
diff --git a/src/plugins/wp/tests/wp_bts/bts_1586.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts_1586.i.0.report.json
index 9b65d383251243503724bec1e5dbb1df40266956..c8f7254db678407b637fbbd5630ad7138b8d784f 100644
--- a/src/plugins/wp/tests/wp_bts/bts_1586.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts_1586.i.0.report.json
@@ -1,7 +1,7 @@
 { "wp:global": { "alt-ergo": { "total": 2, "unknown": 2 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 4, "valid": 2, "unknown": 2 } },
-  "wp:functions": { "compute_bizarre": { "compute_bizarre_Bizarre_post_TRANS": 
+  "wp:functions": { "compute_bizarre": { "compute_bizarre_Bizarre_ensures_TRANS": 
                                            { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
@@ -10,7 +10,7 @@
                                                                   "valid": 1 },
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1 } } },
-                    "compute_normal": { "compute_normal_Normal_post_TRANS": 
+                    "compute_normal": { "compute_normal_Normal_ensures_TRANS": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
diff --git a/src/plugins/wp/tests/wp_bts/bts_1588.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts_1588.i.0.report.json
index 599915d2f1099c20e57378f12c8b7650869f021d..20f18a7e95a515ebdf59eef3ef5be2c0db1a115a 100644
--- a/src/plugins/wp/tests/wp_bts/bts_1588.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts_1588.i.0.report.json
@@ -3,10 +3,10 @@
   "wp:functions": { "f": { "f_assert_a1": { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                           "f_loop_inv_l1_2": { "qed": { "total": 2,
-                                                         "valid": 2 },
-                                                "wp:main": { "total": 2,
-                                                             "valid": 2 } },
+                           "f_loop_invariant_l1_2": { "qed": { "total": 2,
+                                                               "valid": 2 },
+                                                      "wp:main": { "total": 2,
+                                                                   "valid": 2 } },
                            "wp:section": { "qed": { "total": 3, "valid": 3 },
                                            "wp:main": { "total": 3,
                                                         "valid": 3 } } } } }
diff --git a/src/plugins/wp/tests/wp_bts/bts_1601.c.0.report.json b/src/plugins/wp/tests/wp_bts/bts_1601.c.0.report.json
index 43baa1f072a617efb65c27d8f4b662a8327e8b92..ec4414770b3982d5b0b092c959d7c902e3567387 100644
--- a/src/plugins/wp/tests/wp_bts/bts_1601.c.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts_1601.c.0.report.json
@@ -31,10 +31,10 @@
                                              "wp:main": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 4 } },
-                             "foo_basic_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                             "foo_basic_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 4 },
diff --git a/src/plugins/wp/tests/wp_bts/bts_1828.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts_1828.i.0.report.json
index db6b667f02bcfbfa38ed9f12bbd73782bdd9d252..a95ae0febfbbe0eeb0a3391da2098c19a8c91120 100644
--- a/src/plugins/wp/tests/wp_bts/bts_1828.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts_1828.i.0.report.json
@@ -29,16 +29,16 @@
                                                                   "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                                      "global_frame_post_zero_always": 
+                                      "global_frame_ensures_zero_always": 
                                         { "qed": { "total": 1, "valid": 1 },
                                           "wp:main": { "total": 1,
                                                        "valid": 1 } },
-                                      "global_frame_post_one_iff_ref": 
+                                      "global_frame_ensures_one_iff_ref": 
                                         { "alt-ergo": { "total": 1,
                                                         "unknown": 1 },
                                           "wp:main": { "total": 1,
                                                        "unknown": 1 } },
-                                      "global_frame_post_sep_iff_ref": 
+                                      "global_frame_ensures_sep_iff_ref": 
                                         { "alt-ergo": { "total": 1,
                                                         "unknown": 1 },
                                           "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_bts/bts_1828.i.1.report.json b/src/plugins/wp/tests/wp_bts/bts_1828.i.1.report.json
index 46519328dff46dbbeb462ab1b6bba198aa1735ef..f93f58c49b6dff5db0b61b0e29f6047d6f8afe06 100644
--- a/src/plugins/wp/tests/wp_bts/bts_1828.i.1.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts_1828.i.1.report.json
@@ -27,15 +27,15 @@
                                                                   "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                                      "global_frame_post_zero_always": 
+                                      "global_frame_ensures_zero_always": 
                                         { "qed": { "total": 1, "valid": 1 },
                                           "wp:main": { "total": 1,
                                                        "valid": 1 } },
-                                      "global_frame_post_one_iff_ref": 
+                                      "global_frame_ensures_one_iff_ref": 
                                         { "qed": { "total": 1, "valid": 1 },
                                           "wp:main": { "total": 1,
                                                        "valid": 1 } },
-                                      "global_frame_post_sep_iff_ref": 
+                                      "global_frame_ensures_sep_iff_ref": 
                                         { "qed": { "total": 1, "valid": 1 },
                                           "wp:main": { "total": 1,
                                                        "valid": 1 } },
diff --git a/src/plugins/wp/tests/wp_bts/bts_2079.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts_2079.i.0.report.json
index 91b04794d8fc2b59c8aa87d6ffba87124a3faeec..8cfd69611e5ac5a6ed8fc5814df083844b6d6ce6 100644
--- a/src/plugins/wp/tests/wp_bts/bts_2079.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts_2079.i.0.report.json
@@ -1,13 +1,13 @@
 { "wp:global": { "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 2, "valid": 2 } },
-  "wp:functions": { "main": { "main_post_Eval_Q": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
-                              "main_post_Eval_P": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
+  "wp:functions": { "main": { "main_ensures_Eval_Q": { "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                              "main_ensures_Eval_P": { "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                               "wp:section": { "qed": { "total": 2,
                                                        "valid": 2 },
                                               "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_bts/bts_2159.i.0.report.json b/src/plugins/wp/tests/wp_bts/bts_2159.i.0.report.json
index 347952823a27fa01d362e7dd660290022854acda..6fcce176f8ebeaefba563bc432a91d6a3da26f9f 100644
--- a/src/plugins/wp/tests/wp_bts/bts_2159.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/bts_2159.i.0.report.json
@@ -1,11 +1,11 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 15 },
                  "wp:main": { "total": 1, "valid": 1, "rank": 15 } },
-  "wp:functions": { "job": { "job_post": { "alt-ergo": { "total": 1,
-                                                         "valid": 1,
-                                                         "rank": 15 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 15 } },
+  "wp:functions": { "job": { "job_ensures": { "alt-ergo": { "total": 1,
+                                                            "valid": 1,
+                                                            "rank": 16 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 16 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 15 },
diff --git a/src/plugins/wp/tests/wp_bts/ergo_typecheck.i.0.report.json b/src/plugins/wp/tests/wp_bts/ergo_typecheck.i.0.report.json
index 0f182e121aaa382e8853679df82b3daff9bc22aa..414c3cf94d8eb41a5b1a4767cdfbacd5c6e2fc60 100644
--- a/src/plugins/wp/tests/wp_bts/ergo_typecheck.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/ergo_typecheck.i.0.report.json
@@ -1,36 +1,36 @@
 { "wp:global": { "qed": { "total": 8, "valid": 8 },
                  "wp:main": { "total": 8, "valid": 8 } },
-  "wp:functions": { "f": { "f_assign": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "f_post_var_unit4": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_var_unit3": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_var_unit2": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_var_unit1": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_var_unit0": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_var_inline": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                           "f_post_var_divded": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
+  "wp:functions": { "f": { "f_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
+                           "f_ensures_var_unit4": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_var_unit3": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_var_unit2": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_var_unit1": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_var_unit0": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_var_inline": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                           "f_ensures_var_divded": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                            "wp:section": { "qed": { "total": 8, "valid": 8 },
                                            "wp:main": { "total": 8,
                                                         "valid": 8 } } } } }
diff --git a/src/plugins/wp/tests/wp_bts/issue_453.i.0.report.json b/src/plugins/wp/tests/wp_bts/issue_453.i.0.report.json
index f2f5e9296957994d1c41554f1adc9c70f3f7fe25..6deccb7f511907d2da384a9fb2bb7691f959eb63 100644
--- a/src/plugins/wp/tests/wp_bts/issue_453.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/issue_453.i.0.report.json
@@ -1,32 +1,30 @@
 { "wp:global": { "qed": { "total": 6, "valid": 6 },
                  "wp:main": { "total": 6, "valid": 6 } },
-  "wp:functions": { "f1": { "f1_stmt_assign": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
-                            "f1_loop_assign": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
-                            "f1_stmt_post_Sincr": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
+  "wp:functions": { "f1": { "f1_assigns": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
+                            "f1_loop_assigns": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                            "f1_ensures_Sincr": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                             "wp:section": { "qed": { "total": 3, "valid": 3 },
                                             "wp:main": { "total": 3,
                                                          "valid": 3 } } },
-                    "f2": { "f2_stmt_assign": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
-                            "f2_loop_assign": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
-                            "f2_stmt_post_Sincr": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
+                    "f2": { "f2_assigns": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
+                            "f2_loop_assigns": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                            "f2_ensures_Sincr": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                             "wp:section": { "qed": { "total": 3, "valid": 3 },
                                             "wp:main": { "total": 3,
                                                          "valid": 3 } } } } }
diff --git a/src/plugins/wp/tests/wp_bts/issue_494.i.0.report.json b/src/plugins/wp/tests/wp_bts/issue_494.i.0.report.json
index 0d7cba60afdf053abe9306b5535bbe1baaa860bd..d2c13e606a02ea298d5cecf7a69d686f94725326 100644
--- a/src/plugins/wp/tests/wp_bts/issue_494.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/issue_494.i.0.report.json
@@ -2,10 +2,12 @@
                                "rank": 3 },
                  "wp:main": { "total": 3, "valid": 1, "unknown": 2,
                               "rank": 3 } },
-  "wp:functions": { "f": { "f_post": { "alt-ergo": { "total": 1, "valid": 1,
-                                                     "rank": 3 },
-                                       "wp:main": { "total": 1, "valid": 1,
-                                                    "rank": 3 } },
+  "wp:functions": { "f": { "f_ensures": { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 3 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 3 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 3 },
diff --git a/src/plugins/wp/tests/wp_bts/issue_508.c.0.report.json b/src/plugins/wp/tests/wp_bts/issue_508.c.0.report.json
index f560b0badc636d31085540dc1622a41f5718bf87..1722d42c405a9dc3cb7ca5f858df05839cfd1ee8 100644
--- a/src/plugins/wp/tests/wp_bts/issue_508.c.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/issue_508.c.0.report.json
@@ -1,14 +1,14 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 14 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 3, "valid": 3, "rank": 14 } },
-  "wp:functions": { "add": { "add_assign": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 14 },
-                                             "qed": { "total": 2,
-                                                      "valid": 2 },
-                                             "wp:main": { "total": 3,
-                                                          "valid": 3,
-                                                          "rank": 14 } },
+  "wp:functions": { "add": { "add_assigns": { "alt-ergo": { "total": 1,
+                                                            "valid": 1,
+                                                            "rank": 15 },
+                                              "qed": { "total": 2,
+                                                       "valid": 2 },
+                                              "wp:main": { "total": 3,
+                                                           "valid": 3,
+                                                           "rank": 15 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 14 },
diff --git a/src/plugins/wp/tests/wp_bts/nupw-bcl-bts1120.i.0.report.json b/src/plugins/wp/tests/wp_bts/nupw-bcl-bts1120.i.0.report.json
index d6bedb812b340702a1509a59c9e1f74bf26cdd3f..9caa0949bcd800c56ddd78b7ac7bda66012d0c9f 100644
--- a/src/plugins/wp/tests/wp_bts/nupw-bcl-bts1120.i.0.report.json
+++ b/src/plugins/wp/tests/wp_bts/nupw-bcl-bts1120.i.0.report.json
@@ -1,25 +1,25 @@
 { "wp:global": { "qed": { "total": 8, "valid": 8 },
                  "wp:main": { "total": 8, "valid": 8 } },
-  "wp:functions": { "g": { "g_assign": { "qed": { "total": 4, "valid": 4 },
-                                         "wp:main": { "total": 4,
-                                                      "valid": 4 } },
-                           "g_loop_assign": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                           "g_exit_ok": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
+  "wp:functions": { "g": { "g_assigns": { "qed": { "total": 4, "valid": 4 },
+                                          "wp:main": { "total": 4,
+                                                       "valid": 4 } },
+                           "g_loop_assigns": { "qed": { "total": 1,
+                                                        "valid": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "valid": 1 } },
+                           "g_exits_ok": { "qed": { "total": 1, "valid": 1 },
+                                           "wp:main": { "total": 1,
+                                                        "valid": 1 } },
                            "wp:section": { "qed": { "total": 6, "valid": 6 },
                                            "wp:main": { "total": 6,
                                                         "valid": 6 } } },
-                    "unreachable_smt_with_contract": { "specialization_f_with_precond_pre_ok_at_unreachable_smt_with_contract_stmt_10": 
+                    "unreachable_smt_with_contract": { "f_with_precond_requires_ok_2": 
                                                          { "qed": { "total": 1,
                                                                     "valid": 1 },
                                                            "wp:main": 
                                                              { "total": 1,
                                                                "valid": 1 } },
-                                                       "unreachable_smt_with_contract_post_ok": 
+                                                       "unreachable_smt_with_contract_ensures_ok_2": 
                                                          { "qed": { "total": 1,
                                                                     "valid": 1 },
                                                            "wp:main": 
diff --git a/src/plugins/wp/tests/wp_bts/oracle/bts_2110.res.oracle b/src/plugins/wp/tests/wp_bts/oracle/bts_2110.res.oracle
index 2b5900b11b1f7a65384e20c101e23e19a203241d..9ca77b0609a0f99d2701bffd22be5ee5f20b4acf 100644
--- a/src/plugins/wp/tests/wp_bts/oracle/bts_2110.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle/bts_2110.res.oracle
@@ -5,13 +5,13 @@
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
 ---------------------------------------------
---- File 'typed/myMain_stmt_assign.ergo' 
+--- File 'typed/myMain_assigns.ergo' 
 ---------------------------------------------
 (* ---------------------------------------------------------- *)
 (* --- Assigns 'KO' at call 'myRead' (file tests/wp_bts/bts_2110.i, line 36) --- *)
 (* ---------------------------------------------------------- *)
 
-goal myMain_stmt_assign:
+goal myMain_assigns:
   forall i : int.
   forall t : int farray.
   forall t_1 : (addr,int) farray.
@@ -82,13 +82,13 @@ predicate IsS2_A(S:S2_A) = is_sint32(S.F2_A_dummy)
 predicate EqS2_A(S:S2_A, S_1:S2_A) = (S_1.F2_A_dummy) = (S.F2_A_dummy)
 
 ---------------------------------------------
---- File 'typed/myMain_post_KO.ergo' 
+--- File 'typed/myMain_ensures_KO.ergo' 
 ---------------------------------------------
 (* ---------------------------------------------------------- *)
 (* --- Post-condition 'KO' in 'myMain'                    --- *)
 (* ---------------------------------------------------------- *)
 
-goal myMain_post_KO:
+goal myMain_ensures_KO:
   forall t_1,t : (addr,int) farray.
   forall a_1,a : addr.
   let a_2 = Load_S2_A(a_1, t_1) : S2_A in
diff --git a/src/plugins/wp/tests/wp_bts/oracle/nupw-bcl-bts1120.res.oracle b/src/plugins/wp/tests/wp_bts/oracle/nupw-bcl-bts1120.res.oracle
index b13aeff75c9ead8782c619e090f770f7136b2857..6777100446a7da1020c6b22e188ab921f8eebf88 100644
--- a/src/plugins/wp/tests/wp_bts/oracle/nupw-bcl-bts1120.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle/nupw-bcl-bts1120.res.oracle
@@ -6,12 +6,12 @@
   [cfg] Forget exits clause of node <blkIn-stmt:26>
 [wp] tests/wp_bts/nupw-bcl-bts1120.i:54: Warning: 
   [cfg] Forget exits clause of node <blkIn-stmt:26>
-[wp] [CFG] Goal unreachable_smt_with_contract_stmt_assign : Valid (Unreachable)
-[wp] [CFG] Goal unreachable_smt_with_contract_stmt_exit_ok : Valid (Unreachable)
-[wp] [CFG] Goal unreachable_smt_with_contract_stmt_post_ok : Valid (Unreachable)
-[wp] [CFG] Goal unreachable_smt_with_contract_stmt_pre_ok : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_assigns : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_exits_ok : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_ensures_ok : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_requires_ok : Valid (Unreachable)
 [wp] [CFG] Goal unreachable_smt_with_contract_assert_ok : Valid (Unreachable)
-[wp] [CFG] Goal unreachable_smt_with_contract_call_f_with_precond_pre_ok : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_call_f_with_precond_require___ : Valid (Unreachable)
 [wp] Warning: Missing RTE guards
 ------------------------------------------------------------
   Function cfg_domination_problem
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.res.oracle
index c189064e79fbeb2b9833a83ddfde2be4c9997dc3..7c13800bcbd80cc30eb3e33e45c258442803897a 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0708.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_A : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_A : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Alt-Ergo:        1
@@ -15,8 +15,8 @@ f                   -       1 (4..16)        1       100%
 -------------------------------------------------------------
 [wp] Running WP plugin...
 [wp] 2 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_A : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_B : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_A : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_B : Valid
 [wp] Proved goals:    2 / 2
   Qed:             0 
   Alt-Ergo:        2
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.res.oracle
index 9afec415109fccc41ffb7759ee0c7a09d4b1c559..a0f8a4094b891dde4708856b9d9314693778c2d0 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts0843.res.oracle
@@ -4,10 +4,10 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 4 goals scheduled
-[wp] [Qed] Goal typed_f3_assign : Valid
-[wp] [Alt-Ergo] Goal typed_g3_assign_exit : Valid
-[wp] [Alt-Ergo] Goal typed_g3_assign_normal : Valid
-[wp] [Qed] Goal typed_g3_call_f3_pre : Valid
+[wp] [Qed] Goal typed_f3_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_g3_assigns_exit : Valid
+[wp] [Alt-Ergo] Goal typed_g3_assigns_normal : Valid
+[wp] [Qed] Goal typed_g3_call_f3_requires : Valid
 [wp] Proved goals:    4 / 4
   Qed:             2 
   Alt-Ergo:        2
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.res.oracle
index 494a0a1dc78a5b0ae770c8b252fcbd76acfff6d2..a85d715c3e10b2255d810a9265e8cc28f6b25a69 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts788.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_ref_main_post_I0 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_main_post_I1 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_main_post_I2 : Valid
+[wp] [Qed] Goal typed_ref_main_ensures_I0 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_main_ensures_I1 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_main_ensures_I2 : Valid
 [wp] Proved goals:    3 / 3
   Qed:             1 
   Alt-Ergo:        2
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.res.oracle
index df7117a225383f6a525440c1c97ddeceae063236..286ecc0a8dee3fb7dba30c53a896e206bf001fc9 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1360.res.oracle
@@ -5,16 +5,16 @@
 [rte] annotating function foo_correct
 [rte] annotating function foo_wrong
 [wp] 10 goals scheduled
-[wp] [Qed] Goal typed_foo_correct_post : Valid
+[wp] [Qed] Goal typed_foo_correct_ensures : Valid
 [wp] [Alt-Ergo] Goal typed_foo_correct_assert_rte_mem_access : Valid
 [wp] [Qed] Goal typed_foo_correct_assert_rte_mem_access_2 : Valid
 [wp] [Qed] Goal typed_foo_correct_assert_rte_mem_access_3 : Valid
-[wp] [Qed] Goal typed_foo_correct_assign : Valid
-[wp] [Qed] Goal typed_foo_wrong_post : Valid
+[wp] [Qed] Goal typed_foo_correct_assigns : Valid
+[wp] [Qed] Goal typed_foo_wrong_ensures : Valid
 [wp] [Qed] Goal typed_foo_wrong_assert_rte_mem_access : Valid
 [wp] [Qed] Goal typed_foo_wrong_assert_rte_mem_access_2 : Valid
 [wp] [Alt-Ergo] Goal typed_foo_wrong_assert_rte_mem_access_3 : Unknown
-[wp] [Qed] Goal typed_foo_wrong_assign : Valid
+[wp] [Qed] Goal typed_foo_wrong_assigns : Valid
 [wp] Proved goals:    9 / 10
   Qed:             8 
   Alt-Ergo:        1  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.res.oracle
index e0d6ae4d84a66b2865261f2e280f083a463279b9..fcbb90261d3d8c3ab690bfc37fec3a81edc9ac22 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1462.res.oracle
@@ -4,19 +4,19 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 13 goals scheduled
-[wp] [Qed] Goal typed_local_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_local_loop_inv_established : Valid
-[wp] [Qed] Goal typed_local_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_local_loop_assign_part2 : Valid
+[wp] [Qed] Goal typed_local_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_local_loop_invariant_established : Valid
+[wp] [Qed] Goal typed_local_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_local_loop_assigns_part2 : Valid
 [wp] [Alt-Ergo] Goal typed_wrong_assert_for_value : Valid
-[wp] [Alt-Ergo] Goal typed_wrong_loop_inv_A_KO_preserved : Unknown
-[wp] [Qed] Goal typed_wrong_loop_inv_A_KO_established : Valid
-[wp] [Qed] Goal typed_wrong_loop_inv_B_preserved : Valid
-[wp] [Qed] Goal typed_wrong_loop_inv_B_established : Valid
-[wp] [Qed] Goal typed_wrong_loop_inv_C_preserved : Valid
-[wp] [Qed] Goal typed_wrong_loop_inv_C_established : Valid
+[wp] [Alt-Ergo] Goal typed_wrong_loop_invariant_A_KO_preserved : Unknown
+[wp] [Qed] Goal typed_wrong_loop_invariant_A_KO_established : Valid
+[wp] [Qed] Goal typed_wrong_loop_invariant_B_preserved : Valid
+[wp] [Qed] Goal typed_wrong_loop_invariant_B_established : Valid
+[wp] [Qed] Goal typed_wrong_loop_invariant_C_preserved : Valid
+[wp] [Qed] Goal typed_wrong_loop_invariant_C_established : Valid
 [wp] [Alt-Ergo] Goal typed_wrong_assert_consequence_of_false_invariant : Valid
-[wp] [Qed] Goal typed_wrong_loop_assign : Valid
+[wp] [Qed] Goal typed_wrong_loop_assigns : Valid
 [wp] Proved goals:   12 / 13
   Qed:            10 
   Alt-Ergo:        2  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.res.oracle
index c6dc535715192dd6d8dc57aa4755b27c88ab9854..2dd381f40d3f750773b19857a69fc1372df87e55 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1586.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 4 goals scheduled
-[wp] [Qed] Goal typed_compute_bizarre_Bizarre_post_TRANS : Valid
-[wp] [Qed] Goal typed_compute_normal_Normal_post_TRANS : Valid
+[wp] [Qed] Goal typed_compute_bizarre_Bizarre_ensures_TRANS : Valid
+[wp] [Qed] Goal typed_compute_normal_Normal_ensures_TRANS : Valid
 [wp] [Alt-Ergo] Goal typed_main_bizarre_KO_assert_FALSE : Unknown
 [wp] [Alt-Ergo] Goal typed_main_normal_KO_assert_FALSE : Unknown
 [wp] Proved goals:    2 / 4
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1588.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1588.res.oracle
index 21d7b22fe7f1119d4e75af13d3481dcbe3c01424..6a9e1f868ab48a70637f17c7d4da18ed230d449f 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1588.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1588.res.oracle
@@ -8,8 +8,8 @@
 [wp] tests/wp_bts/bts_1588.i:5: Warning: 
   Missing assigns clause (assigns 'everything' instead)
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_f_loop_inv_l1_2_preserved : Valid
-[wp] [Qed] Goal typed_f_loop_inv_l1_2_established : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_l1_2_preserved : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_l1_2_established : Valid
 [wp] [Qed] Goal typed_f_assert_a1 : Valid
 [wp] Proved goals:    3 / 3
   Qed:             3
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.res.oracle
index cbeaaa512abdc92f2b4dd7e7eeaf7142b02da934..255379c5ae2ab87693bb6f9c74f2c4ef4f2b82ed 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1601.res.oracle
@@ -11,7 +11,7 @@
 [wp] [Qed] Goal typed_foo_assert_5 : Valid
 [wp] [Qed] Goal typed_foo_assert_6 : Valid
 [wp] [Qed] Goal typed_foo_assert_7 : Valid
-[wp] [Qed] Goal typed_foo_basic_post : Valid
+[wp] [Qed] Goal typed_foo_basic_ensures : Valid
 [wp] Proved goals:    8 / 8
   Qed:             7 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.res.oracle
index daac899dba8e1ebd61023923a86bb93f77d98a22..935fff8182524b061d17888f47f6212221e7f7c5 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.0.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Alt-Ergo] Goal typed_global_frame_post_sep_iff_ref : Unknown
-[wp] [Alt-Ergo] Goal typed_global_frame_post_one_iff_ref : Unknown
-[wp] [Qed] Goal typed_global_frame_post_zero_always : Valid
+[wp] [Alt-Ergo] Goal typed_global_frame_ensures_sep_iff_ref : Unknown
+[wp] [Alt-Ergo] Goal typed_global_frame_ensures_one_iff_ref : Unknown
+[wp] [Qed] Goal typed_global_frame_ensures_zero_always : Valid
 [wp] [Qed] Goal typed_global_frame_assert_ok : Valid
 [wp] [Qed] Goal typed_global_frame_assert_ok_2 : Valid
 [wp] [Alt-Ergo] Goal typed_local_frame_assert_ok : Valid
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.res.oracle
index 9bfc329b04f3bceac5f7cb718e76edf85fb4f0f3..fc42da9c2a33118bc1a0eb64f447abaea197f6e4 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_1828.1.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Qed] Goal typed_ref_global_frame_post_sep_iff_ref : Valid
-[wp] [Qed] Goal typed_ref_global_frame_post_one_iff_ref : Valid
-[wp] [Qed] Goal typed_ref_global_frame_post_zero_always : Valid
+[wp] [Qed] Goal typed_ref_global_frame_ensures_sep_iff_ref : Valid
+[wp] [Qed] Goal typed_ref_global_frame_ensures_one_iff_ref : Valid
+[wp] [Qed] Goal typed_ref_global_frame_ensures_zero_always : Valid
 [wp] [Qed] Goal typed_ref_global_frame_assert_ok : Valid
 [wp] [Qed] Goal typed_ref_global_frame_assert_ok_2 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_local_frame_assert_ok : Valid
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2079.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2079.res.oracle
index 3ba5702535af18f419b1d86a6f840deb6f64bae9..1677f2005a81d60cebb275c80788ae36d70017ed 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2079.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2079.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_main_post_Eval_P : Valid
-[wp] [Qed] Goal typed_main_post_Eval_Q : Valid
+[wp] [Qed] Goal typed_main_ensures_Eval_P : Valid
+[wp] [Qed] Goal typed_main_ensures_Eval_Q : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [wp] Report 'tests/wp_bts/bts_2079.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.res.oracle
index def33bf37ab2f28dc3fb8cc0bddbc7c8e5ba022a..5957c25a9913e5dc7ea2f26f7e16a3c8b80cb32d 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/bts_2159.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_job_post : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/ergo_typecheck.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/ergo_typecheck.res.oracle
index 32b111fa7242d905d8a2a8cdd63379dc734744a5..adbf79dec6e616503039969d0cb93e2a77983207 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/ergo_typecheck.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/ergo_typecheck.res.oracle
@@ -4,14 +4,14 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 8 goals scheduled
-[wp] [Qed] Goal typed_f_post_var_divded : Valid
-[wp] [Qed] Goal typed_f_post_var_inline : Valid
-[wp] [Qed] Goal typed_f_post_var_unit0 : Valid
-[wp] [Qed] Goal typed_f_post_var_unit1 : Valid
-[wp] [Qed] Goal typed_f_post_var_unit2 : Valid
-[wp] [Qed] Goal typed_f_post_var_unit3 : Valid
-[wp] [Qed] Goal typed_f_post_var_unit4 : Valid
-[wp] [Qed] Goal typed_f_assign : Valid
+[wp] [Qed] Goal typed_f_ensures_var_divded : Valid
+[wp] [Qed] Goal typed_f_ensures_var_inline : Valid
+[wp] [Qed] Goal typed_f_ensures_var_unit0 : Valid
+[wp] [Qed] Goal typed_f_ensures_var_unit1 : Valid
+[wp] [Qed] Goal typed_f_ensures_var_unit2 : Valid
+[wp] [Qed] Goal typed_f_ensures_var_unit3 : Valid
+[wp] [Qed] Goal typed_f_ensures_var_unit4 : Valid
+[wp] [Qed] Goal typed_f_assigns : Valid
 [wp] Proved goals:    8 / 8
   Qed:             8
 [wp] Report 'tests/wp_bts/ergo_typecheck.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_453.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_453.res.oracle
index 9eebd963d56bcb00ccab07c4510bfb82d656a283..ac1e7341c077c06f0af0001fcadce668af855ad1 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_453.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_453.res.oracle
@@ -4,12 +4,12 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Qed] Goal typed_f1_loop_assign : Valid
-[wp] [Qed] Goal typed_f1_stmt_post_Sincr : Valid
-[wp] [Qed] Goal typed_f1_stmt_assign : Valid
-[wp] [Qed] Goal typed_f2_loop_assign : Valid
-[wp] [Qed] Goal typed_f2_stmt_post_Sincr : Valid
-[wp] [Qed] Goal typed_f2_stmt_assign : Valid
+[wp] [Qed] Goal typed_f1_loop_assigns : Valid
+[wp] [Qed] Goal typed_f1_ensures_Sincr : Valid
+[wp] [Qed] Goal typed_f1_assigns : Valid
+[wp] [Qed] Goal typed_f2_loop_assigns : Valid
+[wp] [Qed] Goal typed_f2_ensures_Sincr : Valid
+[wp] [Qed] Goal typed_f2_assigns : Valid
 [wp] Proved goals:    6 / 6
   Qed:             6
 [wp] Report 'tests/wp_bts/issue_453.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.res.oracle
index 8289108ae0e286572f4685dbe161f6edfaf59610..88a873c857cfc22dfeccbc23a480d184dae469b5 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_494.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures : Valid
 [wp] [Alt-Ergo] Goal typed_job_ko_fixed_assert_Wrong : Unknown
 [wp] [Alt-Ergo] Goal typed_job_ko_success_assert_Wrong : Unknown
 [wp] Proved goals:    1 / 3
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.res.oracle
index 45cd077d06209cf8c051250cd592ff5154d9d7cd..e91fa5af17342cd08086ab3298ca3811c62d36f5 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/issue_508.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Alt-Ergo] Goal typed_add_assign_part1 : Valid
-[wp] [Qed] Goal typed_add_assign_part2 : Valid
-[wp] [Qed] Goal typed_add_assign_part3 : Valid
+[wp] [Alt-Ergo] Goal typed_add_assigns_part1 : Valid
+[wp] [Qed] Goal typed_add_assigns_part2 : Valid
+[wp] [Qed] Goal typed_add_assigns_part3 : Valid
 [wp] Proved goals:    3 / 3
   Qed:             2 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_bts/oracle_qualif/nupw-bcl-bts1120.res.oracle b/src/plugins/wp/tests/wp_bts/oracle_qualif/nupw-bcl-bts1120.res.oracle
index 5d5d798ea5d9b1883dab371915dc5181911db479..0828672df9284fd14a0da0345a7de243af7b7770 100644
--- a/src/plugins/wp/tests/wp_bts/oracle_qualif/nupw-bcl-bts1120.res.oracle
+++ b/src/plugins/wp/tests/wp_bts/oracle_qualif/nupw-bcl-bts1120.res.oracle
@@ -2,22 +2,22 @@
 [kernel] Parsing tests/wp_bts/nupw-bcl-bts1120.i (no preprocessing)
 [wp] Running WP plugin...
 [wp] Loading driver 'share/wp.driver'
-[wp] [CFG] Goal unreachable_smt_with_contract_stmt_assign : Valid (Unreachable)
-[wp] [CFG] Goal unreachable_smt_with_contract_stmt_exit_ok : Valid (Unreachable)
-[wp] [CFG] Goal unreachable_smt_with_contract_stmt_post_ok : Valid (Unreachable)
-[wp] [CFG] Goal unreachable_smt_with_contract_stmt_pre_ok : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_assigns : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_exits_ok : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_ensures_ok : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_requires_ok : Valid (Unreachable)
 [wp] [CFG] Goal unreachable_smt_with_contract_assert_ok : Valid (Unreachable)
-[wp] [CFG] Goal unreachable_smt_with_contract_call_f_with_precond_pre_ok : Valid (Unreachable)
+[wp] [CFG] Goal unreachable_smt_with_contract_call_f_with_precond_require___ : Valid (Unreachable)
 [wp] Warning: Missing RTE guards
 [wp] 8 goals scheduled
-[wp] [Qed] Goal typed_g_exit_ok : Valid
-[wp] [Qed] Goal typed_g_loop_assign : Valid
-[wp] [Qed] Goal typed_g_assign_exit : Valid
-[wp] [Qed] Goal typed_g_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_g_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_g_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_unreachable_smt_with_contract_post_ok : Valid
-[wp] [Qed] Goal typed_unreachable_smt_with_contract_call_f_with_precond_pre_ok_2 : Valid
+[wp] [Qed] Goal typed_g_exits_ok : Valid
+[wp] [Qed] Goal typed_g_loop_assigns : Valid
+[wp] [Qed] Goal typed_g_assigns_exit : Valid
+[wp] [Qed] Goal typed_g_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_g_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_g_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_unreachable_smt_with_contract_ensures_ok_2 : Valid
+[wp] [Qed] Goal typed_unreachable_smt_with_contract_call_f_with_precond_require____2 : Valid
 [wp] Proved goals:    8 / 8
   Qed:             8
 [wp] Report 'tests/wp_bts/nupw-bcl-bts1120.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_gallery/binary-multiplication-without-overflow.c.0.report.json b/src/plugins/wp/tests/wp_gallery/binary-multiplication-without-overflow.c.0.report.json
index 6e041751ae90f16c4e4ac1a37c7c29d34b40f54a..555c9aa45da29f20748b05a795b10ef2fae0dd01 100644
--- a/src/plugins/wp/tests/wp_gallery/binary-multiplication-without-overflow.c.0.report.json
+++ b/src/plugins/wp/tests/wp_gallery/binary-multiplication-without-overflow.c.0.report.json
@@ -43,7 +43,7 @@
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 5 } },
-                                              "BinaryMultiplication_loop_inv_inv2_ok_deductible": 
+                                              "BinaryMultiplication_loop_invariant_inv2_ok_deductible": 
                                                 { "alt-ergo": { "total": 2,
                                                                 "valid": 2,
                                                                 "rank": 10 },
@@ -57,25 +57,25 @@
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 3 } },
-                                              "BinaryMultiplication_loop_term": 
+                                              "BinaryMultiplication_loop_variant": 
                                                 { "alt-ergo": { "total": 2,
                                                                 "valid": 2,
-                                                                "rank": 8 },
+                                                                "rank": 9 },
                                                   "wp:main": { "total": 2,
                                                                "valid": 2,
-                                                               "rank": 8 } },
-                                              "BinaryMultiplication_loop_assign": 
+                                                               "rank": 9 } },
+                                              "BinaryMultiplication_loop_assigns": 
                                                 { "qed": { "total": 1,
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } },
-                                              "BinaryMultiplication_post_product": 
+                                              "BinaryMultiplication_ensures_product": 
                                                 { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
-                                                                "rank": 16 },
+                                                                "rank": 17 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
-                                                               "rank": 16 } },
+                                                               "rank": 17 } },
                                               "wp:section": { "alt-ergo": 
                                                                 { "total": 10,
                                                                   "valid": 10,
diff --git a/src/plugins/wp/tests/wp_gallery/binary-multiplication.c.0.report.json b/src/plugins/wp/tests/wp_gallery/binary-multiplication.c.0.report.json
index 5ea485d2a0af12d325a0cb524608845346664671..c033820912ee4cc581d52e26d70abe6b30d842df 100644
--- a/src/plugins/wp/tests/wp_gallery/binary-multiplication.c.0.report.json
+++ b/src/plugins/wp/tests/wp_gallery/binary-multiplication.c.0.report.json
@@ -52,19 +52,19 @@
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 3 } },
-                                              "BinaryMultiplication_loop_term": 
+                                              "BinaryMultiplication_loop_variant": 
                                                 { "alt-ergo": { "total": 2,
                                                                 "valid": 2,
-                                                                "rank": 20 },
+                                                                "rank": 19 },
                                                   "wp:main": { "total": 2,
                                                                "valid": 2,
-                                                               "rank": 20 } },
-                                              "BinaryMultiplication_loop_assign": 
+                                                               "rank": 19 } },
+                                              "BinaryMultiplication_loop_assigns": 
                                                 { "qed": { "total": 1,
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } },
-                                              "BinaryMultiplication_post_product": 
+                                              "BinaryMultiplication_ensures_product": 
                                                 { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 34 },
diff --git a/src/plugins/wp/tests/wp_gallery/frama_c_exo1_solved.c.0.report.json b/src/plugins/wp/tests/wp_gallery/frama_c_exo1_solved.c.0.report.json
index 35328b8f662304169588f86edc22b36e39809b3c..a9f55cef0683a3a43e396afe1b11a4b11682b4a8 100644
--- a/src/plugins/wp/tests/wp_gallery/frama_c_exo1_solved.c.0.report.json
+++ b/src/plugins/wp/tests/wp_gallery/frama_c_exo1_solved.c.0.report.json
@@ -41,46 +41,47 @@
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 3 } },
-                              "exo1_loop_inv_2": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 31 },
-                                                   "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 31 } },
-                              "exo1_loop_inv": { "alt-ergo": { "total": 1,
+                              "exo1_loop_invariant_2": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 32 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 32 } },
+                              "exo1_loop_invariant": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 10 },
+                                                       "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 10 } },
+                              "exo1_loop_variant": { "qed": { "total": 2,
+                                                              "valid": 2 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2 } },
+                              "exo1_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "exo1_loop_assigns": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                              "exo1_ensures_2": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 8 },
+                                                  "wp:main": { "total": 1,
                                                                "valid": 1,
-                                                               "rank": 10 },
-                                                 "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 10 } },
-                              "exo1_loop_term": { "qed": { "total": 2,
-                                                           "valid": 2 },
-                                                  "wp:main": { "total": 2,
-                                                               "valid": 2 } },
-                              "exo1_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "exo1_loop_assign": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
-                              "exo1_post_2": { "alt-ergo": { "total": 1,
+                                                               "rank": 8 } },
+                              "exo1_ensures": { "alt-ergo": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 5 },
+                                                "wp:main": { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 7 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 7 } },
-                              "exo1_post": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 4 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1,
-                                                          "rank": 4 } },
+                                                             "rank": 5 } },
                               "wp:section": { "alt-ergo": { "total": 9,
                                                             "valid": 9,
                                                             "rank": 31 },
diff --git a/src/plugins/wp/tests/wp_gallery/frama_c_exo2_solved.c.0.report.json b/src/plugins/wp/tests/wp_gallery/frama_c_exo2_solved.c.0.report.json
index 7250532e2b57e0d0d2feadb78e0c413848eebc50..4704bc3cd87acc869eb5877d73bbc4f77febc4e2 100644
--- a/src/plugins/wp/tests/wp_gallery/frama_c_exo2_solved.c.0.report.json
+++ b/src/plugins/wp/tests/wp_gallery/frama_c_exo2_solved.c.0.report.json
@@ -8,111 +8,96 @@
                                           "wp:main": { "total": 1,
                                                        "valid": 1,
                                                        "rank": 26 } },
-                                      "max_subarray_loop_inv_8": { "alt-ergo": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 37 },
-                                                                   "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 37 } },
-                                      "max_subarray_loop_inv_7": { "alt-ergo": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 26 },
-                                                                   "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 26 } },
-                                      "max_subarray_loop_inv_6": { "alt-ergo": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 13 },
-                                                                   "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 13 } },
-                                      "max_subarray_loop_inv_5": { "alt-ergo": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 13 },
-                                                                   "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 13 } },
-                                      "max_subarray_loop_inv_4": { "qed": 
+                                      "max_subarray_loop_invariant_8": 
+                                        { "alt-ergo": { "total": 2,
+                                                        "valid": 2,
+                                                        "rank": 38 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2,
+                                                       "rank": 38 } },
+                                      "max_subarray_loop_invariant_7": 
+                                        { "alt-ergo": { "total": 2,
+                                                        "valid": 2,
+                                                        "rank": 27 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2,
+                                                       "rank": 27 } },
+                                      "max_subarray_loop_invariant_6": 
+                                        { "alt-ergo": { "total": 2,
+                                                        "valid": 2,
+                                                        "rank": 14 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2,
+                                                       "rank": 14 } },
+                                      "max_subarray_loop_invariant_5": 
+                                        { "alt-ergo": { "total": 2,
+                                                        "valid": 2,
+                                                        "rank": 14 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2,
+                                                       "rank": 14 } },
+                                      "max_subarray_loop_invariant_4": 
+                                        { "qed": { "total": 2, "valid": 2 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2 } },
+                                      "max_subarray_loop_invariant_3": 
+                                        { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 12 },
+                                          "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2,
+                                                       "rank": 12 } },
+                                      "max_subarray_loop_invariant_2": 
+                                        { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 15 },
+                                          "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2,
+                                                       "rank": 15 } },
+                                      "max_subarray_loop_invariant": 
+                                        { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 9 },
+                                          "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2,
+                                                       "rank": 9 } },
+                                      "max_subarray_loop_variant": { "qed": 
                                                                     { "total": 2,
                                                                     "valid": 2 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 2,
                                                                     "valid": 2 } },
-                                      "max_subarray_loop_inv_3": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 11 },
-                                                                   "qed": 
+                                      "max_subarray_assigns": { "qed": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 } },
+                                      "max_subarray_loop_assigns": { "qed": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                   "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 11 } },
-                                      "max_subarray_loop_inv_2": { "alt-ergo": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 14 },
-                                                                   "qed": 
+                                                                    "valid": 1 } },
+                                      "max_subarray_ensures_2": { "alt-ergo": 
                                                                     { "total": 1,
-                                                                    "valid": 1 },
-                                                                   "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 14 } },
-                                      "max_subarray_loop_inv": { "alt-ergo": 
-                                                                   { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 8 },
-                                                                 "qed": 
-                                                                   { "total": 1,
-                                                                    "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 8 } },
-                                      "max_subarray_loop_term": { "qed": 
-                                                                    { "total": 2,
-                                                                    "valid": 2 },
+                                                                    "rank": 20 },
                                                                   "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2 } },
-                                      "max_subarray_assign": { "qed": 
-                                                                 { "total": 1,
-                                                                   "valid": 1 },
-                                                               "wp:main": 
-                                                                 { "total": 1,
-                                                                   "valid": 1 } },
-                                      "max_subarray_loop_assign": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
                                                                     { "total": 1,
-                                                                    "valid": 1 } },
-                                      "max_subarray_post_2": { "alt-ergo": 
-                                                                 { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 20 },
-                                                               "wp:main": 
-                                                                 { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 20 } },
-                                      "max_subarray_post": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 8 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 8 } },
+                                                                    "valid": 1,
+                                                                    "rank": 20 } },
+                                      "max_subarray_ensures": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 9 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 9 } },
                                       "wp:section": { "alt-ergo": { "total": 14,
                                                                     "valid": 14,
                                                                     "rank": 37 },
diff --git a/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.old.c.0.report.json b/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.old.c.0.report.json
index a83c2c21e3ba443f38ae38fd4a100f39486dc8b0..9b995a57b35eb0aabccdd442069b309651421f0c 100644
--- a/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.old.c.0.report.json
+++ b/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.old.c.0.report.json
@@ -96,14 +96,14 @@
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 32 } },
-                                        "equal_elements_loop_inv_10": 
+                                        "equal_elements_loop_invariant_10": 
                                           { "alt-ergo": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 51 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 51 } },
-                                        "equal_elements_loop_inv_9": 
+                                        "equal_elements_loop_invariant_9": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 43 },
@@ -111,22 +111,22 @@
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 43 } },
-                                        "equal_elements_loop_inv_8": 
+                                        "equal_elements_loop_invariant_8": 
                                           { "alt-ergo": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 38 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 38 } },
-                                        "equal_elements_loop_inv_7": 
+                                        "equal_elements_loop_invariant_7": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
-                                                          "rank": 21 },
+                                                          "rank": 22 },
                                             "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
-                                                         "rank": 21 } },
-                                        "equal_elements_loop_inv_6": 
+                                                         "rank": 22 } },
+                                        "equal_elements_loop_invariant_6": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 50 },
@@ -134,7 +134,7 @@
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 50 } },
-                                        "equal_elements_loop_inv_5": 
+                                        "equal_elements_loop_invariant_5": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 56 },
@@ -142,83 +142,78 @@
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 56 } },
-                                        "equal_elements_loop_inv_4": 
+                                        "equal_elements_loop_invariant_4": 
                                           { "qed": { "total": 2, "valid": 2 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2 } },
-                                        "equal_elements_loop_inv_3": 
+                                        "equal_elements_loop_invariant_3": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
-                                                          "rank": 8 },
+                                                          "rank": 9 },
                                             "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
-                                                         "rank": 8 } },
-                                        "equal_elements_loop_inv_2": 
+                                                         "rank": 9 } },
+                                        "equal_elements_loop_invariant_2": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
-                                                          "rank": 18 },
+                                                          "rank": 19 },
                                             "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
-                                                         "rank": 18 } },
-                                        "equal_elements_loop_inv": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 4 },
-                                                                    "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 4 } },
-                                        "equal_elements_loop_term_2": 
+                                                         "rank": 19 } },
+                                        "equal_elements_loop_invariant": 
+                                          { "alt-ergo": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 5 },
+                                            "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 2,
+                                                         "valid": 2,
+                                                         "rank": 5 } },
+                                        "equal_elements_loop_variant_2": 
                                           { "qed": { "total": 2, "valid": 2 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2 } },
-                                        "equal_elements_loop_term": { "qed": 
-                                                                    { "total": 2,
-                                                                    "valid": 2 },
-                                                                    "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2 } },
-                                        "equal_elements_assign": { "qed": 
+                                        "equal_elements_loop_variant": 
+                                          { "qed": { "total": 2, "valid": 2 },
+                                            "wp:main": { "total": 2,
+                                                         "valid": 2 } },
+                                        "equal_elements_assigns": { "qed": 
                                                                     { "total": 3,
                                                                     "valid": 3 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 3,
                                                                     "valid": 3 } },
-                                        "equal_elements_loop_assign_2": 
+                                        "equal_elements_loop_assigns_2": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                                        "equal_elements_loop_assign": 
+                                        "equal_elements_loop_assigns": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                                        "equal_elements_post_3": { "alt-ergo": 
+                                        "equal_elements_ensures_3": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 23 },
-                                                                   "wp:main": 
+                                                                    "rank": 24 },
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 23 } },
-                                        "equal_elements_post_2": { "alt-ergo": 
+                                                                    "rank": 24 } },
+                                        "equal_elements_ensures_2": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 32 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 32 } },
-                                        "equal_elements_post": { "alt-ergo": 
-                                                                   { "total": 1,
+                                        "equal_elements_ensures": { "alt-ergo": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 28 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
+                                                                    "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 28 } },
                                         "wp:section": { "alt-ergo": { "total": 21,
diff --git a/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.old.v2.c.0.report.json b/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.old.v2.c.0.report.json
index faf2646774a9fb497970774b004dab29bd512597..b7fb5f6698e66acf90a2b1b2ea0d6872da7ce8ba 100644
--- a/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.old.v2.c.0.report.json
+++ b/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.old.v2.c.0.report.json
@@ -80,35 +80,35 @@
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                                        "equal_elements_loop_inv_v2_sound2": 
+                                        "equal_elements_loop_invariant_v2_sound2": 
                                           { "alt-ergo": { "total": 2,
                                                           "valid": 2,
-                                                          "rank": 36 },
+                                                          "rank": 37 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
-                                                         "rank": 36 } },
-                                        "equal_elements_loop_inv_v1_sound2": 
+                                                         "rank": 37 } },
+                                        "equal_elements_loop_invariant_v1_sound2": 
                                           { "alt-ergo": { "total": 2,
                                                           "valid": 2,
-                                                          "rank": 20 },
+                                                          "rank": 22 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
-                                                         "rank": 20 } },
-                                        "equal_elements_loop_inv_seen_sound2": 
+                                                         "rank": 22 } },
+                                        "equal_elements_loop_invariant_seen_sound2": 
                                           { "alt-ergo": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 32 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 32 } },
-                                        "equal_elements_loop_inv_seen_sound1": 
+                                        "equal_elements_loop_invariant_seen_sound1": 
                                           { "alt-ergo": { "total": 2,
                                                           "valid": 2,
-                                                          "rank": 38 },
+                                                          "rank": 39 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
-                                                         "rank": 38 } },
-                                        "equal_elements_loop_inv_v1_v2_diff": 
+                                                         "rank": 39 } },
+                                        "equal_elements_loop_invariant_v1_v2_diff": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 15 },
@@ -116,7 +116,7 @@
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 15 } },
-                                        "equal_elements_loop_inv_v2_sound1": 
+                                        "equal_elements_loop_invariant_v2_sound1": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 32 },
@@ -124,26 +124,26 @@
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 32 } },
-                                        "equal_elements_loop_inv_v1_sound1": 
+                                        "equal_elements_loop_invariant_v1_sound1": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
-                                                          "rank": 24 },
+                                                          "rank": 25 },
                                             "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
-                                                         "rank": 24 } },
-                                        "equal_elements_loop_inv_v1_first": 
+                                                         "rank": 25 } },
+                                        "equal_elements_loop_invariant_v1_first": 
                                           { "qed": { "total": 2, "valid": 2 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2 } },
-                                        "equal_elements_loop_inv_bound": 
+                                        "equal_elements_loop_invariant_bound": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
-                                                          "rank": 10 },
+                                                          "rank": 11 },
                                             "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
-                                                         "rank": 10 } },
+                                                         "rank": 11 } },
                                         "equal_elements_assert_set_at_1": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
@@ -151,7 +151,7 @@
                                             "wp:main": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 7 } },
-                                        "equal_elements_loop_inv_set_at_0": 
+                                        "equal_elements_loop_invariant_set_at_0": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 10 },
@@ -159,62 +159,57 @@
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 10 } },
-                                        "equal_elements_loop_inv": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 7 },
-                                                                    "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 7 } },
-                                        "equal_elements_loop_term_2": 
+                                        "equal_elements_loop_invariant": 
+                                          { "alt-ergo": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 7 },
+                                            "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 2,
+                                                         "valid": 2,
+                                                         "rank": 7 } },
+                                        "equal_elements_loop_variant_2": 
                                           { "qed": { "total": 2, "valid": 2 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2 } },
-                                        "equal_elements_loop_term": { "qed": 
-                                                                    { "total": 2,
-                                                                    "valid": 2 },
-                                                                    "wp:main": 
-                                                                    { "total": 2,
-                                                                    "valid": 2 } },
-                                        "equal_elements_assign": { "qed": 
+                                        "equal_elements_loop_variant": 
+                                          { "qed": { "total": 2, "valid": 2 },
+                                            "wp:main": { "total": 2,
+                                                         "valid": 2 } },
+                                        "equal_elements_assigns": { "qed": 
                                                                     { "total": 3,
                                                                     "valid": 3 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 3,
                                                                     "valid": 3 } },
-                                        "equal_elements_loop_assign_2": 
+                                        "equal_elements_loop_assigns_2": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                                        "equal_elements_loop_assign": 
+                                        "equal_elements_loop_assigns": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                                        "equal_elements_post_v1_v2_diff": 
+                                        "equal_elements_ensures_v1_v2_diff": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
-                                                          "rank": 11 },
+                                                          "rank": 12 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1,
-                                                         "rank": 11 } },
-                                        "equal_elements_post_v2_good": 
+                                                         "rank": 12 } },
+                                        "equal_elements_ensures_v2_good": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 25 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 25 } },
-                                        "equal_elements_post_v1_good": 
+                                        "equal_elements_ensures_v1_good": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
-                                                          "rank": 13 },
+                                                          "rank": 14 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1,
-                                                         "rank": 13 } },
+                                                         "rank": 14 } },
                                         "wp:section": { "alt-ergo": { "total": 23,
                                                                     "valid": 23,
                                                                     "rank": 38 },
diff --git a/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.simplified.c.0.report.json b/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.simplified.c.0.report.json
index 980ed8a65818b5a813533a5d28ba6546c4d7f9e1..3d5440b7b470cca3e5fdd813dcb47a16db43fa96 100644
--- a/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.simplified.c.0.report.json
+++ b/src/plugins/wp/tests/wp_gallery/frama_c_exo3_solved.simplified.c.0.report.json
@@ -77,82 +77,88 @@
                                                                "wp:main": 
                                                                  { "total": 1,
                                                                    "valid": 1 } },
-                              "pair_loop_inv_6": { "alt-ergo": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 17 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 17 } },
-                              "pair_loop_inv_5": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 16 },
-                                                   "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 16 } },
-                              "pair_loop_inv_4": { "alt-ergo": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 17 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 17 } },
-                              "pair_loop_inv_3": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 6 },
-                                                   "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 6 } },
-                              "pair_loop_inv_2": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 5 },
-                                                   "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 5 } },
-                              "pair_loop_inv": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 4 },
-                                                 "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 4 } },
-                              "pair_loop_term_2": { "qed": { "total": 2,
-                                                             "valid": 2 },
-                                                    "wp:main": { "total": 2,
-                                                                 "valid": 2 } },
-                              "pair_loop_term": { "qed": { "total": 2,
-                                                           "valid": 2 },
-                                                  "wp:main": { "total": 2,
-                                                               "valid": 2 } },
-                              "pair_assign": { "qed": { "total": 4,
-                                                        "valid": 4 },
-                                               "wp:main": { "total": 4,
-                                                            "valid": 4 } },
-                              "pair_loop_assign_2": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                              "pair_loop_assign": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
-                              "pair_has_pair_post": { "alt-ergo": { "total": 1,
+                              "pair_loop_invariant_6": { "alt-ergo": 
+                                                           { "total": 2,
+                                                             "valid": 2,
+                                                             "rank": 17 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 17 } },
+                              "pair_loop_invariant_5": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 17 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 17 } },
+                              "pair_loop_invariant_4": { "alt-ergo": 
+                                                           { "total": 2,
+                                                             "valid": 2,
+                                                             "rank": 17 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 17 } },
+                              "pair_loop_invariant_3": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 6 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 6 } },
+                              "pair_loop_invariant_2": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 5 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 5 } },
+                              "pair_loop_invariant": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 22 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 22 } },
-                              "pair_no_pair_post": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 15 },
+                                                                    "rank": 4 },
+                                                       "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 4 } },
+                              "pair_loop_variant_2": { "qed": { "total": 2,
+                                                                "valid": 2 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2 } },
+                              "pair_loop_variant": { "qed": { "total": 2,
+                                                              "valid": 2 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2 } },
+                              "pair_assigns": { "qed": { "total": 4,
+                                                         "valid": 4 },
+                                                "wp:main": { "total": 4,
+                                                             "valid": 4 } },
+                              "pair_loop_assigns_2": { "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                              "pair_loop_assigns": { "qed": { "total": 1,
+                                                              "valid": 1 },
                                                      "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 15 } },
+                                                                  "valid": 1 } },
+                              "pair_has_pair_ensures": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 22 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 22 } },
+                              "pair_no_pair_ensures": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 16 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 16 } },
                               "wp:section": { "alt-ergo": { "total": 15,
                                                             "valid": 15,
                                                             "rank": 22 },
diff --git a/src/plugins/wp/tests/wp_gallery/frama_c_hashtbl_solved.c.0.report.json b/src/plugins/wp/tests/wp_gallery/frama_c_hashtbl_solved.c.0.report.json
index 0efdbfb59cd974c0adeee48a35a8aff5257e2987..0b7f6276ac1566031e4e0b25355bb0381681f523 100644
--- a/src/plugins/wp/tests/wp_gallery/frama_c_hashtbl_solved.c.0.report.json
+++ b/src/plugins/wp/tests/wp_gallery/frama_c_hashtbl_solved.c.0.report.json
@@ -28,57 +28,61 @@
                                                      "rank": 23 },
                                        "wp:main": { "total": 1, "valid": 1,
                                                     "rank": 23 } },
-                                   "eq_string_loop_inv_2": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 9 },
-                                                             "qed": { "total": 1,
+                                   "eq_string_loop_invariant_2": { "alt-ergo": 
+                                                                    { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 10 },
+                                                                   "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 9 } },
-                                   "eq_string_loop_inv": { "alt-ergo": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 5 },
-                                                           "qed": { "total": 1,
+                                                                   "wp:main": 
+                                                                    { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 10 } },
+                                   "eq_string_loop_invariant": { "alt-ergo": 
+                                                                   { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 6 },
+                                                                 "qed": 
+                                                                   { "total": 1,
                                                                     "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 2,
-                                                               "valid": 2,
-                                                               "rank": 5 } },
-                                   "eq_string_loop_term": { "qed": { "total": 2,
-                                                                    "valid": 2 },
-                                                            "wp:main": 
-                                                              { "total": 2,
-                                                                "valid": 2 } },
-                                   "eq_string_assign": { "qed": { "total": 4,
-                                                                  "valid": 4 },
-                                                         "wp:main": { "total": 4,
-                                                                    "valid": 4 } },
-                                   "eq_string_loop_assign": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
-                                   "eq_string_not_eq_post": { "alt-ergo": 
-                                                                { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 13 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 13 } },
-                                   "eq_string_eq_post": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 11 },
+                                                                 "wp:main": 
+                                                                   { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 6 } },
+                                   "eq_string_loop_variant": { "qed": 
+                                                                 { "total": 2,
+                                                                   "valid": 2 },
+                                                               "wp:main": 
+                                                                 { "total": 2,
+                                                                   "valid": 2 } },
+                                   "eq_string_assigns": { "qed": { "total": 4,
+                                                                   "valid": 4 },
                                                           "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 11 } },
+                                                            { "total": 4,
+                                                              "valid": 4 } },
+                                   "eq_string_loop_assigns": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
+                                   "eq_string_not_eq_ensures": { "alt-ergo": 
+                                                                   { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 } },
+                                   "eq_string_eq_ensures": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 12 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 12 } },
                                    "wp:section": { "alt-ergo": { "total": 7,
                                                                  "valid": 7,
                                                                  "rank": 23 },
@@ -109,26 +113,26 @@
                                                                 { "total": 1,
                                                                   "valid": 1,
                                                                   "rank": 18 } },
-                              "hash_loop_inv": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 4 },
-                                                 "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 4 } },
-                              "hash_loop_term": { "qed": { "total": 2,
-                                                           "valid": 2 },
-                                                  "wp:main": { "total": 2,
-                                                               "valid": 2 } },
-                              "hash_assign": { "qed": { "total": 2,
-                                                        "valid": 2 },
-                                               "wp:main": { "total": 2,
-                                                            "valid": 2 } },
-                              "hash_loop_assign": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
+                              "hash_loop_invariant": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 4 },
+                                                       "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 4 } },
+                              "hash_loop_variant": { "qed": { "total": 2,
+                                                              "valid": 2 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2 } },
+                              "hash_assigns": { "qed": { "total": 2,
+                                                         "valid": 2 },
+                                                "wp:main": { "total": 2,
+                                                             "valid": 2 } },
+                              "hash_loop_assigns": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                               "wp:section": { "alt-ergo": { "total": 3,
                                                             "valid": 3,
                                                             "rank": 18 },
@@ -145,14 +149,14 @@
                                                                 { "total": 1,
                                                                   "valid": 1,
                                                                   "rank": 8 } },
-                              "size_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "size_post": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                              "size_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "size_ensures": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                               "wp:section": { "alt-ergo": { "total": 1,
                                                             "valid": 1,
                                                             "rank": 8 },
@@ -197,50 +201,51 @@
                                                                 { "total": 1,
                                                                   "valid": 1,
                                                                   "rank": 16 } },
-                              "init_loop_inv_2": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 8 },
-                                                   "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 8 } },
-                              "init_loop_inv": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 4 },
-                                                 "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 4 } },
-                              "init_loop_term": { "qed": { "total": 2,
-                                                           "valid": 2 },
-                                                  "wp:main": { "total": 2,
-                                                               "valid": 2 } },
-                              "init_assign": { "alt-ergo": { "total": 1,
+                              "init_loop_invariant_2": { "alt-ergo": 
+                                                           { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 11 },
-                                               "qed": { "total": 2,
-                                                        "valid": 2 },
-                                               "wp:main": { "total": 3,
-                                                            "valid": 3,
-                                                            "rank": 11 } },
-                              "init_loop_assign": { "qed": { "total": 2,
-                                                             "valid": 2 },
-                                                    "wp:main": { "total": 2,
-                                                                 "valid": 2 } },
-                              "init_post_2": { "alt-ergo": { "total": 1,
+                                                             "rank": 9 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 9 } },
+                              "init_loop_invariant": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 4 },
+                                                       "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 4 } },
+                              "init_loop_variant": { "qed": { "total": 2,
+                                                              "valid": 2 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2 } },
+                              "init_assigns": { "alt-ergo": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 12 },
+                                                "qed": { "total": 2,
+                                                         "valid": 2 },
+                                                "wp:main": { "total": 3,
+                                                             "valid": 3,
+                                                             "rank": 12 } },
+                              "init_loop_assigns": { "qed": { "total": 2,
+                                                              "valid": 2 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2 } },
+                              "init_ensures_2": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 8 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 8 } },
+                              "init_ensures": { "alt-ergo": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 18 },
+                                                "wp:main": { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 7 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 7 } },
-                              "init_post": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 18 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1,
-                                                          "rank": 18 } },
+                                                             "rank": 18 } },
                               "wp:section": { "alt-ergo": { "total": 8,
                                                             "valid": 8,
                                                             "rank": 31 },
@@ -249,9 +254,10 @@
                                               "wp:main": { "total": 18,
                                                            "valid": 18,
                                                            "rank": 31 } } },
-                    "add": { "specialization_hash_pre_at_add_stmt_42": 
-                               { "qed": { "total": 1, "valid": 1 },
-                                 "wp:main": { "total": 1, "valid": 1 } },
+                    "add": { "hash_requires_2": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                              "add_disjoint_full_nominal": { "alt-ergo": 
                                                               { "total": 1,
                                                                 "valid": 1,
@@ -376,66 +382,66 @@
                                                                { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 16 } },
-                             "add_nominal_assign": { "alt-ergo": { "total": 2,
-                                                                   "valid": 2,
-                                                                   "rank": 21 },
-                                                     "qed": { "total": 8,
-                                                              "valid": 8 },
-                                                     "wp:main": { "total": 10,
-                                                                  "valid": 10,
-                                                                  "rank": 21 } },
-                             "add_full_assign": { "alt-ergo": { "total": 3,
-                                                                "valid": 3,
-                                                                "rank": 19 },
-                                                  "qed": { "total": 7,
-                                                           "valid": 7 },
-                                                  "wp:main": { "total": 10,
-                                                               "valid": 10,
-                                                               "rank": 19 } },
-                             "add_assign": { "alt-ergo": { "total": 2,
-                                                           "valid": 2,
-                                                           "rank": 20 },
-                                             "qed": { "total": 8,
-                                                      "valid": 8 },
-                                             "wp:main": { "total": 10,
-                                                          "valid": 10,
-                                                          "rank": 20 } },
-                             "add_full_post": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 16 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 16 } },
-                             "add_nominal_post_5": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 45 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 45 } },
-                             "add_nominal_post_4": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 23 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 23 } },
-                             "add_nominal_post_3": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 32 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 32 } },
-                             "add_nominal_post_2": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 35 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 35 } },
-                             "add_nominal_post": { "alt-ergo": { "total": 1,
+                             "add_nominal_assigns": { "alt-ergo": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 21 },
+                                                      "qed": { "total": 8,
+                                                               "valid": 8 },
+                                                      "wp:main": { "total": 10,
+                                                                   "valid": 10,
+                                                                   "rank": 21 } },
+                             "add_full_assigns": { "alt-ergo": { "total": 3,
+                                                                 "valid": 3,
+                                                                 "rank": 19 },
+                                                   "qed": { "total": 7,
+                                                            "valid": 7 },
+                                                   "wp:main": { "total": 10,
+                                                                "valid": 10,
+                                                                "rank": 19 } },
+                             "add_assigns": { "alt-ergo": { "total": 2,
+                                                            "valid": 2,
+                                                            "rank": 21 },
+                                              "qed": { "total": 8,
+                                                       "valid": 8 },
+                                              "wp:main": { "total": 10,
+                                                           "valid": 10,
+                                                           "rank": 21 } },
+                             "add_full_ensures": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 16 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 16 } },
+                             "add_nominal_ensures_5": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 45 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 45 } },
+                             "add_nominal_ensures_4": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 24 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 24 } },
+                             "add_nominal_ensures_3": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 33 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 33 } },
+                             "add_nominal_ensures_2": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 35 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 35 } },
+                             "add_nominal_ensures": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 16 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 16 } },
                              "wp:section": { "alt-ergo": { "total": 24,
                                                            "valid": 24,
                                                            "rank": 45 },
@@ -444,20 +450,25 @@
                                              "wp:main": { "total": 54,
                                                           "valid": 54,
                                                           "rank": 45 } } },
-                    "mem_binding": { "specialization_eq_string_pre_at_mem_binding_stmt_63_2": 
-                                       { "alt-ergo": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 27 },
-                                         "wp:main": { "total": 1, "valid": 1,
-                                                      "rank": 27 } },
-                                     "specialization_eq_string_pre_at_mem_binding_stmt_63": 
-                                       { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                                     "specialization_hash_pre_at_mem_binding_stmt_55": 
-                                       { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
+                    "mem_binding": { "eq_string_requires_4": { "alt-ergo": 
+                                                                 { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 28 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 28 } },
+                                     "eq_string_requires_3": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
+                                     "hash_requires_3": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
                                      "mem_binding_disjoint_not_found_found": 
                                        { "alt-ergo": { "total": 1,
                                                        "valid": 1,
@@ -540,56 +551,51 @@
                                                        "rank": 18 },
                                          "wp:main": { "total": 1, "valid": 1,
                                                       "rank": 18 } },
-                                     "mem_binding_loop_inv_2": { "alt-ergo": 
-                                                                   { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 30 },
-                                                                 "qed": 
-                                                                   { "total": 1,
-                                                                    "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 2,
+                                     "mem_binding_loop_invariant_2": 
+                                       { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 31 },
+                                         "qed": { "total": 1, "valid": 1 },
+                                         "wp:main": { "total": 2, "valid": 2,
+                                                      "rank": 31 } },
+                                     "mem_binding_loop_invariant": { "alt-ergo": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
-                                                                    "rank": 30 } },
-                                     "mem_binding_loop_inv": { "alt-ergo": 
-                                                                 { "total": 2,
-                                                                   "valid": 2,
-                                                                   "rank": 16 },
-                                                               "wp:main": 
-                                                                 { "total": 2,
-                                                                   "valid": 2,
-                                                                   "rank": 16 } },
-                                     "mem_binding_loop_term": { "qed": 
-                                                                  { "total": 2,
+                                                                    "rank": 16 },
+                                                                    "wp:main": 
+                                                                    { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 16 } },
+                                     "mem_binding_loop_variant": { "qed": 
+                                                                    { "total": 2,
                                                                     "valid": 2 },
-                                                                "wp:main": 
-                                                                  { "total": 2,
+                                                                   "wp:main": 
+                                                                    { "total": 2,
                                                                     "valid": 2 } },
-                                     "mem_binding_assign": { "qed": { "total": 11,
-                                                                    "valid": 11 },
-                                                             "wp:main": 
-                                                               { "total": 11,
-                                                                 "valid": 11 } },
-                                     "mem_binding_loop_assign": { "qed": 
+                                     "mem_binding_assigns": { "qed": 
+                                                                { "total": 11,
+                                                                  "valid": 11 },
+                                                              "wp:main": 
+                                                                { "total": 11,
+                                                                  "valid": 11 } },
+                                     "mem_binding_loop_assigns": { "qed": 
                                                                     { "total": 2,
                                                                     "valid": 2 },
-                                                                  "wp:main": 
+                                                                   "wp:main": 
                                                                     { "total": 2,
                                                                     "valid": 2 } },
-                                     "mem_binding_not_found_post": { "alt-ergo": 
+                                     "mem_binding_not_found_ensures": 
+                                       { "alt-ergo": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 33 },
+                                         "wp:main": { "total": 1, "valid": 1,
+                                                      "rank": 33 } },
+                                     "mem_binding_found_ensures": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 33 },
+                                                                    "rank": 25 },
                                                                     "wp:main": 
                                                                     { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 33 } },
-                                     "mem_binding_found_post": { "alt-ergo": 
-                                                                   { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 25 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 25 } },
                                      "wp:section": { "alt-ergo": { "total": 15,
diff --git a/src/plugins/wp/tests/wp_gallery/loop-statement.c.0.report.json b/src/plugins/wp/tests/wp_gallery/loop-statement.c.0.report.json
index 9de36f06f2317a3e97249529bc9d9467c084fbcd..e5e6355b5298cca1ed29dedf64ed513b9657913a 100644
--- a/src/plugins/wp/tests/wp_gallery/loop-statement.c.0.report.json
+++ b/src/plugins/wp/tests/wp_gallery/loop-statement.c.0.report.json
@@ -13,47 +13,49 @@
                                                 "wp:main": { "total": 1,
                                                              "valid": 1,
                                                              "rank": 31 } } } },
-  "wp:functions": { "loop_statement": { "loop_statement_loop_inv_Iloop": 
+  "wp:functions": { "loop_statement": { "loop_statement_loop_invariant_Iloop": 
                                           { "alt-ergo": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 16 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 16 } },
-                                        "loop_statement_assign": { "qed": 
+                                        "loop_statement_assigns_2": { "qed": 
                                                                     { "total": 4,
                                                                     "valid": 4 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 4,
                                                                     "valid": 4 } },
-                                        "loop_statement_stmt_assign": 
-                                          { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
-                                        "loop_statement_loop_assign": 
+                                        "loop_statement_assigns": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                        "loop_statement_loop_assigns": 
                                           { "qed": { "total": 2, "valid": 2 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2 } },
-                                        "loop_statement_stmt_post_Sbody": 
+                                        "loop_statement_ensures_Sbody": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                                        "loop_statement_stmt_pre_Scond": 
+                                        "loop_statement_requires_Scond": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                                        "loop_statement_stmt_pre_Rinv": 
+                                        "loop_statement_requires_Rinv": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 20 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 20 } },
-                                        "loop_statement_post_Sloop": 
+                                        "loop_statement_ensures_Sloop": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                                        "loop_statement_post_Scond": 
+                                        "loop_statement_ensures_Scond": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
diff --git a/src/plugins/wp/tests/wp_gallery/oracle/binary-multiplication-without-overflow.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle/binary-multiplication-without-overflow.res.oracle
index a9c881e3400da1b7777942e5a5014b0d86060399..fa069c3d5eac56e9a7219b002bab5087d57d9ab1 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle/binary-multiplication-without-overflow.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle/binary-multiplication-without-overflow.res.oracle
@@ -7,16 +7,16 @@
 [wp] Goal typed_lemma_ax2_lack : not tried
 [wp] Goal typed_lemma_sizeof_uint32_t_ok : trivial
 [wp] Goal typed_lemma_sizeof_uint64_t_ok : trivial
-[wp] Goal typed_BinaryMultiplication_post_product : not tried
+[wp] Goal typed_BinaryMultiplication_ensures_product : not tried
 [wp] Goal typed_BinaryMultiplication_assert_a1_ok_deductible : not tried
-[wp] Goal typed_BinaryMultiplication_loop_inv_inv1_lack_preserved : not tried
-[wp] Goal typed_BinaryMultiplication_loop_inv_inv1_lack_established : not tried
-[wp] Goal typed_BinaryMultiplication_loop_inv_inv2_ok_deductible_preserved : not tried
-[wp] Goal typed_BinaryMultiplication_loop_inv_inv2_ok_deductible_established : not tried
+[wp] Goal typed_BinaryMultiplication_loop_invariant_inv1_lack_preserved : not tried
+[wp] Goal typed_BinaryMultiplication_loop_invariant_inv1_lack_established : not tried
+[wp] Goal typed_BinaryMultiplication_loop_invariant_inv2_ok_deductible_pr___ : not tried
+[wp] Goal typed_BinaryMultiplication_loop_invariant_inv2_ok_deductible_es___ : not tried
 [wp] Goal typed_BinaryMultiplication_assert_rte_unsigned_overflow : not tried
 [wp] Goal typed_BinaryMultiplication_assert_rte_unsigned_overflow_2 : not tried
 [wp] Goal typed_BinaryMultiplication_assert_rte_unsigned_overflow_3 : not tried
 [wp] Goal typed_BinaryMultiplication_assert_rte_unsigned_overflow_4 : not tried
-[wp] Goal typed_BinaryMultiplication_loop_assign : trivial
-[wp] Goal typed_BinaryMultiplication_loop_term_decrease : not tried
-[wp] Goal typed_BinaryMultiplication_loop_term_positive : not tried
+[wp] Goal typed_BinaryMultiplication_loop_assigns : trivial
+[wp] Goal typed_BinaryMultiplication_loop_variant_decrease : not tried
+[wp] Goal typed_BinaryMultiplication_loop_variant_positive : not tried
diff --git a/src/plugins/wp/tests/wp_gallery/oracle/binary-multiplication.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle/binary-multiplication.res.oracle
index 7fd3bb8ff05a49b5acc35acebb185ea38f58a533..d37e8c31f601efd5331dd29b2cd443a53cf41528 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle/binary-multiplication.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle/binary-multiplication.res.oracle
@@ -11,14 +11,14 @@
 [wp] Goal typed_lemma_ax6_ok : not tried
 [wp] Goal typed_lemma_sizeof_uint32_t_ok : trivial
 [wp] Goal typed_lemma_sizeof_uint64_t_ok : trivial
-[wp] Goal typed_BinaryMultiplication_post_product : not tried
+[wp] Goal typed_BinaryMultiplication_ensures_product : not tried
 [wp] Goal typed_BinaryMultiplication_assert_a1_ok_deductible : not tried
-[wp] Goal typed_BinaryMultiplication_loop_inv_inv1_lack_preserved : not tried
-[wp] Goal typed_BinaryMultiplication_loop_inv_inv1_lack_established : not tried
-[wp] Goal typed_BinaryMultiplication_loop_inv_inv2_lack_preserved : not tried
-[wp] Goal typed_BinaryMultiplication_loop_inv_inv2_lack_established : not tried
+[wp] Goal typed_BinaryMultiplication_loop_invariant_inv1_lack_preserved : not tried
+[wp] Goal typed_BinaryMultiplication_loop_invariant_inv1_lack_established : not tried
+[wp] Goal typed_BinaryMultiplication_loop_invariant_inv2_lack_preserved : not tried
+[wp] Goal typed_BinaryMultiplication_loop_invariant_inv2_lack_established : not tried
 [wp] Goal typed_BinaryMultiplication_assert_a2_ok : not tried
 [wp] Goal typed_BinaryMultiplication_assert_a3_ok : not tried
-[wp] Goal typed_BinaryMultiplication_loop_assign : trivial
-[wp] Goal typed_BinaryMultiplication_loop_term_decrease : not tried
-[wp] Goal typed_BinaryMultiplication_loop_term_positive : not tried
+[wp] Goal typed_BinaryMultiplication_loop_assigns : trivial
+[wp] Goal typed_BinaryMultiplication_loop_variant_decrease : not tried
+[wp] Goal typed_BinaryMultiplication_loop_variant_positive : not tried
diff --git a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo1_solved.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo1_solved.res.oracle
index 43de8f0e4f5d0ee51d194883c2fccd4b1de93318..388a5387f67843dbacafd4aad8d4615860dbde18 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo1_solved.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo1_solved.res.oracle
@@ -3,18 +3,18 @@
 [wp] Running WP plugin...
 [wp] Loading driver 'share/wp.driver'
 [rte] annotating function exo1
-[wp] Goal typed_exo1_post : not tried
-[wp] Goal typed_exo1_post_2 : not tried
+[wp] Goal typed_exo1_ensures : not tried
+[wp] Goal typed_exo1_ensures_2 : not tried
 [wp] Goal typed_exo1_assert_rte_signed_overflow : not tried
-[wp] Goal typed_exo1_loop_inv_preserved : not tried
-[wp] Goal typed_exo1_loop_inv_established : not tried
-[wp] Goal typed_exo1_loop_inv_2_preserved : not tried
-[wp] Goal typed_exo1_loop_inv_2_established : not tried
+[wp] Goal typed_exo1_loop_invariant_preserved : not tried
+[wp] Goal typed_exo1_loop_invariant_established : not tried
+[wp] Goal typed_exo1_loop_invariant_2_preserved : not tried
+[wp] Goal typed_exo1_loop_invariant_2_established : not tried
 [wp] Goal typed_exo1_assert_rte_mem_access : not tried
 [wp] Goal typed_exo1_assert_rte_mem_access_2 : not tried
 [wp] Goal typed_exo1_assert_rte_signed_overflow_2 : not tried
 [wp] Goal typed_exo1_assert_rte_signed_overflow_3 : not tried
-[wp] Goal typed_exo1_loop_assign : trivial
-[wp] Goal typed_exo1_assign : not tried
-[wp] Goal typed_exo1_loop_term_decrease : not tried
-[wp] Goal typed_exo1_loop_term_positive : not tried
+[wp] Goal typed_exo1_loop_assigns : trivial
+[wp] Goal typed_exo1_assigns : not tried
+[wp] Goal typed_exo1_loop_variant_decrease : not tried
+[wp] Goal typed_exo1_loop_variant_positive : not tried
diff --git a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo2_solved.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo2_solved.res.oracle
index eafea03cce000bed408fac65ef413143b057a335..01cfab82cf38c1afd040a1dda9d285e2ab0317ab 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo2_solved.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo2_solved.res.oracle
@@ -3,26 +3,26 @@
 [wp] Running WP plugin...
 [wp] Loading driver 'share/wp.driver'
 [rte] annotating function max_subarray
-[wp] Goal typed_max_subarray_post : not tried
-[wp] Goal typed_max_subarray_post_2 : not tried
-[wp] Goal typed_max_subarray_loop_inv_preserved : not tried
-[wp] Goal typed_max_subarray_loop_inv_established : not tried
-[wp] Goal typed_max_subarray_loop_inv_2_preserved : not tried
-[wp] Goal typed_max_subarray_loop_inv_2_established : not tried
-[wp] Goal typed_max_subarray_loop_inv_3_preserved : not tried
-[wp] Goal typed_max_subarray_loop_inv_3_established : not tried
-[wp] Goal typed_max_subarray_loop_inv_4_preserved : not tried
-[wp] Goal typed_max_subarray_loop_inv_4_established : not tried
-[wp] Goal typed_max_subarray_loop_inv_5_preserved : not tried
-[wp] Goal typed_max_subarray_loop_inv_5_established : not tried
-[wp] Goal typed_max_subarray_loop_inv_6_preserved : not tried
-[wp] Goal typed_max_subarray_loop_inv_6_established : not tried
-[wp] Goal typed_max_subarray_loop_inv_7_preserved : not tried
-[wp] Goal typed_max_subarray_loop_inv_7_established : not tried
-[wp] Goal typed_max_subarray_loop_inv_8_preserved : not tried
-[wp] Goal typed_max_subarray_loop_inv_8_established : not tried
+[wp] Goal typed_max_subarray_ensures : not tried
+[wp] Goal typed_max_subarray_ensures_2 : not tried
+[wp] Goal typed_max_subarray_loop_invariant_preserved : not tried
+[wp] Goal typed_max_subarray_loop_invariant_established : not tried
+[wp] Goal typed_max_subarray_loop_invariant_2_preserved : not tried
+[wp] Goal typed_max_subarray_loop_invariant_2_established : not tried
+[wp] Goal typed_max_subarray_loop_invariant_3_preserved : not tried
+[wp] Goal typed_max_subarray_loop_invariant_3_established : not tried
+[wp] Goal typed_max_subarray_loop_invariant_4_preserved : not tried
+[wp] Goal typed_max_subarray_loop_invariant_4_established : not tried
+[wp] Goal typed_max_subarray_loop_invariant_5_preserved : not tried
+[wp] Goal typed_max_subarray_loop_invariant_5_established : not tried
+[wp] Goal typed_max_subarray_loop_invariant_6_preserved : not tried
+[wp] Goal typed_max_subarray_loop_invariant_6_established : not tried
+[wp] Goal typed_max_subarray_loop_invariant_7_preserved : not tried
+[wp] Goal typed_max_subarray_loop_invariant_7_established : not tried
+[wp] Goal typed_max_subarray_loop_invariant_8_preserved : not tried
+[wp] Goal typed_max_subarray_loop_invariant_8_established : not tried
 [wp] Goal typed_max_subarray_assert_rte_mem_access : not tried
-[wp] Goal typed_max_subarray_loop_assign : trivial
-[wp] Goal typed_max_subarray_assign : not tried
-[wp] Goal typed_max_subarray_loop_term_decrease : not tried
-[wp] Goal typed_max_subarray_loop_term_positive : not tried
+[wp] Goal typed_max_subarray_loop_assigns : trivial
+[wp] Goal typed_max_subarray_assigns : not tried
+[wp] Goal typed_max_subarray_loop_variant_decrease : not tried
+[wp] Goal typed_max_subarray_loop_variant_positive : not tried
diff --git a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.old.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.old.res.oracle
index 6f7ae4b7e7cc5def01cb8ec771f88e5db660f898..d0d68abc9caadab4d4002d9a8bd206d5e529a233 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.old.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.old.res.oracle
@@ -3,34 +3,34 @@
 [wp] Running WP plugin...
 [wp] Loading driver 'share/wp.driver'
 [rte] annotating function equal_elements
-[wp] Goal typed_ref_equal_elements_post : not tried
-[wp] Goal typed_ref_equal_elements_post_2 : not tried
-[wp] Goal typed_ref_equal_elements_post_3 : not tried
+[wp] Goal typed_ref_equal_elements_ensures : not tried
+[wp] Goal typed_ref_equal_elements_ensures_2 : not tried
+[wp] Goal typed_ref_equal_elements_ensures_3 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_mem_access : trivial
 [wp] Goal typed_ref_equal_elements_assert_rte_mem_access_2 : trivial
-[wp] Goal typed_ref_equal_elements_loop_inv_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_2_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_2_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_2_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_2_established : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound_2 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_signed_overflow : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_3_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_3_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_4_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_4_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_5_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_5_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_6_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_6_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_7_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_7_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_8_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_8_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_9_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_9_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_10_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_10_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_3_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_3_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_4_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_4_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_5_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_5_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_6_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_6_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_7_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_7_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_8_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_8_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_9_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_9_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_10_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_10_established : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_mem_access_3 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound_3 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound_4 : not tried
@@ -44,15 +44,15 @@
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound_6 : not tried
 [wp] Goal typed_ref_equal_elements_assert_2 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_signed_overflow_2 : not tried
-[wp] Goal typed_ref_equal_elements_loop_assign : trivial
-[wp] Goal typed_ref_equal_elements_loop_assign_2 : trivial
-[wp] Goal typed_ref_equal_elements_assign_part1 : trivial
-[wp] Goal typed_ref_equal_elements_assign_part2 : not tried
-[wp] Goal typed_ref_equal_elements_assign_part3 : not tried
-[wp] Goal typed_ref_equal_elements_loop_term_decrease : not tried
-[wp] Goal typed_ref_equal_elements_loop_term_positive : not tried
-[wp] Goal typed_ref_equal_elements_loop_term_2_decrease : not tried
-[wp] Goal typed_ref_equal_elements_loop_term_2_positive : not tried
+[wp] Goal typed_ref_equal_elements_loop_assigns : trivial
+[wp] Goal typed_ref_equal_elements_loop_assigns_2 : trivial
+[wp] Goal typed_ref_equal_elements_assigns_part1 : trivial
+[wp] Goal typed_ref_equal_elements_assigns_part2 : not tried
+[wp] Goal typed_ref_equal_elements_assigns_part3 : not tried
+[wp] Goal typed_ref_equal_elements_loop_variant_decrease : not tried
+[wp] Goal typed_ref_equal_elements_loop_variant_positive : not tried
+[wp] Goal typed_ref_equal_elements_loop_variant_2_decrease : not tried
+[wp] Goal typed_ref_equal_elements_loop_variant_2_positive : not tried
 [wp] Warning: Memory model hypotheses for function 'equal_elements':
   /*@
      behavior typed_ref:
diff --git a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.old.v2.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.old.v2.res.oracle
index cb8edd308b62fcdf4334ea512d87749bc39e176f..8b40acb3f436b766feb9fef4bb8d7b960945d098 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.old.v2.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.old.v2.res.oracle
@@ -3,37 +3,37 @@
 [wp] Running WP plugin...
 [wp] Loading driver 'share/wp.driver'
 [rte] annotating function equal_elements
-[wp] Goal typed_ref_equal_elements_post_v1_good : not tried
-[wp] Goal typed_ref_equal_elements_post_v2_good : not tried
-[wp] Goal typed_ref_equal_elements_post_v1_v2_diff : not tried
+[wp] Goal typed_ref_equal_elements_ensures_v1_good : not tried
+[wp] Goal typed_ref_equal_elements_ensures_v2_good : not tried
+[wp] Goal typed_ref_equal_elements_ensures_v1_v2_diff : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_mem_access : trivial
 [wp] Goal typed_ref_equal_elements_assert_rte_mem_access_2 : trivial
-[wp] Goal typed_ref_equal_elements_loop_inv_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_set_at_0_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_set_at_0_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_set_at_0_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_set_at_0_established : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound_2 : not tried
 [wp] Goal typed_ref_equal_elements_assert_set_at_1 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_signed_overflow : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_bound_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_bound_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_seen_sound1_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_seen_sound1_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_seen_sound2_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_seen_sound2_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v1_first_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v1_first_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v1_sound1_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v1_sound1_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v1_sound2_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v1_sound2_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v1_v2_diff_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v1_v2_diff_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v2_sound1_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v2_sound1_established : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v2_sound2_preserved : not tried
-[wp] Goal typed_ref_equal_elements_loop_inv_v2_sound2_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_bound_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_bound_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_seen_sound1_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_seen_sound1_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_seen_sound2_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_seen_sound2_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v1_first_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v1_first_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v1_sound1_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v1_sound1_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v1_sound2_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v1_sound2_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v1_v2_diff_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v1_v2_diff_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v2_sound1_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v2_sound1_established : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v2_sound2_preserved : not tried
+[wp] Goal typed_ref_equal_elements_loop_invariant_v2_sound2_established : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_mem_access_3 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound_3 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound_4 : not tried
@@ -45,15 +45,15 @@
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound_5 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_index_bound_6 : not tried
 [wp] Goal typed_ref_equal_elements_assert_rte_signed_overflow_2 : not tried
-[wp] Goal typed_ref_equal_elements_loop_assign : trivial
-[wp] Goal typed_ref_equal_elements_loop_assign_2 : trivial
-[wp] Goal typed_ref_equal_elements_assign_part1 : trivial
-[wp] Goal typed_ref_equal_elements_assign_part2 : not tried
-[wp] Goal typed_ref_equal_elements_assign_part3 : not tried
-[wp] Goal typed_ref_equal_elements_loop_term_decrease : not tried
-[wp] Goal typed_ref_equal_elements_loop_term_positive : not tried
-[wp] Goal typed_ref_equal_elements_loop_term_2_decrease : not tried
-[wp] Goal typed_ref_equal_elements_loop_term_2_positive : not tried
+[wp] Goal typed_ref_equal_elements_loop_assigns : trivial
+[wp] Goal typed_ref_equal_elements_loop_assigns_2 : trivial
+[wp] Goal typed_ref_equal_elements_assigns_part1 : trivial
+[wp] Goal typed_ref_equal_elements_assigns_part2 : not tried
+[wp] Goal typed_ref_equal_elements_assigns_part3 : not tried
+[wp] Goal typed_ref_equal_elements_loop_variant_decrease : not tried
+[wp] Goal typed_ref_equal_elements_loop_variant_positive : not tried
+[wp] Goal typed_ref_equal_elements_loop_variant_2_decrease : not tried
+[wp] Goal typed_ref_equal_elements_loop_variant_2_positive : not tried
 [wp] Warning: Memory model hypotheses for function 'equal_elements':
   /*@
      behavior typed_ref:
diff --git a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.simplified.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.simplified.res.oracle
index c580a3411d9bb5e4717da9ec3f938b4b2c9798f0..d19091020e7771f01268a28a7d9a158e21d88c20 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.simplified.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_exo3_solved.simplified.res.oracle
@@ -5,36 +5,36 @@
 [rte] annotating function pair
 [wp] Goal typed_pair_complete_has_pair_no_pair : trivial
 [wp] Goal typed_pair_disjoint_has_pair_no_pair : trivial
-[wp] Goal typed_pair_loop_inv_preserved : not tried
-[wp] Goal typed_pair_loop_inv_established : not tried
-[wp] Goal typed_pair_loop_inv_2_preserved : not tried
-[wp] Goal typed_pair_loop_inv_2_established : not tried
+[wp] Goal typed_pair_loop_invariant_preserved : not tried
+[wp] Goal typed_pair_loop_invariant_established : not tried
+[wp] Goal typed_pair_loop_invariant_2_preserved : not tried
+[wp] Goal typed_pair_loop_invariant_2_established : not tried
 [wp] Goal typed_pair_assert_rte_index_bound : not tried
 [wp] Goal typed_pair_assert_rte_index_bound_2 : not tried
 [wp] Goal typed_pair_assert_rte_signed_overflow : not tried
-[wp] Goal typed_pair_loop_inv_3_preserved : not tried
-[wp] Goal typed_pair_loop_inv_3_established : not tried
-[wp] Goal typed_pair_loop_inv_4_preserved : not tried
-[wp] Goal typed_pair_loop_inv_4_established : not tried
-[wp] Goal typed_pair_loop_inv_5_preserved : not tried
-[wp] Goal typed_pair_loop_inv_5_established : not tried
-[wp] Goal typed_pair_loop_inv_6_preserved : not tried
-[wp] Goal typed_pair_loop_inv_6_established : not tried
+[wp] Goal typed_pair_loop_invariant_3_preserved : not tried
+[wp] Goal typed_pair_loop_invariant_3_established : not tried
+[wp] Goal typed_pair_loop_invariant_4_preserved : not tried
+[wp] Goal typed_pair_loop_invariant_4_established : not tried
+[wp] Goal typed_pair_loop_invariant_5_preserved : not tried
+[wp] Goal typed_pair_loop_invariant_5_established : not tried
+[wp] Goal typed_pair_loop_invariant_6_preserved : not tried
+[wp] Goal typed_pair_loop_invariant_6_established : not tried
 [wp] Goal typed_pair_assert_rte_mem_access : not tried
 [wp] Goal typed_pair_assert_rte_index_bound_3 : not tried
 [wp] Goal typed_pair_assert_rte_index_bound_4 : not tried
 [wp] Goal typed_pair_assert_rte_index_bound_5 : not tried
 [wp] Goal typed_pair_assert_rte_index_bound_6 : not tried
 [wp] Goal typed_pair_assert_rte_signed_overflow_2 : not tried
-[wp] Goal typed_pair_loop_assign : trivial
-[wp] Goal typed_pair_loop_assign_2 : trivial
-[wp] Goal typed_pair_assign_part1 : not tried
-[wp] Goal typed_pair_assign_part2 : not tried
-[wp] Goal typed_pair_assign_part3 : not tried
-[wp] Goal typed_pair_assign_part4 : not tried
-[wp] Goal typed_pair_loop_term_decrease : not tried
-[wp] Goal typed_pair_loop_term_positive : not tried
-[wp] Goal typed_pair_loop_term_2_decrease : not tried
-[wp] Goal typed_pair_loop_term_2_positive : not tried
-[wp] Goal typed_pair_has_pair_post : not tried
-[wp] Goal typed_pair_no_pair_post : not tried
+[wp] Goal typed_pair_loop_assigns : trivial
+[wp] Goal typed_pair_loop_assigns_2 : trivial
+[wp] Goal typed_pair_assigns_part1 : not tried
+[wp] Goal typed_pair_assigns_part2 : not tried
+[wp] Goal typed_pair_assigns_part3 : not tried
+[wp] Goal typed_pair_assigns_part4 : not tried
+[wp] Goal typed_pair_loop_variant_decrease : not tried
+[wp] Goal typed_pair_loop_variant_positive : not tried
+[wp] Goal typed_pair_loop_variant_2_decrease : not tried
+[wp] Goal typed_pair_loop_variant_2_positive : not tried
+[wp] Goal typed_pair_has_pair_ensures : not tried
+[wp] Goal typed_pair_no_pair_ensures : not tried
diff --git a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_hashtbl_solved.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_hashtbl_solved.res.oracle
index 858d5fb5abcd6833d1bd5df3a470b6fd41b7b9b9..00a8df49e163c00104c97b7203e10f9e6f4accfa 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle/frama_c_hashtbl_solved.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle/frama_c_hashtbl_solved.res.oracle
@@ -26,96 +26,96 @@
 [wp] Goal typed_add_assert_rte_mem_access_6 : not tried
 [wp] Goal typed_add_assert_rte_mem_access_7 : not tried
 [wp] Goal typed_add_assert_rte_signed_overflow_2 : not tried
-[wp] Goal typed_add_assign_exit : trivial
-[wp] Goal typed_add_assign_normal_part1 : trivial
-[wp] Goal typed_add_assign_normal_part2 : not tried
-[wp] Goal typed_add_assign_normal_part3 : not tried
-[wp] Goal typed_add_assign_normal_part4 : not tried
-[wp] Goal typed_add_assign_normal_part5 : not tried
-[wp] Goal typed_add_assign_normal_part6 : not tried
-[wp] Goal typed_add_assign_normal_part7 : not tried
-[wp] Goal typed_add_assign_normal_part8 : not tried
-[wp] Goal typed_add_assign_normal_part9 : not tried
-[wp] Goal typed_add_call_hash_pre : not tried
-[wp] Goal typed_add_full_post : not tried
-[wp] Goal typed_add_full_assign_exit : trivial
-[wp] Goal typed_add_full_assign_normal_part1 : trivial
-[wp] Goal typed_add_full_assign_normal_part2 : not tried
-[wp] Goal typed_add_full_assign_normal_part3 : not tried
-[wp] Goal typed_add_full_assign_normal_part4 : not tried
-[wp] Goal typed_add_full_assign_normal_part5 : not tried
-[wp] Goal typed_add_full_assign_normal_part6 : not tried
-[wp] Goal typed_add_full_assign_normal_part7 : not tried
-[wp] Goal typed_add_full_assign_normal_part8 : not tried
-[wp] Goal typed_add_full_assign_normal_part9 : not tried
-[wp] Goal typed_add_nominal_post : not tried
-[wp] Goal typed_add_nominal_post_2 : not tried
-[wp] Goal typed_add_nominal_post_3 : not tried
-[wp] Goal typed_add_nominal_post_4 : not tried
-[wp] Goal typed_add_nominal_post_5 : not tried
-[wp] Goal typed_add_nominal_assign_exit : trivial
-[wp] Goal typed_add_nominal_assign_normal_part1 : trivial
-[wp] Goal typed_add_nominal_assign_normal_part2 : not tried
-[wp] Goal typed_add_nominal_assign_normal_part3 : not tried
-[wp] Goal typed_add_nominal_assign_normal_part4 : not tried
-[wp] Goal typed_add_nominal_assign_normal_part5 : not tried
-[wp] Goal typed_add_nominal_assign_normal_part6 : not tried
-[wp] Goal typed_add_nominal_assign_normal_part7 : not tried
-[wp] Goal typed_add_nominal_assign_normal_part8 : not tried
-[wp] Goal typed_add_nominal_assign_normal_part9 : not tried
+[wp] Goal typed_add_assigns_exit : trivial
+[wp] Goal typed_add_assigns_normal_part1 : trivial
+[wp] Goal typed_add_assigns_normal_part2 : not tried
+[wp] Goal typed_add_assigns_normal_part3 : not tried
+[wp] Goal typed_add_assigns_normal_part4 : not tried
+[wp] Goal typed_add_assigns_normal_part5 : not tried
+[wp] Goal typed_add_assigns_normal_part6 : not tried
+[wp] Goal typed_add_assigns_normal_part7 : not tried
+[wp] Goal typed_add_assigns_normal_part8 : not tried
+[wp] Goal typed_add_assigns_normal_part9 : not tried
+[wp] Goal typed_add_call_hash_requires : not tried
+[wp] Goal typed_add_full_ensures : not tried
+[wp] Goal typed_add_full_assigns_exit : trivial
+[wp] Goal typed_add_full_assigns_normal_part1 : trivial
+[wp] Goal typed_add_full_assigns_normal_part2 : not tried
+[wp] Goal typed_add_full_assigns_normal_part3 : not tried
+[wp] Goal typed_add_full_assigns_normal_part4 : not tried
+[wp] Goal typed_add_full_assigns_normal_part5 : not tried
+[wp] Goal typed_add_full_assigns_normal_part6 : not tried
+[wp] Goal typed_add_full_assigns_normal_part7 : not tried
+[wp] Goal typed_add_full_assigns_normal_part8 : not tried
+[wp] Goal typed_add_full_assigns_normal_part9 : not tried
+[wp] Goal typed_add_nominal_ensures : not tried
+[wp] Goal typed_add_nominal_ensures_2 : not tried
+[wp] Goal typed_add_nominal_ensures_3 : not tried
+[wp] Goal typed_add_nominal_ensures_4 : not tried
+[wp] Goal typed_add_nominal_ensures_5 : not tried
+[wp] Goal typed_add_nominal_assigns_exit : trivial
+[wp] Goal typed_add_nominal_assigns_normal_part1 : trivial
+[wp] Goal typed_add_nominal_assigns_normal_part2 : not tried
+[wp] Goal typed_add_nominal_assigns_normal_part3 : not tried
+[wp] Goal typed_add_nominal_assigns_normal_part4 : not tried
+[wp] Goal typed_add_nominal_assigns_normal_part5 : not tried
+[wp] Goal typed_add_nominal_assigns_normal_part6 : not tried
+[wp] Goal typed_add_nominal_assigns_normal_part7 : not tried
+[wp] Goal typed_add_nominal_assigns_normal_part8 : not tried
+[wp] Goal typed_add_nominal_assigns_normal_part9 : not tried
 [wp] Goal typed_eq_string_complete_not_eq_eq : trivial
 [wp] Goal typed_eq_string_disjoint_not_eq_eq : trivial
-[wp] Goal typed_eq_string_loop_inv_preserved : not tried
-[wp] Goal typed_eq_string_loop_inv_established : not tried
-[wp] Goal typed_eq_string_loop_inv_2_preserved : not tried
-[wp] Goal typed_eq_string_loop_inv_2_established : not tried
+[wp] Goal typed_eq_string_loop_invariant_preserved : not tried
+[wp] Goal typed_eq_string_loop_invariant_established : not tried
+[wp] Goal typed_eq_string_loop_invariant_2_preserved : not tried
+[wp] Goal typed_eq_string_loop_invariant_2_established : not tried
 [wp] Goal typed_eq_string_assert_rte_mem_access : not tried
 [wp] Goal typed_eq_string_assert_rte_mem_access_2 : not tried
 [wp] Goal typed_eq_string_assert_rte_signed_overflow : not tried
-[wp] Goal typed_eq_string_loop_assign : trivial
-[wp] Goal typed_eq_string_assign_part1 : not tried
-[wp] Goal typed_eq_string_assign_part2 : not tried
-[wp] Goal typed_eq_string_assign_part3 : not tried
-[wp] Goal typed_eq_string_assign_part4 : not tried
-[wp] Goal typed_eq_string_loop_term_decrease : not tried
-[wp] Goal typed_eq_string_loop_term_positive : not tried
-[wp] Goal typed_eq_string_eq_post : not tried
-[wp] Goal typed_eq_string_not_eq_post : not tried
-[wp] Goal typed_hash_post_left_unproved : not tried
-[wp] Goal typed_hash_loop_inv_preserved : not tried
-[wp] Goal typed_hash_loop_inv_established : not tried
+[wp] Goal typed_eq_string_loop_assigns : trivial
+[wp] Goal typed_eq_string_assigns_part1 : not tried
+[wp] Goal typed_eq_string_assigns_part2 : not tried
+[wp] Goal typed_eq_string_assigns_part3 : not tried
+[wp] Goal typed_eq_string_assigns_part4 : not tried
+[wp] Goal typed_eq_string_loop_variant_decrease : not tried
+[wp] Goal typed_eq_string_loop_variant_positive : not tried
+[wp] Goal typed_eq_string_eq_ensures : not tried
+[wp] Goal typed_eq_string_not_eq_ensures : not tried
+[wp] Goal typed_hash_ensures_left_unproved : not tried
+[wp] Goal typed_hash_loop_invariant_preserved : not tried
+[wp] Goal typed_hash_loop_invariant_established : not tried
 [wp] Goal typed_hash_assert_rte_mem_access : not tried
 [wp] Goal typed_hash_assert_rte_mem_access_2 : not tried
 [wp] Goal typed_hash_assert_rte_signed_overflow : not tried
-[wp] Goal typed_hash_loop_assign : trivial
-[wp] Goal typed_hash_assign_part1 : not tried
-[wp] Goal typed_hash_assign_part2 : not tried
-[wp] Goal typed_hash_loop_term_decrease : not tried
-[wp] Goal typed_hash_loop_term_positive : not tried
-[wp] Goal typed_init_post : not tried
-[wp] Goal typed_init_post_2 : not tried
+[wp] Goal typed_hash_loop_assigns : trivial
+[wp] Goal typed_hash_assigns_part1 : not tried
+[wp] Goal typed_hash_assigns_part2 : not tried
+[wp] Goal typed_hash_loop_variant_decrease : not tried
+[wp] Goal typed_hash_loop_variant_positive : not tried
+[wp] Goal typed_init_ensures : not tried
+[wp] Goal typed_init_ensures_2 : not tried
 [wp] Goal typed_init_assert_rte_mem_access : not tried
-[wp] Goal typed_init_loop_inv_preserved : not tried
-[wp] Goal typed_init_loop_inv_established : not tried
-[wp] Goal typed_init_loop_inv_2_preserved : not tried
-[wp] Goal typed_init_loop_inv_2_established : not tried
+[wp] Goal typed_init_loop_invariant_preserved : not tried
+[wp] Goal typed_init_loop_invariant_established : not tried
+[wp] Goal typed_init_loop_invariant_2_preserved : not tried
+[wp] Goal typed_init_loop_invariant_2_established : not tried
 [wp] Goal typed_init_assert_rte_index_bound : not tried
 [wp] Goal typed_init_assert_rte_index_bound_2 : not tried
 [wp] Goal typed_init_assert_rte_mem_access_2 : not tried
 [wp] Goal typed_init_assert_rte_signed_overflow : not tried
-[wp] Goal typed_init_loop_assign_part1 : trivial
-[wp] Goal typed_init_loop_assign_part2 : not tried
-[wp] Goal typed_init_assign_part1 : not tried
-[wp] Goal typed_init_assign_part2 : not tried
-[wp] Goal typed_init_assign_part3 : not tried
-[wp] Goal typed_init_loop_term_decrease : not tried
-[wp] Goal typed_init_loop_term_positive : not tried
+[wp] Goal typed_init_loop_assigns_part1 : trivial
+[wp] Goal typed_init_loop_assigns_part2 : not tried
+[wp] Goal typed_init_assigns_part1 : not tried
+[wp] Goal typed_init_assigns_part2 : not tried
+[wp] Goal typed_init_assigns_part3 : not tried
+[wp] Goal typed_init_loop_variant_decrease : not tried
+[wp] Goal typed_init_loop_variant_positive : not tried
 [wp] Goal typed_mem_binding_complete_not_found_found : not tried
 [wp] Goal typed_mem_binding_disjoint_not_found_found : not tried
-[wp] Goal typed_mem_binding_loop_inv_preserved : not tried
-[wp] Goal typed_mem_binding_loop_inv_established : not tried
-[wp] Goal typed_mem_binding_loop_inv_2_preserved : not tried
-[wp] Goal typed_mem_binding_loop_inv_2_established : not tried
+[wp] Goal typed_mem_binding_loop_invariant_preserved : not tried
+[wp] Goal typed_mem_binding_loop_invariant_established : not tried
+[wp] Goal typed_mem_binding_loop_invariant_2_preserved : not tried
+[wp] Goal typed_mem_binding_loop_invariant_2_established : not tried
 [wp] Goal typed_mem_binding_assert_rte_index_bound : not tried
 [wp] Goal typed_mem_binding_assert_rte_index_bound_2 : not tried
 [wp] Goal typed_mem_binding_assert_rte_mem_access : not tried
@@ -130,26 +130,26 @@
 [wp] Goal typed_mem_binding_assert_rte_index_bound_10 : not tried
 [wp] Goal typed_mem_binding_assert_rte_mem_access_3 : not tried
 [wp] Goal typed_mem_binding_assert_rte_signed_overflow : not tried
-[wp] Goal typed_mem_binding_loop_assign_part1 : trivial
-[wp] Goal typed_mem_binding_loop_assign_part2 : not tried
-[wp] Goal typed_mem_binding_assign_exit_part1 : trivial
-[wp] Goal typed_mem_binding_assign_exit_part2 : not tried
-[wp] Goal typed_mem_binding_assign_exit_part3 : not tried
-[wp] Goal typed_mem_binding_assign_exit_part4 : not tried
-[wp] Goal typed_mem_binding_assign_normal_part1 : trivial
-[wp] Goal typed_mem_binding_assign_normal_part2 : not tried
-[wp] Goal typed_mem_binding_assign_normal_part3 : not tried
-[wp] Goal typed_mem_binding_assign_normal_part4 : not tried
-[wp] Goal typed_mem_binding_assign_normal_part5 : not tried
-[wp] Goal typed_mem_binding_assign_normal_part6 : not tried
-[wp] Goal typed_mem_binding_assign_normal_part7 : not tried
-[wp] Goal typed_mem_binding_loop_term_decrease : not tried
-[wp] Goal typed_mem_binding_loop_term_positive : not tried
-[wp] Goal typed_mem_binding_call_hash_pre : not tried
-[wp] Goal typed_mem_binding_call_eq_string_pre : not tried
-[wp] Goal typed_mem_binding_call_eq_string_pre_2 : not tried
-[wp] Goal typed_mem_binding_found_post : not tried
-[wp] Goal typed_mem_binding_not_found_post : not tried
-[wp] Goal typed_size_post : not tried
+[wp] Goal typed_mem_binding_loop_assigns_part1 : trivial
+[wp] Goal typed_mem_binding_loop_assigns_part2 : not tried
+[wp] Goal typed_mem_binding_assigns_exit_part1 : trivial
+[wp] Goal typed_mem_binding_assigns_exit_part2 : not tried
+[wp] Goal typed_mem_binding_assigns_exit_part3 : not tried
+[wp] Goal typed_mem_binding_assigns_exit_part4 : not tried
+[wp] Goal typed_mem_binding_assigns_normal_part1 : trivial
+[wp] Goal typed_mem_binding_assigns_normal_part2 : not tried
+[wp] Goal typed_mem_binding_assigns_normal_part3 : not tried
+[wp] Goal typed_mem_binding_assigns_normal_part4 : not tried
+[wp] Goal typed_mem_binding_assigns_normal_part5 : not tried
+[wp] Goal typed_mem_binding_assigns_normal_part6 : not tried
+[wp] Goal typed_mem_binding_assigns_normal_part7 : not tried
+[wp] Goal typed_mem_binding_loop_variant_decrease : not tried
+[wp] Goal typed_mem_binding_loop_variant_positive : not tried
+[wp] Goal typed_mem_binding_call_hash_requires : not tried
+[wp] Goal typed_mem_binding_call_eq_string_requires : not tried
+[wp] Goal typed_mem_binding_call_eq_string_requires_2 : not tried
+[wp] Goal typed_mem_binding_found_ensures : not tried
+[wp] Goal typed_mem_binding_not_found_ensures : not tried
+[wp] Goal typed_size_ensures : not tried
 [wp] Goal typed_size_assert_rte_mem_access : not tried
-[wp] Goal typed_size_assign : not tried
+[wp] Goal typed_size_assigns : not tried
diff --git a/src/plugins/wp/tests/wp_gallery/oracle/loop-statement.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle/loop-statement.res.oracle
index 5b5e59d368048c9ece0eede0c84e73dfe835037a..52b5a0ec02f3a5baff3c2969562156e94d7035b8 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle/loop-statement.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle/loop-statement.res.oracle
@@ -4,17 +4,17 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] Goal typed_lemma_Lb : not tried
-[wp] Goal typed_loop_statement_post_Scond : not tried
-[wp] Goal typed_loop_statement_post_Sloop : not tried
-[wp] Goal typed_loop_statement_loop_inv_Iloop_preserved : not tried
-[wp] Goal typed_loop_statement_loop_inv_Iloop_established : not tried
-[wp] Goal typed_loop_statement_loop_assign_part1 : trivial
-[wp] Goal typed_loop_statement_loop_assign_part2 : not tried
-[wp] Goal typed_loop_statement_assign_exit_part1 : trivial
-[wp] Goal typed_loop_statement_assign_exit_part2 : not tried
-[wp] Goal typed_loop_statement_assign_normal_part1 : trivial
-[wp] Goal typed_loop_statement_assign_normal_part2 : not tried
-[wp] Goal typed_loop_statement_stmt_pre_Rinv : not tried
-[wp] Goal typed_loop_statement_stmt_pre_Scond : not tried
-[wp] Goal typed_loop_statement_stmt_post_Sbody : not tried
-[wp] Goal typed_loop_statement_stmt_assign : trivial
+[wp] Goal typed_loop_statement_ensures_Scond : not tried
+[wp] Goal typed_loop_statement_ensures_Sloop : not tried
+[wp] Goal typed_loop_statement_loop_invariant_Iloop_preserved : not tried
+[wp] Goal typed_loop_statement_loop_invariant_Iloop_established : not tried
+[wp] Goal typed_loop_statement_loop_assigns_part1 : trivial
+[wp] Goal typed_loop_statement_loop_assigns_part2 : not tried
+[wp] Goal typed_loop_statement_assigns_2_exit_part1 : trivial
+[wp] Goal typed_loop_statement_assigns_2_exit_part2 : not tried
+[wp] Goal typed_loop_statement_assigns_2_normal_part1 : trivial
+[wp] Goal typed_loop_statement_assigns_2_normal_part2 : not tried
+[wp] Goal typed_loop_statement_requires_Rinv : not tried
+[wp] Goal typed_loop_statement_requires_Scond : not tried
+[wp] Goal typed_loop_statement_ensures_Sbody : not tried
+[wp] Goal typed_loop_statement_assigns : trivial
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.res.oracle
index 90daf4367f29931b21f53b977b681d9b4bf0fa37..e97a4c8e0b7c9c935c5646f062a6441aea32a237 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication-without-overflow.res.oracle
@@ -6,13 +6,13 @@
 [wp] 9 goals scheduled
 [wp] [Qed] Goal typed_lemma_sizeof_uint32_t_ok : Valid
 [wp] [Qed] Goal typed_lemma_sizeof_uint64_t_ok : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_post_product : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_ensures_product : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_a1_ok_deductible : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_inv_inv2_ok_deductible_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_inv_inv2_ok_deductible_established : Valid
-[wp] [Qed] Goal typed_BinaryMultiplication_loop_assign : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_term_decrease : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_term_positive : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_invariant_inv2_ok_deductible_pr___ : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_invariant_inv2_ok_deductible_es___ : Valid
+[wp] [Qed] Goal typed_BinaryMultiplication_loop_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_variant_decrease : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_variant_positive : Valid
 [wp] Proved goals:    9 / 9
   Qed:             3 
   Alt-Ergo:        6
@@ -29,17 +29,17 @@ BinaryMultiplication   1    6 (56..80)       7       100%
 [wp] 13 goals scheduled
 [wp] [Qed] Goal typed_lemma_sizeof_uint32_t_ok : Valid
 [wp] [Qed] Goal typed_lemma_sizeof_uint64_t_ok : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_post_product : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_ensures_product : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_a1_ok_deductible : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_inv_inv2_ok_deductible_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_inv_inv2_ok_deductible_established : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_invariant_inv2_ok_deductible_pr___ : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_invariant_inv2_ok_deductible_es___ : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_rte_unsigned_overflow : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_rte_unsigned_overflow_2 : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_rte_unsigned_overflow_3 : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_rte_unsigned_overflow_4 : Valid
-[wp] [Qed] Goal typed_BinaryMultiplication_loop_assign : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_term_decrease : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_term_positive : Valid
+[wp] [Qed] Goal typed_BinaryMultiplication_loop_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_variant_decrease : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_variant_positive : Valid
 [wp] Proved goals:   10 / 13
   Qed:             0 
   Alt-Ergo:       10
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.res.oracle
index eece2d7e9c0f602a2df9c25328eebbd3a0cd4b01..4ed3a30466c56941d1f80920b99c2a74bf8b43bd 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/binary-multiplication.res.oracle
@@ -8,13 +8,13 @@
 [wp] [Alt-Ergo] Goal typed_lemma_ax6_ok : Valid
 [wp] [Qed] Goal typed_lemma_sizeof_uint32_t_ok : Valid
 [wp] [Qed] Goal typed_lemma_sizeof_uint64_t_ok : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_post_product : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_ensures_product : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_a1_ok_deductible : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_a2_ok : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_a3_ok : Valid
-[wp] [Qed] Goal typed_BinaryMultiplication_loop_assign : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_term_decrease : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_term_positive : Valid
+[wp] [Qed] Goal typed_BinaryMultiplication_loop_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_variant_decrease : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_variant_positive : Valid
 [wp] Proved goals:   11 / 11
   Qed:             3 
   Alt-Ergo:        8
@@ -33,13 +33,13 @@ BinaryMultiplication   1    6 (208..256)     7       100%
 [wp] [Alt-Ergo] Goal typed_lemma_ax6_ok : Valid
 [wp] [Qed] Goal typed_lemma_sizeof_uint32_t_ok : Valid
 [wp] [Qed] Goal typed_lemma_sizeof_uint64_t_ok : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_post_product : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_ensures_product : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_a1_ok_deductible : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_a2_ok : Valid
 [wp] [Alt-Ergo] Goal typed_BinaryMultiplication_assert_a3_ok : Valid
-[wp] [Qed] Goal typed_BinaryMultiplication_loop_assign : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_term_decrease : Valid
-[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_term_positive : Valid
+[wp] [Qed] Goal typed_BinaryMultiplication_loop_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_variant_decrease : Valid
+[wp] [Alt-Ergo] Goal typed_BinaryMultiplication_loop_variant_positive : Valid
 [wp] Proved goals:    8 / 11
   Qed:             0 
   Alt-Ergo:        8
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.res.oracle
index 18a6191913b029b426e431a9887fffd983c768cb..5e0cf666ea5112397c7c933b2773f72ddbe8fb96 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo1_solved.res.oracle
@@ -4,16 +4,16 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 10 goals scheduled
-[wp] [Alt-Ergo] Goal typed_exo1_post : Valid
-[wp] [Alt-Ergo] Goal typed_exo1_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_exo1_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_exo1_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_exo1_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_exo1_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_exo1_loop_assign : Valid
-[wp] [Qed] Goal typed_exo1_assign : Valid
-[wp] [Qed] Goal typed_exo1_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_exo1_loop_term_positive : Valid
+[wp] [Alt-Ergo] Goal typed_exo1_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_exo1_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_exo1_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_exo1_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_exo1_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_exo1_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_exo1_loop_assigns : Valid
+[wp] [Qed] Goal typed_exo1_assigns : Valid
+[wp] [Qed] Goal typed_exo1_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_exo1_loop_variant_positive : Valid
 [wp] Proved goals:   10 / 10
   Qed:             6 
   Alt-Ergo:        4
@@ -25,21 +25,21 @@ exo1                 6      4 (176..200)    10       100%
 [wp] Running WP plugin...
 [rte] annotating function exo1
 [wp] 15 goals scheduled
-[wp] [Alt-Ergo] Goal typed_exo1_post : Valid
-[wp] [Alt-Ergo] Goal typed_exo1_post_2 : Valid
+[wp] [Alt-Ergo] Goal typed_exo1_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_exo1_ensures_2 : Valid
 [wp] [Alt-Ergo] Goal typed_exo1_assert_rte_signed_overflow : Valid
-[wp] [Alt-Ergo] Goal typed_exo1_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_exo1_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_exo1_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_exo1_loop_inv_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_exo1_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_exo1_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_exo1_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_exo1_loop_invariant_2_established : Valid
 [wp] [Alt-Ergo] Goal typed_exo1_assert_rte_mem_access : Valid
 [wp] [Alt-Ergo] Goal typed_exo1_assert_rte_mem_access_2 : Valid
 [wp] [Alt-Ergo] Goal typed_exo1_assert_rte_signed_overflow_2 : Valid
 [wp] [Alt-Ergo] Goal typed_exo1_assert_rte_signed_overflow_3 : Valid
-[wp] [Qed] Goal typed_exo1_loop_assign : Valid
-[wp] [Qed] Goal typed_exo1_assign : Valid
-[wp] [Qed] Goal typed_exo1_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_exo1_loop_term_positive : Valid
+[wp] [Qed] Goal typed_exo1_loop_assigns : Valid
+[wp] [Qed] Goal typed_exo1_assigns : Valid
+[wp] [Qed] Goal typed_exo1_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_exo1_loop_variant_positive : Valid
 [wp] Proved goals:    9 / 15
   Qed:             0 
   Alt-Ergo:        9
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.res.oracle
index 41e2e2c8dbcf9809137d9471457e976477730fa3..4d9cdc8735a25af03cc146ae952229b3582f1337 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo2_solved.res.oracle
@@ -4,28 +4,28 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 22 goals scheduled
-[wp] [Alt-Ergo] Goal typed_max_subarray_post : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_2_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_3_preserved : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_3_established : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_4_preserved : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_4_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_5_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_5_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_6_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_6_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_7_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_7_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_8_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_8_established : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_assign : Valid
-[wp] [Qed] Goal typed_max_subarray_assign : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_term_positive : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_3_preserved : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_3_established : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_4_preserved : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_4_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_5_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_5_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_6_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_6_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_7_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_7_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_8_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_8_established : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_assigns : Valid
+[wp] [Qed] Goal typed_max_subarray_assigns : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_variant_positive : Valid
 [wp] Proved goals:   22 / 22
   Qed:             9 
   Alt-Ergo:       13
@@ -37,29 +37,29 @@ max_subarray         9     13 (256..304)    22       100%
 [wp] Running WP plugin...
 [rte] annotating function max_subarray
 [wp] 23 goals scheduled
-[wp] [Alt-Ergo] Goal typed_max_subarray_post : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_2_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_3_preserved : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_3_established : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_4_preserved : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_inv_4_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_5_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_5_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_6_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_6_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_7_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_7_established : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_8_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_max_subarray_loop_inv_8_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_3_preserved : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_3_established : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_4_preserved : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_invariant_4_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_5_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_5_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_6_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_6_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_7_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_7_established : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_8_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_max_subarray_loop_invariant_8_established : Valid
 [wp] [Alt-Ergo] Goal typed_max_subarray_assert_rte_mem_access : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_assign : Valid
-[wp] [Qed] Goal typed_max_subarray_assign : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_max_subarray_loop_term_positive : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_assigns : Valid
+[wp] [Qed] Goal typed_max_subarray_assigns : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_max_subarray_loop_variant_positive : Valid
 [wp] Proved goals:   14 / 23
   Qed:             0 
   Alt-Ergo:       14
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.res.oracle
index 4f585ac10bd9c239defe67670e5d4bfebc4a8efa..1ff95155e5ec31109591b89fd9b36878a684d65c 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.res.oracle
@@ -4,40 +4,40 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 34 goals scheduled
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_3 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_2_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_3_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_3_established : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_4_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_4_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_5_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_5_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_6_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_6_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_7_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_7_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_8_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_8_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_9_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_9_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_10_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_10_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_3 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_3_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_3_established : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_4_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_4_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_5_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_5_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_6_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_6_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_7_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_7_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_8_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_8_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_9_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_9_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_10_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_10_established : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_assign : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_assign_2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part1 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part3 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_positive : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_2_decrease : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_2_positive : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_assigns : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_assigns_2 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part1 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part2 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part3 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_positive : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_2_decrease : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_2_positive : Valid
 [wp] Proved goals:   34 / 34
   Qed:            18 
   Alt-Ergo:       16
@@ -57,34 +57,34 @@ equal_elements      18     16 (672..768)    34       100%
 [wp] Running WP plugin...
 [rte] annotating function equal_elements
 [wp] 50 goals scheduled
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_3 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_3 : Valid
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_mem_access : Valid
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_mem_access_2 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_2_established : Valid
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_index_bound : Valid
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_index_bound_2 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_signed_overflow : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_3_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_3_established : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_4_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_4_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_5_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_5_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_6_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_6_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_7_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_7_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_8_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_8_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_9_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_9_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_10_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_10_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_3_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_3_established : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_4_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_4_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_5_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_5_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_6_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_6_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_7_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_7_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_8_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_8_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_9_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_9_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_10_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_10_established : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_mem_access_3 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_index_bound_3 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_index_bound_4 : Valid
@@ -98,15 +98,15 @@ equal_elements      18     16 (672..768)    34       100%
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_index_bound_6 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_2 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_signed_overflow_2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_assign : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_assign_2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part1 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part3 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_positive : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_2_decrease : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_2_positive : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_assigns : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_assigns_2 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part1 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part2 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part3 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_positive : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_2_decrease : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_2_positive : Valid
 [wp] Proved goals:   32 / 50
   Qed:            11 
   Alt-Ergo:       21
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.res.oracle
index ae82b12cf62368d6acd8de25ce308e5079c54ebb..4722a5067a899df844d5de3e8cb703006ed637da 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.old.v2.res.oracle
@@ -4,41 +4,41 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 35 goals scheduled
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_v1_good : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_v2_good : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_v1_v2_diff : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_set_at_0_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_set_at_0_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_v1_good : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_v2_good : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_v1_v2_diff : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_set_at_0_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_set_at_0_established : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_set_at_1 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_bound_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_bound_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_seen_sound1_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_seen_sound1_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_seen_sound2_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_seen_sound2_established : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v1_first_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v1_first_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v1_sound1_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v1_sound1_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v1_sound2_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v1_sound2_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v1_v2_diff_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v1_v2_diff_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v2_sound1_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v2_sound1_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v2_sound2_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v2_sound2_established : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_assign : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_assign_2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part1 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part3 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_positive : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_2_decrease : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_2_positive : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_bound_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_bound_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_seen_sound1_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_seen_sound1_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_seen_sound2_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_seen_sound2_established : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v1_first_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v1_first_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v1_sound1_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v1_sound1_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v1_sound2_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v1_sound2_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v1_v2_diff_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v1_v2_diff_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v2_sound1_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v2_sound1_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v2_sound2_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v2_sound2_established : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_assigns : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_assigns_2 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part1 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part2 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part3 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_positive : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_2_decrease : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_2_positive : Valid
 [wp] Proved goals:   35 / 35
   Qed:            17 
   Alt-Ergo:       18
@@ -58,37 +58,37 @@ equal_elements      17     18 (272..320)    35       100%
 [wp] Running WP plugin...
 [rte] annotating function equal_elements
 [wp] 51 goals scheduled
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_v1_good : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_v2_good : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_post_v1_v2_diff : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_v1_good : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_v2_good : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_ensures_v1_v2_diff : Valid
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_mem_access : Valid
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_mem_access_2 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_set_at_0_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_set_at_0_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_set_at_0_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_set_at_0_established : Valid
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_index_bound : Valid
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_index_bound_2 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_set_at_1 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_signed_overflow : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_bound_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_bound_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_seen_sound1_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_seen_sound1_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_seen_sound2_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_seen_sound2_established : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v1_first_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v1_first_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v1_sound1_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v1_sound1_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v1_sound2_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v1_sound2_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v1_v2_diff_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v1_v2_diff_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v2_sound1_preserved : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_inv_v2_sound1_established : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v2_sound2_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_inv_v2_sound2_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_bound_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_bound_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_seen_sound1_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_seen_sound1_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_seen_sound2_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_seen_sound2_established : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v1_first_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v1_first_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v1_sound1_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v1_sound1_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v1_sound2_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v1_sound2_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v1_v2_diff_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v1_v2_diff_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v2_sound1_preserved : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_invariant_v2_sound1_established : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v2_sound2_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_equal_elements_loop_invariant_v2_sound2_established : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_mem_access_3 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_index_bound_3 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_index_bound_4 : Valid
@@ -100,15 +100,15 @@ equal_elements      17     18 (272..320)    35       100%
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_index_bound_5 : Valid
 [wp] [Qed] Goal typed_ref_equal_elements_assert_rte_index_bound_6 : Valid
 [wp] [Alt-Ergo] Goal typed_ref_equal_elements_assert_rte_signed_overflow_2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_assign : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_assign_2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part1 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part2 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_assign_part3 : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_positive : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_2_decrease : Valid
-[wp] [Qed] Goal typed_ref_equal_elements_loop_term_2_positive : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_assigns : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_assigns_2 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part1 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part2 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_assigns_part3 : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_positive : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_2_decrease : Valid
+[wp] [Qed] Goal typed_ref_equal_elements_loop_variant_2_positive : Valid
 [wp] Proved goals:   34 / 51
   Qed:            11 
   Alt-Ergo:       23
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.res.oracle
index eb2c20378e2742333db4d15f36ba2c14221399c3..8abf274c23d8b98c9a657d251645fee49e57786a 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_exo3_solved.simplified.res.oracle
@@ -6,30 +6,30 @@
 [wp] 26 goals scheduled
 [wp] [Qed] Goal typed_pair_complete_has_pair_no_pair : Valid
 [wp] [Qed] Goal typed_pair_disjoint_has_pair_no_pair : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_pair_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_pair_loop_inv_2_established : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_3_preserved : Valid
-[wp] [Qed] Goal typed_pair_loop_inv_3_established : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_4_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_4_established : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_5_preserved : Valid
-[wp] [Qed] Goal typed_pair_loop_inv_5_established : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_6_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_6_established : Valid
-[wp] [Qed] Goal typed_pair_loop_assign : Valid
-[wp] [Qed] Goal typed_pair_loop_assign_2 : Valid
-[wp] [Qed] Goal typed_pair_assign_part1 : Valid
-[wp] [Qed] Goal typed_pair_assign_part2 : Valid
-[wp] [Qed] Goal typed_pair_assign_part3 : Valid
-[wp] [Qed] Goal typed_pair_assign_part4 : Valid
-[wp] [Qed] Goal typed_pair_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_pair_loop_term_positive : Valid
-[wp] [Qed] Goal typed_pair_loop_term_2_decrease : Valid
-[wp] [Qed] Goal typed_pair_loop_term_2_positive : Valid
-[wp] [Alt-Ergo] Goal typed_pair_has_pair_post : Valid
-[wp] [Alt-Ergo] Goal typed_pair_no_pair_post : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_pair_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_pair_loop_invariant_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_3_preserved : Valid
+[wp] [Qed] Goal typed_pair_loop_invariant_3_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_4_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_4_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_5_preserved : Valid
+[wp] [Qed] Goal typed_pair_loop_invariant_5_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_6_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_6_established : Valid
+[wp] [Qed] Goal typed_pair_loop_assigns : Valid
+[wp] [Qed] Goal typed_pair_loop_assigns_2 : Valid
+[wp] [Qed] Goal typed_pair_assigns_part1 : Valid
+[wp] [Qed] Goal typed_pair_assigns_part2 : Valid
+[wp] [Qed] Goal typed_pair_assigns_part3 : Valid
+[wp] [Qed] Goal typed_pair_assigns_part4 : Valid
+[wp] [Qed] Goal typed_pair_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_pair_loop_variant_positive : Valid
+[wp] [Qed] Goal typed_pair_loop_variant_2_decrease : Valid
+[wp] [Qed] Goal typed_pair_loop_variant_2_positive : Valid
+[wp] [Alt-Ergo] Goal typed_pair_has_pair_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_pair_no_pair_ensures : Valid
 [wp] Proved goals:   26 / 26
   Qed:            16 
   Alt-Ergo:       10
@@ -43,39 +43,39 @@ pair                16     10 (104..128)    26       100%
 [wp] 35 goals scheduled
 [wp] [Qed] Goal typed_pair_complete_has_pair_no_pair : Valid
 [wp] [Qed] Goal typed_pair_disjoint_has_pair_no_pair : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_pair_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_pair_loop_inv_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_pair_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_pair_loop_invariant_2_established : Valid
 [wp] [Qed] Goal typed_pair_assert_rte_index_bound : Valid
 [wp] [Qed] Goal typed_pair_assert_rte_index_bound_2 : Valid
 [wp] [Alt-Ergo] Goal typed_pair_assert_rte_signed_overflow : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_3_preserved : Valid
-[wp] [Qed] Goal typed_pair_loop_inv_3_established : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_4_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_4_established : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_5_preserved : Valid
-[wp] [Qed] Goal typed_pair_loop_inv_5_established : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_6_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_pair_loop_inv_6_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_3_preserved : Valid
+[wp] [Qed] Goal typed_pair_loop_invariant_3_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_4_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_4_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_5_preserved : Valid
+[wp] [Qed] Goal typed_pair_loop_invariant_5_established : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_6_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_pair_loop_invariant_6_established : Valid
 [wp] [Alt-Ergo] Goal typed_pair_assert_rte_mem_access : Valid
 [wp] [Alt-Ergo] Goal typed_pair_assert_rte_index_bound_3 : Valid
 [wp] [Alt-Ergo] Goal typed_pair_assert_rte_index_bound_4 : Valid
 [wp] [Qed] Goal typed_pair_assert_rte_index_bound_5 : Valid
 [wp] [Qed] Goal typed_pair_assert_rte_index_bound_6 : Valid
 [wp] [Alt-Ergo] Goal typed_pair_assert_rte_signed_overflow_2 : Valid
-[wp] [Qed] Goal typed_pair_loop_assign : Valid
-[wp] [Qed] Goal typed_pair_loop_assign_2 : Valid
-[wp] [Qed] Goal typed_pair_assign_part1 : Valid
-[wp] [Qed] Goal typed_pair_assign_part2 : Valid
-[wp] [Qed] Goal typed_pair_assign_part3 : Valid
-[wp] [Qed] Goal typed_pair_assign_part4 : Valid
-[wp] [Qed] Goal typed_pair_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_pair_loop_term_positive : Valid
-[wp] [Qed] Goal typed_pair_loop_term_2_decrease : Valid
-[wp] [Qed] Goal typed_pair_loop_term_2_positive : Valid
-[wp] [Alt-Ergo] Goal typed_pair_has_pair_post : Valid
-[wp] [Alt-Ergo] Goal typed_pair_no_pair_post : Valid
+[wp] [Qed] Goal typed_pair_loop_assigns : Valid
+[wp] [Qed] Goal typed_pair_loop_assigns_2 : Valid
+[wp] [Qed] Goal typed_pair_assigns_part1 : Valid
+[wp] [Qed] Goal typed_pair_assigns_part2 : Valid
+[wp] [Qed] Goal typed_pair_assigns_part3 : Valid
+[wp] [Qed] Goal typed_pair_assigns_part4 : Valid
+[wp] [Qed] Goal typed_pair_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_pair_loop_variant_positive : Valid
+[wp] [Qed] Goal typed_pair_loop_variant_2_decrease : Valid
+[wp] [Qed] Goal typed_pair_loop_variant_2_positive : Valid
+[wp] [Alt-Ergo] Goal typed_pair_has_pair_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_pair_no_pair_ensures : Valid
 [wp] Proved goals:   19 / 35
   Qed:             4 
   Alt-Ergo:       15
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.res.oracle
index 6fecd32f1cd6c95f9a64aa720bae5c699968fbd6..10e32d116c68418a93daaafd59a6a14c5a1030c4 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/frama_c_hashtbl_solved.res.oracle
@@ -7,106 +7,106 @@
 [wp] 102 goals scheduled
 [wp] [Alt-Ergo] Goal typed_add_complete_full_nominal : Valid
 [wp] [Alt-Ergo] Goal typed_add_disjoint_full_nominal : Valid
-[wp] [Qed] Goal typed_add_assign_exit : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part5 : Valid
-[wp] [Alt-Ergo] Goal typed_add_assign_normal_part6 : Valid
-[wp] [Alt-Ergo] Goal typed_add_assign_normal_part7 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part8 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part9 : Valid
-[wp] [Qed] Goal typed_add_call_hash_pre : Valid
-[wp] [Alt-Ergo] Goal typed_add_full_post : Valid
-[wp] [Qed] Goal typed_add_full_assign_exit : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part5 : Valid
-[wp] [Alt-Ergo] Goal typed_add_full_assign_normal_part6 : Valid
-[wp] [Alt-Ergo] Goal typed_add_full_assign_normal_part7 : Valid
-[wp] [Alt-Ergo] Goal typed_add_full_assign_normal_part8 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part9 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post_3 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post_4 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post_5 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_exit : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part5 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_assign_normal_part6 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_assign_normal_part7 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part8 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part9 : Valid
+[wp] [Qed] Goal typed_add_assigns_exit : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part5 : Valid
+[wp] [Alt-Ergo] Goal typed_add_assigns_normal_part6 : Valid
+[wp] [Alt-Ergo] Goal typed_add_assigns_normal_part7 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part8 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part9 : Valid
+[wp] [Qed] Goal typed_add_call_hash_requires : Valid
+[wp] [Alt-Ergo] Goal typed_add_full_ensures : Valid
+[wp] [Qed] Goal typed_add_full_assigns_exit : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part5 : Valid
+[wp] [Alt-Ergo] Goal typed_add_full_assigns_normal_part6 : Valid
+[wp] [Alt-Ergo] Goal typed_add_full_assigns_normal_part7 : Valid
+[wp] [Alt-Ergo] Goal typed_add_full_assigns_normal_part8 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part9 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures_3 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures_4 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures_5 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_exit : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part5 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_assigns_normal_part6 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_assigns_normal_part7 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part8 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part9 : Valid
 [wp] [Qed] Goal typed_eq_string_complete_not_eq_eq : Valid
 [wp] [Qed] Goal typed_eq_string_disjoint_not_eq_eq : Valid
-[wp] [Alt-Ergo] Goal typed_eq_string_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_eq_string_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_eq_string_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_eq_string_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_eq_string_loop_assign : Valid
-[wp] [Qed] Goal typed_eq_string_assign_part1 : Valid
-[wp] [Qed] Goal typed_eq_string_assign_part2 : Valid
-[wp] [Qed] Goal typed_eq_string_assign_part3 : Valid
-[wp] [Qed] Goal typed_eq_string_assign_part4 : Valid
-[wp] [Qed] Goal typed_eq_string_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_eq_string_loop_term_positive : Valid
-[wp] [Alt-Ergo] Goal typed_eq_string_eq_post : Valid
-[wp] [Alt-Ergo] Goal typed_eq_string_not_eq_post : Valid
-[wp] [Alt-Ergo] Goal typed_hash_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_hash_loop_inv_established : Valid
-[wp] [Qed] Goal typed_hash_loop_assign : Valid
-[wp] [Qed] Goal typed_hash_assign_part1 : Valid
-[wp] [Qed] Goal typed_hash_assign_part2 : Valid
-[wp] [Qed] Goal typed_hash_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_hash_loop_term_positive : Valid
-[wp] [Alt-Ergo] Goal typed_init_post : Valid
-[wp] [Alt-Ergo] Goal typed_init_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_init_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_init_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_init_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_init_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_init_assign_part1 : Valid
-[wp] [Qed] Goal typed_init_assign_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_init_assign_part3 : Valid
-[wp] [Qed] Goal typed_init_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_init_loop_term_positive : Valid
+[wp] [Alt-Ergo] Goal typed_eq_string_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_eq_string_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_eq_string_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_eq_string_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_eq_string_loop_assigns : Valid
+[wp] [Qed] Goal typed_eq_string_assigns_part1 : Valid
+[wp] [Qed] Goal typed_eq_string_assigns_part2 : Valid
+[wp] [Qed] Goal typed_eq_string_assigns_part3 : Valid
+[wp] [Qed] Goal typed_eq_string_assigns_part4 : Valid
+[wp] [Qed] Goal typed_eq_string_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_eq_string_loop_variant_positive : Valid
+[wp] [Alt-Ergo] Goal typed_eq_string_eq_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_eq_string_not_eq_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_hash_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_hash_loop_invariant_established : Valid
+[wp] [Qed] Goal typed_hash_loop_assigns : Valid
+[wp] [Qed] Goal typed_hash_assigns_part1 : Valid
+[wp] [Qed] Goal typed_hash_assigns_part2 : Valid
+[wp] [Qed] Goal typed_hash_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_hash_loop_variant_positive : Valid
+[wp] [Alt-Ergo] Goal typed_init_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_init_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_init_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_init_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_init_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_init_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_init_assigns_part1 : Valid
+[wp] [Qed] Goal typed_init_assigns_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_init_assigns_part3 : Valid
+[wp] [Qed] Goal typed_init_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_init_loop_variant_positive : Valid
 [wp] [Alt-Ergo] Goal typed_mem_binding_complete_not_found_found : Valid
 [wp] [Alt-Ergo] Goal typed_mem_binding_disjoint_not_found_found : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_loop_inv_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_exit_part4 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part5 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part6 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part7 : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_term_positive : Valid
-[wp] [Qed] Goal typed_mem_binding_call_hash_pre : Valid
-[wp] [Qed] Goal typed_mem_binding_call_eq_string_pre : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_call_eq_string_pre_2 : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_found_post : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_not_found_post : Valid
-[wp] [Qed] Goal typed_size_post : Valid
-[wp] [Qed] Goal typed_size_assign : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_loop_invariant_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_exit_part4 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part5 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part6 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part7 : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_variant_positive : Valid
+[wp] [Qed] Goal typed_mem_binding_call_hash_requires : Valid
+[wp] [Qed] Goal typed_mem_binding_call_eq_string_requires : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_call_eq_string_requires_2 : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_found_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_not_found_ensures : Valid
+[wp] [Qed] Goal typed_size_ensures : Valid
+[wp] [Qed] Goal typed_size_assigns : Valid
 [wp] Proved goals:  102 / 102
   Qed:            69 
   Alt-Ergo:       33
@@ -145,95 +145,95 @@ mem_binding         18      8 (192..240)    26       100%
 [wp] [Alt-Ergo] Goal typed_add_assert_rte_mem_access_6 : Valid
 [wp] [Alt-Ergo] Goal typed_add_assert_rte_mem_access_7 : Valid
 [wp] [Alt-Ergo] Goal typed_add_assert_rte_signed_overflow_2 : Valid
-[wp] [Qed] Goal typed_add_assign_exit : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part5 : Valid
-[wp] [Alt-Ergo] Goal typed_add_assign_normal_part6 : Valid
-[wp] [Alt-Ergo] Goal typed_add_assign_normal_part7 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part8 : Valid
-[wp] [Qed] Goal typed_add_assign_normal_part9 : Valid
-[wp] [Qed] Goal typed_add_call_hash_pre : Valid
-[wp] [Alt-Ergo] Goal typed_add_full_post : Valid
-[wp] [Qed] Goal typed_add_full_assign_exit : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part5 : Valid
-[wp] [Alt-Ergo] Goal typed_add_full_assign_normal_part6 : Valid
-[wp] [Alt-Ergo] Goal typed_add_full_assign_normal_part7 : Valid
-[wp] [Alt-Ergo] Goal typed_add_full_assign_normal_part8 : Valid
-[wp] [Qed] Goal typed_add_full_assign_normal_part9 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post_3 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post_4 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_post_5 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_exit : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part5 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_assign_normal_part6 : Valid
-[wp] [Alt-Ergo] Goal typed_add_nominal_assign_normal_part7 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part8 : Valid
-[wp] [Qed] Goal typed_add_nominal_assign_normal_part9 : Valid
+[wp] [Qed] Goal typed_add_assigns_exit : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part5 : Valid
+[wp] [Alt-Ergo] Goal typed_add_assigns_normal_part6 : Valid
+[wp] [Alt-Ergo] Goal typed_add_assigns_normal_part7 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part8 : Valid
+[wp] [Qed] Goal typed_add_assigns_normal_part9 : Valid
+[wp] [Qed] Goal typed_add_call_hash_requires : Valid
+[wp] [Alt-Ergo] Goal typed_add_full_ensures : Valid
+[wp] [Qed] Goal typed_add_full_assigns_exit : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part5 : Valid
+[wp] [Alt-Ergo] Goal typed_add_full_assigns_normal_part6 : Valid
+[wp] [Alt-Ergo] Goal typed_add_full_assigns_normal_part7 : Valid
+[wp] [Alt-Ergo] Goal typed_add_full_assigns_normal_part8 : Valid
+[wp] [Qed] Goal typed_add_full_assigns_normal_part9 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures_3 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures_4 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_ensures_5 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_exit : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part5 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_assigns_normal_part6 : Valid
+[wp] [Alt-Ergo] Goal typed_add_nominal_assigns_normal_part7 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part8 : Valid
+[wp] [Qed] Goal typed_add_nominal_assigns_normal_part9 : Valid
 [wp] [Qed] Goal typed_eq_string_complete_not_eq_eq : Valid
 [wp] [Qed] Goal typed_eq_string_disjoint_not_eq_eq : Valid
-[wp] [Alt-Ergo] Goal typed_eq_string_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_eq_string_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_eq_string_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_eq_string_loop_inv_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_eq_string_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_eq_string_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_eq_string_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_eq_string_loop_invariant_2_established : Valid
 [wp] [Alt-Ergo] Goal typed_eq_string_assert_rte_mem_access : Valid
 [wp] [Alt-Ergo] Goal typed_eq_string_assert_rte_mem_access_2 : Valid
 [wp] [Alt-Ergo] Goal typed_eq_string_assert_rte_signed_overflow : Valid
-[wp] [Qed] Goal typed_eq_string_loop_assign : Valid
-[wp] [Qed] Goal typed_eq_string_assign_part1 : Valid
-[wp] [Qed] Goal typed_eq_string_assign_part2 : Valid
-[wp] [Qed] Goal typed_eq_string_assign_part3 : Valid
-[wp] [Qed] Goal typed_eq_string_assign_part4 : Valid
-[wp] [Qed] Goal typed_eq_string_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_eq_string_loop_term_positive : Valid
-[wp] [Alt-Ergo] Goal typed_eq_string_eq_post : Valid
-[wp] [Alt-Ergo] Goal typed_eq_string_not_eq_post : Valid
-[wp] [Alt-Ergo] Goal typed_hash_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_hash_loop_inv_established : Valid
+[wp] [Qed] Goal typed_eq_string_loop_assigns : Valid
+[wp] [Qed] Goal typed_eq_string_assigns_part1 : Valid
+[wp] [Qed] Goal typed_eq_string_assigns_part2 : Valid
+[wp] [Qed] Goal typed_eq_string_assigns_part3 : Valid
+[wp] [Qed] Goal typed_eq_string_assigns_part4 : Valid
+[wp] [Qed] Goal typed_eq_string_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_eq_string_loop_variant_positive : Valid
+[wp] [Alt-Ergo] Goal typed_eq_string_eq_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_eq_string_not_eq_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_hash_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_hash_loop_invariant_established : Valid
 [wp] [Alt-Ergo] Goal typed_hash_assert_rte_mem_access : Valid
 [wp] [Qed] Goal typed_hash_assert_rte_mem_access_2 : Valid
 [wp] [Alt-Ergo] Goal typed_hash_assert_rte_signed_overflow : Valid
-[wp] [Qed] Goal typed_hash_loop_assign : Valid
-[wp] [Qed] Goal typed_hash_assign_part1 : Valid
-[wp] [Qed] Goal typed_hash_assign_part2 : Valid
-[wp] [Qed] Goal typed_hash_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_hash_loop_term_positive : Valid
-[wp] [Alt-Ergo] Goal typed_init_post : Valid
-[wp] [Alt-Ergo] Goal typed_init_post_2 : Valid
+[wp] [Qed] Goal typed_hash_loop_assigns : Valid
+[wp] [Qed] Goal typed_hash_assigns_part1 : Valid
+[wp] [Qed] Goal typed_hash_assigns_part2 : Valid
+[wp] [Qed] Goal typed_hash_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_hash_loop_variant_positive : Valid
+[wp] [Alt-Ergo] Goal typed_init_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_init_ensures_2 : Valid
 [wp] [Alt-Ergo] Goal typed_init_assert_rte_mem_access : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_init_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_init_loop_inv_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_init_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_init_loop_invariant_2_established : Valid
 [wp] [Qed] Goal typed_init_assert_rte_index_bound : Valid
 [wp] [Qed] Goal typed_init_assert_rte_index_bound_2 : Valid
 [wp] [Alt-Ergo] Goal typed_init_assert_rte_mem_access_2 : Valid
 [wp] [Alt-Ergo] Goal typed_init_assert_rte_signed_overflow : Valid
-[wp] [Qed] Goal typed_init_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_init_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_init_assign_part1 : Valid
-[wp] [Qed] Goal typed_init_assign_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_init_assign_part3 : Valid
-[wp] [Qed] Goal typed_init_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_init_loop_term_positive : Valid
+[wp] [Qed] Goal typed_init_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_init_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_init_assigns_part1 : Valid
+[wp] [Qed] Goal typed_init_assigns_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_init_assigns_part3 : Valid
+[wp] [Qed] Goal typed_init_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_init_loop_variant_positive : Valid
 [wp] [Alt-Ergo] Goal typed_mem_binding_complete_not_found_found : Valid
 [wp] [Alt-Ergo] Goal typed_mem_binding_disjoint_not_found_found : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_loop_inv_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_inv_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_loop_invariant_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_invariant_2_established : Valid
 [wp] [Alt-Ergo] Goal typed_mem_binding_assert_rte_index_bound : Valid
 [wp] [Alt-Ergo] Goal typed_mem_binding_assert_rte_index_bound_2 : Valid
 [wp] [Alt-Ergo] Goal typed_mem_binding_assert_rte_mem_access : Valid
@@ -248,29 +248,29 @@ mem_binding         18      8 (192..240)    26       100%
 [wp] [Qed] Goal typed_mem_binding_assert_rte_index_bound_10 : Valid
 [wp] [Alt-Ergo] Goal typed_mem_binding_assert_rte_mem_access_3 : Valid
 [wp] [Alt-Ergo] Goal typed_mem_binding_assert_rte_signed_overflow : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_exit_part4 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part5 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part6 : Valid
-[wp] [Qed] Goal typed_mem_binding_assign_normal_part7 : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_mem_binding_loop_term_positive : Valid
-[wp] [Qed] Goal typed_mem_binding_call_hash_pre : Valid
-[wp] [Qed] Goal typed_mem_binding_call_eq_string_pre : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_call_eq_string_pre_2 : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_found_post : Valid
-[wp] [Alt-Ergo] Goal typed_mem_binding_not_found_post : Valid
-[wp] [Qed] Goal typed_size_post : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_exit_part4 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part5 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part6 : Valid
+[wp] [Qed] Goal typed_mem_binding_assigns_normal_part7 : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_mem_binding_loop_variant_positive : Valid
+[wp] [Qed] Goal typed_mem_binding_call_hash_requires : Valid
+[wp] [Qed] Goal typed_mem_binding_call_eq_string_requires : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_call_eq_string_requires_2 : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_found_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_mem_binding_not_found_ensures : Valid
+[wp] [Qed] Goal typed_size_ensures : Valid
 [wp] [Alt-Ergo] Goal typed_size_assert_rte_mem_access : Valid
-[wp] [Qed] Goal typed_size_assign : Valid
+[wp] [Qed] Goal typed_size_assigns : Valid
 [wp] Proved goals:   74 / 143
   Qed:            16 
   Alt-Ergo:       58
diff --git a/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.res.oracle b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.res.oracle
index 3115cf8cb4745cf898196236e88078d64baeec3a..26816b946bcc170a939be8353db3629ba7f9c343 100644
--- a/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.res.oracle
+++ b/src/plugins/wp/tests/wp_gallery/oracle_qualif/loop-statement.res.oracle
@@ -5,20 +5,20 @@
 [wp] Warning: Missing RTE guards
 [wp] 15 goals scheduled
 [wp] [Alt-Ergo] Goal typed_lemma_Lb : Valid
-[wp] [Qed] Goal typed_loop_statement_post_Scond : Valid
-[wp] [Qed] Goal typed_loop_statement_post_Sloop : Valid
-[wp] [Alt-Ergo] Goal typed_loop_statement_loop_inv_Iloop_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_loop_statement_loop_inv_Iloop_established : Valid
-[wp] [Qed] Goal typed_loop_statement_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_loop_statement_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_loop_statement_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_loop_statement_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_loop_statement_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_loop_statement_assign_normal_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_loop_statement_stmt_pre_Rinv : Valid
-[wp] [Qed] Goal typed_loop_statement_stmt_pre_Scond : Valid
-[wp] [Qed] Goal typed_loop_statement_stmt_post_Sbody : Valid
-[wp] [Qed] Goal typed_loop_statement_stmt_assign : Valid
+[wp] [Qed] Goal typed_loop_statement_ensures_Scond : Valid
+[wp] [Qed] Goal typed_loop_statement_ensures_Sloop : Valid
+[wp] [Alt-Ergo] Goal typed_loop_statement_loop_invariant_Iloop_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_loop_statement_loop_invariant_Iloop_established : Valid
+[wp] [Qed] Goal typed_loop_statement_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_loop_statement_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_loop_statement_assigns_2_exit_part1 : Valid
+[wp] [Qed] Goal typed_loop_statement_assigns_2_exit_part2 : Valid
+[wp] [Qed] Goal typed_loop_statement_assigns_2_normal_part1 : Valid
+[wp] [Qed] Goal typed_loop_statement_assigns_2_normal_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_loop_statement_requires_Rinv : Valid
+[wp] [Qed] Goal typed_loop_statement_requires_Scond : Valid
+[wp] [Qed] Goal typed_loop_statement_ensures_Sbody : Valid
+[wp] [Qed] Goal typed_loop_statement_assigns : Valid
 [wp] Proved goals:   15 / 15
   Qed:            11 
   Alt-Ergo:        4
diff --git a/src/plugins/wp/tests/wp_hoare/byref.i.0.report.json b/src/plugins/wp/tests/wp_hoare/byref.i.0.report.json
index a7a3f8fa494867151bce0d02eaf63fa6c56f223b..0cca4baa15f414abb6f4a84c6121fafdb27db598 100644
--- a/src/plugins/wp/tests/wp_hoare/byref.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/byref.i.0.report.json
@@ -1,20 +1,22 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "qed": { "total": 11, "valid": 11 },
                  "wp:main": { "total": 12, "valid": 11, "unknown": 1 } },
-  "wp:functions": { "f": { "f_assign": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "f_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+  "wp:functions": { "f": { "f_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
+                           "f_ensures": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 2, "valid": 2 },
                                            "wp:main": { "total": 2,
                                                         "valid": 2 } } },
-                    "wrong_without_ref": { "specialization_f_pre_at_wrong_without_ref_stmt_4": 
-                                             { "alt-ergo": { "total": 1,
-                                                             "unknown": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "unknown": 1 } },
-                                           "wrong_without_ref_post": 
+                    "wrong_without_ref": { "f_requires_2": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "unknown": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "unknown": 1 } },
+                                           "wrong_without_ref_ensures": 
                                              { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
@@ -28,46 +30,50 @@
                                                              { "total": 2,
                                                                "valid": 1,
                                                                "unknown": 1 } } },
-                    "pointer": { "specialization_f_pre_at_pointer_stmt_8": 
-                                   { "qed": { "total": 1, "valid": 1 },
-                                     "wp:main": { "total": 1, "valid": 1 } },
-                                 "pointer_post": { "qed": { "total": 1,
+                    "pointer": { "f_requires_3": { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } },
+                                 "pointer_ensures": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                                  "wp:section": { "qed": { "total": 2,
                                                           "valid": 2 },
                                                  "wp:main": { "total": 2,
                                                               "valid": 2 } } },
-                    "local": { "specialization_f_pre_at_local_stmt_12": 
-                                 { "qed": { "total": 1, "valid": 1 },
-                                   "wp:main": { "total": 1, "valid": 1 } },
-                               "local_post": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+                    "local": { "f_requires_4": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                               "local_ensures": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "formal": { "specialization_f_pre_at_formal_stmt_16": 
-                                  { "qed": { "total": 1, "valid": 1 },
-                                    "wp:main": { "total": 1, "valid": 1 } },
-                                "formal_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                    "formal": { "f_requires_5": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                                "formal_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                                 "wp:section": { "qed": { "total": 2,
                                                          "valid": 2 },
                                                 "wp:main": { "total": 2,
                                                              "valid": 2 } } },
-                    "global": { "specialization_f_pre_at_global_stmt_20": 
-                                  { "qed": { "total": 1, "valid": 1 },
-                                    "wp:main": { "total": 1, "valid": 1 } },
-                                "global_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                    "global": { "f_requires_6": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                                "global_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                                 "wp:section": { "qed": { "total": 2,
                                                          "valid": 2 },
                                                 "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_hoare/byref.i.1.report.json b/src/plugins/wp/tests/wp_hoare/byref.i.1.report.json
index 59457803d9be0263fd583785326743b516a5993f..273bb4f50fa752aff52947eefc477fd5e9e3583a 100644
--- a/src/plugins/wp/tests/wp_hoare/byref.i.1.report.json
+++ b/src/plugins/wp/tests/wp_hoare/byref.i.1.report.json
@@ -1,19 +1,20 @@
 { "wp:global": { "qed": { "total": 12, "valid": 12 },
                  "wp:main": { "total": 12, "valid": 12 } },
-  "wp:functions": { "f": { "f_assign": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "f_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+  "wp:functions": { "f": { "f_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
+                           "f_ensures": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 2, "valid": 2 },
                                            "wp:main": { "total": 2,
                                                         "valid": 2 } } },
-                    "wrong_without_ref": { "specialization_f_pre_at_wrong_without_ref_stmt_4": 
-                                             { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                                           "wrong_without_ref_post": 
+                    "wrong_without_ref": { "f_requires_2": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
+                                           "wrong_without_ref_ensures": 
                                              { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
@@ -23,46 +24,50 @@
                                                            "wp:main": 
                                                              { "total": 2,
                                                                "valid": 2 } } },
-                    "pointer": { "specialization_f_pre_at_pointer_stmt_8": 
-                                   { "qed": { "total": 1, "valid": 1 },
-                                     "wp:main": { "total": 1, "valid": 1 } },
-                                 "pointer_post": { "qed": { "total": 1,
+                    "pointer": { "f_requires_3": { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } },
+                                 "pointer_ensures": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                                  "wp:section": { "qed": { "total": 2,
                                                           "valid": 2 },
                                                  "wp:main": { "total": 2,
                                                               "valid": 2 } } },
-                    "local": { "specialization_f_pre_at_local_stmt_12": 
-                                 { "qed": { "total": 1, "valid": 1 },
-                                   "wp:main": { "total": 1, "valid": 1 } },
-                               "local_post": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+                    "local": { "f_requires_4": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                               "local_ensures": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "formal": { "specialization_f_pre_at_formal_stmt_16": 
-                                  { "qed": { "total": 1, "valid": 1 },
-                                    "wp:main": { "total": 1, "valid": 1 } },
-                                "formal_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                    "formal": { "f_requires_5": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                                "formal_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                                 "wp:section": { "qed": { "total": 2,
                                                          "valid": 2 },
                                                 "wp:main": { "total": 2,
                                                              "valid": 2 } } },
-                    "global": { "specialization_f_pre_at_global_stmt_20": 
-                                  { "qed": { "total": 1, "valid": 1 },
-                                    "wp:main": { "total": 1, "valid": 1 } },
-                                "global_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                    "global": { "f_requires_6": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                                "global_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                                 "wp:section": { "qed": { "total": 2,
                                                          "valid": 2 },
                                                 "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_hoare/dispatch_var.i.0.report.json b/src/plugins/wp/tests/wp_hoare/dispatch_var.i.0.report.json
index 90636e9b45b12301d8f6b619fae7dbd2db95c8bc..06e20a529b322f8b0a12162cbdeb5957c67a7ab7 100644
--- a/src/plugins/wp/tests/wp_hoare/dispatch_var.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/dispatch_var.i.0.report.json
@@ -1,95 +1,94 @@
 { "wp:global": { "qed": { "total": 78, "valid": 78 },
                  "wp:main": { "total": 78, "valid": 78 } },
-  "wp:functions": { "call_ref_ctr": { "call_ref_ctr_assign": { "qed": 
-                                                                 { "total": 3,
-                                                                   "valid": 3 },
-                                                               "wp:main": 
-                                                                 { "total": 3,
-                                                                   "valid": 3 } },
-                                      "call_ref_ctr_post_Ref_r1": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
+  "wp:functions": { "call_ref_ctr": { "call_ref_ctr_assigns": { "qed": 
+                                                                  { "total": 3,
+                                                                    "valid": 3 },
+                                                                "wp:main": 
+                                                                  { "total": 3,
+                                                                    "valid": 3 } },
+                                      "call_ref_ctr_ensures_Ref_r1": 
+                                        { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                                       "wp:section": { "qed": { "total": 4,
                                                                "valid": 4 },
                                                       "wp:main": { "total": 4,
                                                                    "valid": 4 } } },
-                    "call_ref_ctr2": { "call_ref_ctr2_assign": { "qed": 
-                                                                   { "total": 7,
+                    "call_ref_ctr2": { "call_ref_ctr2_assigns": { "qed": 
+                                                                    { "total": 7,
                                                                     "valid": 7 },
-                                                                 "wp:main": 
-                                                                   { "total": 7,
+                                                                  "wp:main": 
+                                                                    { "total": 7,
                                                                     "valid": 7 } },
-                                       "call_ref_ctr2_post_Mem_n1": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
+                                       "call_ref_ctr2_ensures_Mem_n1": 
+                                         { "qed": { "total": 1, "valid": 1 },
+                                           "wp:main": { "total": 1,
+                                                        "valid": 1 } },
                                        "wp:section": { "qed": { "total": 8,
                                                                 "valid": 8 },
                                                        "wp:main": { "total": 8,
                                                                     "valid": 8 } } },
-                    "ref_bd": { "ref_bd_assign": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                                "ref_bd_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                    "ref_bd": { "ref_bd_assigns": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                                "ref_bd_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                                 "wp:section": { "qed": { "total": 2,
                                                          "valid": 2 },
                                                 "wp:main": { "total": 2,
                                                              "valid": 2 } } },
-                    "call_ref_bd": { "call_ref_bd_assign": { "qed": { "total": 3,
-                                                                    "valid": 3 },
-                                                             "wp:main": 
-                                                               { "total": 3,
-                                                                 "valid": 3 } },
-                                     "call_ref_bd_post_Ref_r2": { "qed": 
+                    "call_ref_bd": { "call_ref_bd_assigns": { "qed": 
+                                                                { "total": 3,
+                                                                  "valid": 3 },
+                                                              "wp:main": 
+                                                                { "total": 3,
+                                                                  "valid": 3 } },
+                                     "call_ref_bd_ensures_Ref_r2": { "qed": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                  "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
                                      "wp:section": { "qed": { "total": 4,
                                                               "valid": 4 },
                                                      "wp:main": { "total": 4,
                                                                   "valid": 4 } } },
-                    "call_ref_bd2": { "call_ref_bd2_assign": { "qed": 
-                                                                 { "total": 7,
-                                                                   "valid": 7 },
-                                                               "wp:main": 
-                                                                 { "total": 7,
-                                                                   "valid": 7 } },
-                                      "call_ref_bd2_post_Mem_n2": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
+                    "call_ref_bd2": { "call_ref_bd2_assigns": { "qed": 
+                                                                  { "total": 7,
+                                                                    "valid": 7 },
+                                                                "wp:main": 
+                                                                  { "total": 7,
+                                                                    "valid": 7 } },
+                                      "call_ref_bd2_ensures_Mem_n2": 
+                                        { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                                       "wp:section": { "qed": { "total": 8,
                                                                "valid": 8 },
                                                       "wp:main": { "total": 8,
                                                                    "valid": 8 } } },
-                    "call_ref_valid": { "specialization_ref_valid_pre_at_call_ref_valid_stmt_35": 
-                                          { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
-                                        "specialization_ref_valid_pre_at_call_ref_valid_stmt_34": 
-                                          { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
-                                        "call_ref_valid_assign": { "qed": 
+                    "call_ref_valid": { "ref_valid_requires_3": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                  "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                        "ref_valid_requires_2": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                  "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                        "call_ref_valid_assigns": { "qed": 
                                                                     { "total": 8,
                                                                     "valid": 8 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 8,
                                                                     "valid": 8 } },
-                                        "call_ref_valid_post_R7_N4": 
+                                        "call_ref_valid_ensures_R7_N4": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
@@ -97,25 +96,27 @@
                                                                  "valid": 11 },
                                                         "wp:main": { "total": 11,
                                                                     "valid": 11 } } },
-                    "no_ref_bd": { "no_ref_bd_assign": { "qed": { "total": 2,
-                                                                  "valid": 2 },
-                                                         "wp:main": { "total": 2,
-                                                                    "valid": 2 } },
-                                   "no_ref_bd_post": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                    "no_ref_bd": { "no_ref_bd_assigns": { "qed": { "total": 2,
+                                                                   "valid": 2 },
+                                                          "wp:main": 
+                                                            { "total": 2,
+                                                              "valid": 2 } },
+                                   "no_ref_bd_ensures": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
                                    "wp:section": { "qed": { "total": 3,
                                                             "valid": 3 },
                                                    "wp:main": { "total": 3,
                                                                 "valid": 3 } } },
-                    "call_no_ref_bd": { "call_no_ref_bd_assign": { "qed": 
+                    "call_no_ref_bd": { "call_no_ref_bd_assigns": { "qed": 
                                                                     { "total": 8,
                                                                     "valid": 8 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 8,
                                                                     "valid": 8 } },
-                                        "call_no_ref_bd_post_Mem_n5_nr6": 
+                                        "call_no_ref_bd_ensures_Mem_n5_nr6": 
                                           { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
@@ -123,23 +124,24 @@
                                                                  "valid": 9 },
                                                         "wp:main": { "total": 9,
                                                                     "valid": 9 } } },
-                    "call_ref_ctr_nr": { "specialization_ref_ctr_nr_pre_at_call_ref_ctr_nr_stmt_57": 
-                                           { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
-                                         "call_ref_ctr_nr_assign": { "qed": 
+                    "call_ref_ctr_nr": { "ref_ctr_nr_requires_2": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                         "call_ref_ctr_nr_assigns": { "qed": 
                                                                     { "total": 7,
                                                                     "valid": 7 },
                                                                     "wp:main": 
                                                                     { "total": 7,
                                                                     "valid": 7 } },
-                                         "call_ref_ctr_nr_post_R_R_R_2": 
+                                         "call_ref_ctr_nr_ensures_R_R_R_2": 
                                            { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1 } },
-                                         "call_ref_ctr_nr_post_R_R_R": 
+                                         "call_ref_ctr_nr_ensures_R_R_R": 
                                            { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
@@ -148,12 +150,12 @@
                                                                   "valid": 10 },
                                                          "wp:main": { "total": 10,
                                                                     "valid": 10 } } },
-                    "call_ref_ctr_nstars": { "call_ref_ctr_nstars_assign": 
+                    "call_ref_ctr_nstars": { "call_ref_ctr_nstars_assigns": 
                                                { "qed": { "total": 5,
                                                           "valid": 5 },
                                                  "wp:main": { "total": 5,
                                                               "valid": 5 } },
-                                             "call_ref_ctr_nstars_post": 
+                                             "call_ref_ctr_nstars_ensures": 
                                                { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
@@ -163,35 +165,37 @@
                                                              "wp:main": 
                                                                { "total": 6,
                                                                  "valid": 6 } } },
-                    "call_two_ref": { "call_two_ref_assign": { "qed": 
-                                                                 { "total": 6,
-                                                                   "valid": 6 },
-                                                               "wp:main": 
-                                                                 { "total": 6,
-                                                                   "valid": 6 } },
-                                      "call_two_ref_post": { "qed": { "total": 1,
+                    "call_two_ref": { "call_two_ref_assigns": { "qed": 
+                                                                  { "total": 6,
+                                                                    "valid": 6 },
+                                                                "wp:main": 
+                                                                  { "total": 6,
+                                                                    "valid": 6 } },
+                                      "call_two_ref_ensures": { "qed": 
+                                                                  { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1 } },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 } },
                                       "wp:section": { "qed": { "total": 7,
                                                                "valid": 7 },
                                                       "wp:main": { "total": 7,
                                                                    "valid": 7 } } },
-                    "g": { "g_assign": { "qed": { "total": 3, "valid": 3 },
-                                         "wp:main": { "total": 3,
-                                                      "valid": 3 } },
-                           "g_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+                    "g": { "g_assigns": { "qed": { "total": 3, "valid": 3 },
+                                          "wp:main": { "total": 3,
+                                                       "valid": 3 } },
+                           "g_ensures": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 4, "valid": 4 },
                                            "wp:main": { "total": 4,
                                                         "valid": 4 } } },
-                    "array_in_struct_param": { "array_in_struct_param_assign": 
+                    "array_in_struct_param": { "array_in_struct_param_assigns": 
                                                  { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } },
-                                               "array_in_struct_param_post_Pload2": 
+                                               "array_in_struct_param_ensures_Pload2": 
                                                  { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_hoare/dispatch_var2.i.0.report.json b/src/plugins/wp/tests/wp_hoare/dispatch_var2.i.0.report.json
index 3114d267431c447b8ade2a3b9670d8382ff923d7..74c9d01ccc6945f56755a27ee40f4c7729007aa9 100644
--- a/src/plugins/wp/tests/wp_hoare/dispatch_var2.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/dispatch_var2.i.0.report.json
@@ -1,120 +1,135 @@
 { "wp:global": { "qed": { "total": 34, "valid": 34 },
                  "wp:main": { "total": 34, "valid": 34 } },
-  "wp:functions": { "reset": { "reset_assign": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                               "reset_post": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+  "wp:functions": { "reset": { "reset_assigns": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                               "reset_ensures": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "incr": { "incr_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "incr_post": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                    "incr": { "incr_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "incr_ensures": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                               "wp:section": { "qed": { "total": 2,
                                                        "valid": 2 },
                                               "wp:main": { "total": 2,
                                                            "valid": 2 } } },
-                    "load": { "load_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "load_post": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                    "load": { "load_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "load_ensures": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                               "wp:section": { "qed": { "total": 2,
                                                        "valid": 2 },
                                               "wp:main": { "total": 2,
                                                            "valid": 2 } } },
-                    "call_global": { "specialization_load_pre_at_call_global_stmt_11": 
-                                       { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                                     "specialization_reset_pre_at_call_global_stmt_10": 
-                                       { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                                     "call_global_assign": { "qed": { "total": 3,
-                                                                    "valid": 3 },
-                                                             "wp:main": 
-                                                               { "total": 3,
-                                                                 "valid": 3 } },
-                                     "call_global_post": { "qed": { "total": 1,
+                    "call_global": { "load_requires_2": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                     "reset_requires_2": { "qed": { "total": 1,
                                                                     "valid": 1 },
                                                            "wp:main": 
                                                              { "total": 1,
                                                                "valid": 1 } },
+                                     "call_global_assigns": { "qed": 
+                                                                { "total": 3,
+                                                                  "valid": 3 },
+                                                              "wp:main": 
+                                                                { "total": 3,
+                                                                  "valid": 3 } },
+                                     "call_global_ensures": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
                                      "wp:section": { "qed": { "total": 6,
                                                               "valid": 6 },
                                                      "wp:main": { "total": 6,
                                                                   "valid": 6 } } },
-                    "call_param": { "specialization_load_pre_at_call_param_stmt_15": 
-                                      { "qed": { "total": 1, "valid": 1 },
-                                        "wp:main": { "total": 1, "valid": 1 } },
-                                    "specialization_reset_pre_at_call_param_stmt_14": 
-                                      { "qed": { "total": 1, "valid": 1 },
-                                        "wp:main": { "total": 1, "valid": 1 } },
-                                    "call_param_assign": { "qed": { "total": 5,
-                                                                    "valid": 5 },
-                                                           "wp:main": 
-                                                             { "total": 5,
-                                                               "valid": 5 } },
-                                    "call_param_post": { "qed": { "total": 1,
+                    "call_param": { "load_requires_3": { "qed": { "total": 1,
                                                                   "valid": 1 },
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1 } },
+                                    "reset_requires_3": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                    "call_param_assigns": { "qed": { "total": 5,
+                                                                    "valid": 5 },
+                                                            "wp:main": 
+                                                              { "total": 5,
+                                                                "valid": 5 } },
+                                    "call_param_ensures": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
                                     "wp:section": { "qed": { "total": 8,
                                                              "valid": 8 },
                                                     "wp:main": { "total": 8,
                                                                  "valid": 8 } } },
-                    "call_local": { "specialization_load_pre_at_call_local_stmt_19": 
-                                      { "qed": { "total": 1, "valid": 1 },
-                                        "wp:main": { "total": 1, "valid": 1 } },
-                                    "specialization_reset_pre_at_call_local_stmt_18": 
-                                      { "qed": { "total": 1, "valid": 1 },
-                                        "wp:main": { "total": 1, "valid": 1 } },
-                                    "call_local_assign": { "qed": { "total": 5,
-                                                                    "valid": 5 },
-                                                           "wp:main": 
-                                                             { "total": 5,
-                                                               "valid": 5 } },
-                                    "call_local_post": { "qed": { "total": 1,
+                    "call_local": { "load_requires_4": { "qed": { "total": 1,
                                                                   "valid": 1 },
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1 } },
+                                    "reset_requires_4": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                    "call_local_assigns": { "qed": { "total": 5,
+                                                                    "valid": 5 },
+                                                            "wp:main": 
+                                                              { "total": 5,
+                                                                "valid": 5 } },
+                                    "call_local_ensures": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
                                     "wp:section": { "qed": { "total": 8,
                                                              "valid": 8 },
                                                     "wp:main": { "total": 8,
                                                                  "valid": 8 } } },
-                    "call_param_ref": { "specialization_load_pre_at_call_param_ref_stmt_23": 
-                                          { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
-                                        "specialization_reset_pre_at_call_param_ref_stmt_22": 
-                                          { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
-                                        "call_param_ref_assign": { "qed": 
+                    "call_param_ref": { "load_requires_5": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
+                                        "reset_requires_5": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
+                                        "call_param_ref_assigns": { "qed": 
                                                                     { "total": 3,
                                                                     "valid": 3 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 3,
                                                                     "valid": 3 } },
-                                        "call_param_ref_post": { "qed": 
-                                                                   { "total": 1,
+                                        "call_param_ref_ensures": { "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
+                                                                    "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1 } },
                                         "wp:section": { "qed": { "total": 6,
                                                                  "valid": 6 },
diff --git a/src/plugins/wp/tests/wp_hoare/dispatch_var2.i.1.report.json b/src/plugins/wp/tests/wp_hoare/dispatch_var2.i.1.report.json
index 3114d267431c447b8ade2a3b9670d8382ff923d7..74c9d01ccc6945f56755a27ee40f4c7729007aa9 100644
--- a/src/plugins/wp/tests/wp_hoare/dispatch_var2.i.1.report.json
+++ b/src/plugins/wp/tests/wp_hoare/dispatch_var2.i.1.report.json
@@ -1,120 +1,135 @@
 { "wp:global": { "qed": { "total": 34, "valid": 34 },
                  "wp:main": { "total": 34, "valid": 34 } },
-  "wp:functions": { "reset": { "reset_assign": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                               "reset_post": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+  "wp:functions": { "reset": { "reset_assigns": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                               "reset_ensures": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "incr": { "incr_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "incr_post": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                    "incr": { "incr_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "incr_ensures": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                               "wp:section": { "qed": { "total": 2,
                                                        "valid": 2 },
                                               "wp:main": { "total": 2,
                                                            "valid": 2 } } },
-                    "load": { "load_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "load_post": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                    "load": { "load_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "load_ensures": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                               "wp:section": { "qed": { "total": 2,
                                                        "valid": 2 },
                                               "wp:main": { "total": 2,
                                                            "valid": 2 } } },
-                    "call_global": { "specialization_load_pre_at_call_global_stmt_11": 
-                                       { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                                     "specialization_reset_pre_at_call_global_stmt_10": 
-                                       { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                                     "call_global_assign": { "qed": { "total": 3,
-                                                                    "valid": 3 },
-                                                             "wp:main": 
-                                                               { "total": 3,
-                                                                 "valid": 3 } },
-                                     "call_global_post": { "qed": { "total": 1,
+                    "call_global": { "load_requires_2": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                     "reset_requires_2": { "qed": { "total": 1,
                                                                     "valid": 1 },
                                                            "wp:main": 
                                                              { "total": 1,
                                                                "valid": 1 } },
+                                     "call_global_assigns": { "qed": 
+                                                                { "total": 3,
+                                                                  "valid": 3 },
+                                                              "wp:main": 
+                                                                { "total": 3,
+                                                                  "valid": 3 } },
+                                     "call_global_ensures": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
                                      "wp:section": { "qed": { "total": 6,
                                                               "valid": 6 },
                                                      "wp:main": { "total": 6,
                                                                   "valid": 6 } } },
-                    "call_param": { "specialization_load_pre_at_call_param_stmt_15": 
-                                      { "qed": { "total": 1, "valid": 1 },
-                                        "wp:main": { "total": 1, "valid": 1 } },
-                                    "specialization_reset_pre_at_call_param_stmt_14": 
-                                      { "qed": { "total": 1, "valid": 1 },
-                                        "wp:main": { "total": 1, "valid": 1 } },
-                                    "call_param_assign": { "qed": { "total": 5,
-                                                                    "valid": 5 },
-                                                           "wp:main": 
-                                                             { "total": 5,
-                                                               "valid": 5 } },
-                                    "call_param_post": { "qed": { "total": 1,
+                    "call_param": { "load_requires_3": { "qed": { "total": 1,
                                                                   "valid": 1 },
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1 } },
+                                    "reset_requires_3": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                    "call_param_assigns": { "qed": { "total": 5,
+                                                                    "valid": 5 },
+                                                            "wp:main": 
+                                                              { "total": 5,
+                                                                "valid": 5 } },
+                                    "call_param_ensures": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
                                     "wp:section": { "qed": { "total": 8,
                                                              "valid": 8 },
                                                     "wp:main": { "total": 8,
                                                                  "valid": 8 } } },
-                    "call_local": { "specialization_load_pre_at_call_local_stmt_19": 
-                                      { "qed": { "total": 1, "valid": 1 },
-                                        "wp:main": { "total": 1, "valid": 1 } },
-                                    "specialization_reset_pre_at_call_local_stmt_18": 
-                                      { "qed": { "total": 1, "valid": 1 },
-                                        "wp:main": { "total": 1, "valid": 1 } },
-                                    "call_local_assign": { "qed": { "total": 5,
-                                                                    "valid": 5 },
-                                                           "wp:main": 
-                                                             { "total": 5,
-                                                               "valid": 5 } },
-                                    "call_local_post": { "qed": { "total": 1,
+                    "call_local": { "load_requires_4": { "qed": { "total": 1,
                                                                   "valid": 1 },
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1 } },
+                                    "reset_requires_4": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                    "call_local_assigns": { "qed": { "total": 5,
+                                                                    "valid": 5 },
+                                                            "wp:main": 
+                                                              { "total": 5,
+                                                                "valid": 5 } },
+                                    "call_local_ensures": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
                                     "wp:section": { "qed": { "total": 8,
                                                              "valid": 8 },
                                                     "wp:main": { "total": 8,
                                                                  "valid": 8 } } },
-                    "call_param_ref": { "specialization_load_pre_at_call_param_ref_stmt_23": 
-                                          { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
-                                        "specialization_reset_pre_at_call_param_ref_stmt_22": 
-                                          { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
-                                        "call_param_ref_assign": { "qed": 
+                    "call_param_ref": { "load_requires_5": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
+                                        "reset_requires_5": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
+                                        "call_param_ref_assigns": { "qed": 
                                                                     { "total": 3,
                                                                     "valid": 3 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 3,
                                                                     "valid": 3 } },
-                                        "call_param_ref_post": { "qed": 
-                                                                   { "total": 1,
+                                        "call_param_ref_ensures": { "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
+                                                                    "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1 } },
                                         "wp:section": { "qed": { "total": 6,
                                                                  "valid": 6 },
diff --git a/src/plugins/wp/tests/wp_hoare/isHoare.i.0.report.json b/src/plugins/wp/tests/wp_hoare/isHoare.i.0.report.json
index e871e1e248100ceb7b7c8494701ee38faf3f01a5..0455cf705ec214e88499f4c30723f07b92edb11a 100644
--- a/src/plugins/wp/tests/wp_hoare/isHoare.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/isHoare.i.0.report.json
@@ -1,6 +1,6 @@
 { "wp:global": { "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 1, "valid": 1 } },
-  "wp:functions": { "cmp_invalid_addr_as_int": { "cmp_invalid_addr_as_int_post_ok": 
+  "wp:functions": { "cmp_invalid_addr_as_int": { "cmp_invalid_addr_as_int_ensures_ok": 
                                                    { "qed": { "total": 1,
                                                               "valid": 1 },
                                                      "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_hoare/logicarr.i.0.report.json b/src/plugins/wp/tests/wp_hoare/logicarr.i.0.report.json
index d0320c3b7a513fffbbf48233832fa50de01c3f17..1b506f1c00b11fc3342a972f785d4472d9702fd8 100644
--- a/src/plugins/wp/tests/wp_hoare/logicarr.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/logicarr.i.0.report.json
@@ -1,23 +1,23 @@
 { "wp:global": { "alt-ergo": { "total": 3, "valid": 3, "rank": 17 },
                  "wp:main": { "total": 3, "valid": 3, "rank": 17 } },
-  "wp:functions": { "job": { "job_post_DUM": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 17 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 17 } },
-                             "job_post_ARR": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 17 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 17 } },
-                             "job_post_PTR": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 15 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 15 } },
+  "wp:functions": { "job": { "job_ensures_DUM": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 17 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 17 } },
+                             "job_ensures_ARR": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 17 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 17 } },
+                             "job_ensures_PTR": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 16 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 16 } },
                              "wp:section": { "alt-ergo": { "total": 3,
                                                            "valid": 3,
                                                            "rank": 17 },
diff --git a/src/plugins/wp/tests/wp_hoare/logicref.i.0.report.json b/src/plugins/wp/tests/wp_hoare/logicref.i.0.report.json
index 4156f842cc6d45e448fab3db26b60c6ae073de6c..d10611ed1d4f685290e5352baa6c48903fadba5d 100644
--- a/src/plugins/wp/tests/wp_hoare/logicref.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/logicref.i.0.report.json
@@ -8,14 +8,16 @@
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 20 } },
-                                   "fvrange_n_assign": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                                   "fvrange_n_post": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                                   "fvrange_n_assigns": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                   "fvrange_n_ensures": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 20 },
@@ -24,13 +26,14 @@
                                                    "wp:main": { "total": 3,
                                                                 "valid": 3,
                                                                 "rank": 20 } } },
-                    "gcd": { "gcd_assign": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
-                             "gcd_post": { "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1 } },
+                    "gcd": { "gcd_assigns": { "qed": { "total": 1,
+                                                       "valid": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1 } },
+                             "gcd_ensures": { "qed": { "total": 1,
+                                                       "valid": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1 } },
                              "wp:section": { "qed": { "total": 2,
                                                       "valid": 2 },
                                              "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_hoare/logicref_simple.i.0.report.json b/src/plugins/wp/tests/wp_hoare/logicref_simple.i.0.report.json
index b221a03eb88df353b473d8299230198a0e56f976..a16a909fc84b7fdd990b2c9794cc3d251c8b3a77 100644
--- a/src/plugins/wp/tests/wp_hoare/logicref_simple.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/logicref_simple.i.0.report.json
@@ -1,16 +1,16 @@
 { "wp:global": { "alt-ergo": { "total": 4, "valid": 4, "rank": 7 },
                  "qed": { "total": 5, "valid": 5 },
                  "wp:main": { "total": 9, "valid": 9, "rank": 7 } },
-  "wp:functions": { "fsimple": { "fsimple_assign": { "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1 } },
-                                 "fsimple_post": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 3 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 3 } },
+  "wp:functions": { "fsimple": { "fsimple_assigns": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                                 "fsimple_ensures": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 3 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 3 } },
                                  "wp:section": { "alt-ergo": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 3 },
@@ -19,20 +19,20 @@
                                                  "wp:main": { "total": 2,
                                                               "valid": 2,
                                                               "rank": 3 } } },
-                    "fsimple_array": { "fsimple_array_assign": { "qed": 
-                                                                   { "total": 1,
+                    "fsimple_array": { "fsimple_array_assigns": { "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
+                                                                  "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1 } },
-                                       "fsimple_array_post": { "alt-ergo": 
-                                                                 { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 7 },
-                                                               "wp:main": 
-                                                                 { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 7 } },
+                                       "fsimple_array_ensures": { "alt-ergo": 
+                                                                    { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 8 },
+                                                                  "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 8 } },
                                        "wp:section": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 7 },
@@ -41,16 +41,19 @@
                                                        "wp:main": { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 7 } } },
-                    "ftwo_star": { "ftwo_star_assign": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                                   "ftwo_star_post": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 3 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 3 } },
+                    "ftwo_star": { "ftwo_star_assigns": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                   "ftwo_star_ensures": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 4 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 4 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 3 },
@@ -67,15 +70,16 @@
                                                                 { "total": 1,
                                                                   "valid": 1,
                                                                   "rank": 2 } },
-                                    "fvpositive_assign": { "qed": { "total": 1,
+                                    "fvpositive_assigns": { "qed": { "total": 1,
                                                                     "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1 } },
-                                    "fvpositive_post": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
+                                    "fvpositive_ensures": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
                                     "wp:section": { "alt-ergo": { "total": 1,
                                                                   "valid": 1,
                                                                   "rank": 2 },
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.res.oracle
index 7cd3266acecc64c7cca9ffe807c6fe06c3bca170..bfdcf78517ee881e901469d2e70c43bc0d3b37db 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.0.res.oracle
@@ -4,18 +4,18 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 12 goals scheduled
-[wp] [Qed] Goal typed_f_post : Valid
-[wp] [Qed] Goal typed_f_assign : Valid
-[wp] [Qed] Goal typed_formal_post : Valid
-[wp] [Qed] Goal typed_formal_call_f_pre : Valid
-[wp] [Qed] Goal typed_global_post : Valid
-[wp] [Qed] Goal typed_global_call_f_pre : Valid
-[wp] [Qed] Goal typed_local_post : Valid
-[wp] [Qed] Goal typed_local_call_f_pre : Valid
-[wp] [Qed] Goal typed_pointer_post : Valid
-[wp] [Qed] Goal typed_pointer_call_f_pre : Valid
-[wp] [Qed] Goal typed_wrong_without_ref_post : Valid
-[wp] [Alt-Ergo] Goal typed_wrong_without_ref_call_f_pre : Unknown
+[wp] [Qed] Goal typed_f_ensures : Valid
+[wp] [Qed] Goal typed_f_assigns : Valid
+[wp] [Qed] Goal typed_formal_ensures : Valid
+[wp] [Qed] Goal typed_formal_call_f_requires : Valid
+[wp] [Qed] Goal typed_global_ensures : Valid
+[wp] [Qed] Goal typed_global_call_f_requires : Valid
+[wp] [Qed] Goal typed_local_ensures : Valid
+[wp] [Qed] Goal typed_local_call_f_requires : Valid
+[wp] [Qed] Goal typed_pointer_ensures : Valid
+[wp] [Qed] Goal typed_pointer_call_f_requires : Valid
+[wp] [Qed] Goal typed_wrong_without_ref_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_wrong_without_ref_call_f_requires : Unknown
 [wp] Proved goals:   11 / 12
   Qed:            11 
   Alt-Ergo:        0  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.1.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.1.res.oracle
index d324a299b64cf870ec61e6691c6ca8100df09f67..f6c7d899a1f37a9561682e1ec34d18b4ef2cbde9 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.1.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/byref.1.res.oracle
@@ -4,18 +4,18 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 12 goals scheduled
-[wp] [Qed] Goal typed_ref_f_post : Valid
-[wp] [Qed] Goal typed_ref_f_assign : Valid
-[wp] [Qed] Goal typed_ref_formal_post : Valid
-[wp] [Qed] Goal typed_ref_formal_call_f_pre : Valid
-[wp] [Qed] Goal typed_ref_global_post : Valid
-[wp] [Qed] Goal typed_ref_global_call_f_pre : Valid
-[wp] [Qed] Goal typed_ref_local_post : Valid
-[wp] [Qed] Goal typed_ref_local_call_f_pre : Valid
-[wp] [Qed] Goal typed_ref_pointer_post : Valid
-[wp] [Qed] Goal typed_ref_pointer_call_f_pre : Valid
-[wp] [Qed] Goal typed_ref_wrong_without_ref_post : Valid
-[wp] [Qed] Goal typed_ref_wrong_without_ref_call_f_pre : Valid
+[wp] [Qed] Goal typed_ref_f_ensures : Valid
+[wp] [Qed] Goal typed_ref_f_assigns : Valid
+[wp] [Qed] Goal typed_ref_formal_ensures : Valid
+[wp] [Qed] Goal typed_ref_formal_call_f_requires : Valid
+[wp] [Qed] Goal typed_ref_global_ensures : Valid
+[wp] [Qed] Goal typed_ref_global_call_f_requires : Valid
+[wp] [Qed] Goal typed_ref_local_ensures : Valid
+[wp] [Qed] Goal typed_ref_local_call_f_requires : Valid
+[wp] [Qed] Goal typed_ref_pointer_ensures : Valid
+[wp] [Qed] Goal typed_ref_pointer_call_f_requires : Valid
+[wp] [Qed] Goal typed_ref_wrong_without_ref_ensures : Valid
+[wp] [Qed] Goal typed_ref_wrong_without_ref_call_f_requires : Valid
 [wp] Proved goals:   12 / 12
   Qed:            12
 [wp] Report 'tests/wp_hoare/byref.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var.res.oracle
index 1e532b7bfe9437d223ff5d0716ee81b6ad65add2..8093f258faf3f6491b8881bb1c032aa4ecc3552a 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var.res.oracle
@@ -4,84 +4,84 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 78 goals scheduled
-[wp] [Qed] Goal typed_ref_array_in_struct_param_post_Pload2 : Valid
-[wp] [Qed] Goal typed_ref_array_in_struct_param_assign : Valid
-[wp] [Qed] Goal typed_ref_call_no_ref_bd_post_Mem_n5_nr6 : Valid
-[wp] [Qed] Goal typed_ref_call_no_ref_bd_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_no_ref_bd_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_no_ref_bd_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_no_ref_bd_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_no_ref_bd_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_no_ref_bd_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_no_ref_bd_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_ref_call_no_ref_bd_assign_normal_part5 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd_post_Ref_r2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd2_post_Mem_n2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd2_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd2_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd2_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd2_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd2_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd2_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_bd2_assign_normal_part5 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_post_Ref_r1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr2_post_Mem_n1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr2_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr2_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr2_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr2_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr2_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr2_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr2_assign_normal_part5 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_post_R_R_R : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_post_R_R_R_2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_call_ref_ctr_nr_pre : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_post : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_post_R7_N4 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_assign_normal_part5 : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_call_ref_valid_pre : Valid
-[wp] [Qed] Goal typed_ref_call_ref_valid_call_ref_valid_pre_2 : Valid
-[wp] [Qed] Goal typed_ref_call_two_ref_post : Valid
-[wp] [Qed] Goal typed_ref_call_two_ref_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_two_ref_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_two_ref_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_two_ref_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_two_ref_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_two_ref_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_ref_g_post : Valid
-[wp] [Qed] Goal typed_ref_g_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_g_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_g_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_no_ref_bd_post : Valid
-[wp] [Qed] Goal typed_ref_no_ref_bd_assign_part1 : Valid
-[wp] [Qed] Goal typed_ref_no_ref_bd_assign_part2 : Valid
-[wp] [Qed] Goal typed_ref_ref_bd_post : Valid
-[wp] [Qed] Goal typed_ref_ref_bd_assign : Valid
+[wp] [Qed] Goal typed_ref_array_in_struct_param_ensures_Pload2 : Valid
+[wp] [Qed] Goal typed_ref_array_in_struct_param_assigns : Valid
+[wp] [Qed] Goal typed_ref_call_no_ref_bd_ensures_Mem_n5_nr6 : Valid
+[wp] [Qed] Goal typed_ref_call_no_ref_bd_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_no_ref_bd_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_no_ref_bd_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_no_ref_bd_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_no_ref_bd_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_no_ref_bd_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_no_ref_bd_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_ref_call_no_ref_bd_assigns_normal_part5 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd_ensures_Ref_r2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd2_ensures_Mem_n2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd2_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd2_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd2_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd2_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd2_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd2_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_bd2_assigns_normal_part5 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_ensures_Ref_r1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr2_ensures_Mem_n1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr2_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr2_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr2_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr2_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr2_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr2_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr2_assigns_normal_part5 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_ensures_R_R_R : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_ensures_R_R_R_2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nr_call_ref_ctr_nr_requires : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_ctr_nstars_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_ensures_R7_N4 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_assigns_normal_part5 : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_call_ref_valid_requires : Valid
+[wp] [Qed] Goal typed_ref_call_ref_valid_call_ref_valid_requires_2 : Valid
+[wp] [Qed] Goal typed_ref_call_two_ref_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_two_ref_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_two_ref_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_two_ref_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_two_ref_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_two_ref_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_two_ref_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_ref_g_ensures : Valid
+[wp] [Qed] Goal typed_ref_g_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_g_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_g_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_no_ref_bd_ensures : Valid
+[wp] [Qed] Goal typed_ref_no_ref_bd_assigns_part1 : Valid
+[wp] [Qed] Goal typed_ref_no_ref_bd_assigns_part2 : Valid
+[wp] [Qed] Goal typed_ref_ref_bd_ensures : Valid
+[wp] [Qed] Goal typed_ref_ref_bd_assigns : Valid
 [wp] Proved goals:   78 / 78
   Qed:            78
 [wp] Report 'tests/wp_hoare/dispatch_var.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.0.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.0.res.oracle
index f777eb27ac129e93f851517de4b9bb6bbbf5de7d..d0dfe75fac52c9efcdae60e06be6da8e14e485d0 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.0.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.0.res.oracle
@@ -4,40 +4,40 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 34 goals scheduled
-[wp] [Qed] Goal typed_ref_call_global_post : Valid
-[wp] [Qed] Goal typed_ref_call_global_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_global_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_global_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_global_call_reset_pre : Valid
-[wp] [Qed] Goal typed_ref_call_global_call_load_pre : Valid
-[wp] [Qed] Goal typed_ref_call_local_post : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_local_call_reset_pre : Valid
-[wp] [Qed] Goal typed_ref_call_local_call_load_pre : Valid
-[wp] [Qed] Goal typed_ref_call_param_post : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_param_call_reset_pre : Valid
-[wp] [Qed] Goal typed_ref_call_param_call_load_pre : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_post : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_call_reset_pre : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_call_load_pre : Valid
-[wp] [Qed] Goal typed_ref_incr_post : Valid
-[wp] [Qed] Goal typed_ref_incr_assign : Valid
-[wp] [Qed] Goal typed_ref_load_post : Valid
-[wp] [Qed] Goal typed_ref_load_assign : Valid
-[wp] [Qed] Goal typed_ref_reset_post : Valid
-[wp] [Qed] Goal typed_ref_reset_assign : Valid
+[wp] [Qed] Goal typed_ref_call_global_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_global_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_global_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_global_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_global_call_reset_requires : Valid
+[wp] [Qed] Goal typed_ref_call_global_call_load_requires : Valid
+[wp] [Qed] Goal typed_ref_call_local_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_local_call_reset_requires : Valid
+[wp] [Qed] Goal typed_ref_call_local_call_load_requires : Valid
+[wp] [Qed] Goal typed_ref_call_param_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_param_call_reset_requires : Valid
+[wp] [Qed] Goal typed_ref_call_param_call_load_requires : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_call_reset_requires : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_call_load_requires : Valid
+[wp] [Qed] Goal typed_ref_incr_ensures : Valid
+[wp] [Qed] Goal typed_ref_incr_assigns : Valid
+[wp] [Qed] Goal typed_ref_load_ensures : Valid
+[wp] [Qed] Goal typed_ref_load_assigns : Valid
+[wp] [Qed] Goal typed_ref_reset_ensures : Valid
+[wp] [Qed] Goal typed_ref_reset_assigns : Valid
 [wp] Proved goals:   34 / 34
   Qed:            34
 [wp] Report 'tests/wp_hoare/dispatch_var2.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.1.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.1.res.oracle
index d388c3c99107c31cbfd7fec2c111e21e28d144ca..a161e9ffe1ac8e3a7b642b9b709488ac42de314d 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.1.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/dispatch_var2.1.res.oracle
@@ -4,40 +4,40 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 34 goals scheduled
-[wp] [Qed] Goal typed_ref_call_global_post : Valid
-[wp] [Qed] Goal typed_ref_call_global_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_global_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_global_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_global_call_reset_pre : Valid
-[wp] [Qed] Goal typed_ref_call_global_call_load_pre : Valid
-[wp] [Qed] Goal typed_ref_call_local_post : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_local_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_local_call_reset_pre : Valid
-[wp] [Qed] Goal typed_ref_call_local_call_load_pre : Valid
-[wp] [Qed] Goal typed_ref_call_param_post : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_param_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_call_param_call_reset_pre : Valid
-[wp] [Qed] Goal typed_ref_call_param_call_load_pre : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_post : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_call_reset_pre : Valid
-[wp] [Qed] Goal typed_ref_call_param_ref_call_load_pre : Valid
-[wp] [Qed] Goal typed_ref_incr_post : Valid
-[wp] [Qed] Goal typed_ref_incr_assign : Valid
-[wp] [Qed] Goal typed_ref_load_post : Valid
-[wp] [Qed] Goal typed_ref_load_assign : Valid
-[wp] [Qed] Goal typed_ref_reset_post : Valid
-[wp] [Qed] Goal typed_ref_reset_assign : Valid
+[wp] [Qed] Goal typed_ref_call_global_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_global_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_global_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_global_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_global_call_reset_requires : Valid
+[wp] [Qed] Goal typed_ref_call_global_call_load_requires : Valid
+[wp] [Qed] Goal typed_ref_call_local_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_local_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_local_call_reset_requires : Valid
+[wp] [Qed] Goal typed_ref_call_local_call_load_requires : Valid
+[wp] [Qed] Goal typed_ref_call_param_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_param_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_call_param_call_reset_requires : Valid
+[wp] [Qed] Goal typed_ref_call_param_call_load_requires : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_call_reset_requires : Valid
+[wp] [Qed] Goal typed_ref_call_param_ref_call_load_requires : Valid
+[wp] [Qed] Goal typed_ref_incr_ensures : Valid
+[wp] [Qed] Goal typed_ref_incr_assigns : Valid
+[wp] [Qed] Goal typed_ref_load_ensures : Valid
+[wp] [Qed] Goal typed_ref_load_assigns : Valid
+[wp] [Qed] Goal typed_ref_reset_ensures : Valid
+[wp] [Qed] Goal typed_ref_reset_assigns : Valid
 [wp] Proved goals:   34 / 34
   Qed:            34
 [wp] Report 'tests/wp_hoare/dispatch_var2.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/isHoare.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/isHoare.res.oracle
index f4ee4d53421d203dc19631f8b4c574d829c5da19..9a06ba323da0f3b3a58310313fea680ea1ea3bcd 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/isHoare.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/isHoare.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Qed] Goal typed_ref_cmp_invalid_addr_as_int_post_ok : Valid
+[wp] [Qed] Goal typed_ref_cmp_invalid_addr_as_int_ensures_ok : Valid
 [wp] Proved goals:    1 / 1
   Qed:             1
 [wp] Report 'tests/wp_hoare/isHoare.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.res.oracle
index 0e64daa2ac2a55d7310daf78bff3e2d73a5df040..47e4dd7697ad9feb12aac921891fdf9f55510036 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicarr.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Alt-Ergo] Goal typed_job_post_PTR : Valid
-[wp] [Alt-Ergo] Goal typed_job_post_ARR : Valid
-[wp] [Alt-Ergo] Goal typed_job_post_DUM : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures_PTR : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures_ARR : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures_DUM : Valid
 [wp] Proved goals:    3 / 3
   Qed:             0 
   Alt-Ergo:        3
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.res.oracle
index 5f5fa6ead779b5faa9fa7f2b37a9fd75f2d61308..b32e09dc9873256f7c7b8ca843f7f1812b308aee 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref.res.oracle
@@ -4,11 +4,11 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 5 goals scheduled
-[wp] [Qed] Goal typed_ref_fvrange_n_post : Valid
+[wp] [Qed] Goal typed_ref_fvrange_n_ensures : Valid
 [wp] [Alt-Ergo] Goal typed_ref_fvrange_n_assert : Valid
-[wp] [Qed] Goal typed_ref_fvrange_n_assign : Valid
-[wp] [Qed] Goal typed_ref_gcd_post : Valid
-[wp] [Qed] Goal typed_ref_gcd_assign : Valid
+[wp] [Qed] Goal typed_ref_fvrange_n_assigns : Valid
+[wp] [Qed] Goal typed_ref_gcd_ensures : Valid
+[wp] [Qed] Goal typed_ref_gcd_assigns : Valid
 [wp] Proved goals:    5 / 5
   Qed:             4 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.res.oracle
index 8955595fa0c36e6103c862b053d39934e2ab00bc..358371e0ff4348b753bf8564ba3eb16c5f7facaa 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/logicref_simple.res.oracle
@@ -4,15 +4,15 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 9 goals scheduled
-[wp] [Alt-Ergo] Goal typed_ref_fsimple_post : Valid
-[wp] [Qed] Goal typed_ref_fsimple_assign : Valid
-[wp] [Alt-Ergo] Goal typed_ref_fsimple_array_post : Valid
-[wp] [Qed] Goal typed_ref_fsimple_array_assign : Valid
-[wp] [Alt-Ergo] Goal typed_ref_ftwo_star_post : Valid
-[wp] [Qed] Goal typed_ref_ftwo_star_assign : Valid
-[wp] [Qed] Goal typed_ref_fvpositive_post : Valid
+[wp] [Alt-Ergo] Goal typed_ref_fsimple_ensures : Valid
+[wp] [Qed] Goal typed_ref_fsimple_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_ref_fsimple_array_ensures : Valid
+[wp] [Qed] Goal typed_ref_fsimple_array_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_ref_ftwo_star_ensures : Valid
+[wp] [Qed] Goal typed_ref_ftwo_star_assigns : Valid
+[wp] [Qed] Goal typed_ref_fvpositive_ensures : Valid
 [wp] [Alt-Ergo] Goal typed_ref_fvpositive_assert_OK : Valid
-[wp] [Qed] Goal typed_ref_fvpositive_assign : Valid
+[wp] [Qed] Goal typed_ref_fvpositive_assigns : Valid
 [wp] Proved goals:    9 / 9
   Qed:             5 
   Alt-Ergo:        4
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.res.oracle
index d94ce8d9aa90fa1378fcb30e3345a47651344896..c33ec4bf50b7ab3be30245accec6b646e6b73cf1 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference.res.oracle
@@ -4,29 +4,29 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 23 goals scheduled
-[wp] [Qed] Goal typed_ref_call_f2_post : Valid
-[wp] [Qed] Goal typed_ref_call_f2_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_f2_assign_exit_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_call_f2_assign_exit_part3 : Unknown
-[wp] [Qed] Goal typed_ref_call_f2_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_f2_assign_normal_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_call_f2_assign_normal_part3 : Unknown
-[wp] [Qed] Goal typed_ref_call_f2_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_ref_call_f2_call_f2_pre : Valid
-[wp] [Qed] Goal typed_ref_call_global_post : Valid
-[wp] [Qed] Goal typed_ref_call_global_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_global_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_global_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_global_call_f_pre : Valid
-[wp] [Qed] Goal typed_ref_g_post : Valid
-[wp] [Qed] Goal typed_ref_g_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_g_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_g_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_g_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_g_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_g_call_f_pre : Valid
-[wp] [Qed] Goal typed_ref_write_post : Valid
-[wp] [Qed] Goal typed_ref_write_assign : Valid
+[wp] [Qed] Goal typed_ref_call_f2_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_f2_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_f2_assigns_exit_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_call_f2_assigns_exit_part3 : Unknown
+[wp] [Qed] Goal typed_ref_call_f2_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_f2_assigns_normal_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_call_f2_assigns_normal_part3 : Unknown
+[wp] [Qed] Goal typed_ref_call_f2_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_ref_call_f2_call_f2_requires : Valid
+[wp] [Qed] Goal typed_ref_call_global_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_global_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_global_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_global_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_global_call_f_requires : Valid
+[wp] [Qed] Goal typed_ref_g_ensures : Valid
+[wp] [Qed] Goal typed_ref_g_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_g_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_g_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_g_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_g_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_g_call_f_requires : Valid
+[wp] [Qed] Goal typed_ref_write_ensures : Valid
+[wp] [Qed] Goal typed_ref_write_assigns : Valid
 [wp] Proved goals:   21 / 23
   Qed:            21 
   Alt-Ergo:        0  (unknown: 2)
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.res.oracle
index 3726ef5b31be6035baae6da3fcebe61045f937f9..67424143d7c240bb97b18c1e09e9776d83c403c7 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_and_struct.res.oracle
@@ -4,38 +4,38 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 32 goals scheduled
-[wp] [Qed] Goal typed_ref_call_array_in_struct_param_post_Pload2 : Valid
-[wp] [Qed] Goal typed_ref_call_array_in_struct_param_post_Pload3 : Valid
-[wp] [Qed] Goal typed_ref_call_array_in_struct_param_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_array_in_struct_param_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_call_array_in_struct_param_call_load_5_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_call_on_array_in_struct_global_post_Pload : Valid
-[wp] [Qed] Goal typed_ref_call_on_array_in_struct_global_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_on_array_in_struct_global_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_call_on_array_in_struct_global_call_load_5_pre : Valid
-[wp] [Qed] Goal typed_ref_call_reset_post : Valid
-[wp] [Qed] Goal typed_ref_call_reset_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_reset_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_call_reset_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_call_reset_call_reset_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_call_reset_1_5_post_Presset_mat : Valid
-[wp] [Qed] Goal typed_ref_call_reset_1_5_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_reset_1_5_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_call_reset_1_5_call_reset_1_5_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_call_reset_5_post_Preset_5 : Valid
-[wp] [Qed] Goal typed_ref_call_reset_5_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_reset_5_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_call_reset_5_call_reset_5_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_call_reset_5_dim2_post_Presset_mat : Valid
-[wp] [Qed] Goal typed_ref_call_reset_5_dim2_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_reset_5_dim2_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_call_reset_5_dim2_call_reset_5_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_call_reset_5_tps_post_Preset_5_tps : Valid
-[wp] [Qed] Goal typed_ref_call_reset_5_tps_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_call_reset_5_tps_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_call_reset_5_tps_call_reset_5_pre : Valid
-[wp] [Qed] Goal typed_ref_reset_post : Valid
-[wp] [Qed] Goal typed_ref_reset_assign : Valid
+[wp] [Qed] Goal typed_ref_call_array_in_struct_param_ensures_Pload2 : Valid
+[wp] [Qed] Goal typed_ref_call_array_in_struct_param_ensures_Pload3 : Valid
+[wp] [Qed] Goal typed_ref_call_array_in_struct_param_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_array_in_struct_param_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_call_array_in_struct_param_call_load_5_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_call_on_array_in_struct_global_ensures_Pload : Valid
+[wp] [Qed] Goal typed_ref_call_on_array_in_struct_global_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_on_array_in_struct_global_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_call_on_array_in_struct_global_call_load_5_requires : Valid
+[wp] [Qed] Goal typed_ref_call_reset_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_reset_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_reset_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_call_reset_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_call_reset_call_reset_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_call_reset_1_5_ensures_Presset_mat : Valid
+[wp] [Qed] Goal typed_ref_call_reset_1_5_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_reset_1_5_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_call_reset_1_5_call_reset_1_5_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_call_reset_5_ensures_Preset_5 : Valid
+[wp] [Qed] Goal typed_ref_call_reset_5_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_reset_5_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_call_reset_5_call_reset_5_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_call_reset_5_dim2_ensures_Presset_mat : Valid
+[wp] [Qed] Goal typed_ref_call_reset_5_dim2_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_reset_5_dim2_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_call_reset_5_dim2_call_reset_5_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_call_reset_5_tps_ensures_Preset_5_tps : Valid
+[wp] [Qed] Goal typed_ref_call_reset_5_tps_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_call_reset_5_tps_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_call_reset_5_tps_call_reset_5_requires : Valid
+[wp] [Qed] Goal typed_ref_reset_ensures : Valid
+[wp] [Qed] Goal typed_ref_reset_assigns : Valid
 [wp] Proved goals:   32 / 32
   Qed:            27 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.res.oracle
index 39470242b57424fd4870ac9069708ed7ee0c11f8..9b452f762f81e2e35b836d347646f75c95a9b113 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array.res.oracle
@@ -4,42 +4,42 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 36 goals scheduled
-[wp] [Alt-Ergo] Goal typed_ref_add_1_5_post : Valid
-[wp] [Qed] Goal typed_ref_add_1_5_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_add_1_5_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_add_1_5_call_add_5_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_1_post_Pload : Valid
-[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_1_post_Preset : Valid
-[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_1_post_Padd : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_call_load_5_pre : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_call_reset_5_pre : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_call_add_5_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_post_Pload : Valid
-[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_post_Preset : Valid
-[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_post_Padd : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_call_load_1_5_pre : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_call_reset_1_5_pre : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_call_add_1_5_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_to_1_post_Pload : Valid
-[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_to_1_post_Preset : Valid
-[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_to_1_post_Padd : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_call_load_5_pre : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_call_reset_5_pre : Valid
-[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_call_add_5_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_load_1_5_post : Valid
-[wp] [Qed] Goal typed_ref_load_1_5_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_load_1_5_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_load_1_5_call_load_5_pre : Valid
-[wp] [Alt-Ergo] Goal typed_ref_reset_1_5_post : Valid
-[wp] [Qed] Goal typed_ref_reset_1_5_assign_exit : Valid
-[wp] [Qed] Goal typed_ref_reset_1_5_assign_normal : Valid
-[wp] [Qed] Goal typed_ref_reset_1_5_call_reset_5_pre : Valid
+[wp] [Alt-Ergo] Goal typed_ref_add_1_5_ensures : Valid
+[wp] [Qed] Goal typed_ref_add_1_5_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_add_1_5_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_add_1_5_call_add_5_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_1_ensures_Pload : Valid
+[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_1_ensures_Preset : Valid
+[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_1_ensures_Padd : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_call_load_5_requires : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_call_reset_5_requires : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_1_call_add_5_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_ensures_Pload : Valid
+[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_ensures_Preset : Valid
+[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_ensures_Padd : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_call_load_1_5_requires : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_call_reset_1_5_requires : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_call_add_1_5_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_to_1_ensures_Pload : Valid
+[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_to_1_ensures_Preset : Valid
+[wp] [Alt-Ergo] Goal typed_ref_calls_on_array_dim_2_to_1_ensures_Padd : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_call_load_5_requires : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_call_reset_5_requires : Valid
+[wp] [Qed] Goal typed_ref_calls_on_array_dim_2_to_1_call_add_5_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_load_1_5_ensures : Valid
+[wp] [Qed] Goal typed_ref_load_1_5_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_load_1_5_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_load_1_5_call_load_5_requires : Valid
+[wp] [Alt-Ergo] Goal typed_ref_reset_1_5_ensures : Valid
+[wp] [Qed] Goal typed_ref_reset_1_5_assigns_exit : Valid
+[wp] [Qed] Goal typed_ref_reset_1_5_assigns_normal : Valid
+[wp] [Qed] Goal typed_ref_reset_1_5_call_reset_5_requires : Valid
 [wp] Proved goals:   36 / 36
   Qed:            24 
   Alt-Ergo:       12
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array_simple.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array_simple.res.oracle
index 8c86a8bb1b80125182c189f52444839a002ba361..bcc5f4a414b76a056d92bef7d68d196490e655cc 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array_simple.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/reference_array_simple.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_ref_call_f1_post : Valid
-[wp] [Qed] Goal typed_ref_call_f2_post : Valid
-[wp] [Qed] Goal typed_ref_call_f3_post : Valid
+[wp] [Qed] Goal typed_ref_call_f1_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_f2_ensures : Valid
+[wp] [Qed] Goal typed_ref_call_f3_ensures : Valid
 [wp] Proved goals:    3 / 3
   Qed:             3
 [wp] Report 'tests/wp_hoare/reference_array_simple.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.res.oracle b/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.res.oracle
index 9de80150645392fb22ad29543132c435288683d7..9e195671040e3313f5844564b71ea8bc8ef8f512 100644
--- a/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.res.oracle
+++ b/src/plugins/wp/tests/wp_hoare/oracle_qualif/refguards.res.oracle
@@ -4,15 +4,15 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 9 goals scheduled
-[wp] [Qed] Goal typed_ref_f_post : Valid
-[wp] [Alt-Ergo] Goal typed_ref_g_post : Valid
-[wp] [Qed] Goal typed_ref_h_post : Valid
-[wp] [Qed] Goal typed_ref_s_post : Valid
-[wp] [Qed] Goal typed_ref_s_post_2 : Valid
-[wp] [Qed] Goal typed_ref_s_post_3 : Valid
-[wp] [Qed] Goal typed_ref_s_post_4 : Valid
-[wp] [Qed] Goal typed_ref_s_post_5 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_s_post_KO : Unknown
+[wp] [Qed] Goal typed_ref_f_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_ref_g_ensures : Valid
+[wp] [Qed] Goal typed_ref_h_ensures : Valid
+[wp] [Qed] Goal typed_ref_s_ensures : Valid
+[wp] [Qed] Goal typed_ref_s_ensures_2 : Valid
+[wp] [Qed] Goal typed_ref_s_ensures_3 : Valid
+[wp] [Qed] Goal typed_ref_s_ensures_4 : Valid
+[wp] [Qed] Goal typed_ref_s_ensures_5 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_s_ensures_KO : Unknown
 [wp] Proved goals:    8 / 9
   Qed:             7 
   Alt-Ergo:        1  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_hoare/reference.i.0.report.json b/src/plugins/wp/tests/wp_hoare/reference.i.0.report.json
index 231def588235a60e73a1cce5db0a4fc4fedeb3c4..5fa1f3ad2cc6a9fc227f62bf8f7b46fc0a020fc1 100644
--- a/src/plugins/wp/tests/wp_hoare/reference.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/reference.i.0.report.json
@@ -1,34 +1,34 @@
 { "wp:global": { "alt-ergo": { "total": 2, "unknown": 2 },
                  "qed": { "total": 21, "valid": 21 },
                  "wp:main": { "total": 23, "valid": 21, "unknown": 2 } },
-  "wp:functions": { "g": { "specialization_f_pre_at_g_stmt_2": { "qed": 
-                                                                   { "total": 1,
-                                                                    "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
-                                                                    "valid": 1 } },
-                           "g_assign": { "qed": { "total": 5, "valid": 5 },
-                                         "wp:main": { "total": 5,
-                                                      "valid": 5 } },
-                           "g_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+  "wp:functions": { "g": { "f_requires_2": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "g_assigns": { "qed": { "total": 5, "valid": 5 },
+                                          "wp:main": { "total": 5,
+                                                       "valid": 5 } },
+                           "g_ensures": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 7, "valid": 7 },
                                            "wp:main": { "total": 7,
                                                         "valid": 7 } } },
-                    "call_f2": { "specialization_f2_pre_at_call_f2_stmt_7": 
-                                   { "qed": { "total": 1, "valid": 1 },
-                                     "wp:main": { "total": 1, "valid": 1 } },
-                                 "call_f2_assign": { "alt-ergo": { "total": 2,
-                                                                   "unknown": 2 },
-                                                     "qed": { "total": 5,
-                                                              "valid": 5 },
-                                                     "wp:main": { "total": 7,
-                                                                  "valid": 5,
-                                                                  "unknown": 2 } },
-                                 "call_f2_post": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+                    "call_f2": { "f2_requires_2": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                                 "call_f2_assigns": { "alt-ergo": { "total": 2,
+                                                                    "unknown": 2 },
+                                                      "qed": { "total": 5,
+                                                               "valid": 5 },
+                                                      "wp:main": { "total": 7,
+                                                                   "valid": 5,
+                                                                   "unknown": 2 } },
+                                 "call_f2_ensures": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 2,
                                                                "unknown": 2 },
                                                  "qed": { "total": 7,
@@ -36,32 +36,34 @@
                                                  "wp:main": { "total": 9,
                                                               "valid": 7,
                                                               "unknown": 2 } } },
-                    "call_global": { "specialization_f_pre_at_call_global_stmt_10": 
-                                       { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                                     "call_global_assign": { "qed": { "total": 3,
-                                                                    "valid": 3 },
-                                                             "wp:main": 
-                                                               { "total": 3,
-                                                                 "valid": 3 } },
-                                     "call_global_post": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1 } },
+                    "call_global": { "f_requires_3": { "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                                     "call_global_assigns": { "qed": 
+                                                                { "total": 3,
+                                                                  "valid": 3 },
+                                                              "wp:main": 
+                                                                { "total": 3,
+                                                                  "valid": 3 } },
+                                     "call_global_ensures": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
                                      "wp:section": { "qed": { "total": 5,
                                                               "valid": 5 },
                                                      "wp:main": { "total": 5,
                                                                   "valid": 5 } } },
-                    "write": { "write_assign": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                               "write_post": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+                    "write": { "write_assigns": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                               "write_ensures": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_hoare/reference_and_struct.i.0.report.json b/src/plugins/wp/tests/wp_hoare/reference_and_struct.i.0.report.json
index c0d973f42303dd00e7f376e03e406681ad1b2c3f..07af4b804128b010669233d9555b80eb0d2df97a 100644
--- a/src/plugins/wp/tests/wp_hoare/reference_and_struct.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/reference_and_struct.i.0.report.json
@@ -1,52 +1,56 @@
 { "wp:global": { "alt-ergo": { "total": 5, "valid": 5, "rank": 5 },
                  "qed": { "total": 27, "valid": 27 },
                  "wp:main": { "total": 32, "valid": 32, "rank": 5 } },
-  "wp:functions": { "reset": { "reset_assign": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                               "reset_post": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+  "wp:functions": { "reset": { "reset_assigns": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                               "reset_ensures": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "call_reset": { "specialization_reset_pre_at_call_reset_stmt_4": 
-                                      { "qed": { "total": 1, "valid": 1 },
-                                        "wp:main": { "total": 1, "valid": 1 } },
-                                    "call_reset_assign": { "qed": { "total": 3,
+                    "call_reset": { "reset_requires_2": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                                    "call_reset_assigns": { "qed": { "total": 3,
                                                                     "valid": 3 },
-                                                           "wp:main": 
-                                                             { "total": 3,
-                                                               "valid": 3 } },
-                                    "call_reset_post": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                                                            "wp:main": 
+                                                              { "total": 3,
+                                                                "valid": 3 } },
+                                    "call_reset_ensures": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
                                     "wp:section": { "qed": { "total": 5,
                                                              "valid": 5 },
                                                     "wp:main": { "total": 5,
                                                                  "valid": 5 } } },
-                    "call_reset_5": { "specialization_reset_5_pre_at_call_reset_5_stmt_8": 
-                                        { "qed": { "total": 1, "valid": 1 },
+                    "call_reset_5": { "reset_5_requires_2": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
+                                      "call_reset_5_assigns": { "qed": 
+                                                                  { "total": 2,
+                                                                    "valid": 2 },
+                                                                "wp:main": 
+                                                                  { "total": 2,
+                                                                    "valid": 2 } },
+                                      "call_reset_5_ensures_Preset_5": 
+                                        { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 1 },
                                           "wp:main": { "total": 1,
-                                                       "valid": 1 } },
-                                      "call_reset_5_assign": { "qed": 
-                                                                 { "total": 2,
-                                                                   "valid": 2 },
-                                                               "wp:main": 
-                                                                 { "total": 2,
-                                                                   "valid": 2 } },
-                                      "call_reset_5_post_Preset_5": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 1 } },
+                                                       "valid": 1,
+                                                       "rank": 1 } },
                                       "wp:section": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 1 },
@@ -55,17 +59,18 @@
                                                       "wp:main": { "total": 4,
                                                                    "valid": 4,
                                                                    "rank": 1 } } },
-                    "call_reset_5_tps": { "specialization_reset_5_pre_at_call_reset_5_tps_stmt_11": 
-                                            { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                                          "call_reset_5_tps_assign": 
+                    "call_reset_5_tps": { "reset_5_requires_3": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                  "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                          "call_reset_5_tps_assigns": 
                                             { "qed": { "total": 2,
                                                        "valid": 2 },
                                               "wp:main": { "total": 2,
                                                            "valid": 2 } },
-                                          "call_reset_5_tps_post_Preset_5_tps": 
+                                          "call_reset_5_tps_ensures_Preset_5_tps": 
                                             { "alt-ergo": { "total": 1,
                                                             "valid": 1,
                                                             "rank": 5 },
@@ -82,17 +87,19 @@
                                                             { "total": 4,
                                                               "valid": 4,
                                                               "rank": 5 } } },
-                    "call_reset_1_5": { "specialization_reset_1_5_pre_at_call_reset_1_5_stmt_14": 
-                                          { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
-                                        "call_reset_1_5_assign": { "qed": 
+                    "call_reset_1_5": { "reset_1_5_requires_2": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                  "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                        "call_reset_1_5_assigns": { "qed": 
                                                                     { "total": 2,
                                                                     "valid": 2 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 2,
                                                                     "valid": 2 } },
-                                        "call_reset_1_5_post_Presset_mat": 
+                                        "call_reset_1_5_ensures_Presset_mat": 
                                           { "alt-ergo": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 1 },
@@ -107,17 +114,18 @@
                                                         "wp:main": { "total": 4,
                                                                     "valid": 4,
                                                                     "rank": 1 } } },
-                    "call_reset_5_dim2": { "specialization_reset_5_pre_at_call_reset_5_dim2_stmt_17": 
-                                             { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                                           "call_reset_5_dim2_assign": 
+                    "call_reset_5_dim2": { "reset_5_requires_4": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                   "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                           "call_reset_5_dim2_assigns": 
                                              { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } },
-                                           "call_reset_5_dim2_post_Presset_mat": 
+                                           "call_reset_5_dim2_ensures_Presset_mat": 
                                              { "alt-ergo": { "total": 1,
                                                              "valid": 1,
                                                              "rank": 1 },
@@ -134,19 +142,19 @@
                                                              { "total": 4,
                                                                "valid": 4,
                                                                "rank": 1 } } },
-                    "call_on_array_in_struct_global": { "specialization_load_5_pre_at_call_on_array_in_struct_global_stmt_20": 
+                    "call_on_array_in_struct_global": { "load_5_requires_2": 
                                                           { "qed": { "total": 1,
                                                                     "valid": 1 },
                                                             "wp:main": 
                                                               { "total": 1,
                                                                 "valid": 1 } },
-                                                        "call_on_array_in_struct_global_assign": 
+                                                        "call_on_array_in_struct_global_assigns": 
                                                           { "qed": { "total": 2,
                                                                     "valid": 2 },
                                                             "wp:main": 
                                                               { "total": 2,
                                                                 "valid": 2 } },
-                                                        "call_on_array_in_struct_global_post_Pload": 
+                                                        "call_on_array_in_struct_global_ensures_Pload": 
                                                           { "alt-ergo": 
                                                               { "total": 1,
                                                                 "valid": 1,
@@ -166,22 +174,22 @@
                                                               { "total": 4,
                                                                 "valid": 4,
                                                                 "rank": 2 } } },
-                    "call_array_in_struct_param": { "specialization_load_5_pre_at_call_array_in_struct_param_stmt_23": 
+                    "call_array_in_struct_param": { "load_5_requires_3": 
                                                       { "qed": { "total": 1,
                                                                  "valid": 1 },
                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                                                    "call_array_in_struct_param_assign": 
+                                                    "call_array_in_struct_param_assigns": 
                                                       { "qed": { "total": 2,
                                                                  "valid": 2 },
                                                         "wp:main": { "total": 2,
                                                                     "valid": 2 } },
-                                                    "call_array_in_struct_param_post_Pload3": 
+                                                    "call_array_in_struct_param_ensures_Pload3": 
                                                       { "qed": { "total": 1,
                                                                  "valid": 1 },
                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                                                    "call_array_in_struct_param_post_Pload2": 
+                                                    "call_array_in_struct_param_ensures_Pload2": 
                                                       { "qed": { "total": 1,
                                                                  "valid": 1 },
                                                         "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_hoare/reference_array.i.0.report.json b/src/plugins/wp/tests/wp_hoare/reference_array.i.0.report.json
index f08df5e1a234c84644e65d9e64b2b661987a969f..5c8035ea43afea204ca983a88e43d2cbe31e9aad 100644
--- a/src/plugins/wp/tests/wp_hoare/reference_array.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/reference_array.i.0.report.json
@@ -1,19 +1,24 @@
 { "wp:global": { "alt-ergo": { "total": 12, "valid": 12, "rank": 5 },
                  "qed": { "total": 24, "valid": 24 },
                  "wp:main": { "total": 36, "valid": 36, "rank": 5 } },
-  "wp:functions": { "reset_1_5": { "specialization_reset_5_pre_at_reset_1_5_stmt_1": 
-                                     { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
-                                   "reset_1_5_assign": { "qed": { "total": 2,
-                                                                  "valid": 2 },
-                                                         "wp:main": { "total": 2,
-                                                                    "valid": 2 } },
-                                   "reset_1_5_post": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 5 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 5 } },
+  "wp:functions": { "reset_1_5": { "reset_5_requires_2": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                                   "reset_1_5_assigns": { "qed": { "total": 2,
+                                                                   "valid": 2 },
+                                                          "wp:main": 
+                                                            { "total": 2,
+                                                              "valid": 2 } },
+                                   "reset_1_5_ensures": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 5 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 5 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 5 },
@@ -22,19 +27,20 @@
                                                    "wp:main": { "total": 4,
                                                                 "valid": 4,
                                                                 "rank": 5 } } },
-                    "load_1_5": { "specialization_load_5_pre_at_load_1_5_stmt_4": 
-                                    { "qed": { "total": 1, "valid": 1 },
-                                      "wp:main": { "total": 1, "valid": 1 } },
-                                  "load_1_5_assign": { "qed": { "total": 2,
-                                                                "valid": 2 },
-                                                       "wp:main": { "total": 2,
+                    "load_1_5": { "load_5_requires_2": { "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                                  "load_1_5_assigns": { "qed": { "total": 2,
+                                                                 "valid": 2 },
+                                                        "wp:main": { "total": 2,
                                                                     "valid": 2 } },
-                                  "load_1_5_post": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 4 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 4 } },
+                                  "load_1_5_ensures": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 5 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 5 } },
                                   "wp:section": { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 4 },
@@ -43,19 +49,20 @@
                                                   "wp:main": { "total": 4,
                                                                "valid": 4,
                                                                "rank": 4 } } },
-                    "add_1_5": { "specialization_add_5_pre_at_add_1_5_stmt_7": 
-                                   { "qed": { "total": 1, "valid": 1 },
-                                     "wp:main": { "total": 1, "valid": 1 } },
-                                 "add_1_5_assign": { "qed": { "total": 2,
-                                                              "valid": 2 },
-                                                     "wp:main": { "total": 2,
-                                                                  "valid": 2 } },
-                                 "add_1_5_post": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 4 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 4 } },
+                    "add_1_5": { "add_5_requires_2": { "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                                 "add_1_5_assigns": { "qed": { "total": 2,
+                                                               "valid": 2 },
+                                                      "wp:main": { "total": 2,
+                                                                   "valid": 2 } },
+                                 "add_1_5_ensures": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 5 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 5 } },
                                  "wp:section": { "alt-ergo": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 4 },
@@ -64,41 +71,44 @@
                                                  "wp:main": { "total": 4,
                                                               "valid": 4,
                                                               "rank": 4 } } },
-                    "calls_on_array_dim_1": { "specialization_add_5_pre_at_calls_on_array_dim_1_stmt_12": 
-                                                { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                                              "specialization_reset_5_pre_at_calls_on_array_dim_1_stmt_11": 
-                                                { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                                              "specialization_load_5_pre_at_calls_on_array_dim_1_stmt_10": 
-                                                { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                                              "calls_on_array_dim_1_assign": 
+                    "calls_on_array_dim_1": { "add_5_requires_3": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                              "reset_5_requires_3": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                              "load_5_requires_3": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                              "calls_on_array_dim_1_assigns": 
                                                 { "qed": { "total": 2,
                                                            "valid": 2 },
                                                   "wp:main": { "total": 2,
                                                                "valid": 2 } },
-                                              "calls_on_array_dim_1_post_Padd": 
+                                              "calls_on_array_dim_1_ensures_Padd": 
                                                 { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 3 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 3 } },
-                                              "calls_on_array_dim_1_post_Preset": 
+                                              "calls_on_array_dim_1_ensures_Preset": 
                                                 { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 1 } },
-                                              "calls_on_array_dim_1_post_Pload": 
+                                              "calls_on_array_dim_1_ensures_Pload": 
                                                 { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 1 },
@@ -116,41 +126,41 @@
                                                                 { "total": 8,
                                                                   "valid": 8,
                                                                   "rank": 3 } } },
-                    "calls_on_array_dim_2_to_1": { "specialization_add_5_pre_at_calls_on_array_dim_2_to_1_stmt_17": 
+                    "calls_on_array_dim_2_to_1": { "add_5_requires_4": 
                                                      { "qed": { "total": 1,
                                                                 "valid": 1 },
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                                                   "specialization_reset_5_pre_at_calls_on_array_dim_2_to_1_stmt_16": 
+                                                   "reset_5_requires_4": 
                                                      { "qed": { "total": 1,
                                                                 "valid": 1 },
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                                                   "specialization_load_5_pre_at_calls_on_array_dim_2_to_1_stmt_15": 
+                                                   "load_5_requires_4": 
                                                      { "qed": { "total": 1,
                                                                 "valid": 1 },
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                                                   "calls_on_array_dim_2_to_1_assign": 
+                                                   "calls_on_array_dim_2_to_1_assigns": 
                                                      { "qed": { "total": 2,
                                                                 "valid": 2 },
                                                        "wp:main": { "total": 2,
                                                                     "valid": 2 } },
-                                                   "calls_on_array_dim_2_to_1_post_Padd": 
+                                                   "calls_on_array_dim_2_to_1_ensures_Padd": 
                                                      { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 3 },
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 3 } },
-                                                   "calls_on_array_dim_2_to_1_post_Preset": 
+                                                   "calls_on_array_dim_2_to_1_ensures_Preset": 
                                                      { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 2 },
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 2 } },
-                                                   "calls_on_array_dim_2_to_1_post_Pload": 
+                                                   "calls_on_array_dim_2_to_1_ensures_Pload": 
                                                      { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 2 },
@@ -168,41 +178,42 @@
                                                                     { "total": 8,
                                                                     "valid": 8,
                                                                     "rank": 3 } } },
-                    "calls_on_array_dim_2": { "specialization_add_1_5_pre_at_calls_on_array_dim_2_stmt_22": 
-                                                { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                                              "specialization_reset_1_5_pre_at_calls_on_array_dim_2_stmt_21": 
+                    "calls_on_array_dim_2": { "add_1_5_requires_2": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                              "reset_1_5_requires_2": 
                                                 { "qed": { "total": 1,
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } },
-                                              "specialization_load_1_5_pre_at_calls_on_array_dim_2_stmt_20": 
+                                              "load_1_5_requires_2": 
                                                 { "qed": { "total": 1,
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } },
-                                              "calls_on_array_dim_2_assign": 
+                                              "calls_on_array_dim_2_assigns": 
                                                 { "qed": { "total": 2,
                                                            "valid": 2 },
                                                   "wp:main": { "total": 2,
                                                                "valid": 2 } },
-                                              "calls_on_array_dim_2_post_Padd": 
+                                              "calls_on_array_dim_2_ensures_Padd": 
                                                 { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 2 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 2 } },
-                                              "calls_on_array_dim_2_post_Preset": 
+                                              "calls_on_array_dim_2_ensures_Preset": 
                                                 { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 1 } },
-                                              "calls_on_array_dim_2_post_Pload": 
+                                              "calls_on_array_dim_2_ensures_Pload": 
                                                 { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 1 },
diff --git a/src/plugins/wp/tests/wp_hoare/reference_array_simple.i.0.report.json b/src/plugins/wp/tests/wp_hoare/reference_array_simple.i.0.report.json
index d0cb543fa661ca129665804fc149c1e6fa7028d8..141e4abc28d6c2dd4cb136fb06f3a734b4a33a0d 100644
--- a/src/plugins/wp/tests/wp_hoare/reference_array_simple.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/reference_array_simple.i.0.report.json
@@ -1,25 +1,25 @@
 { "wp:global": { "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 3, "valid": 3 } },
-  "wp:functions": { "call_f1": { "call_f1_post": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+  "wp:functions": { "call_f1": { "call_f1_ensures": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                                  "wp:section": { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1 } } },
-                    "call_f2": { "call_f2_post": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+                    "call_f2": { "call_f2_ensures": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                                  "wp:section": { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1 } } },
-                    "call_f3": { "call_f3_post": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+                    "call_f3": { "call_f3_ensures": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                                  "wp:section": { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_hoare/refguards.i.0.report.json b/src/plugins/wp/tests/wp_hoare/refguards.i.0.report.json
index 88f4779426b0fa72d0eea82493ed95404b7457fd..3d1ac6c58e0c4e4428073290032fbb5a44b9a832 100644
--- a/src/plugins/wp/tests/wp_hoare/refguards.i.0.report.json
+++ b/src/plugins/wp/tests/wp_hoare/refguards.i.0.report.json
@@ -3,44 +3,49 @@
                  "qed": { "total": 7, "valid": 7 },
                  "wp:main": { "total": 9, "valid": 8, "unknown": 1,
                               "rank": 3 } },
-  "wp:functions": { "f": { "f_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+  "wp:functions": { "f": { "f_ensures": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } },
-                    "g": { "g_post": { "alt-ergo": { "total": 1, "valid": 1,
-                                                     "rank": 3 },
-                                       "wp:main": { "total": 1, "valid": 1,
-                                                    "rank": 3 } },
+                    "g": { "g_ensures": { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 4 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 4 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 3 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1,
                                                         "rank": 3 } } },
-                    "h": { "h_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+                    "h": { "h_ensures": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } },
-                    "s": { "s_post_KO": { "alt-ergo": { "total": 1,
-                                                        "unknown": 1 },
+                    "s": { "s_ensures_KO": { "alt-ergo": { "total": 1,
+                                                           "unknown": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "unknown": 1 } },
+                           "s_ensures_5": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
+                           "s_ensures_4": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
+                           "s_ensures_3": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
+                           "s_ensures_2": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
+                           "s_ensures": { "qed": { "total": 1, "valid": 1 },
                                           "wp:main": { "total": 1,
-                                                       "unknown": 1 } },
-                           "s_post_5": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "s_post_4": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "s_post_3": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "s_post_2": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "s_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+                                                       "valid": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "qed": { "total": 5, "valid": 5 },
diff --git a/src/plugins/wp/tests/wp_manual/manual.i.0.report.json b/src/plugins/wp/tests/wp_manual/manual.i.0.report.json
index 62c79a858389498c09fa6c359bb4ade661400b99..daede19ee430b3db88f2640311c2b317929c99b1 100644
--- a/src/plugins/wp/tests/wp_manual/manual.i.0.report.json
+++ b/src/plugins/wp/tests/wp_manual/manual.i.0.report.json
@@ -1,16 +1,16 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 3 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 2, "valid": 2, "rank": 3 } },
-  "wp:functions": { "swap": { "swap_post_B": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "swap_post_A": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 3 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 3 } },
+  "wp:functions": { "swap": { "swap_ensures_B": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                              "swap_ensures_A": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 4 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 4 } },
                               "wp:section": { "alt-ergo": { "total": 1,
                                                             "valid": 1,
                                                             "rank": 3 },
diff --git a/src/plugins/wp/tests/wp_manual/manual.i.1.report.json b/src/plugins/wp/tests/wp_manual/manual.i.1.report.json
index efbb2d39bc1807b27fa1d09c7e0b1499dd5c8579..46e1782afb0298f8138bb4284be77678fd69093c 100644
--- a/src/plugins/wp/tests/wp_manual/manual.i.1.report.json
+++ b/src/plugins/wp/tests/wp_manual/manual.i.1.report.json
@@ -29,20 +29,20 @@
                                                                 { "total": 1,
                                                                   "valid": 1,
                                                                   "rank": 4 } },
-                              "swap_assign": { "qed": { "total": 2,
-                                                        "valid": 2 },
-                                               "wp:main": { "total": 2,
-                                                            "valid": 2 } },
-                              "swap_post_B": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "swap_post_A": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 5 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 5 } },
+                              "swap_assigns": { "qed": { "total": 2,
+                                                         "valid": 2 },
+                                                "wp:main": { "total": 2,
+                                                             "valid": 2 } },
+                              "swap_ensures_B": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                              "swap_ensures_A": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 5 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 } },
                               "wp:section": { "alt-ergo": { "total": 3,
                                                             "valid": 3,
                                                             "rank": 5 },
diff --git a/src/plugins/wp/tests/wp_manual/manual.i.2.report.json b/src/plugins/wp/tests/wp_manual/manual.i.2.report.json
index efbb2d39bc1807b27fa1d09c7e0b1499dd5c8579..46e1782afb0298f8138bb4284be77678fd69093c 100644
--- a/src/plugins/wp/tests/wp_manual/manual.i.2.report.json
+++ b/src/plugins/wp/tests/wp_manual/manual.i.2.report.json
@@ -29,20 +29,20 @@
                                                                 { "total": 1,
                                                                   "valid": 1,
                                                                   "rank": 4 } },
-                              "swap_assign": { "qed": { "total": 2,
-                                                        "valid": 2 },
-                                               "wp:main": { "total": 2,
-                                                            "valid": 2 } },
-                              "swap_post_B": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "swap_post_A": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 5 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 5 } },
+                              "swap_assigns": { "qed": { "total": 2,
+                                                         "valid": 2 },
+                                                "wp:main": { "total": 2,
+                                                             "valid": 2 } },
+                              "swap_ensures_B": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                              "swap_ensures_A": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 5 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 } },
                               "wp:section": { "alt-ergo": { "total": 3,
                                                             "valid": 3,
                                                             "rank": 5 },
diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.res.oracle b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.res.oracle
index 544488b6ffeabfb22b20a9f6edf1ee77a916fe5e..f05e6a193e6f9ac3b644cbe98676966294bac5e0 100644
--- a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.res.oracle
+++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.0.res.oracle
@@ -6,8 +6,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Alt-Ergo] Goal typed_swap_post_A : Valid
-[wp] [Qed] Goal typed_swap_post_B : Valid
+[wp] [Alt-Ergo] Goal typed_swap_ensures_A : Valid
+[wp] [Qed] Goal typed_swap_ensures_B : Valid
 [wp] Proved goals:    2 / 2
   Qed:             1 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.res.oracle b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.res.oracle
index ce53f53550afbe73654e48a60ffee65575721761..7380ed072cd7b881d8ce63f92d4a61f2d6980a1d 100644
--- a/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.res.oracle
+++ b/src/plugins/wp/tests/wp_manual/oracle_qualif/manual.1.res.oracle
@@ -6,14 +6,14 @@
 [wp] Loading driver 'share/wp.driver'
 [rte] annotating function swap
 [wp] 8 goals scheduled
-[wp] [Alt-Ergo] Goal typed_swap_post_A : Valid
-[wp] [Qed] Goal typed_swap_post_B : Valid
+[wp] [Alt-Ergo] Goal typed_swap_ensures_A : Valid
+[wp] [Qed] Goal typed_swap_ensures_B : Valid
 [wp] [Alt-Ergo] Goal typed_swap_assert_rte_mem_access : Valid
 [wp] [Qed] Goal typed_swap_assert_rte_mem_access_2 : Valid
 [wp] [Alt-Ergo] Goal typed_swap_assert_rte_mem_access_3 : Valid
 [wp] [Qed] Goal typed_swap_assert_rte_mem_access_4 : Valid
-[wp] [Qed] Goal typed_swap_assign_part1 : Valid
-[wp] [Qed] Goal typed_swap_assign_part2 : Valid
+[wp] [Qed] Goal typed_swap_assigns_part1 : Valid
+[wp] [Qed] Goal typed_swap_assigns_part2 : Valid
 [wp] Proved goals:    8 / 8
   Qed:             5 
   Alt-Ergo:        3
diff --git a/src/plugins/wp/tests/wp_plugin/abs.i.0.report.json b/src/plugins/wp/tests/wp_plugin/abs.i.0.report.json
index d49378e2cfe226f518e0b7ab11465a8d7c7b9ef6..a80a2d1beca3dd9464d3a58c09fde1529bcb255b 100644
--- a/src/plugins/wp/tests/wp_plugin/abs.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/abs.i.0.report.json
@@ -1,11 +1,11 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 2 },
                  "wp:main": { "total": 1, "valid": 1, "rank": 2 } },
-  "wp:functions": { "abs": { "abs_post": { "alt-ergo": { "total": 1,
-                                                         "valid": 1,
-                                                         "rank": 2 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 2 } },
+  "wp:functions": { "abs": { "abs_ensures": { "alt-ergo": { "total": 1,
+                                                            "valid": 1,
+                                                            "rank": 2 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 2 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 2 },
diff --git a/src/plugins/wp/tests/wp_plugin/abs.i.1.report.json b/src/plugins/wp/tests/wp_plugin/abs.i.1.report.json
index 27343d990c515b76cc77f026eb2a7de2885e4c86..615d8ae63ebf4d3fccadd739c10ae1950a5e07e3 100644
--- a/src/plugins/wp/tests/wp_plugin/abs.i.1.report.json
+++ b/src/plugins/wp/tests/wp_plugin/abs.i.1.report.json
@@ -1,8 +1,9 @@
 { "wp:global": { "coq": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 1, "valid": 1 } },
-  "wp:functions": { "abs": { "abs_post": { "coq": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1 } },
+  "wp:functions": { "abs": { "abs_ensures": { "coq": { "total": 1,
+                                                       "valid": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1 } },
                              "wp:section": { "coq": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/abs.i.2.report.json b/src/plugins/wp/tests/wp_plugin/abs.i.2.report.json
index fed0840ce12d0b93fe41b8992c82069801a6d03e..5944569879bbc4a26e7e36baafcebf4d3ad9fd30 100644
--- a/src/plugins/wp/tests/wp_plugin/abs.i.2.report.json
+++ b/src/plugins/wp/tests/wp_plugin/abs.i.2.report.json
@@ -1,9 +1,9 @@
 { "wp:global": { "why3:alt-ergo": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 1, "valid": 1 } },
-  "wp:functions": { "abs": { "abs_post": { "why3:alt-ergo": { "total": 1,
-                                                              "valid": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1 } },
+  "wp:functions": { "abs": { "abs_ensures": { "why3:alt-ergo": { "total": 1,
+                                                                 "valid": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1 } },
                              "wp:section": { "why3:alt-ergo": { "total": 1,
                                                                 "valid": 1 },
                                              "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/abs.script b/src/plugins/wp/tests/wp_plugin/abs.script
index d00a1a3f2935dad4ea4579e27314b7dc2ab20ed6..9cd057bc899e0c3eb3e7285df7c5edf7f9e736f5 100644
--- a/src/plugins/wp/tests/wp_plugin/abs.script
+++ b/src/plugins/wp/tests/wp_plugin/abs.script
@@ -1,6 +1,6 @@
 (* Generated by Frama-C WP *)
 
-Goal typed_abs_abs_post.
+Goal typed_abs_abs_ensures.
 Hint abs,default,property.
 Proof.
   intro n. intros. subst.
diff --git a/src/plugins/wp/tests/wp_plugin/asm.i.0.report.json b/src/plugins/wp/tests/wp_plugin/asm.i.0.report.json
index b9104446f42b30ae70b732be612bf00fc2e61fd1..f12a169da4eebf3f8cc384e0249786c3c213bd82 100644
--- a/src/plugins/wp/tests/wp_plugin/asm.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/asm.i.0.report.json
@@ -9,10 +9,10 @@
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } },
-                              "main_stmt_assign": { "alt-ergo": { "total": 1,
-                                                                  "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
+                              "main_assigns": { "alt-ergo": { "total": 1,
+                                                              "unknown": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "unknown": 1 } },
                               "wp:section": { "alt-ergo": { "total": 2,
                                                             "unknown": 2 },
                                               "qed": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/bool.i.0.report.json b/src/plugins/wp/tests/wp_plugin/bool.i.0.report.json
index 54525d65b41036b914ebf2d11d08d60d63f7adcd..ed33644f6dfc6d57962bddc5fa958e5a0d8773b3 100644
--- a/src/plugins/wp/tests/wp_plugin/bool.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/bool.i.0.report.json
@@ -3,28 +3,28 @@
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 7, "valid": 3, "unknown": 4,
                               "rank": 2 } },
-  "wp:functions": { "job": { "job_post": { "alt-ergo": { "total": 1,
-                                                         "unknown": 1 },
-                                           "wp:main": { "total": 1,
-                                                        "unknown": 1 } },
+  "wp:functions": { "job": { "job_ensures": { "alt-ergo": { "total": 1,
+                                                            "unknown": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "unknown": 1 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "unknown": 1 },
                                              "wp:main": { "total": 1,
                                                           "unknown": 1 } } },
-                    "bor_bool": { "bor_bool_false_post": { "alt-ergo": 
-                                                             { "total": 1,
-                                                               "unknown": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "unknown": 1 } },
-                                  "bor_bool_true_post": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 } },
+                    "bor_bool": { "bor_bool_false_ensures": { "alt-ergo": 
+                                                                { "total": 1,
+                                                                  "unknown": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "unknown": 1 } },
+                                  "bor_bool_true_ensures": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 2 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 2 } },
                                   "wp:section": { "alt-ergo": { "total": 2,
                                                                 "valid": 1,
                                                                 "unknown": 1,
@@ -33,17 +33,18 @@
                                                                "valid": 1,
                                                                "unknown": 1,
                                                                "rank": 2 } } },
-                    "band_bool": { "band_bool_false_post": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 } },
-                                   "band_bool_true_post": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "band_bool": { "band_bool_false_ensures": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 } },
+                                   "band_bool_true_ensures": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "unknown": 1 },
                                                    "qed": { "total": 1,
@@ -51,17 +52,18 @@
                                                    "wp:main": { "total": 2,
                                                                 "valid": 1,
                                                                 "unknown": 1 } } },
-                    "bxor_bool": { "bxor_bool_false_post": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 } },
-                                   "bxor_bool_true_post": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "bxor_bool": { "bxor_bool_false_ensures": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 } },
+                                   "bxor_bool_true_ensures": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "unknown": 1 },
                                                    "qed": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/bool.i.1.report.json b/src/plugins/wp/tests/wp_plugin/bool.i.1.report.json
index be8efece9311f9f62736287e7eefb1046b6b18e4..b742063030077413d842558425eb6e8d524c2aa8 100644
--- a/src/plugins/wp/tests/wp_plugin/bool.i.1.report.json
+++ b/src/plugins/wp/tests/wp_plugin/bool.i.1.report.json
@@ -1,53 +1,54 @@
 { "wp:global": { "alt-ergo": { "total": 5, "valid": 5, "rank": 6 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 7, "valid": 7, "rank": 6 } },
-  "wp:functions": { "job": { "job_post": { "alt-ergo": { "total": 1,
-                                                         "valid": 1,
-                                                         "rank": 4 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 4 } },
+  "wp:functions": { "job": { "job_ensures": { "alt-ergo": { "total": 1,
+                                                            "valid": 1,
+                                                            "rank": 4 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 4 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 4 },
                                              "wp:main": { "total": 1,
                                                           "valid": 1,
                                                           "rank": 4 } } },
-                    "bor_bool": { "bor_bool_false_post": { "alt-ergo": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 2 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 2 } },
-                                  "bor_bool_true_post": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 2 } },
+                    "bor_bool": { "bor_bool_false_ensures": { "alt-ergo": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 3 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 3 } },
+                                  "bor_bool_true_ensures": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 2 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 2 } },
                                   "wp:section": { "alt-ergo": { "total": 2,
                                                                 "valid": 2,
                                                                 "rank": 2 },
                                                   "wp:main": { "total": 2,
                                                                "valid": 2,
                                                                "rank": 2 } } },
-                    "band_bool": { "band_bool_false_post": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 6 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 6 } },
-                                   "band_bool_true_post": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "band_bool": { "band_bool_false_ensures": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 6 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 6 } },
+                                   "band_bool_true_ensures": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 6 },
@@ -56,19 +57,20 @@
                                                    "wp:main": { "total": 2,
                                                                 "valid": 2,
                                                                 "rank": 6 } } },
-                    "bxor_bool": { "bxor_bool_false_post": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 2 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 2 } },
-                                   "bxor_bool_true_post": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "bxor_bool": { "bxor_bool_false_ensures": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 3 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 3 } },
+                                   "bxor_bool_true_ensures": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 2 },
diff --git a/src/plugins/wp/tests/wp_plugin/copy.i.0.report.json b/src/plugins/wp/tests/wp_plugin/copy.i.0.report.json
index a0aeba66b5723e0d660ec68c6b67280a7e2800b8..a43a30f5986ad1086a3610073b363f8e334d77a1 100644
--- a/src/plugins/wp/tests/wp_plugin/copy.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/copy.i.0.report.json
@@ -13,40 +13,44 @@
                                                  "wp:main": { "total": 1,
                                                               "valid": 1,
                                                               "rank": 31 } },
-                              "copy_loop_inv_Copy": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 7 },
-                                                      "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 2,
-                                                                   "valid": 2,
-                                                                   "rank": 7 } },
-                              "copy_loop_inv_Range": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 5 },
-                                                       "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 5 } },
-                              "copy_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "copy_loop_assign": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 22 },
-                                                    "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 2,
+                              "copy_loop_invariant_Copy": { "alt-ergo": 
+                                                              { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 8 },
+                                                            "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 2,
+                                                                "valid": 2,
+                                                                "rank": 8 } },
+                              "copy_loop_invariant_Range": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 5 },
+                                                             "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 2,
                                                                  "valid": 2,
-                                                                 "rank": 22 } },
-                              "copy_post": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 5 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1,
-                                                          "rank": 5 } },
+                                                                 "rank": 5 } },
+                              "copy_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "copy_loop_assigns": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 23 },
+                                                     "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2,
+                                                                  "rank": 23 } },
+                              "copy_ensures": { "alt-ergo": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 6 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 6 } },
                               "wp:section": { "alt-ergo": { "total": 6,
                                                             "valid": 6,
                                                             "rank": 38 },
diff --git a/src/plugins/wp/tests/wp_plugin/dynamic.i.0.report.json b/src/plugins/wp/tests/wp_plugin/dynamic.i.0.report.json
index 5bc84b3ea34cd84e44029eedc2e50d44af10ee4d..a2e8ed5c5127e69cd79584cb22fb2d66fd5d3e3b 100644
--- a/src/plugins/wp/tests/wp_plugin/dynamic.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/dynamic.i.0.report.json
@@ -1,22 +1,22 @@
 { "wp:global": { "alt-ergo": { "total": 3, "valid": 3, "rank": 14 },
                  "qed": { "total": 10, "valid": 10 },
                  "wp:main": { "total": 13, "valid": 13, "rank": 14 } },
-  "wp:functions": { "call": { "specialization_f1_pre_at_call_stmt_3": 
-                                { "alt-ergo": { "total": 1, "valid": 1,
-                                                "rank": 14 },
-                                  "wp:main": { "total": 1, "valid": 1,
-                                               "rank": 14 } },
-                              "call_stmt_calls_f1_f2": { "alt-ergo": 
-                                                           { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 6 },
-                                                         "wp:main": { "total": 1,
+  "wp:functions": { "call": { "f1_requires_2": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 14 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 14 } },
+                              "call_calls_f1_f2_s3": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 6 },
+                                                       "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 6 } },
-                              "call_post": { "qed": { "total": 2,
-                                                      "valid": 2 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2 } },
+                              "call_ensures": { "qed": { "total": 2,
+                                                         "valid": 2 },
+                                                "wp:main": { "total": 2,
+                                                             "valid": 2 } },
                               "wp:section": { "alt-ergo": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 14 },
@@ -25,28 +25,29 @@
                                               "wp:main": { "total": 4,
                                                            "valid": 4,
                                                            "rank": 14 } } },
-                    "guarded_call": { "guarded_call_stmt_calls_g": { "qed": 
+                    "guarded_call": { "guarded_call_calls_g_s9": { "qed": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                    "wp:main": 
+                                                                   "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                                      "guarded_call_post_2": { "qed": 
-                                                                 { "total": 2,
-                                                                   "valid": 2 },
-                                                               "wp:main": 
-                                                                 { "total": 2,
-                                                                   "valid": 2 } },
-                                      "guarded_call_post": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 3 },
-                                                             "qed": { "total": 1,
+                                      "guarded_call_ensures_2": { "qed": 
+                                                                    { "total": 2,
+                                                                    "valid": 2 },
+                                                                  "wp:main": 
+                                                                    { "total": 2,
+                                                                    "valid": 2 } },
+                                      "guarded_call_ensures": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 4 },
+                                                                "qed": 
+                                                                  { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 3 } },
+                                                                "wp:main": 
+                                                                  { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 4 } },
                                       "wp:section": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 3 },
@@ -55,16 +56,22 @@
                                                       "wp:main": { "total": 5,
                                                                    "valid": 5,
                                                                    "rank": 3 } } },
-                    "no_call": { "specialization_unreachable_g_pre_at_no_call_stmt_17": 
-                                   { "qed": { "total": 1, "valid": 1 },
-                                     "wp:main": { "total": 1, "valid": 1 } },
-                                 "no_call_stmt_calls_unreachable_g": 
-                                   { "qed": { "total": 1, "valid": 1 },
-                                     "wp:main": { "total": 1, "valid": 1 } },
-                                 "no_call_post": { "qed": { "total": 2,
-                                                            "valid": 2 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2 } },
+                    "no_call": { "unreachable_g_requires_2": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
+                                 "no_call_calls_unreachable_g_s17": { "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 } },
+                                 "no_call_ensures": { "qed": { "total": 2,
+                                                               "valid": 2 },
+                                                      "wp:main": { "total": 2,
+                                                                   "valid": 2 } },
                                  "wp:section": { "qed": { "total": 4,
                                                           "valid": 4 },
                                                  "wp:main": { "total": 4,
diff --git a/src/plugins/wp/tests/wp_plugin/flash.c.0.report.json b/src/plugins/wp/tests/wp_plugin/flash.c.0.report.json
index b60ab62c9d51f86f09e60623621ef1114d85e3af..b56ae23d547912581057352e2f5d14d84957b77e 100644
--- a/src/plugins/wp/tests/wp_plugin/flash.c.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/flash.c.0.report.json
@@ -1,30 +1,33 @@
 { "wp:global": { "alt-ergo": { "total": 5, "unknown": 5 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 6, "valid": 1, "unknown": 5 } },
-  "wp:functions": { "job": { "job_post_WriteValues": { "alt-ergo": { "total": 1,
+  "wp:functions": { "job": { "job_ensures_WriteValues": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "unknown": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "unknown": 1 } },
+                             "job_ensures_ReadValues": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "unknown": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                             "job_ensures_B_writes": { "alt-ergo": { "total": 1,
                                                                     "unknown": 1 },
                                                        "wp:main": { "total": 1,
                                                                     "unknown": 1 } },
-                             "job_post_ReadValues": { "alt-ergo": { "total": 1,
+                             "job_ensures_B_reads": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "unknown": 1 } },
+                             "job_ensures_A_reads": { "alt-ergo": { "total": 1,
                                                                     "unknown": 1 },
                                                       "wp:main": { "total": 1,
                                                                    "unknown": 1 } },
-                             "job_post_B_writes": { "alt-ergo": { "total": 1,
-                                                                  "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
-                             "job_post_B_reads": { "alt-ergo": { "total": 1,
-                                                                 "unknown": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "unknown": 1 } },
-                             "job_post_A_reads": { "alt-ergo": { "total": 1,
-                                                                 "unknown": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "unknown": 1 } },
-                             "job_post_Events": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
+                             "job_ensures_Events": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                              "wp:section": { "alt-ergo": { "total": 5,
                                                            "unknown": 5 },
                                              "qed": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/flash.c.1.report.json b/src/plugins/wp/tests/wp_plugin/flash.c.1.report.json
index 12b5c0544d98610b133b1a24790be69584814694..63cb5905a73bef4a1486cafaa1d5b2366af44f2d 100644
--- a/src/plugins/wp/tests/wp_plugin/flash.c.1.report.json
+++ b/src/plugins/wp/tests/wp_plugin/flash.c.1.report.json
@@ -1,40 +1,43 @@
 { "wp:global": { "alt-ergo": { "total": 5, "valid": 5, "rank": 20 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 6, "valid": 6, "rank": 20 } },
-  "wp:functions": { "job": { "job_post_WriteValues": { "alt-ergo": { "total": 1,
+  "wp:functions": { "job": { "job_ensures_WriteValues": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 20 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 20 } },
+                             "job_ensures_ReadValues": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 20 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 19 },
+                                                                    "rank": 20 } },
+                             "job_ensures_B_writes": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 },
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 19 } },
-                             "job_post_ReadValues": { "alt-ergo": { "total": 1,
+                                                                    "rank": 13 } },
+                             "job_ensures_B_reads": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 20 },
+                                                                    "rank": 19 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 19 } },
+                             "job_ensures_A_reads": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 19 },
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1,
-                                                                   "rank": 20 } },
-                             "job_post_B_writes": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 12 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 12 } },
-                             "job_post_B_reads": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 19 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 19 } },
-                             "job_post_A_reads": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 19 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 19 } },
-                             "job_post_Events": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
+                                                                   "rank": 19 } },
+                             "job_ensures_Events": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                              "wp:section": { "alt-ergo": { "total": 5,
                                                            "valid": 5,
                                                            "rank": 20 },
diff --git a/src/plugins/wp/tests/wp_plugin/flash.c.2.report.json b/src/plugins/wp/tests/wp_plugin/flash.c.2.report.json
index e2d2199289ff6b8531bc832c72433cbda0dca578..cd22f13467b2d496800380d03037041750402e62 100644
--- a/src/plugins/wp/tests/wp_plugin/flash.c.2.report.json
+++ b/src/plugins/wp/tests/wp_plugin/flash.c.2.report.json
@@ -1,29 +1,30 @@
 { "wp:global": { "qed": { "total": 6, "valid": 6 },
                  "wp:main": { "total": 6, "valid": 6 } },
-  "wp:functions": { "job": { "job_post_WriteValues": { "qed": { "total": 1,
+  "wp:functions": { "job": { "job_ensures_WriteValues": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_ReadValues": { "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                             "job_ensures_B_writes": { "qed": { "total": 1,
                                                                 "valid": 1 },
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                             "job_post_ReadValues": { "qed": { "total": 1,
+                             "job_ensures_B_reads": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                             "job_ensures_A_reads": { "qed": { "total": 1,
                                                                "valid": 1 },
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1 } },
-                             "job_post_B_writes": { "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1 } },
-                             "job_post_B_reads": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                             "job_post_A_reads": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                             "job_post_Events": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
+                             "job_ensures_Events": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
                              "wp:section": { "qed": { "total": 6,
                                                       "valid": 6 },
                                              "wp:main": { "total": 6,
diff --git a/src/plugins/wp/tests/wp_plugin/float_format.i.0.report.json b/src/plugins/wp/tests/wp_plugin/float_format.i.0.report.json
index 065d8730e68d2af1d1e0781bf374aeb17f134f0c..2a3ca74e5152ebcd6c9370afa410a213cb6b99b8 100644
--- a/src/plugins/wp/tests/wp_plugin/float_format.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/float_format.i.0.report.json
@@ -1,9 +1,9 @@
 { "wp:global": { "coq": { "total": 1, "unknown": 1 },
                  "wp:main": { "total": 1, "unknown": 1 } },
-  "wp:functions": { "output": { "output_post_KO": { "coq": { "total": 1,
-                                                             "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
+  "wp:functions": { "output": { "output_ensures_KO": { "coq": { "total": 1,
+                                                                "unknown": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
                                 "wp:section": { "coq": { "total": 1,
                                                          "unknown": 1 },
                                                 "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/float_format.i.1.report.json b/src/plugins/wp/tests/wp_plugin/float_format.i.1.report.json
index 10a449c5b8758c535d754b3b46df0f92aba67c74..1f1c00faadb72419707c193d451c8560cc4d49c8 100644
--- a/src/plugins/wp/tests/wp_plugin/float_format.i.1.report.json
+++ b/src/plugins/wp/tests/wp_plugin/float_format.i.1.report.json
@@ -1,9 +1,9 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "wp:main": { "total": 1, "unknown": 1 } },
-  "wp:functions": { "output": { "output_post_KO": { "alt-ergo": { "total": 1,
-                                                                  "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
+  "wp:functions": { "output": { "output_ensures_KO": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
                                 "wp:section": { "alt-ergo": { "total": 1,
                                                               "unknown": 1 },
                                                 "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/float_format.i.2.report.json b/src/plugins/wp/tests/wp_plugin/float_format.i.2.report.json
index b2ba13fe0e9545624c766a053030583f6bfa22ee..80aed7d64259207bf03ec54f0bef74316858c086 100644
--- a/src/plugins/wp/tests/wp_plugin/float_format.i.2.report.json
+++ b/src/plugins/wp/tests/wp_plugin/float_format.i.2.report.json
@@ -1,10 +1,10 @@
 { "wp:global": { "why3:alt-ergo": { "total": 1, "unknown": 1 },
                  "wp:main": { "total": 1, "unknown": 1 } },
-  "wp:functions": { "output": { "output_post_KO": { "why3:alt-ergo": 
-                                                      { "total": 1,
-                                                        "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
+  "wp:functions": { "output": { "output_ensures_KO": { "why3:alt-ergo": 
+                                                         { "total": 1,
+                                                           "unknown": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
                                 "wp:section": { "why3:alt-ergo": { "total": 1,
                                                                    "unknown": 1 },
                                                 "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/frame.i.0.report.json b/src/plugins/wp/tests/wp_plugin/frame.i.0.report.json
index 239c2603e123e4b4fd49da9a364de1b66a3878a3..993d6f800871b136aa491a8594e86226bb0f56c8 100644
--- a/src/plugins/wp/tests/wp_plugin/frame.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/frame.i.0.report.json
@@ -1,14 +1,14 @@
 { "wp:global": { "alt-ergo": { "total": 4, "unknown": 4 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 6, "valid": 2, "unknown": 4 } },
-  "wp:functions": { "local": { "local_post_KO": { "alt-ergo": { "total": 1,
-                                                                "unknown": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "unknown": 1 } },
-                               "local_post_FRAMED": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
+  "wp:functions": { "local": { "local_ensures_KO": { "alt-ergo": { "total": 1,
+                                                                   "unknown": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "unknown": 1 } },
+                               "local_ensures_FRAMED": { "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                                "wp:section": { "alt-ergo": { "total": 1,
                                                              "unknown": 1 },
                                                "qed": { "total": 1,
@@ -16,10 +16,10 @@
                                                "wp:main": { "total": 2,
                                                             "valid": 1,
                                                             "unknown": 1 } } },
-                    "global": { "global_post_KO": { "alt-ergo": { "total": 1,
-                                                                  "unknown": 1 },
-                                                    "wp:main": { "total": 1,
-                                                                 "unknown": 1 } },
+                    "global": { "global_ensures_KO": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
                                 "wp:section": { "alt-ergo": { "total": 1,
                                                               "unknown": 1 },
                                                 "wp:main": { "total": 1,
@@ -30,10 +30,12 @@
                                                               "wp:main": 
                                                                 { "total": 1,
                                                                   "valid": 1 } },
-                                  "localref_post_KO": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "unknown": 1 } },
+                                  "localref_ensures_KO": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "unknown": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "unknown": 1 } },
                                   "wp:section": { "alt-ergo": { "total": 1,
                                                                 "unknown": 1 },
                                                   "qed": { "total": 1,
@@ -41,10 +43,10 @@
                                                   "wp:main": { "total": 2,
                                                                "valid": 1,
                                                                "unknown": 1 } } },
-                    "alias": { "alias_post_KO": { "alt-ergo": { "total": 1,
-                                                                "unknown": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "unknown": 1 } },
+                    "alias": { "alias_ensures_KO": { "alt-ergo": { "total": 1,
+                                                                   "unknown": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "unknown": 1 } },
                                "wp:section": { "alt-ergo": { "total": 1,
                                                              "unknown": 1 },
                                                "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/init_const.i.0.report.json b/src/plugins/wp/tests/wp_plugin/init_const.i.0.report.json
index 5bb2bdf0416fc76cc2710c45263160a27998ad0c..8a6814a1eb58c0ae9410d4affc0ba34ad072deb3 100644
--- a/src/plugins/wp/tests/wp_plugin/init_const.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/init_const.i.0.report.json
@@ -1,31 +1,33 @@
 { "wp:global": { "alt-ergo": { "total": 2, "unknown": 2 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 4, "valid": 2, "unknown": 2 } },
-  "wp:functions": { "fA": { "fA_post_KO": { "alt-ergo": { "total": 1,
-                                                          "unknown": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "unknown": 1 } },
+  "wp:functions": { "fA": { "fA_ensures_KO": { "alt-ergo": { "total": 1,
+                                                             "unknown": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "unknown": 1 } },
                             "wp:section": { "alt-ergo": { "total": 1,
                                                           "unknown": 1 },
                                             "wp:main": { "total": 1,
                                                          "unknown": 1 } } },
-                    "fB": { "fB_post_OK": { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
+                    "fB": { "fB_ensures_OK": { "qed": { "total": 1,
+                                                        "valid": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "valid": 1 } },
                             "wp:section": { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } } },
-                    "fC": { "fC_post_KO": { "alt-ergo": { "total": 1,
-                                                          "unknown": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "unknown": 1 } },
+                    "fC": { "fC_ensures_KO": { "alt-ergo": { "total": 1,
+                                                             "unknown": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "unknown": 1 } },
                             "wp:section": { "alt-ergo": { "total": 1,
                                                           "unknown": 1 },
                                             "wp:main": { "total": 1,
                                                          "unknown": 1 } } },
-                    "fD": { "fD_post_OK": { "qed": { "total": 1, "valid": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "valid": 1 } },
+                    "fD": { "fD_ensures_OK": { "qed": { "total": 1,
+                                                        "valid": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "valid": 1 } },
                             "wp:section": { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } } } } }
diff --git a/src/plugins/wp/tests/wp_plugin/init_const_guard.i.0.report.json b/src/plugins/wp/tests/wp_plugin/init_const_guard.i.0.report.json
index 36168d14b6d3bf1314aff9a747f654c2ed3e4c51..63815906a462b1911d97e4393414b6f555ae8da9 100644
--- a/src/plugins/wp/tests/wp_plugin/init_const_guard.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/init_const_guard.i.0.report.json
@@ -3,24 +3,24 @@
                  "qed": { "total": 4, "valid": 4 },
                  "wp:main": { "total": 7, "valid": 6, "unknown": 1,
                               "rank": 5 } },
-  "wp:functions": { "f": { "f_post_Q_NotWrite": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                           "f_post_Q_ReadOnly": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                           "f_post_Pointed_Valid": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 5 },
+  "wp:functions": { "f": { "f_ensures_Q_NotWrite": { "qed": { "total": 1,
+                                                              "valid": 1 },
                                                      "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 5 } },
-                           "f_post_Const": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                                                                  "valid": 1 } },
+                           "f_ensures_Q_ReadOnly": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                           "f_ensures_Pointed_Valid": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 5 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 5 } },
+                           "f_ensures_Const": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 5 },
@@ -40,10 +40,10 @@
                                               "wp:main": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 5 } },
-                           "g_post_P_not_Const": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+                           "g_ensures_P_not_Const": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                            "wp:section": { "alt-ergo": { "total": 2,
                                                          "valid": 1,
                                                          "unknown": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/init_extern.i.0.report.json b/src/plugins/wp/tests/wp_plugin/init_extern.i.0.report.json
index e1653744eccdb1f9c049ad5611f36bf5e6b5ea7b..f4ea47634b8ba4c26ee71bbea25b3e575dcf5ede 100644
--- a/src/plugins/wp/tests/wp_plugin/init_extern.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/init_extern.i.0.report.json
@@ -1,17 +1,18 @@
 { "wp:global": { "alt-ergo": { "total": 2, "unknown": 2 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 3, "valid": 1, "unknown": 2 } },
-  "wp:functions": { "f": { "f_post_KO_2": { "alt-ergo": { "total": 1,
-                                                          "unknown": 1 },
-                                            "wp:main": { "total": 1,
-                                                         "unknown": 1 } },
-                           "f_post_KO": { "alt-ergo": { "total": 1,
-                                                        "unknown": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "unknown": 1 } },
-                           "f_post_OK": { "qed": { "total": 1, "valid": 1 },
-                                          "wp:main": { "total": 1,
-                                                       "valid": 1 } },
+  "wp:functions": { "f": { "f_ensures_KO_2": { "alt-ergo": { "total": 1,
+                                                             "unknown": 1 },
+                                               "wp:main": { "total": 1,
+                                                            "unknown": 1 } },
+                           "f_ensures_KO": { "alt-ergo": { "total": 1,
+                                                           "unknown": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "unknown": 1 } },
+                           "f_ensures_OK": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
                            "wp:section": { "alt-ergo": { "total": 2,
                                                          "unknown": 2 },
                                            "qed": { "total": 1, "valid": 1 },
diff --git a/src/plugins/wp/tests/wp_plugin/initarr.i.0.report.json b/src/plugins/wp/tests/wp_plugin/initarr.i.0.report.json
index de547fd6b4cf5a3df3246978cd16e306af11b9d1..89a572c8b60ba71a35ea5d3a529f69919d999152 100644
--- a/src/plugins/wp/tests/wp_plugin/initarr.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/initarr.i.0.report.json
@@ -1,17 +1,17 @@
 { "wp:global": { "alt-ergo": { "total": 2, "valid": 2, "rank": 10 },
                  "wp:main": { "total": 2, "valid": 2, "rank": 10 } },
-  "wp:functions": { "job": { "job_post_ALT": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 7 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 7 } },
-                             "job_post_SEP": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 10 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 10 } },
+  "wp:functions": { "job": { "job_ensures_ALT": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 8 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 8 } },
+                             "job_ensures_SEP": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 11 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 11 } },
                              "wp:section": { "alt-ergo": { "total": 2,
                                                            "valid": 2,
                                                            "rank": 10 },
diff --git a/src/plugins/wp/tests/wp_plugin/injector.c.0.report.json b/src/plugins/wp/tests/wp_plugin/injector.c.0.report.json
index 46f939a9b6a76b4e0fa73148789b118d834f3e4b..8b0abd24a6d9b88900c3333918830bb2cc5ba320 100644
--- a/src/plugins/wp/tests/wp_plugin/injector.c.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/injector.c.0.report.json
@@ -1,61 +1,67 @@
 { "wp:global": { "qed": { "total": 13, "valid": 13 },
                  "wp:main": { "total": 13, "valid": 13 } },
-  "wp:functions": { "f": { "specialization_g_pre_at_f_stmt_6": { "qed": 
-                                                                   { "total": 1,
+  "wp:functions": { "f": { "g_requires_3": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "g_requires_2": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
+                           "f_SUCCESS_ensures_qed_ok_4": { "qed": { "total": 1,
                                                                     "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
-                                                                    "valid": 1 } },
-                           "specialization_g_pre_at_f_stmt_1": { "qed": 
-                                                                   { "total": 1,
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                           "f_SUCCESS_ensures_qed_ok_3": { "qed": { "total": 1,
                                                                     "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_SUCCESS_post_qed_ok_4": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_SUCCESS_post_qed_ok_3": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_SUCCESS_post_qed_ok_2": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_SUCCESS_post_qed_ok": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                           "f_SND_FAIL_post_qed_ok_4": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_SND_FAIL_post_qed_ok_3": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_SND_FAIL_post_qed_ok_2": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_SND_FAIL_post_qed_ok": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_FST_FAIL_post_qed_ok_3": { "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                           "f_FST_FAIL_post_qed_ok_2": { "qed": { "total": 1,
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                           "f_SUCCESS_ensures_qed_ok_2": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                           "f_SUCCESS_ensures_qed_ok": { "qed": { "total": 1,
                                                                   "valid": 1 },
                                                          "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                           "f_FST_FAIL_post_qed_ok": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                           "f_SND_FAIL_ensures_qed_ok_4": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
+                           "f_SND_FAIL_ensures_qed_ok_3": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
+                           "f_SND_FAIL_ensures_qed_ok_2": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
+                           "f_SND_FAIL_ensures_qed_ok": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                           "f_FST_FAIL_ensures_qed_ok_3": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
+                           "f_FST_FAIL_ensures_qed_ok_2": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
+                           "f_FST_FAIL_ensures_qed_ok": { "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
                            "wp:section": { "qed": { "total": 13,
                                                     "valid": 13 },
                                            "wp:main": { "total": 13,
diff --git a/src/plugins/wp/tests/wp_plugin/injector.c.1.report.json b/src/plugins/wp/tests/wp_plugin/injector.c.1.report.json
index 14d1b1583505defd7ca97fdec940d474c88df079..11e14caec9175fbcf551491b247fd494e7a06f69 100644
--- a/src/plugins/wp/tests/wp_plugin/injector.c.1.report.json
+++ b/src/plugins/wp/tests/wp_plugin/injector.c.1.report.json
@@ -1,21 +1,21 @@
 { "wp:global": { "alt-ergo": { "total": 4, "unknown": 4 },
                  "wp:main": { "total": 4, "unknown": 4 } },
-  "wp:functions": { "f": { "f_ko_1_post_qed_ko_3": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                           "f_ko_1_post_qed_ko_2": { "alt-ergo": { "total": 1,
-                                                                   "unknown": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "unknown": 1 } },
-                           "f_ko_1_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                                 "unknown": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "unknown": 1 } },
-                           "f_ko_post_qed_ko": { "alt-ergo": { "total": 1,
-                                                               "unknown": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "unknown": 1 } },
+  "wp:functions": { "f": { "f_ko_1_ensures_qed_ko_3": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                           "f_ko_1_ensures_qed_ko_2": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "unknown": 1 } },
+                           "f_ko_1_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                    "unknown": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "unknown": 1 } },
+                           "f_ko_ensures_qed_ko": { "alt-ergo": { "total": 1,
+                                                                  "unknown": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 4,
                                                          "unknown": 4 },
                                            "wp:main": { "total": 4,
diff --git a/src/plugins/wp/tests/wp_plugin/loop.i.0.report.json b/src/plugins/wp/tests/wp_plugin/loop.i.0.report.json
index 6efb013fc8c1784279234cd4dd7f896577a77ab8..90c05cb3581e0b536eaae2101da836538cada344 100644
--- a/src/plugins/wp/tests/wp_plugin/loop.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/loop.i.0.report.json
@@ -3,40 +3,43 @@
                  "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 9, "valid": 8, "unknown": 1,
                               "rank": 22 } },
-  "wp:functions": { "init": { "init_loop_inv_qed_ok_2": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 8 },
-                                                          "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 8 } },
-                              "init_loop_inv_qed_ok": { "alt-ergo": { "total": 2,
+  "wp:functions": { "init": { "init_loop_invariant_qed_ok_2": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 9 },
+                                                                "qed": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 },
+                                                                "wp:main": 
+                                                                  { "total": 2,
                                                                     "valid": 2,
-                                                                    "rank": 5 },
-                                                        "wp:main": { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 5 } },
-                              "init_assign": { "alt-ergo": { "total": 1,
-                                                             "unknown": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "unknown": 1 } },
-                              "init_loop_assign": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 22 },
-                                                    "qed": { "total": 2,
-                                                             "valid": 2 },
-                                                    "wp:main": { "total": 3,
-                                                                 "valid": 3,
-                                                                 "rank": 22 } },
-                              "init_post_qed_ok": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 7 },
-                                                    "wp:main": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 7 } },
+                                                                    "rank": 9 } },
+                              "init_loop_invariant_qed_ok": { "alt-ergo": 
+                                                                { "total": 2,
+                                                                  "valid": 2,
+                                                                  "rank": 5 },
+                                                              "wp:main": 
+                                                                { "total": 2,
+                                                                  "valid": 2,
+                                                                  "rank": 5 } },
+                              "init_assigns": { "alt-ergo": { "total": 1,
+                                                              "unknown": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "unknown": 1 } },
+                              "init_loop_assigns": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 22 },
+                                                     "qed": { "total": 2,
+                                                              "valid": 2 },
+                                                     "wp:main": { "total": 3,
+                                                                  "valid": 3,
+                                                                  "rank": 22 } },
+                              "init_ensures_qed_ok": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 8 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 8 } },
                               "wp:section": { "alt-ergo": { "total": 6,
                                                             "valid": 5,
                                                             "unknown": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/loopcurrent.i.0.report.json b/src/plugins/wp/tests/wp_plugin/loopcurrent.i.0.report.json
index b40be97730851728a5b6fcdaa218e34354e2ea47..a4b1808ed9992cba37a7296ea0dc3c6e31d556e3 100644
--- a/src/plugins/wp/tests/wp_plugin/loopcurrent.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/loopcurrent.i.0.report.json
@@ -1,12 +1,13 @@
 { "wp:global": { "qed": { "total": 4, "valid": 4 },
                  "wp:main": { "total": 4, "valid": 4 } },
-  "wp:functions": { "f": { "f_loop_inv_2": { "qed": { "total": 2,
-                                                      "valid": 2 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2 } },
-                           "f_loop_inv": { "qed": { "total": 2, "valid": 2 },
-                                           "wp:main": { "total": 2,
-                                                        "valid": 2 } },
+  "wp:functions": { "f": { "f_loop_invariant_2": { "qed": { "total": 2,
+                                                            "valid": 2 },
+                                                   "wp:main": { "total": 2,
+                                                                "valid": 2 } },
+                           "f_loop_invariant": { "qed": { "total": 2,
+                                                          "valid": 2 },
+                                                 "wp:main": { "total": 2,
+                                                              "valid": 2 } },
                            "wp:section": { "qed": { "total": 4, "valid": 4 },
                                            "wp:main": { "total": 4,
                                                         "valid": 4 } } } } }
diff --git a/src/plugins/wp/tests/wp_plugin/loopentry.i.0.report.json b/src/plugins/wp/tests/wp_plugin/loopentry.i.0.report.json
index b40be97730851728a5b6fcdaa218e34354e2ea47..a4b1808ed9992cba37a7296ea0dc3c6e31d556e3 100644
--- a/src/plugins/wp/tests/wp_plugin/loopentry.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/loopentry.i.0.report.json
@@ -1,12 +1,13 @@
 { "wp:global": { "qed": { "total": 4, "valid": 4 },
                  "wp:main": { "total": 4, "valid": 4 } },
-  "wp:functions": { "f": { "f_loop_inv_2": { "qed": { "total": 2,
-                                                      "valid": 2 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2 } },
-                           "f_loop_inv": { "qed": { "total": 2, "valid": 2 },
-                                           "wp:main": { "total": 2,
-                                                        "valid": 2 } },
+  "wp:functions": { "f": { "f_loop_invariant_2": { "qed": { "total": 2,
+                                                            "valid": 2 },
+                                                   "wp:main": { "total": 2,
+                                                                "valid": 2 } },
+                           "f_loop_invariant": { "qed": { "total": 2,
+                                                          "valid": 2 },
+                                                 "wp:main": { "total": 2,
+                                                              "valid": 2 } },
                            "wp:section": { "qed": { "total": 4, "valid": 4 },
                                            "wp:main": { "total": 4,
                                                         "valid": 4 } } } } }
diff --git a/src/plugins/wp/tests/wp_plugin/mask.i.0.report.json b/src/plugins/wp/tests/wp_plugin/mask.i.0.report.json
index c26b682a42f6d29b0f7a90feb45381e43f5542ed..b6fbb01b2b7c160c1fa6a3c1e53cb7c5cbb51084 100644
--- a/src/plugins/wp/tests/wp_plugin/mask.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/mask.i.0.report.json
@@ -1,13 +1,13 @@
 { "wp:global": { "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 2, "valid": 2 } },
-  "wp:functions": { "compute": { "compute_post_B": { "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1 } },
-                                 "compute_post_A": { "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1 } },
+  "wp:functions": { "compute": { "compute_ensures_B": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                                 "compute_ensures_A": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                                  "wp:section": { "qed": { "total": 2,
                                                           "valid": 2 },
                                                  "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/model.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/model.res.oracle
index e4895b6ff2085b7d10103a85a0dbccf3fdc42cbc..020f948d3ecbda05e4fd61ae4029351442ec5c5f 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/model.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/model.res.oracle
@@ -7,13 +7,13 @@
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
 ---------------------------------------------
---- File 'typed/f_post.ergo' 
+--- File 'typed/f_ensures.ergo' 
 ---------------------------------------------
 (* ---------------------------------------------------------- *)
 (* --- Post-condition (file tests/wp_plugin/model.i, line 13) in 'f' --- *)
 (* ---------------------------------------------------------- *)
 
-goal f_post:
+goal f_ensures:
   forall i : int.
   forall t : (addr,int) farray.
   forall a : addr.
@@ -59,13 +59,13 @@ Prove: P_P(x).
 [wp] Running WP plugin...
 [wp] 2 goals scheduled
 ---------------------------------------------
---- File 'typed_ref/f_post.ergo' 
+--- File 'typed_ref/f_ensures.ergo' 
 ---------------------------------------------
 (* ---------------------------------------------------------- *)
 (* --- Post-condition (file tests/wp_plugin/model.i, line 13) in 'f' --- *)
 (* ---------------------------------------------------------- *)
 
-goal f_post:
+goal f_ensures:
   forall i : int.
   forall t : (addr,int) farray.
   forall a : addr.
@@ -94,13 +94,13 @@ function shift_sint32(p:addr, k:int) : addr = shift(p, k)
 logic P_P : int -> prop
 
 ---------------------------------------------
---- File 'typed/f_post.ergo' 
+--- File 'typed/f_ensures.ergo' 
 ---------------------------------------------
 (* ---------------------------------------------------------- *)
 (* --- Post-condition (file tests/wp_plugin/model.i, line 13) in 'f' --- *)
 (* ---------------------------------------------------------- *)
 
-goal f_post:
+goal f_ensures:
   forall i : int.
   forall t : (addr,int) farray.
   forall a : addr.
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/rte.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/rte.0.res.oracle
index 62e3a1148bd59a3258e2d20b4fbc23e2892bfb13..00dfe9f2904865a995c497204fcbe1dee0d229d1 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/rte.0.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/rte.0.res.oracle
@@ -18,14 +18,14 @@
   Option -wp-bool-range incompatiable with RTE (ignored)
 [wp] tests/wp_plugin/rte.i:34: Warning: 
   Option -wp-bool-range incompatiable with RTE (ignored)
-[wp] Goal typed_job_post : not tried
+[wp] Goal typed_job_ensures : not tried
 [wp] Goal typed_job_assert_rte_mem_access : not tried
 [wp] Goal typed_job_assert_rte_mem_access_2 : not tried
 [wp] Goal typed_job_assert_rte_signed_overflow : not tried
 [wp] Goal typed_job_assert_rte_signed_overflow_2 : not tried
 [wp] Goal typed_job_assert_rte_mem_access_3 : not tried
-[wp] Goal typed_job2_post : not tried
-[wp] Goal typed_job3_post : not tried
+[wp] Goal typed_job2_ensures : not tried
+[wp] Goal typed_job3_ensures : not tried
 [wp] Goal typed_job3_assert_rte_bool_value : not tried
 /* Generated by Frama-C */
 /*@ axiomatic Obs {
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/rte.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/rte.1.res.oracle
index 374febf67ef7f9ac074f99bc77cc5b7c6752ce58..6468854c8f02b824a96b9c98a8e5475e265b11d2 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/rte.1.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/rte.1.res.oracle
@@ -11,12 +11,12 @@
 [wp:rte] function job3: generate rte for memory access
 [wp:rte] function job3: generate rte for division by zero
 [rte] annotating function job3
-[wp] Goal typed_job_post : not tried
+[wp] Goal typed_job_ensures : not tried
 [wp] Goal typed_job_assert_rte_mem_access : not tried
 [wp] Goal typed_job_assert_rte_mem_access_2 : not tried
 [wp] Goal typed_job_assert_rte_mem_access_3 : not tried
-[wp] Goal typed_job2_post : not tried
-[wp] Goal typed_job3_post : not tried
+[wp] Goal typed_job2_ensures : not tried
+[wp] Goal typed_job3_ensures : not tried
 [wp] Goal typed_job3_assert_rte_bool_value : not tried
 /* Generated by Frama-C */
 /*@ axiomatic Obs {
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/rte.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/rte.2.res.oracle
index 200d47c9730cbfcf6a813961a0d4c00ad29ae977..435bd15de2dd4548bf68167a5c121096acbf0443 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/rte.2.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/rte.2.res.oracle
@@ -17,16 +17,16 @@
 [wp:rte] function job3: generate rte for signed overflow
 [wp:rte] function job3: generate rte for unsigned overflow
 [rte] annotating function job3
-[wp] Goal typed_job_post : not tried
+[wp] Goal typed_job_ensures : not tried
 [wp] Goal typed_job_assert_rte_mem_access : not tried
 [wp] Goal typed_job_assert_rte_mem_access_2 : not tried
 [wp] Goal typed_job_assert_rte_signed_overflow : not tried
 [wp] Goal typed_job_assert_rte_signed_overflow_2 : not tried
 [wp] Goal typed_job_assert_rte_mem_access_3 : not tried
-[wp] Goal typed_job2_post : not tried
+[wp] Goal typed_job2_ensures : not tried
 [wp] Goal typed_job2_assert_rte_unsigned_overflow : not tried
 [wp] Goal typed_job2_assert_rte_unsigned_overflow_2 : not tried
-[wp] Goal typed_job3_post : not tried
+[wp] Goal typed_job3_ensures : not tried
 [wp] Goal typed_job3_assert_rte_bool_value : not tried
 /* Generated by Frama-C */
 /*@ axiomatic Obs {
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/rte.3.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/rte.3.res.oracle
index 96369633975b7b27cd790672bb88d1710a4a81e2..0f7bf5b438530ec71343d9ad13f7699f140ff179 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/rte.3.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/rte.3.res.oracle
@@ -17,14 +17,14 @@
 [wp:rte] function job3: generate rte for division by zero
 [wp:rte] function job3: generate rte for signed overflow
 [rte] annotating function job3
-[wp] Goal typed_nat_job_post : not tried
+[wp] Goal typed_nat_job_ensures : not tried
 [wp] Goal typed_nat_job_assert_rte_mem_access : not tried
 [wp] Goal typed_nat_job_assert_rte_mem_access_2 : not tried
 [wp] Goal typed_nat_job_assert_rte_signed_overflow : not tried
 [wp] Goal typed_nat_job_assert_rte_signed_overflow_2 : not tried
 [wp] Goal typed_nat_job_assert_rte_mem_access_3 : not tried
-[wp] Goal typed_nat_job2_post : not tried
-[wp] Goal typed_nat_job3_post : not tried
+[wp] Goal typed_nat_job2_ensures : not tried
+[wp] Goal typed_nat_job3_ensures : not tried
 [wp] Goal typed_nat_job3_assert_rte_bool_value : not tried
 /* Generated by Frama-C */
 /*@ axiomatic Obs {
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/rte.4.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/rte.4.res.oracle
index c02378921b3db46b641883a0f71d05aede70e598..f2b78e1cab7eadf8dd166e940fe39f17721e4a3c 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/rte.4.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/rte.4.res.oracle
@@ -19,16 +19,16 @@
 [wp:rte] function job3: generate rte for signed overflow
 [wp:rte] function job3: generate rte for unsigned overflow
 [rte] annotating function job3
-[wp] Goal typed_nat_job_post : not tried
+[wp] Goal typed_nat_job_ensures : not tried
 [wp] Goal typed_nat_job_assert_rte_mem_access : not tried
 [wp] Goal typed_nat_job_assert_rte_mem_access_2 : not tried
 [wp] Goal typed_nat_job_assert_rte_signed_overflow : not tried
 [wp] Goal typed_nat_job_assert_rte_signed_overflow_2 : not tried
 [wp] Goal typed_nat_job_assert_rte_mem_access_3 : not tried
-[wp] Goal typed_nat_job2_post : not tried
+[wp] Goal typed_nat_job2_ensures : not tried
 [wp] Goal typed_nat_job2_assert_rte_unsigned_overflow : not tried
 [wp] Goal typed_nat_job2_assert_rte_unsigned_overflow_2 : not tried
-[wp] Goal typed_nat_job3_post : not tried
+[wp] Goal typed_nat_job3_ensures : not tried
 [wp] Goal typed_nat_job3_assert_rte_bool_value : not tried
 /* Generated by Frama-C */
 /*@ axiomatic Obs {
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/rte.5.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/rte.5.res.oracle
index cf241996746da52a0c09d24fc474eebb95833238..f171879c60095d87502ac5e2b4cfaf1d27783e91 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/rte.5.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/rte.5.res.oracle
@@ -12,6 +12,6 @@
 [wp:rte] function job3: missing rte for memory access
 [wp:rte] function job3: missing rte for division by zero
 [wp:rte] function job3: missing rte for signed overflow
-[wp] Goal typed_nat_job_post : not tried
-[wp] Goal typed_nat_job2_post : not tried
-[wp] Goal typed_nat_job3_post : not tried
+[wp] Goal typed_nat_job_ensures : not tried
+[wp] Goal typed_nat_job2_ensures : not tried
+[wp] Goal typed_nat_job3_ensures : not tried
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/rte.6.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/rte.6.res.oracle
index 0bd8710d2eebd5cc2fd12ceb51ecd5d461707d88..892f3d6443df55894205cbbb0aefde7cd301ec57 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/rte.6.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/rte.6.res.oracle
@@ -16,9 +16,9 @@
 [wp:rte] function job3: generate rte for signed overflow
 [rte] annotating function job3
 [wp] Warning: Missing RTE guards
-[wp] Goal typed_nat_job_post : not tried
+[wp] Goal typed_nat_job_ensures : not tried
 [wp] Goal typed_nat_job_assert_rte_signed_overflow : not tried
 [wp] Goal typed_nat_job_assert_rte_signed_overflow_2 : not tried
-[wp] Goal typed_nat_job2_post : not tried
-[wp] Goal typed_nat_job3_post : not tried
+[wp] Goal typed_nat_job2_ensures : not tried
+[wp] Goal typed_nat_job3_ensures : not tried
 [wp] Goal typed_nat_job3_assert_rte_bool_value : not tried
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/stmt.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/stmt.res.oracle
index 26fb0eb1308e23b0df7b48901f24934b2563c490..9b3f58137ab19c66fa595e002fc86b4c5e998843 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/stmt.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/stmt.res.oracle
@@ -2,15 +2,15 @@
 [kernel] Parsing tests/wp_plugin/stmt.c (with preprocessing)
 [wp] Running WP plugin...
 [wp] Loading driver 'share/wp.driver'
-[wp] [CFG] Goal f_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_assign : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_post : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_assign : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_post : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_exit : Valid (Unreachable)
+[wp] [CFG] Goal f_exits : Valid (Unreachable)
+[wp] [CFG] Goal g_exits : Valid (Unreachable)
+[wp] [CFG] Goal g_assigns : Valid (Unreachable)
+[wp] [CFG] Goal g_ensures : Valid (Unreachable)
+[wp] [CFG] Goal g_exits : Valid (Unreachable)
+[wp] [CFG] Goal h_exits : Valid (Unreachable)
+[wp] [CFG] Goal h_assigns : Valid (Unreachable)
+[wp] [CFG] Goal h_ensures : Valid (Unreachable)
+[wp] [CFG] Goal h_exits : Valid (Unreachable)
 [wp] Warning: Missing RTE guards
 ------------------------------------------------------------
   Function f
diff --git a/src/plugins/wp/tests/wp_plugin/oracle/unroll.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle/unroll.res.oracle
index 8d5a5a6770c0b497d5a7918fbe3d00673793a296..77e0cc1a55cb4eb7c18dd43d751316168bfc3385 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle/unroll.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle/unroll.res.oracle
@@ -6,7 +6,7 @@
 [wp] tests/wp_plugin/unroll.i:20: Warning: 
   Missing assigns clause (assigns 'everything' instead)
 [wp] 1 goal scheduled
-[wp] [Tactical] Goal typed_unrolled_loop_post_zero : Valid
+[wp] [Tactical] Goal typed_unrolled_loop_ensures_zero : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Script:          1
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.res.oracle
index 73c826cc4aaee140fd1f5d17f2b9fb6a130f2af1..1e817d3077d7487693e557b8bf7f1a0eef442725 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.0.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_abs_abs_post : Valid
+[wp] [Alt-Ergo] Goal typed_abs_abs_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.1.res.oracle
index 550fd580113eb35c870f99aa7b587150385abc78..da2e3b662c963251c7f6ac368a2714607b8ec0e6 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.1.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.1.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Coq] Goal typed_abs_abs_post : Saved script
-[wp] [Coq] Goal typed_abs_abs_post : Valid
+[wp] [Coq] Goal typed_abs_abs_ensures : Saved script
+[wp] [Coq] Goal typed_abs_abs_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Coq:             1
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.res.oracle
index 6e07f21393a348fdad690c8d460a82006f7a38a2..45650ee45adf5e7a651050fc1fe87b9707e005a0 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/abs.2.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [alt-ergo] Goal typed_abs_abs_post : Valid
+[wp] [alt-ergo] Goal typed_abs_abs_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   alt-ergo:        1
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.res.oracle
index b59e4faa7521d1ba61dd5a788b4f4ad052ba83c7..07c476c9ce818006974d6ddf657ad7642b753f66 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/asm.res.oracle
@@ -6,7 +6,7 @@
 [wp] 3 goals scheduled
 [wp] [Qed] Goal typed_main_assert_OK : Valid
 [wp] [Alt-Ergo] Goal typed_main_assert_KO : Unknown
-[wp] [Alt-Ergo] Goal typed_main_stmt_assign : Unknown
+[wp] [Alt-Ergo] Goal typed_main_assigns : Unknown
 [wp] Proved goals:    1 / 3
   Qed:             1 
   Alt-Ergo:        0  (unknown: 2)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.res.oracle
index b2cf1f74ad09c98dcbaf3dd2fde40af3a49d9b03..606944d6c95ef7f41701f7baf4198e97d50990d0 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.0.res.oracle
@@ -4,13 +4,13 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 7 goals scheduled
-[wp] [Alt-Ergo] Goal typed_band_bool_false_post : Unknown
-[wp] [Qed] Goal typed_band_bool_true_post : Valid
-[wp] [Alt-Ergo] Goal typed_bor_bool_false_post : Unknown
-[wp] [Alt-Ergo] Goal typed_bor_bool_true_post : Valid
-[wp] [Alt-Ergo] Goal typed_bxor_bool_false_post : Unknown
-[wp] [Qed] Goal typed_bxor_bool_true_post : Valid
-[wp] [Alt-Ergo] Goal typed_job_post : Unknown
+[wp] [Alt-Ergo] Goal typed_band_bool_false_ensures : Unknown
+[wp] [Qed] Goal typed_band_bool_true_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_bor_bool_false_ensures : Unknown
+[wp] [Alt-Ergo] Goal typed_bor_bool_true_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_bxor_bool_false_ensures : Unknown
+[wp] [Qed] Goal typed_bxor_bool_true_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures : Unknown
 [wp] Proved goals:    3 / 7
   Qed:             2 
   Alt-Ergo:        1  (unknown: 4)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.1.res.oracle
index a6b16bfedbd049b2da448bce1fa5c59a00d89009..6dbfdc77af3960322fca2369024c2ccc9dc1daaa 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.1.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/bool.1.res.oracle
@@ -4,13 +4,13 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 7 goals scheduled
-[wp] [Alt-Ergo] Goal typed_band_bool_false_post : Valid
-[wp] [Qed] Goal typed_band_bool_true_post : Valid
-[wp] [Alt-Ergo] Goal typed_bor_bool_false_post : Valid
-[wp] [Alt-Ergo] Goal typed_bor_bool_true_post : Valid
-[wp] [Alt-Ergo] Goal typed_bxor_bool_false_post : Valid
-[wp] [Qed] Goal typed_bxor_bool_true_post : Valid
-[wp] [Alt-Ergo] Goal typed_job_post : Valid
+[wp] [Alt-Ergo] Goal typed_band_bool_false_ensures : Valid
+[wp] [Qed] Goal typed_band_bool_true_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_bor_bool_false_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_bor_bool_true_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_bxor_bool_false_ensures : Valid
+[wp] [Qed] Goal typed_bxor_bool_true_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures : Valid
 [wp] Proved goals:    7 / 7
   Qed:             2 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.res.oracle
index 1da7721953e4da02dcf419d942580116477d2c09..f3740e179a6eeb3139c54b68c441dcdf8b400a38 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/copy.res.oracle
@@ -4,16 +4,16 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 10 goals scheduled
-[wp] [Alt-Ergo] Goal typed_copy_post : Valid
-[wp] [Alt-Ergo] Goal typed_copy_loop_inv_Copy_preserved : Valid
-[wp] [Qed] Goal typed_copy_loop_inv_Copy_established : Valid
-[wp] [Alt-Ergo] Goal typed_copy_loop_inv_Range_preserved : Valid
-[wp] [Qed] Goal typed_copy_loop_inv_Range_established : Valid
+[wp] [Alt-Ergo] Goal typed_copy_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_copy_loop_invariant_Copy_preserved : Valid
+[wp] [Qed] Goal typed_copy_loop_invariant_Copy_established : Valid
+[wp] [Alt-Ergo] Goal typed_copy_loop_invariant_Range_preserved : Valid
+[wp] [Qed] Goal typed_copy_loop_invariant_Range_established : Valid
 [wp] [Alt-Ergo] Goal typed_copy_assert_A : Valid
 [wp] [Alt-Ergo] Goal typed_copy_assert_B : Valid
-[wp] [Qed] Goal typed_copy_loop_assign_part1 : Valid
-[wp] [Alt-Ergo] Goal typed_copy_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_copy_assign : Valid
+[wp] [Qed] Goal typed_copy_loop_assigns_part1 : Valid
+[wp] [Alt-Ergo] Goal typed_copy_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_copy_assigns : Valid
 [wp] Proved goals:   10 / 10
   Qed:             4 
   Alt-Ergo:        6
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.res.oracle
index 56ccd9a1c6bde78f47a6ac79c3e07806204b9979..9949b7df67fc9164904f434bb2b69b956958c459 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/dynamic.res.oracle
@@ -6,19 +6,19 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 13 goals scheduled
-[wp] [Alt-Ergo] Goal typed_call_stmt_calls_f1_f2 : Valid
-[wp] [Qed] Goal typed_call_post_part1 : Valid
-[wp] [Qed] Goal typed_call_post_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_call_call_f1_pre : Valid
-[wp] [Qed] Goal typed_guarded_call_stmt_calls_g : Valid
-[wp] [Alt-Ergo] Goal typed_guarded_call_post_part1 : Valid
-[wp] [Qed] Goal typed_guarded_call_post_part2 : Valid
-[wp] [Qed] Goal typed_guarded_call_post_2_part1 : Valid
-[wp] [Qed] Goal typed_guarded_call_post_2_part2 : Valid
-[wp] [Qed] Goal typed_no_call_stmt_calls_unreachable_g : Valid
-[wp] [Qed] Goal typed_no_call_post_part1 : Valid
-[wp] [Qed] Goal typed_no_call_post_part2 : Valid
-[wp] [Qed] Goal typed_no_call_call_unreachable_g_pre : Valid
+[wp] [Alt-Ergo] Goal typed_call_calls_f1_f2_s3 : Valid
+[wp] [Qed] Goal typed_call_ensures_part1 : Valid
+[wp] [Qed] Goal typed_call_ensures_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_call_call_f1_requires : Valid
+[wp] [Qed] Goal typed_guarded_call_calls_g_s9 : Valid
+[wp] [Alt-Ergo] Goal typed_guarded_call_ensures_part1 : Valid
+[wp] [Qed] Goal typed_guarded_call_ensures_part2 : Valid
+[wp] [Qed] Goal typed_guarded_call_ensures_2_part1 : Valid
+[wp] [Qed] Goal typed_guarded_call_ensures_2_part2 : Valid
+[wp] [Qed] Goal typed_no_call_calls_unreachable_g_s17 : Valid
+[wp] [Qed] Goal typed_no_call_ensures_part1 : Valid
+[wp] [Qed] Goal typed_no_call_ensures_part2 : Valid
+[wp] [Qed] Goal typed_no_call_call_unreachable_g_requires : Valid
 [wp] Proved goals:   13 / 13
   Qed:            10 
   Alt-Ergo:        3
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/f.dot b/src/plugins/wp/tests/wp_plugin/oracle_qualif/f.dot
index 839228da72b6c217e33f6e9d92482736bbb08ed3..9b4f1de3952bd66b028d1df4dd8ce7f4c147085a 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/f.dot
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/f.dot
@@ -2,9 +2,9 @@ digraph f {
   rankdir = TB ;
   node [ style = filled, shape = box ] ;
   N000 [ color = red, shape = circle, label = "*" ] ;
-  N074 [ color=red , label="Prove f_post" ] ;
+  N074 [ color=red , label="Prove f_ensures" ] ;
   N074 -> N000 [ style=dotted ] ;
-  N075 [ color=red , label="Prove f_post_2" ] ;
+  N075 [ color=red , label="Prove f_ensures_2" ] ;
   N075 -> N074 [ style=dotted ] ;
   N076 [ label="" , shape=circle ] ;
  N076 -> N075 ;
@@ -54,9 +54,9 @@ digraph f {
  N097 -> N096 ;
   N098 [ label="Label wp:sid8 (Stmt s8)" ] ;
  N098 -> N097 ;
-  N099 [ color=green , label="Assume f_stmt_post" ] ;
+  N099 [ color=green , label="Assume f_ensures_3" ] ;
  N099 -> N098 ;
-  N100 [ color=orange , label="Havoc f_stmt_assign:
+  N100 [ color=orange , label="Havoc f_assigns:
 assigns __retres;" ] ;
  N100 -> N099 ;
   N101 [ color=lightblue , label="B-in { }" ] ;
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/f_default_for_stmt_2.dot b/src/plugins/wp/tests/wp_plugin/oracle_qualif/f_default_for_stmt_2.dot
index 614347c28971929363dd0c265f44c4e874f00fc4..e5347d619f1af81ecddd15d1235eea49dbb1e2b1 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/f_default_for_stmt_2.dot
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/f_default_for_stmt_2.dot
@@ -42,13 +42,13 @@ digraph f {
  N132 -> N131 ;
   N133 [ label="Label wp:sid8 (Stmt s8)" ] ;
  N133 -> N132 ;
-  N134 [ color=green , label="Assume f_stmt_post" ] ;
+  N134 [ color=green , label="Assume f_ensures_3" ] ;
  N134 -> N133 ;
-  N135 [ color=red , label="Assigns f_stmt_assign" ] ;
+  N135 [ color=red , label="Assigns f_assigns" ] ;
   N136 [ label="" , shape=circle ] ;
  N136 -> N135 ;
  N136 -> N134 ;
-  N137 [ color=red , label="Prove f_stmt_post" ] ;
+  N137 [ color=red , label="Prove f_ensures_3" ] ;
   N137 -> N136 [ style=dotted ] ;
   N138 [ label="" , shape=circle ] ;
  N138 -> N137 ;
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.res.oracle
index 463183dead7dac70e70770e6da7273668891eb4c..94e4b5d38162d1674edec315e1a9a287d5455566 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.0.res.oracle
@@ -4,12 +4,12 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Qed] Goal typed_job_post_Events : Valid
-[wp] [Alt-Ergo] Goal typed_job_post_A_reads : Unknown
-[wp] [Alt-Ergo] Goal typed_job_post_B_reads : Unknown
-[wp] [Alt-Ergo] Goal typed_job_post_B_writes : Unknown
-[wp] [Alt-Ergo] Goal typed_job_post_ReadValues : Unknown
-[wp] [Alt-Ergo] Goal typed_job_post_WriteValues : Unknown
+[wp] [Qed] Goal typed_job_ensures_Events : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures_A_reads : Unknown
+[wp] [Alt-Ergo] Goal typed_job_ensures_B_reads : Unknown
+[wp] [Alt-Ergo] Goal typed_job_ensures_B_writes : Unknown
+[wp] [Alt-Ergo] Goal typed_job_ensures_ReadValues : Unknown
+[wp] [Alt-Ergo] Goal typed_job_ensures_WriteValues : Unknown
 [wp] Proved goals:    1 / 6
   Qed:             1 
   Alt-Ergo:        0  (unknown: 5)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.res.oracle
index 195117fbb5e473dab77f363f433995edace86afc..0526455b58b5dc46bc8f17946d407ab15427b10b 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.1.res.oracle
@@ -6,12 +6,12 @@
   Redefinition of logic INDEX_init
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Qed] Goal typed_flash_flash-ergo_job_post_Events : Valid
-[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_post_A_reads : Valid
-[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_post_B_reads : Valid
-[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_post_B_writes : Valid
-[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_post_ReadValues : Valid
-[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_post_WriteValues : Valid
+[wp] [Qed] Goal typed_flash_flash-ergo_job_ensures_Events : Valid
+[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_ensures_A_reads : Valid
+[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_ensures_B_reads : Valid
+[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_ensures_B_writes : Valid
+[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_ensures_ReadValues : Valid
+[wp] [Alt-Ergo] Goal typed_flash_flash-ergo_job_ensures_WriteValues : Valid
 [wp] Proved goals:    6 / 6
   Qed:             1 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.2.res.oracle
index 9ebb3f526971847ed12410241e8a78634c96e214..93ab36295ede189b5f83413707fe2f79f5e44939 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.2.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/flash.2.res.oracle
@@ -4,12 +4,12 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Qed] Goal typed_flash_job_post_Events : Valid
-[wp] [Qed] Goal typed_flash_job_post_A_reads : Valid
-[wp] [Qed] Goal typed_flash_job_post_B_reads : Valid
-[wp] [Qed] Goal typed_flash_job_post_B_writes : Valid
-[wp] [Qed] Goal typed_flash_job_post_ReadValues : Valid
-[wp] [Qed] Goal typed_flash_job_post_WriteValues : Valid
+[wp] [Qed] Goal typed_flash_job_ensures_Events : Valid
+[wp] [Qed] Goal typed_flash_job_ensures_A_reads : Valid
+[wp] [Qed] Goal typed_flash_job_ensures_B_reads : Valid
+[wp] [Qed] Goal typed_flash_job_ensures_B_writes : Valid
+[wp] [Qed] Goal typed_flash_job_ensures_ReadValues : Valid
+[wp] [Qed] Goal typed_flash_job_ensures_WriteValues : Valid
 [wp] Proved goals:    6 / 6
   Qed:             6
 [wp] Report 'tests/wp_plugin/flash.c.2.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.0.res.oracle
index 7d048ababa304bb178ea39ab34550c7cab67870e..b7b96a6671885c7a7520af8435f44eae9e3e2e4a 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.0.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.0.res.oracle
@@ -7,8 +7,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Coq] Goal typed_output_post_KO : Default tactic
-[wp] [Coq] Goal typed_output_post_KO : Unknown
+[wp] [Coq] Goal typed_output_ensures_KO : Default tactic
+[wp] [Coq] Goal typed_output_ensures_KO : Unknown
 [wp] Proved goals:    0 / 1
   Coq:             0  (unknown: 1)
 [wp] Report 'tests/wp_plugin/float_format.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.res.oracle
index 51150b389c4802c954416c1f7b1e6e8a25c3a578..97b86f838a739b903ae5c37ab8f562360e1d342d 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.1.res.oracle
@@ -7,7 +7,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_output_post_KO : Step limit
+[wp] [Alt-Ergo] Goal typed_output_ensures_KO : Step limit
 [wp] Proved goals:    0 / 1
   Alt-Ergo:        0  (interrupted: 1)
 [wp] Report 'tests/wp_plugin/float_format.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.res.oracle
index fd1797d19c215be15bc8976cbeb6a2e1ca89bbbc..d5a6e2d19b65c96884d80ee6a92158063f4b2a35 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/float_format.2.res.oracle
@@ -7,7 +7,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [alt-ergo] Goal typed_output_post_KO : Unknown
+[wp] [alt-ergo] Goal typed_output_ensures_KO : Unknown
 [wp] Proved goals:    0 / 1
   alt-ergo:        0  (unknown: 1)
 [wp] Report 'tests/wp_plugin/float_format.i.2.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.res.oracle
index b8b11e348c6abdb2091e66cd7e7245c797c257bc..1ada5c75caf4987e62c791656845dd4e79966209 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/frame.res.oracle
@@ -4,11 +4,11 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Alt-Ergo] Goal typed_alias_post_KO : Unknown
-[wp] [Alt-Ergo] Goal typed_global_post_KO : Unknown
-[wp] [Qed] Goal typed_local_post_FRAMED : Valid
-[wp] [Alt-Ergo] Goal typed_local_post_KO : Unknown
-[wp] [Alt-Ergo] Goal typed_localref_post_KO : Unknown
+[wp] [Alt-Ergo] Goal typed_alias_ensures_KO : Unknown
+[wp] [Alt-Ergo] Goal typed_global_ensures_KO : Unknown
+[wp] [Qed] Goal typed_local_ensures_FRAMED : Valid
+[wp] [Alt-Ergo] Goal typed_local_ensures_KO : Unknown
+[wp] [Alt-Ergo] Goal typed_localref_ensures_KO : Unknown
 [wp] [Qed] Goal typed_localref_assert_FRAMED : Valid
 [wp] Proved goals:    2 / 6
   Qed:             2 
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/g.dot b/src/plugins/wp/tests/wp_plugin/oracle_qualif/g.dot
index 02cc6ec3138039fb4911139704e924eeeecbff2c..5cdbeab832713294f78f544c2edaf44cee84135c 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/g.dot
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/g.dot
@@ -2,7 +2,7 @@ digraph g {
   rankdir = TB ;
   node [ style = filled, shape = box ] ;
   N000 [ color = red, shape = circle, label = "*" ] ;
-  N049 [ color=red , label="Prove g_post" ] ;
+  N049 [ color=red , label="Prove g_ensures_2" ] ;
   N049 -> N000 [ style=dotted ] ;
   N050 [ color=lightblue , label="F-out { a b }" ] ;
  N050 -> N049 ;
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.res.oracle
index f22d561a37d82210a1d5463a115a000c4bbf4d0e..55dfd7a78b60b76a1adbec7ce6a6e88586a8ebc7 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const.res.oracle
@@ -4,10 +4,10 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 4 goals scheduled
-[wp] [Alt-Ergo] Goal typed_fA_post_KO : Unknown
-[wp] [Qed] Goal typed_fB_post_OK : Valid
-[wp] [Alt-Ergo] Goal typed_fC_post_KO : Unknown
-[wp] [Qed] Goal typed_fD_post_OK : Valid
+[wp] [Alt-Ergo] Goal typed_fA_ensures_KO : Unknown
+[wp] [Qed] Goal typed_fB_ensures_OK : Valid
+[wp] [Alt-Ergo] Goal typed_fC_ensures_KO : Unknown
+[wp] [Qed] Goal typed_fD_ensures_OK : Valid
 [wp] Proved goals:    2 / 4
   Qed:             2 
   Alt-Ergo:        0  (unknown: 2)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.res.oracle
index 6e9a97a491f9e5f6d8cc98cd2408b959e8b85c15..1b3e41da9586c2309e131cda404ae67570f7a720 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_const_guard.res.oracle
@@ -4,11 +4,11 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 7 goals scheduled
-[wp] [Qed] Goal typed_f_post_Const : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_Pointed_Valid : Valid
-[wp] [Qed] Goal typed_f_post_Q_ReadOnly : Valid
-[wp] [Qed] Goal typed_f_post_Q_NotWrite : Valid
-[wp] [Qed] Goal typed_g_post_P_not_Const : Valid
+[wp] [Qed] Goal typed_f_ensures_Const : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_Pointed_Valid : Valid
+[wp] [Qed] Goal typed_f_ensures_Q_ReadOnly : Valid
+[wp] [Qed] Goal typed_f_ensures_Q_NotWrite : Valid
+[wp] [Qed] Goal typed_g_ensures_P_not_Const : Valid
 [wp] [Alt-Ergo] Goal typed_g_assert_Read : Valid
 [wp] [Alt-Ergo] Goal typed_g_assert_Guard_against_Const : Unknown
 [wp] Proved goals:    6 / 7
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.res.oracle
index 276d436a9d02dda81164774b0d4a1108e7408e2d..56d58accfc3dde00676746ecc7c2bf6879d04976 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/init_extern.res.oracle
@@ -5,9 +5,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_f_post_OK : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_KO : Unknown
-[wp] [Alt-Ergo] Goal typed_f_post_KO_2 : Unknown
+[wp] [Qed] Goal typed_f_ensures_OK : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_KO : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ensures_KO_2 : Unknown
 [wp] Proved goals:    1 / 3
   Qed:             1 
   Alt-Ergo:        0  (unknown: 2)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.res.oracle
index 0c04cc403b389a1d243d0bb7fa85a52581300dde..194709cfe0ed31c7de2ed7c989e0e854424ae1cb 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/initarr.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Alt-Ergo] Goal typed_job_post_SEP : Valid
-[wp] [Alt-Ergo] Goal typed_job_post_ALT : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures_SEP : Valid
+[wp] [Alt-Ergo] Goal typed_job_ensures_ALT : Valid
 [wp] Proved goals:    2 / 2
   Qed:             0 
   Alt-Ergo:        2
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.0.res.oracle
index b8f21b1a87b71d00a07c970692909bb9ff61cf18..54f6c6a878c0256b5087c90214be788da70c53ab 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.0.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.0.res.oracle
@@ -4,19 +4,19 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 13 goals scheduled
-[wp] [Qed] Goal typed_f_call_g_pre : Valid
-[wp] [Qed] Goal typed_f_call_g_pre_2 : Valid
-[wp] [Qed] Goal typed_f_FST_FAIL_post_qed_ok : Valid
-[wp] [Qed] Goal typed_f_FST_FAIL_post_qed_ok_2 : Valid
-[wp] [Qed] Goal typed_f_FST_FAIL_post_qed_ok_3 : Valid
-[wp] [Qed] Goal typed_f_SND_FAIL_post_qed_ok : Valid
-[wp] [Qed] Goal typed_f_SND_FAIL_post_qed_ok_2 : Valid
-[wp] [Qed] Goal typed_f_SND_FAIL_post_qed_ok_3 : Valid
-[wp] [Qed] Goal typed_f_SND_FAIL_post_qed_ok_4 : Valid
-[wp] [Qed] Goal typed_f_SUCCESS_post_qed_ok : Valid
-[wp] [Qed] Goal typed_f_SUCCESS_post_qed_ok_2 : Valid
-[wp] [Qed] Goal typed_f_SUCCESS_post_qed_ok_3 : Valid
-[wp] [Qed] Goal typed_f_SUCCESS_post_qed_ok_4 : Valid
+[wp] [Qed] Goal typed_f_call_g_requires : Valid
+[wp] [Qed] Goal typed_f_call_g_requires_2 : Valid
+[wp] [Qed] Goal typed_f_FST_FAIL_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_f_FST_FAIL_ensures_qed_ok_2 : Valid
+[wp] [Qed] Goal typed_f_FST_FAIL_ensures_qed_ok_3 : Valid
+[wp] [Qed] Goal typed_f_SND_FAIL_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_f_SND_FAIL_ensures_qed_ok_2 : Valid
+[wp] [Qed] Goal typed_f_SND_FAIL_ensures_qed_ok_3 : Valid
+[wp] [Qed] Goal typed_f_SND_FAIL_ensures_qed_ok_4 : Valid
+[wp] [Qed] Goal typed_f_SUCCESS_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_f_SUCCESS_ensures_qed_ok_2 : Valid
+[wp] [Qed] Goal typed_f_SUCCESS_ensures_qed_ok_3 : Valid
+[wp] [Qed] Goal typed_f_SUCCESS_ensures_qed_ok_4 : Valid
 [wp] Proved goals:   13 / 13
   Qed:            13
 [wp] Report 'tests/wp_plugin/injector.c.0.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.res.oracle
index 14b022f52b2429ebff0d3e7bf1695169ebed68ed..4862a74bd900b08f9b57715585fe92acc38bc5de 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/injector.1.res.oracle
@@ -4,10 +4,10 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 4 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_ko_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_f_ko_1_post_qed_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_f_ko_1_post_qed_ko_2 : Unknown
-[wp] [Alt-Ergo] Goal typed_f_ko_1_post_qed_ko_3 : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ko_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ko_1_ensures_qed_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ko_1_ensures_qed_ko_2 : Unknown
+[wp] [Alt-Ergo] Goal typed_f_ko_1_ensures_qed_ko_3 : Unknown
 [wp] Proved goals:    0 / 4
   Alt-Ergo:        0  (unknown: 4)
 [wp] Report 'tests/wp_plugin/injector.c.1.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.res.oracle
index 9825fad01fb3143eb07b83ae3de24a4e3bd491cf..31fb187436c43ad82a36d338ba9a42aa110a0aaf 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loop.res.oracle
@@ -4,15 +4,15 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 9 goals scheduled
-[wp] [Alt-Ergo] Goal typed_init_post_qed_ok : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_inv_qed_ok_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_inv_qed_ok_established : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_inv_qed_ok_2_preserved : Valid
-[wp] [Qed] Goal typed_init_loop_inv_qed_ok_2_established : Valid
-[wp] [Qed] Goal typed_init_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_init_loop_assign_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_assign_part3 : Valid
-[wp] [Alt-Ergo] Goal typed_init_assign : Unknown
+[wp] [Alt-Ergo] Goal typed_init_ensures_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_invariant_qed_ok_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_invariant_qed_ok_established : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_invariant_qed_ok_2_preserved : Valid
+[wp] [Qed] Goal typed_init_loop_invariant_qed_ok_2_established : Valid
+[wp] [Qed] Goal typed_init_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_init_loop_assigns_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_assigns_part3 : Valid
+[wp] [Alt-Ergo] Goal typed_init_assigns : Unknown
 [wp] Proved goals:    8 / 9
   Qed:             3 
   Alt-Ergo:        5  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopcurrent.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopcurrent.res.oracle
index c175e6344679409963f39207e3f6c4f1524125dc..0eb100dcd2f23c19775b47cc46664a0e8c4d85d8 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopcurrent.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopcurrent.res.oracle
@@ -6,10 +6,10 @@
 [wp] tests/wp_plugin/loopcurrent.i:12: Warning: 
   Missing assigns clause (assigns 'everything' instead)
 [wp] 4 goals scheduled
-[wp] [Qed] Goal typed_f_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_f_loop_inv_established : Valid
-[wp] [Qed] Goal typed_f_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_f_loop_inv_2_established : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_established : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_2_established : Valid
 [wp] Proved goals:    4 / 4
   Qed:             4
 [wp] Report 'tests/wp_plugin/loopcurrent.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopentry.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopentry.res.oracle
index 0706b9a7b8fa3c192b50d938b6f2ec94db53dd35..42b8084aefbaca04e2ef438c16c01e6c3bbc72c4 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopentry.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/loopentry.res.oracle
@@ -6,10 +6,10 @@
 [wp] tests/wp_plugin/loopentry.i:12: Warning: 
   Missing assigns clause (assigns 'everything' instead)
 [wp] 4 goals scheduled
-[wp] [Qed] Goal typed_f_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_f_loop_inv_established : Valid
-[wp] [Qed] Goal typed_f_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_f_loop_inv_2_established : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_established : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_f_loop_invariant_2_established : Valid
 [wp] Proved goals:    4 / 4
   Qed:             4
 [wp] Report 'tests/wp_plugin/loopentry.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/mask.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/mask.res.oracle
index 46ec9a2dfacb0335cd853da1942b9f00bec683fb..e0af8eb53799fbef86d2bfdd619a92a101474602 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/mask.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/mask.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_compute_post_A : Valid
-[wp] [Qed] Goal typed_compute_post_B : Valid
+[wp] [Qed] Goal typed_compute_ensures_A : Valid
+[wp] [Qed] Goal typed_compute_ensures_B : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [wp] Report 'tests/wp_plugin/mask.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.res.oracle
index fa8da06b1ecdcf410d98f33faa173d5292af677b..dcc82cab512cdb04e5906b915ee3a10e5f6ff968 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.0.res.oracle
@@ -23,17 +23,17 @@
 [wp] [Alt-Ergo] Goal typed_lemma_sqrt_mono : Valid
 [wp] [Alt-Ergo] Goal typed_lemma_sqrt_pos : Valid
 [wp] [Alt-Ergo] Goal typed_lemma_tanh_opp : Valid
-[wp] [Alt-Ergo] Goal typed_ok_post_sin_asin : Valid
-[wp] [Alt-Ergo] Goal typed_ok_post_sin_asin_in_range : Valid
-[wp] [Alt-Ergo] Goal typed_ok_post_cos_acos : Valid
-[wp] [Alt-Ergo] Goal typed_ok_post_cos_acos_in_range : Valid
-[wp] [Qed] Goal typed_ok_post_tan_atan : Valid
-[wp] [Alt-Ergo] Goal typed_ok_post_log_pow : Valid
-[wp] [Qed] Goal typed_ok_post_log_exp : Valid
-[wp] [Alt-Ergo] Goal typed_ok_post_exp_log : Valid
-[wp] [Alt-Ergo] Goal typed_ok_post_min_plus_distrib : Valid
-[wp] [Alt-Ergo] Goal typed_ok_post_sqrt_pos : Valid
-[wp] [Alt-Ergo] Goal typed_ok_post_sqrt_pos0 : Valid
+[wp] [Alt-Ergo] Goal typed_ok_ensures_sin_asin : Valid
+[wp] [Alt-Ergo] Goal typed_ok_ensures_sin_asin_in_range : Valid
+[wp] [Alt-Ergo] Goal typed_ok_ensures_cos_acos : Valid
+[wp] [Alt-Ergo] Goal typed_ok_ensures_cos_acos_in_range : Valid
+[wp] [Qed] Goal typed_ok_ensures_tan_atan : Valid
+[wp] [Alt-Ergo] Goal typed_ok_ensures_log_pow : Valid
+[wp] [Qed] Goal typed_ok_ensures_log_exp : Valid
+[wp] [Alt-Ergo] Goal typed_ok_ensures_exp_log : Valid
+[wp] [Alt-Ergo] Goal typed_ok_ensures_min_plus_distrib : Valid
+[wp] [Alt-Ergo] Goal typed_ok_ensures_sqrt_pos : Valid
+[wp] [Alt-Ergo] Goal typed_ok_ensures_sqrt_pos0 : Valid
 [wp] Proved goals:   30 / 30
   Qed:             5 
   Alt-Ergo:       25
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.1.res.oracle
index fc1ca3b86f37c771d6d3e2e679052ed22a31eab4..bf2477d381d6f7b5ff8ba62a2a2c42c38ecb3b38 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.1.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.1.res.oracle
@@ -23,17 +23,17 @@
 [wp] [alt-ergo] Goal typed_lemma_sqrt_mono : Valid
 [wp] [alt-ergo] Goal typed_lemma_sqrt_pos : Valid
 [wp] [alt-ergo] Goal typed_lemma_tanh_opp : Valid
-[wp] [alt-ergo] Goal typed_ok_post_sin_asin : Valid
-[wp] [alt-ergo] Goal typed_ok_post_sin_asin_in_range : Valid
-[wp] [alt-ergo] Goal typed_ok_post_cos_acos : Valid
-[wp] [alt-ergo] Goal typed_ok_post_cos_acos_in_range : Valid
-[wp] [Qed] Goal typed_ok_post_tan_atan : Valid
-[wp] [alt-ergo] Goal typed_ok_post_log_pow : Valid
-[wp] [Qed] Goal typed_ok_post_log_exp : Valid
-[wp] [alt-ergo] Goal typed_ok_post_exp_log : Valid
-[wp] [alt-ergo] Goal typed_ok_post_min_plus_distrib : Valid
-[wp] [alt-ergo] Goal typed_ok_post_sqrt_pos : Valid
-[wp] [alt-ergo] Goal typed_ok_post_sqrt_pos0 : Valid
+[wp] [alt-ergo] Goal typed_ok_ensures_sin_asin : Valid
+[wp] [alt-ergo] Goal typed_ok_ensures_sin_asin_in_range : Valid
+[wp] [alt-ergo] Goal typed_ok_ensures_cos_acos : Valid
+[wp] [alt-ergo] Goal typed_ok_ensures_cos_acos_in_range : Valid
+[wp] [Qed] Goal typed_ok_ensures_tan_atan : Valid
+[wp] [alt-ergo] Goal typed_ok_ensures_log_pow : Valid
+[wp] [Qed] Goal typed_ok_ensures_log_exp : Valid
+[wp] [alt-ergo] Goal typed_ok_ensures_exp_log : Valid
+[wp] [alt-ergo] Goal typed_ok_ensures_min_plus_distrib : Valid
+[wp] [alt-ergo] Goal typed_ok_ensures_sqrt_pos : Valid
+[wp] [alt-ergo] Goal typed_ok_ensures_sqrt_pos0 : Valid
 [wp] Proved goals:   30 / 30
   Qed:             5 
   alt-ergo:       25
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.res.oracle
index 748344d32e340ec15a96c327367db443de5e02d2..820740cac730923d31743afa06ad43224d7120d5 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.2.res.oracle
@@ -4,15 +4,15 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 9 goals scheduled
-[wp] [Alt-Ergo] Goal typed_ko_post_ko_sin_asin : Step limit
-[wp] [Alt-Ergo] Goal typed_ko_post_ko_cos_acos : Step limit
-[wp] [Alt-Ergo] Goal typed_ko_post_ko_asin_sin : Step limit
-[wp] [Alt-Ergo] Goal typed_ko_post_ko_acos_cos : Step limit
-[wp] [Alt-Ergo] Goal typed_ko_post_ko_atan_tan : Step limit
-[wp] [Alt-Ergo] Goal typed_ko_post_ko_log_pow : Step limit
-[wp] [Alt-Ergo] Goal typed_ko_post_ko_exp_log : Step limit
-[wp] [Alt-Ergo] Goal typed_ko_post_ko_exp_log_add_mul : Step limit
-[wp] [Alt-Ergo] Goal typed_ko_post_ko_sqrt_pos : Step limit
+[wp] [Alt-Ergo] Goal typed_ko_ensures_ko_sin_asin : Step limit
+[wp] [Alt-Ergo] Goal typed_ko_ensures_ko_cos_acos : Step limit
+[wp] [Alt-Ergo] Goal typed_ko_ensures_ko_asin_sin : Step limit
+[wp] [Alt-Ergo] Goal typed_ko_ensures_ko_acos_cos : Step limit
+[wp] [Alt-Ergo] Goal typed_ko_ensures_ko_atan_tan : Step limit
+[wp] [Alt-Ergo] Goal typed_ko_ensures_ko_log_pow : Step limit
+[wp] [Alt-Ergo] Goal typed_ko_ensures_ko_exp_log : Step limit
+[wp] [Alt-Ergo] Goal typed_ko_ensures_ko_exp_log_add_mul : Step limit
+[wp] [Alt-Ergo] Goal typed_ko_ensures_ko_sqrt_pos : Step limit
 [wp] Proved goals:    0 / 9
   Alt-Ergo:        0  (interrupted: 9)
 -------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.3.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.3.res.oracle
index 7360397142c48447aadc1d683210e910fed62baa..bb249beaf01e222a7b5c8e2a99309eb00701e68f 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.3.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/math.3.res.oracle
@@ -4,15 +4,15 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 9 goals scheduled
-[wp] [alt-ergo] Goal typed_ko_post_ko_sin_asin : Timeout
-[wp] [alt-ergo] Goal typed_ko_post_ko_cos_acos : Timeout
-[wp] [alt-ergo] Goal typed_ko_post_ko_asin_sin : Timeout
-[wp] [alt-ergo] Goal typed_ko_post_ko_acos_cos : Timeout
-[wp] [alt-ergo] Goal typed_ko_post_ko_atan_tan : Timeout
-[wp] [alt-ergo] Goal typed_ko_post_ko_log_pow : Timeout
-[wp] [alt-ergo] Goal typed_ko_post_ko_exp_log : Timeout
-[wp] [alt-ergo] Goal typed_ko_post_ko_exp_log_add_mul : Timeout
-[wp] [alt-ergo] Goal typed_ko_post_ko_sqrt_pos : Timeout
+[wp] [alt-ergo] Goal typed_ko_ensures_ko_sin_asin : Timeout
+[wp] [alt-ergo] Goal typed_ko_ensures_ko_cos_acos : Timeout
+[wp] [alt-ergo] Goal typed_ko_ensures_ko_asin_sin : Timeout
+[wp] [alt-ergo] Goal typed_ko_ensures_ko_acos_cos : Timeout
+[wp] [alt-ergo] Goal typed_ko_ensures_ko_atan_tan : Timeout
+[wp] [alt-ergo] Goal typed_ko_ensures_ko_log_pow : Timeout
+[wp] [alt-ergo] Goal typed_ko_ensures_ko_exp_log : Timeout
+[wp] [alt-ergo] Goal typed_ko_ensures_ko_exp_log_add_mul : Timeout
+[wp] [alt-ergo] Goal typed_ko_ensures_ko_sqrt_pos : Timeout
 [wp] Proved goals:    0 / 9
   alt-ergo:        0  (interrupted: 9)
 ----------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/model.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/model.res.oracle
index d1c12a1b3404429d3368dd441260c2283dd3fb4c..208ec05840fd62dfe9f543bf720c8318cf83b06b 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/model.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/model.res.oracle
@@ -7,13 +7,13 @@
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
 ---------------------------------------------
---- File 'typed/f_post.ergo' 
+--- File 'typed/f_ensures.ergo' 
 ---------------------------------------------
 (* ---------------------------------------------------------- *)
 (* --- Post-condition (file tests/wp_plugin/model.i, line 13) in 'f' --- *)
 (* ---------------------------------------------------------- *)
 
-goal f_post:
+goal f_ensures:
   forall i : int.
   forall t : (addr,int) farray.
   forall a : addr.
@@ -41,19 +41,19 @@ function shift_sint32(p:addr, k:int) : addr = shift(p, k)
 
 logic P_P : int -> prop
 
-[wp] [Alt-Ergo] Goal typed_f_post : Typechecked
+[wp] [Alt-Ergo] Goal typed_f_ensures : Typechecked
 [wp] Proved goals:    0 / 1
   Alt-Ergo:        0  (unknown: 1)
 [wp] Running WP plugin...
 [wp] 2 goals scheduled
 ---------------------------------------------
---- File 'typed/f_post.ergo' 
+--- File 'typed/f_ensures.ergo' 
 ---------------------------------------------
 (* ---------------------------------------------------------- *)
 (* --- Post-condition (file tests/wp_plugin/model.i, line 13) in 'f' --- *)
 (* ---------------------------------------------------------- *)
 
-goal f_post:
+goal f_ensures:
   forall i : int.
   forall t : (addr,int) farray.
   forall a : addr.
@@ -63,15 +63,15 @@ goal f_post:
   is_sint32(x) ->
   P_P(x)
 
-[wp] [Alt-Ergo] Goal typed_f_post : Typechecked
+[wp] [Alt-Ergo] Goal typed_f_ensures : Typechecked
 ---------------------------------------------
---- File 'typed_ref/f_post.ergo' 
+--- File 'typed_ref/f_ensures.ergo' 
 ---------------------------------------------
 (* ---------------------------------------------------------- *)
 (* --- Post-condition (file tests/wp_plugin/model.i, line 13) in 'f' --- *)
 (* ---------------------------------------------------------- *)
 
-goal f_post:
+goal f_ensures:
   forall i : int.
   forall t : (addr,int) farray.
   forall a : addr.
@@ -99,6 +99,6 @@ function shift_sint32(p:addr, k:int) : addr = shift(p, k)
 
 logic P_P : int -> prop
 
-[wp] [Alt-Ergo] Goal typed_ref_f_post : Typechecked
+[wp] [Alt-Ergo] Goal typed_ref_f_ensures : Typechecked
 [wp] Proved goals:    0 / 2
   Alt-Ergo:        0  (unknown: 2)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.res.oracle
index 5ac8f29ffc882856883ba31378066d3eda026010..4e444f5c792756e54ecde7d9d12f951091879771 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overarray.res.oracle
@@ -4,18 +4,18 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 12 goals scheduled
-[wp] [Qed] Goal typed_f1_ok_assign_exit : Valid
-[wp] [Qed] Goal typed_f1_ok_assign_normal : Valid
-[wp] [Qed] Goal typed_f2_ok_assign_exit : Valid
-[wp] [Qed] Goal typed_f2_ok_assign_normal : Valid
-[wp] [Qed] Goal typed_f3_ok_assign_exit : Valid
-[wp] [Qed] Goal typed_f3_ok_assign_normal : Valid
-[wp] [Qed] Goal typed_f4_ok_assign_exit : Valid
-[wp] [Qed] Goal typed_f4_ok_assign_normal : Valid
-[wp] [Alt-Ergo] Goal typed_f5_ko_assign_exit : Unknown
-[wp] [Alt-Ergo] Goal typed_f5_ko_assign_normal : Unknown
-[wp] [Alt-Ergo] Goal typed_f6_ko_assign_exit : Unknown
-[wp] [Alt-Ergo] Goal typed_f6_ko_assign_normal : Unknown
+[wp] [Qed] Goal typed_f1_ok_assigns_exit : Valid
+[wp] [Qed] Goal typed_f1_ok_assigns_normal : Valid
+[wp] [Qed] Goal typed_f2_ok_assigns_exit : Valid
+[wp] [Qed] Goal typed_f2_ok_assigns_normal : Valid
+[wp] [Qed] Goal typed_f3_ok_assigns_exit : Valid
+[wp] [Qed] Goal typed_f3_ok_assigns_normal : Valid
+[wp] [Qed] Goal typed_f4_ok_assigns_exit : Valid
+[wp] [Qed] Goal typed_f4_ok_assigns_normal : Valid
+[wp] [Alt-Ergo] Goal typed_f5_ko_assigns_exit : Unknown
+[wp] [Alt-Ergo] Goal typed_f5_ko_assigns_normal : Unknown
+[wp] [Alt-Ergo] Goal typed_f6_ko_assigns_exit : Unknown
+[wp] [Alt-Ergo] Goal typed_f6_ko_assigns_normal : Unknown
 [wp] Proved goals:    8 / 12
   Qed:             8 
   Alt-Ergo:        0  (unknown: 4)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.res.oracle
index a01baabf0813e1f0c2dcefe4370c1842e12c329b..35b9336ecadf83170af03333e68ff4b182cd2e9d 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/overassign.res.oracle
@@ -4,18 +4,18 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 12 goals scheduled
-[wp] [Qed] Goal typed_f1_ok_assign_exit : Valid
-[wp] [Qed] Goal typed_f1_ok_assign_normal : Valid
-[wp] [Qed] Goal typed_f2_ok_assign_exit : Valid
-[wp] [Qed] Goal typed_f2_ok_assign_normal : Valid
-[wp] [Alt-Ergo] Goal typed_f3_ok_assign_exit : Valid
-[wp] [Alt-Ergo] Goal typed_f3_ok_assign_normal : Valid
-[wp] [Alt-Ergo] Goal typed_f4_ok_assign_exit : Valid
-[wp] [Alt-Ergo] Goal typed_f4_ok_assign_normal : Valid
-[wp] [Alt-Ergo] Goal typed_f5_ko_assign_exit : Unknown
-[wp] [Alt-Ergo] Goal typed_f5_ko_assign_normal : Unknown
-[wp] [Alt-Ergo] Goal typed_f6_ko_assign_exit : Unknown
-[wp] [Alt-Ergo] Goal typed_f6_ko_assign_normal : Unknown
+[wp] [Qed] Goal typed_f1_ok_assigns_exit : Valid
+[wp] [Qed] Goal typed_f1_ok_assigns_normal : Valid
+[wp] [Qed] Goal typed_f2_ok_assigns_exit : Valid
+[wp] [Qed] Goal typed_f2_ok_assigns_normal : Valid
+[wp] [Alt-Ergo] Goal typed_f3_ok_assigns_exit : Valid
+[wp] [Alt-Ergo] Goal typed_f3_ok_assigns_normal : Valid
+[wp] [Alt-Ergo] Goal typed_f4_ok_assigns_exit : Valid
+[wp] [Alt-Ergo] Goal typed_f4_ok_assigns_normal : Valid
+[wp] [Alt-Ergo] Goal typed_f5_ko_assigns_exit : Unknown
+[wp] [Alt-Ergo] Goal typed_f5_ko_assigns_normal : Unknown
+[wp] [Alt-Ergo] Goal typed_f6_ko_assigns_exit : Unknown
+[wp] [Alt-Ergo] Goal typed_f6_ko_assigns_normal : Unknown
 [wp] Proved goals:    8 / 12
   Qed:             4 
   Alt-Ergo:        4  (unknown: 4)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.res.oracle
index cee0e2ca5745d1c2933ac736f07e86195491a124..1336f4996df2f3297d31eea9a94833de9f534803 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/prenex.res.oracle
@@ -4,18 +4,18 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 12 goals scheduled
-[wp] [Alt-Ergo] Goal typed_diag_post : Valid
-[wp] [Alt-Ergo] Goal typed_diag_loop_inv_I_preserved : Valid
-[wp] [Qed] Goal typed_diag_loop_inv_I_established : Valid
-[wp] [Alt-Ergo] Goal typed_diag_loop_inv_PI_preserved : Valid
-[wp] [Qed] Goal typed_diag_loop_inv_PI_established : Valid
-[wp] [Alt-Ergo] Goal typed_diag_loop_inv_J_preserved : Valid
-[wp] [Qed] Goal typed_diag_loop_inv_J_established : Valid
-[wp] [Alt-Ergo] Goal typed_diag_loop_inv_PJ_preserved : Valid
-[wp] [Qed] Goal typed_diag_loop_inv_PJ_established : Valid
-[wp] [Qed] Goal typed_diag_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_diag_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_diag_loop_assign_2 : Valid
+[wp] [Alt-Ergo] Goal typed_diag_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_diag_loop_invariant_I_preserved : Valid
+[wp] [Qed] Goal typed_diag_loop_invariant_I_established : Valid
+[wp] [Alt-Ergo] Goal typed_diag_loop_invariant_PI_preserved : Valid
+[wp] [Qed] Goal typed_diag_loop_invariant_PI_established : Valid
+[wp] [Alt-Ergo] Goal typed_diag_loop_invariant_J_preserved : Valid
+[wp] [Qed] Goal typed_diag_loop_invariant_J_established : Valid
+[wp] [Alt-Ergo] Goal typed_diag_loop_invariant_PJ_preserved : Valid
+[wp] [Qed] Goal typed_diag_loop_invariant_PJ_established : Valid
+[wp] [Qed] Goal typed_diag_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_diag_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_diag_loop_assigns_2 : Valid
 [wp] Proved goals:   12 / 12
   Qed:             7 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.res.oracle
index 80fdaff1401fc1bc02144b2af5ef226d41bb87a0..c1c8354536c7f9ab00785d857bc8efc610538785 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/repeat.res.oracle
@@ -6,53 +6,53 @@
 [wp] tests/wp_plugin/repeat.c:47: Warning: 
   Missing assigns clause (assigns 'everything' instead)
 [wp] 47 goals scheduled
-[wp] [Qed] Goal typed_induction_post : Valid
-[wp] [Alt-Ergo] Goal typed_induction_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_induction_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_induction_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_induction_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_induction_loop_assign : Valid
-[wp] [Qed] Goal typed_induction_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_induction_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_induction_assign_normal : Valid
-[wp] [Qed] Goal typed_master_post : Valid
-[wp] [Qed] Goal typed_master_assign_exit : Valid
-[wp] [Qed] Goal typed_master_assign_normal : Valid
-[wp] [Alt-Ergo] Goal typed_shifted_post : Valid
-[wp] [Alt-Ergo] Goal typed_shifted_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_shifted_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_shifted_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_shifted_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_shifted_loop_assign : Valid
-[wp] [Qed] Goal typed_shifted_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_shifted_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_shifted_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_shifted_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_unroll_post : Valid
-[wp] [Qed] Goal typed_unroll_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_unroll_loop_inv_established : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part01 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part02 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part03 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part04 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part05 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part06 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part07 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part08 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part09 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part10 : Valid
-[wp] [Qed] Goal typed_unroll_assign_exit_part11 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part01 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part02 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part03 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part04 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part05 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part06 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part07 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part08 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part09 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part10 : Valid
-[wp] [Qed] Goal typed_unroll_assign_normal_part11 : Valid
+[wp] [Qed] Goal typed_induction_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_induction_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_induction_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_induction_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_induction_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_induction_loop_assigns : Valid
+[wp] [Qed] Goal typed_induction_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_induction_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_induction_assigns_normal : Valid
+[wp] [Qed] Goal typed_master_ensures : Valid
+[wp] [Qed] Goal typed_master_assigns_exit : Valid
+[wp] [Qed] Goal typed_master_assigns_normal : Valid
+[wp] [Alt-Ergo] Goal typed_shifted_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_shifted_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_shifted_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_shifted_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_shifted_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_shifted_loop_assigns : Valid
+[wp] [Qed] Goal typed_shifted_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_shifted_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_shifted_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_shifted_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_unroll_ensures : Valid
+[wp] [Qed] Goal typed_unroll_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_unroll_loop_invariant_established : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part01 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part02 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part03 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part04 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part05 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part06 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part07 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part08 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part09 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part10 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_exit_part11 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part01 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part02 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part03 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part04 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part05 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part06 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part07 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part08 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part09 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part10 : Valid
+[wp] [Qed] Goal typed_unroll_assigns_normal_part11 : Valid
 [wp] Proved goals:   47 / 47
   Qed:            42 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.res.oracle
index 8173a1d3abea309a752faaabd8be4693cfe0359f..0b22cdd31e674aba35035844f9052b5cc9fa470f 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.0.res.oracle
@@ -4,45 +4,45 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 39 goals scheduled
-[wp] [Qed] Goal typed_caveat_loops_post_ok_first : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_loops_post_ok_last : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_loops_loop_inv_ok_id_max_preserved : Valid
-[wp] [Qed] Goal typed_caveat_loops_loop_inv_ok_id_max_established : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_loops_loop_inv_ok_id_min_preserved : Valid
-[wp] [Qed] Goal typed_caveat_loops_loop_inv_ok_id_min_established : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_loops_loop_inv_ok_inv_preserved : Valid
-[wp] [Qed] Goal typed_caveat_loops_loop_inv_ok_inv_established : Valid
-[wp] [Qed] Goal typed_caveat_loops_loop_assign : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_normal_part3 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_loops_g_called_post_ok_u1 : Valid
-[wp] [Qed] Goal typed_caveat_loops_g_called_post_ok_u2 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_loops_g_not_called_post_ok_v1 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_loops_g_not_called_post_ok_v2 : Valid
-[wp] [Qed] Goal typed_caveat_no_calls_post_ok_m1 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_no_calls_post_ok_m2 : Valid
-[wp] [Qed] Goal typed_caveat_no_calls_post_ok_bug_why3_n1 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_no_calls_post_ok_n2 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_no_calls_post_ok_n3 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_no_calls_post_ok_bug_why3_n5 : Valid
-[wp] [Qed] Goal typed_caveat_no_calls_post_ok_bug_why3_n6 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_no_calls_post_ok_bug_why3_n5_ok : Valid
-[wp] [Qed] Goal typed_caveat_no_calls_post_ok_bug_why3_n6_ok : Valid
-[wp] [Qed] Goal typed_caveat_no_calls_assign : Valid
-[wp] [Qed] Goal typed_caveat_sequence_assign_exit : Valid
-[wp] [Qed] Goal typed_caveat_sequence_assign_normal : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_called_post_ok_o1 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_called_post_ok_p1 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_called_post_ok_p2 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_sequence_g_called_post_ok_p3 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_not_called_post_ok_o2 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_not_called_post_ok_q1 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_not_called_post_ok_q2 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_sequence_g_not_called_post_ok_q3 : Valid
+[wp] [Qed] Goal typed_caveat_loops_ensures_ok_first : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_loops_ensures_ok_last : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_loops_loop_invariant_ok_id_max_preserved : Valid
+[wp] [Qed] Goal typed_caveat_loops_loop_invariant_ok_id_max_established : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_loops_loop_invariant_ok_id_min_preserved : Valid
+[wp] [Qed] Goal typed_caveat_loops_loop_invariant_ok_id_min_established : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_loops_loop_invariant_ok_inv_preserved : Valid
+[wp] [Qed] Goal typed_caveat_loops_loop_invariant_ok_inv_established : Valid
+[wp] [Qed] Goal typed_caveat_loops_loop_assigns : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_normal_part3 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_loops_g_called_ensures_ok_u1 : Valid
+[wp] [Qed] Goal typed_caveat_loops_g_called_ensures_ok_u2 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_loops_g_not_called_ensures_ok_v1 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_loops_g_not_called_ensures_ok_v2 : Valid
+[wp] [Qed] Goal typed_caveat_no_calls_ensures_ok_m1 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_no_calls_ensures_ok_m2 : Valid
+[wp] [Qed] Goal typed_caveat_no_calls_ensures_ok_bug_why3_n1 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_no_calls_ensures_ok_n2 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_no_calls_ensures_ok_n3 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_no_calls_ensures_ok_bug_why3_n5 : Valid
+[wp] [Qed] Goal typed_caveat_no_calls_ensures_ok_bug_why3_n6 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_no_calls_ensures_ok_bug_why3_n5_ok : Valid
+[wp] [Qed] Goal typed_caveat_no_calls_ensures_ok_bug_why3_n6_ok : Valid
+[wp] [Qed] Goal typed_caveat_no_calls_assigns : Valid
+[wp] [Qed] Goal typed_caveat_sequence_assigns_exit : Valid
+[wp] [Qed] Goal typed_caveat_sequence_assigns_normal : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_called_ensures_ok_o1 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_called_ensures_ok_p1 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_called_ensures_ok_p2 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_sequence_g_called_ensures_ok_p3 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_not_called_ensures_ok_o2 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_not_called_ensures_ok_q1 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_not_called_ensures_ok_q2 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_sequence_g_not_called_ensures_ok_q3 : Valid
 [wp] Proved goals:   39 / 39
   Qed:            25 
   Alt-Ergo:       14
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.res.oracle
index 0a59b8081a5e1b3848998d71fab69d5b3df74101..1c817abc79dab4752323fb0bbc7f40d711070d22 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/sequence.1.res.oracle
@@ -4,40 +4,40 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 34 goals scheduled
-[wp] [Qed] Goal typed_caveat_loops_post_ok_first : Valid
-[wp] [alt-ergo] Goal typed_caveat_loops_post_ok_last : Valid
-[wp] [alt-ergo] Goal typed_caveat_loops_loop_inv_ok_id_max_preserved : Valid
-[wp] [Qed] Goal typed_caveat_loops_loop_inv_ok_id_max_established : Valid
-[wp] [alt-ergo] Goal typed_caveat_loops_loop_inv_ok_id_min_preserved : Valid
-[wp] [Qed] Goal typed_caveat_loops_loop_inv_ok_id_min_established : Valid
-[wp] [alt-ergo] Goal typed_caveat_loops_loop_inv_ok_inv_preserved : Valid
-[wp] [Qed] Goal typed_caveat_loops_loop_inv_ok_inv_established : Valid
-[wp] [Qed] Goal typed_caveat_loops_loop_assign : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_caveat_loops_assign_normal_part3 : Valid
-[wp] [alt-ergo] Goal typed_caveat_loops_g_called_post_ok_u1 : Valid
-[wp] [Qed] Goal typed_caveat_loops_g_called_post_ok_u2 : Valid
-[wp] [alt-ergo] Goal typed_caveat_loops_g_not_called_post_ok_v1 : Valid
-[wp] [alt-ergo] Goal typed_caveat_loops_g_not_called_post_ok_v2 : Valid
-[wp] [Qed] Goal typed_caveat_no_calls_post_ok_m1 : Valid
-[wp] [alt-ergo] Goal typed_caveat_no_calls_post_ok_m2 : Valid
-[wp] [alt-ergo] Goal typed_caveat_no_calls_post_ok_n2 : Valid
-[wp] [alt-ergo] Goal typed_caveat_no_calls_post_ok_n3 : Valid
-[wp] [Qed] Goal typed_caveat_no_calls_assign : Valid
-[wp] [Qed] Goal typed_caveat_sequence_assign_exit : Valid
-[wp] [Qed] Goal typed_caveat_sequence_assign_normal : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_called_post_ok_o1 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_called_post_ok_p1 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_called_post_ok_p2 : Valid
-[wp] [alt-ergo] Goal typed_caveat_sequence_g_called_post_ok_p3 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_not_called_post_ok_o2 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_not_called_post_ok_q1 : Valid
-[wp] [Qed] Goal typed_caveat_sequence_g_not_called_post_ok_q2 : Valid
-[wp] [alt-ergo] Goal typed_caveat_sequence_g_not_called_post_ok_q3 : Valid
+[wp] [Qed] Goal typed_caveat_loops_ensures_ok_first : Valid
+[wp] [alt-ergo] Goal typed_caveat_loops_ensures_ok_last : Valid
+[wp] [alt-ergo] Goal typed_caveat_loops_loop_invariant_ok_id_max_preserved : Valid
+[wp] [Qed] Goal typed_caveat_loops_loop_invariant_ok_id_max_established : Valid
+[wp] [alt-ergo] Goal typed_caveat_loops_loop_invariant_ok_id_min_preserved : Valid
+[wp] [Qed] Goal typed_caveat_loops_loop_invariant_ok_id_min_established : Valid
+[wp] [alt-ergo] Goal typed_caveat_loops_loop_invariant_ok_inv_preserved : Valid
+[wp] [Qed] Goal typed_caveat_loops_loop_invariant_ok_inv_established : Valid
+[wp] [Qed] Goal typed_caveat_loops_loop_assigns : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_caveat_loops_assigns_normal_part3 : Valid
+[wp] [alt-ergo] Goal typed_caveat_loops_g_called_ensures_ok_u1 : Valid
+[wp] [Qed] Goal typed_caveat_loops_g_called_ensures_ok_u2 : Valid
+[wp] [alt-ergo] Goal typed_caveat_loops_g_not_called_ensures_ok_v1 : Valid
+[wp] [alt-ergo] Goal typed_caveat_loops_g_not_called_ensures_ok_v2 : Valid
+[wp] [Qed] Goal typed_caveat_no_calls_ensures_ok_m1 : Valid
+[wp] [alt-ergo] Goal typed_caveat_no_calls_ensures_ok_m2 : Valid
+[wp] [alt-ergo] Goal typed_caveat_no_calls_ensures_ok_n2 : Valid
+[wp] [alt-ergo] Goal typed_caveat_no_calls_ensures_ok_n3 : Valid
+[wp] [Qed] Goal typed_caveat_no_calls_assigns : Valid
+[wp] [Qed] Goal typed_caveat_sequence_assigns_exit : Valid
+[wp] [Qed] Goal typed_caveat_sequence_assigns_normal : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_called_ensures_ok_o1 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_called_ensures_ok_p1 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_called_ensures_ok_p2 : Valid
+[wp] [alt-ergo] Goal typed_caveat_sequence_g_called_ensures_ok_p3 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_not_called_ensures_ok_o2 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_not_called_ensures_ok_q1 : Valid
+[wp] [Qed] Goal typed_caveat_sequence_g_not_called_ensures_ok_q2 : Valid
+[wp] [alt-ergo] Goal typed_caveat_sequence_g_not_called_ensures_ok_q3 : Valid
 [wp] Proved goals:   34 / 34
   Qed:            22 
   alt-ergo:       12
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.log b/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.log
index c5ef6b5c8fd1ca8556fed9433f41937c0a6ff440..a4c5684758293a710da3057a4b6d1a219bcc4541 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.log
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.log
@@ -1,14 +1,14 @@
 [kernel] Parsing tests/wp_plugin/stmt.c (with preprocessing)
 [wp] Running WP plugin...
-[wp] [CFG] Goal f_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_assign : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_post : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_assign : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_post : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_exit : Valid (Unreachable)
+[wp] [CFG] Goal f_exits : Valid (Unreachable)
+[wp] [CFG] Goal g_exits : Valid (Unreachable)
+[wp] [CFG] Goal g_assigns : Valid (Unreachable)
+[wp] [CFG] Goal g_ensures : Valid (Unreachable)
+[wp] [CFG] Goal g_exits : Valid (Unreachable)
+[wp] [CFG] Goal h_exits : Valid (Unreachable)
+[wp] [CFG] Goal h_assigns : Valid (Unreachable)
+[wp] [CFG] Goal h_ensures : Valid (Unreachable)
+[wp] [CFG] Goal h_exits : Valid (Unreachable)
 [wp] CFG h -> h
 [wp] CFG h -> h_NEG_stmt_15
 [wp] CFG h -> h_POS_stmt_15
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.res.oracle
index 97b554ede989e2f597a21c145e87e9fa58989697..b891bec1a72b0dcb219f3c43738bfe781322f85a 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/stmt.res.oracle
@@ -2,25 +2,25 @@
 [kernel] Parsing tests/wp_plugin/stmt.c (with preprocessing)
 [wp] Running WP plugin...
 [wp] Loading driver 'share/wp.driver'
-[wp] [CFG] Goal f_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_assign : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_post : Valid (Unreachable)
-[wp] [CFG] Goal g_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_exit : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_assign : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_post : Valid (Unreachable)
-[wp] [CFG] Goal h_stmt_exit : Valid (Unreachable)
+[wp] [CFG] Goal f_exits : Valid (Unreachable)
+[wp] [CFG] Goal g_exits : Valid (Unreachable)
+[wp] [CFG] Goal g_assigns : Valid (Unreachable)
+[wp] [CFG] Goal g_ensures : Valid (Unreachable)
+[wp] [CFG] Goal g_exits : Valid (Unreachable)
+[wp] [CFG] Goal h_exits : Valid (Unreachable)
+[wp] [CFG] Goal h_assigns : Valid (Unreachable)
+[wp] [CFG] Goal h_ensures : Valid (Unreachable)
+[wp] [CFG] Goal h_exits : Valid (Unreachable)
 [wp] Warning: Missing RTE guards
 [wp] 10 goals scheduled
-[wp] [Qed] Goal typed_f_post : Valid
-[wp] [Qed] Goal typed_f_post_2 : Valid
+[wp] [Qed] Goal typed_f_ensures_2 : Valid
+[wp] [Qed] Goal typed_f_ensures_3 : Valid
 [wp] [Qed] Goal typed_f_assert : Valid
-[wp] [Qed] Goal typed_f_stmt_post : Valid
-[wp] [Qed] Goal typed_f_stmt_assign : Valid
-[wp] [Qed] Goal typed_g_post : Valid
+[wp] [Qed] Goal typed_f_ensures : Valid
+[wp] [Qed] Goal typed_f_assigns : Valid
+[wp] [Qed] Goal typed_g_ensures_2 : Valid
 [wp] [Qed] Goal typed_g_assert : Valid
-[wp] [Qed] Goal typed_h_post : Valid
+[wp] [Qed] Goal typed_h_ensures_2 : Valid
 [wp] [Qed] Goal typed_h_assert : Valid
 [wp] [Qed] Goal typed_h_assert_2 : Valid
 [wp] Proved goals:   10 / 10
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.res.oracle
index d4b8d167e8841ec4fef132c958997151a3903665..cd836f893d9450075f4900dc7dde4b8def2dc3b2 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/string_c.res.oracle
@@ -4,50 +4,50 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 44 goals scheduled
-[wp] [Alt-Ergo] Goal typed_memcpy_post_copied_contents : Valid
-[wp] [Qed] Goal typed_memcpy_post_result_ptr : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_loop_inv_no_eva_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_loop_inv_no_eva_established : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_loop_inv_no_eva_2_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_loop_inv_no_eva_2_established : Valid
-[wp] [Qed] Goal typed_memcpy_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_memcpy_loop_assign_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_loop_assign_part3 : Valid
-[wp] [Qed] Goal typed_memcpy_assign : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_memcpy_loop_term_positive : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_post_copied_contents : Valid
-[wp] [Qed] Goal typed_memmove_post_result_ptr : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_inv_no_eva_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_inv_no_eva_established : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_inv_no_eva_2_preserved : Valid
-[wp] [Qed] Goal typed_memmove_loop_inv_no_eva_2_established : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_inv_no_eva_3_preserved : Valid
-[wp] [Qed] Goal typed_memmove_loop_inv_no_eva_3_established : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_inv_no_eva_4_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_inv_no_eva_4_established : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_inv_no_eva_5_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_inv_no_eva_5_established : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_inv_no_eva_6_preserved : Valid
-[wp] [Qed] Goal typed_memmove_loop_inv_no_eva_6_established : Valid
-[wp] [Qed] Goal typed_memmove_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_memmove_loop_assign_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_assign_part3 : Valid
-[wp] [Qed] Goal typed_memmove_loop_assign_2_part1 : Valid
-[wp] [Qed] Goal typed_memmove_loop_assign_2_part2 : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_assign_2_part3 : Valid
-[wp] [Qed] Goal typed_memmove_assign_exit : Valid
-[wp] [Qed] Goal typed_memmove_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_memmove_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_memmove_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_memmove_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_memmove_assign_normal_part5 : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_assign_normal_part6 : Valid
-[wp] [Qed] Goal typed_memmove_assign_normal_part7 : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_memmove_loop_term_positive : Valid
-[wp] [Alt-Ergo] Goal typed_memmove_loop_term_2_decrease : Valid
-[wp] [Qed] Goal typed_memmove_loop_term_2_positive : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_ensures_copied_contents : Valid
+[wp] [Qed] Goal typed_memcpy_ensures_result_ptr : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_loop_invariant_no_eva_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_loop_invariant_no_eva_established : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_loop_invariant_no_eva_2_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_loop_invariant_no_eva_2_established : Valid
+[wp] [Qed] Goal typed_memcpy_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_memcpy_loop_assigns_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_loop_assigns_part3 : Valid
+[wp] [Qed] Goal typed_memcpy_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_memcpy_loop_variant_positive : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_ensures_copied_contents : Valid
+[wp] [Qed] Goal typed_memmove_ensures_result_ptr : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_invariant_no_eva_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_invariant_no_eva_established : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_invariant_no_eva_2_preserved : Valid
+[wp] [Qed] Goal typed_memmove_loop_invariant_no_eva_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_invariant_no_eva_3_preserved : Valid
+[wp] [Qed] Goal typed_memmove_loop_invariant_no_eva_3_established : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_invariant_no_eva_4_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_invariant_no_eva_4_established : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_invariant_no_eva_5_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_invariant_no_eva_5_established : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_invariant_no_eva_6_preserved : Valid
+[wp] [Qed] Goal typed_memmove_loop_invariant_no_eva_6_established : Valid
+[wp] [Qed] Goal typed_memmove_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_memmove_loop_assigns_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_assigns_part3 : Valid
+[wp] [Qed] Goal typed_memmove_loop_assigns_2_part1 : Valid
+[wp] [Qed] Goal typed_memmove_loop_assigns_2_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_assigns_2_part3 : Valid
+[wp] [Qed] Goal typed_memmove_assigns_exit : Valid
+[wp] [Qed] Goal typed_memmove_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_memmove_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_memmove_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_memmove_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_memmove_assigns_normal_part5 : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_assigns_normal_part6 : Valid
+[wp] [Qed] Goal typed_memmove_assigns_normal_part7 : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_memmove_loop_variant_positive : Valid
+[wp] [Alt-Ergo] Goal typed_memmove_loop_variant_2_decrease : Valid
+[wp] [Qed] Goal typed_memmove_loop_variant_2_positive : Valid
 [wp] Proved goals:   44 / 44
   Qed:            23 
   Alt-Ergo:       21
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct.res.oracle
index ececd4dbdc753c429893457c4d853ea936e9aac4..5d5925a673ed1be9f1420df468cdb4b363b26237 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct.res.oracle
@@ -4,24 +4,24 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 18 goals scheduled
-[wp] [Qed] Goal typed_f_post_qed_ok_E0 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E1 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E2 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E3 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E4 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E5 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E6 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E7 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E8 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E9 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E10 : Valid
-[wp] [Qed] Goal typed_f_post_qed_ok_E11 : Valid
-[wp] [Qed] Goal typed_g_post_qed_ok_P3 : Valid
-[wp] [Qed] Goal typed_g_post_qed_ok_P4 : Valid
-[wp] [Qed] Goal typed_g_post_qed_ok_P5 : Valid
-[wp] [Qed] Goal typed_g_assign : Valid
-[wp] [Qed] Goal typed_id_post_qed_ok_P1 : Valid
-[wp] [Qed] Goal typed_id_post_qed_ok_P2 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E0 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E1 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E2 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E3 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E4 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E5 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E6 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E7 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E8 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E9 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E10 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok_E11 : Valid
+[wp] [Qed] Goal typed_g_ensures_qed_ok_P3 : Valid
+[wp] [Qed] Goal typed_g_ensures_qed_ok_P4 : Valid
+[wp] [Qed] Goal typed_g_ensures_qed_ok_P5 : Valid
+[wp] [Qed] Goal typed_g_assigns : Valid
+[wp] [Qed] Goal typed_id_ensures_qed_ok_P1 : Valid
+[wp] [Qed] Goal typed_id_ensures_qed_ok_P2 : Valid
 [wp] Proved goals:   18 / 18
   Qed:            18
 [wp] Report 'tests/wp_plugin/struct.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.res.oracle
index 1a60c2772c855913d23492e0e5633641795f1335..5f2a0470a75764e51993fb0451394611b64fe24a 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/struct_hack.res.oracle
@@ -10,16 +10,16 @@
 [wp] tests/wp_plugin/struct_hack.i:53: Warning: 
   Missing assigns clause (assigns 'everything' instead)
 [wp] 10 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f0_loop_inv_qed_ok_preserved : Valid
-[wp] [Qed] Goal typed_f0_loop_inv_qed_ok_established : Valid
+[wp] [Alt-Ergo] Goal typed_f0_loop_invariant_qed_ok_preserved : Valid
+[wp] [Qed] Goal typed_f0_loop_invariant_qed_ok_established : Valid
 [wp] [Alt-Ergo] Goal typed_f0_assert_qed_ok : Valid
-[wp] [Qed] Goal typed_f0_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_f0_loop_term_positive : Valid
-[wp] [Alt-Ergo] Goal typed_f1_loop_inv_qed_ok_preserved : Valid
-[wp] [Qed] Goal typed_f1_loop_inv_qed_ok_established : Valid
+[wp] [Qed] Goal typed_f0_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_f0_loop_variant_positive : Valid
+[wp] [Alt-Ergo] Goal typed_f1_loop_invariant_qed_ok_preserved : Valid
+[wp] [Qed] Goal typed_f1_loop_invariant_qed_ok_established : Valid
 [wp] [Alt-Ergo] Goal typed_f1_assert_qed_ok : Valid
-[wp] [Qed] Goal typed_f1_loop_term_decrease : Valid
-[wp] [Qed] Goal typed_f1_loop_term_positive : Valid
+[wp] [Qed] Goal typed_f1_loop_variant_decrease : Valid
+[wp] [Qed] Goal typed_f1_loop_variant_positive : Valid
 [wp] Proved goals:   10 / 10
   Qed:             6 
   Alt-Ergo:        4
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.res.oracle
index e8606daa876ec7efc765b12bf8edaf2b63de535d..733c25f45a7e5bc2dec5df66345044b4afd2faab 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/subset.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_mem_post : Valid
+[wp] [Alt-Ergo] Goal typed_mem_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.res.oracle
index d4b8f0fc30206a4473541a5e4226c233bf971427..9fa488423ea2b73c3bce33d521e2e8aa553c585d 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/trig.res.oracle
@@ -7,7 +7,7 @@
 [wp] [Alt-Ergo] Goal typed_foo_assert_qed_ok_S : Valid
 [wp] [Alt-Ergo] Goal typed_foo_assert_qed_ok_A : Valid
 [wp] [Alt-Ergo] Goal typed_foo_assert_qed_ok_B : Unknown
-[wp] [Qed] Goal typed_foo_call_fconcat_pre_qed_ok : Valid
+[wp] [Qed] Goal typed_foo_call_fconcat_requires_qed_ok : Valid
 [wp] Proved goals:    3 / 4
   Qed:             1 
   Alt-Ergo:        2  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.res.oracle
index d093141e585916c6b6ac1f1753c36549cfd159c5..6ce8eaf3651a1fb1b04a513c56de8fd3e36fe498 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsafe-arrays.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_f_post_ARRAYS : Valid
-[wp] [Qed] Goal typed_f_post_STRUCT : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_INDIRP : Valid
+[wp] [Qed] Goal typed_f_ensures_ARRAYS : Valid
+[wp] [Qed] Goal typed_f_ensures_STRUCT : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_INDIRP : Valid
 [wp] Proved goals:    3 / 3
   Qed:             2 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.res.oracle b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.res.oracle
index 512b6a9775dca1032030781db5f07faba19e53ce..5cb5f531ab2cff415b146d2960bb24cd8a29737e 100644
--- a/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.res.oracle
+++ b/src/plugins/wp/tests/wp_plugin/oracle_qualif/unsupported_init.res.oracle
@@ -8,7 +8,7 @@
   (r1: \initialized(Y + (0 .. 99)))
 [wp] 2 goals scheduled
 [wp] [Qed] Goal typed_f_assert_a1 : Valid
-[wp] [Alt-Ergo] Goal typed_f_call_cp_pre_r1 : Unknown (Degenerated)
+[wp] [Alt-Ergo] Goal typed_f_call_cp_requires_r1 : Unknown (Degenerated)
 [wp] Proved goals:    1 / 2
   Qed:             1 
   Alt-Ergo:        0  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_plugin/overarray.i.0.report.json b/src/plugins/wp/tests/wp_plugin/overarray.i.0.report.json
index 720746c5196416ef4898a24124ec3ac9d1e21bc7..dbda73ffeddfd55206f94a3f1e8d23e4b278c486 100644
--- a/src/plugins/wp/tests/wp_plugin/overarray.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/overarray.i.0.report.json
@@ -1,50 +1,50 @@
 { "wp:global": { "alt-ergo": { "total": 4, "unknown": 4 },
                  "qed": { "total": 8, "valid": 8 },
                  "wp:main": { "total": 12, "valid": 8, "unknown": 4 } },
-  "wp:functions": { "f1_ok": { "f1_ok_assign": { "qed": { "total": 2,
-                                                          "valid": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2 } },
+  "wp:functions": { "f1_ok": { "f1_ok_assigns": { "qed": { "total": 2,
+                                                           "valid": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "valid": 2 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "f2_ok": { "f2_ok_assign": { "qed": { "total": 2,
-                                                          "valid": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2 } },
+                    "f2_ok": { "f2_ok_assigns": { "qed": { "total": 2,
+                                                           "valid": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "valid": 2 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "f3_ok": { "f3_ok_assign": { "qed": { "total": 2,
-                                                          "valid": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2 } },
+                    "f3_ok": { "f3_ok_assigns": { "qed": { "total": 2,
+                                                           "valid": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "valid": 2 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "f4_ok": { "f4_ok_assign": { "qed": { "total": 2,
-                                                          "valid": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2 } },
+                    "f4_ok": { "f4_ok_assigns": { "qed": { "total": 2,
+                                                           "valid": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "valid": 2 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "f5_ko": { "f5_ko_assign": { "alt-ergo": { "total": 2,
-                                                               "unknown": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "unknown": 2 } },
+                    "f5_ko": { "f5_ko_assigns": { "alt-ergo": { "total": 2,
+                                                                "unknown": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "unknown": 2 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "unknown": 2 },
                                                "wp:main": { "total": 2,
                                                             "unknown": 2 } } },
-                    "f6_ko": { "f6_ko_assign": { "alt-ergo": { "total": 2,
-                                                               "unknown": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "unknown": 2 } },
+                    "f6_ko": { "f6_ko_assigns": { "alt-ergo": { "total": 2,
+                                                                "unknown": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "unknown": 2 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "unknown": 2 },
                                                "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_plugin/overassign.i.0.report.json b/src/plugins/wp/tests/wp_plugin/overassign.i.0.report.json
index 80848c1eee23b93d767419b34800a6444c9f6ff4..6d1cdc2c969c2679873d615d8463be23bdb1760d 100644
--- a/src/plugins/wp/tests/wp_plugin/overassign.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/overassign.i.0.report.json
@@ -3,58 +3,58 @@
                  "qed": { "total": 4, "valid": 4 },
                  "wp:main": { "total": 12, "valid": 8, "unknown": 4,
                               "rank": 6 } },
-  "wp:functions": { "f1_ok": { "f1_ok_assign": { "qed": { "total": 2,
-                                                          "valid": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2 } },
+  "wp:functions": { "f1_ok": { "f1_ok_assigns": { "qed": { "total": 2,
+                                                           "valid": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "valid": 2 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "f2_ok": { "f2_ok_assign": { "qed": { "total": 2,
-                                                          "valid": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2 } },
+                    "f2_ok": { "f2_ok_assigns": { "qed": { "total": 2,
+                                                           "valid": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "valid": 2 } },
                                "wp:section": { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } } },
-                    "f3_ok": { "f3_ok_assign": { "alt-ergo": { "total": 2,
+                    "f3_ok": { "f3_ok_assigns": { "alt-ergo": { "total": 2,
+                                                                "valid": 2,
+                                                                "rank": 6 },
+                                                  "wp:main": { "total": 2,
                                                                "valid": 2,
-                                                               "rank": 6 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 6 } },
+                                                               "rank": 6 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "valid": 2,
                                                              "rank": 6 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 6 } } },
-                    "f4_ok": { "f4_ok_assign": { "alt-ergo": { "total": 2,
+                    "f4_ok": { "f4_ok_assigns": { "alt-ergo": { "total": 2,
+                                                                "valid": 2,
+                                                                "rank": 5 },
+                                                  "wp:main": { "total": 2,
                                                                "valid": 2,
-                                                               "rank": 4 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 4 } },
+                                                               "rank": 5 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "valid": 2,
                                                              "rank": 4 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 4 } } },
-                    "f5_ko": { "f5_ko_assign": { "alt-ergo": { "total": 2,
-                                                               "unknown": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "unknown": 2 } },
+                    "f5_ko": { "f5_ko_assigns": { "alt-ergo": { "total": 2,
+                                                                "unknown": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "unknown": 2 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "unknown": 2 },
                                                "wp:main": { "total": 2,
                                                             "unknown": 2 } } },
-                    "f6_ko": { "f6_ko_assign": { "alt-ergo": { "total": 2,
-                                                               "unknown": 2 },
-                                                 "wp:main": { "total": 2,
-                                                              "unknown": 2 } },
+                    "f6_ko": { "f6_ko_assigns": { "alt-ergo": { "total": 2,
+                                                                "unknown": 2 },
+                                                  "wp:main": { "total": 2,
+                                                               "unknown": 2 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "unknown": 2 },
                                                "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_plugin/prenex.i.0.report.json b/src/plugins/wp/tests/wp_plugin/prenex.i.0.report.json
index 0f3f71f56e14c84f708b839a9782131ddb51b081..eda25d8e11dabc2e5c27f1be1a0c06bb66dfebde 100644
--- a/src/plugins/wp/tests/wp_plugin/prenex.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/prenex.i.0.report.json
@@ -1,52 +1,58 @@
 { "wp:global": { "alt-ergo": { "total": 5, "valid": 5, "rank": 16 },
                  "qed": { "total": 7, "valid": 7 },
                  "wp:main": { "total": 12, "valid": 12, "rank": 16 } },
-  "wp:functions": { "diag": { "diag_loop_inv_PJ": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 7 },
-                                                    "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 7 } },
-                              "diag_loop_inv_J": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 6 },
-                                                   "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 6 } },
-                              "diag_loop_inv_PI": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 7 },
-                                                    "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 7 } },
-                              "diag_loop_inv_I": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 5 },
-                                                   "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 5 } },
-                              "diag_loop_assign_2": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                              "diag_loop_assign": { "qed": { "total": 2,
-                                                             "valid": 2 },
-                                                    "wp:main": { "total": 2,
-                                                                 "valid": 2 } },
-                              "diag_post": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 16 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1,
-                                                          "rank": 16 } },
+  "wp:functions": { "diag": { "diag_loop_invariant_PJ": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 8 },
+                                                          "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 2,
+                                                              "valid": 2,
+                                                              "rank": 8 } },
+                              "diag_loop_invariant_J": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 7 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 7 } },
+                              "diag_loop_invariant_PI": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 8 },
+                                                          "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 2,
+                                                              "valid": 2,
+                                                              "rank": 8 } },
+                              "diag_loop_invariant_I": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 6 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 6 } },
+                              "diag_loop_assigns_2": { "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                              "diag_loop_assigns": { "qed": { "total": 2,
+                                                              "valid": 2 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2 } },
+                              "diag_ensures": { "alt-ergo": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 17 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 17 } },
                               "wp:section": { "alt-ergo": { "total": 5,
                                                             "valid": 5,
                                                             "rank": 16 },
diff --git a/src/plugins/wp/tests/wp_plugin/repeat.c.0.report.json b/src/plugins/wp/tests/wp_plugin/repeat.c.0.report.json
index e96b420e99acab6cb9a1086562ba4ba76c0d8c75..96cd0a3fb5d51f6122e4a4ffb1e9568d7d1e7ede 100644
--- a/src/plugins/wp/tests/wp_plugin/repeat.c.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/repeat.c.0.report.json
@@ -1,108 +1,117 @@
 { "wp:global": { "alt-ergo": { "total": 5, "valid": 5, "rank": 12 },
                  "qed": { "total": 42, "valid": 42 },
                  "wp:main": { "total": 47, "valid": 47, "rank": 12 } },
-  "wp:functions": { "master": { "master_assign": { "qed": { "total": 2,
-                                                            "valid": 2 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2 } },
-                                "master_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+  "wp:functions": { "master": { "master_assigns": { "qed": { "total": 2,
+                                                             "valid": 2 },
+                                                    "wp:main": { "total": 2,
+                                                                 "valid": 2 } },
+                                "master_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                                 "wp:section": { "qed": { "total": 3,
                                                          "valid": 3 },
                                                 "wp:main": { "total": 3,
                                                              "valid": 3 } } },
-                    "unroll": { "unroll_loop_inv": { "qed": { "total": 2,
-                                                              "valid": 2 },
-                                                     "wp:main": { "total": 2,
-                                                                  "valid": 2 } },
-                                "unroll_assign": { "qed": { "total": 22,
-                                                            "valid": 22 },
-                                                   "wp:main": { "total": 22,
-                                                                "valid": 22 } },
-                                "unroll_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                    "unroll": { "unroll_loop_invariant": { "qed": { "total": 2,
+                                                                    "valid": 2 },
+                                                           "wp:main": 
+                                                             { "total": 2,
+                                                               "valid": 2 } },
+                                "unroll_assigns": { "qed": { "total": 22,
+                                                             "valid": 22 },
+                                                    "wp:main": { "total": 22,
+                                                                 "valid": 22 } },
+                                "unroll_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                                 "wp:section": { "qed": { "total": 25,
                                                          "valid": 25 },
                                                 "wp:main": { "total": 25,
                                                              "valid": 25 } } },
-                    "induction": { "induction_loop_inv_2": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 12 },
-                                                             "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 12 } },
-                                   "induction_loop_inv": { "alt-ergo": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 4 },
-                                                           "qed": { "total": 1,
+                    "induction": { "induction_loop_invariant_2": { "alt-ergo": 
+                                                                    { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 12 },
+                                                                   "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 2,
-                                                               "valid": 2,
-                                                               "rank": 4 } },
-                                   "induction_assign": { "qed": { "total": 3,
-                                                                  "valid": 3 },
-                                                         "wp:main": { "total": 3,
-                                                                    "valid": 3 } },
-                                   "induction_loop_assign": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
-                                   "induction_post": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                                   "wp:section": { "alt-ergo": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 12 },
-                                                   "qed": { "total": 7,
-                                                            "valid": 7 },
-                                                   "wp:main": { "total": 9,
-                                                                "valid": 9,
-                                                                "rank": 12 } } },
-                    "shifted": { "shifted_loop_inv_2": { "alt-ergo": 
-                                                           { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 12 },
-                                                         "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 2,
+                                                                   "wp:main": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 12 } },
-                                 "shifted_loop_inv": { "alt-ergo": { "total": 1,
+                                   "induction_loop_invariant": { "alt-ergo": 
+                                                                   { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 5 },
-                                                       "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 2,
+                                                                 "qed": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 5 } },
-                                 "shifted_assign": { "qed": { "total": 4,
-                                                              "valid": 4 },
-                                                     "wp:main": { "total": 4,
-                                                                  "valid": 4 } },
-                                 "shifted_loop_assign": { "qed": { "total": 1,
+                                   "induction_assigns": { "qed": { "total": 3,
+                                                                   "valid": 3 },
+                                                          "wp:main": 
+                                                            { "total": 3,
+                                                              "valid": 3 } },
+                                   "induction_loop_assigns": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
+                                   "induction_ensures": { "qed": { "total": 1,
                                                                    "valid": 1 },
                                                           "wp:main": 
                                                             { "total": 1,
                                                               "valid": 1 } },
-                                 "shifted_post": { "alt-ergo": { "total": 1,
+                                   "wp:section": { "alt-ergo": { "total": 2,
+                                                                 "valid": 2,
+                                                                 "rank": 12 },
+                                                   "qed": { "total": 7,
+                                                            "valid": 7 },
+                                                   "wp:main": { "total": 9,
+                                                                "valid": 9,
+                                                                "rank": 12 } } },
+                    "shifted": { "shifted_loop_invariant_2": { "alt-ergo": 
+                                                                 { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 12 },
+                                                               "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 2,
+                                                                   "valid": 2,
+                                                                   "rank": 12 } },
+                                 "shifted_loop_invariant": { "alt-ergo": 
+                                                               { "total": 1,
                                                                  "valid": 1,
-                                                                 "rank": 11 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 11 } },
+                                                                 "rank": 5 },
+                                                             "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 2,
+                                                                 "valid": 2,
+                                                                 "rank": 5 } },
+                                 "shifted_assigns": { "qed": { "total": 4,
+                                                               "valid": 4 },
+                                                      "wp:main": { "total": 4,
+                                                                   "valid": 4 } },
+                                 "shifted_loop_assigns": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                                 "shifted_ensures": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 11 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 11 } },
                                  "wp:section": { "alt-ergo": { "total": 3,
                                                                "valid": 3,
                                                                "rank": 12 },
diff --git a/src/plugins/wp/tests/wp_plugin/sequence.i.0.report.json b/src/plugins/wp/tests/wp_plugin/sequence.i.0.report.json
index 817a0ff84b007f0bcdcf5b9317a0f356cda307d9..bf8382730e3a01e20ddba4c18c730f0404c09b97 100644
--- a/src/plugins/wp/tests/wp_plugin/sequence.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/sequence.i.0.report.json
@@ -1,67 +1,59 @@
 { "wp:global": { "alt-ergo": { "total": 14, "valid": 14, "rank": 13 },
                  "qed": { "total": 25, "valid": 25 },
                  "wp:main": { "total": 39, "valid": 39, "rank": 13 } },
-  "wp:functions": { "no_calls": { "no_calls_assign": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
+  "wp:functions": { "no_calls": { "no_calls_assigns": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                                  "no_calls_post_ok_bug_why3_n6_ok": 
+                                  "no_calls_ensures_ok_bug_why3_n6_ok": 
                                     { "qed": { "total": 1, "valid": 1 },
                                       "wp:main": { "total": 1, "valid": 1 } },
-                                  "no_calls_post_ok_bug_why3_n5_ok": 
+                                  "no_calls_ensures_ok_bug_why3_n5_ok": 
                                     { "alt-ergo": { "total": 1, "valid": 1,
                                                     "rank": 2 },
                                       "wp:main": { "total": 1, "valid": 1,
                                                    "rank": 2 } },
-                                  "no_calls_post_ok_bug_why3_n6": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                                  "no_calls_post_ok_bug_why3_n5": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 2 } },
-                                  "no_calls_post_ok_n3": { "alt-ergo": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 1 } },
-                                  "no_calls_post_ok_n2": { "alt-ergo": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 1 } },
-                                  "no_calls_post_ok_bug_why3_n1": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                                  "no_calls_post_ok_m2": { "alt-ergo": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 1 } },
-                                  "no_calls_post_ok_m1": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1 } },
+                                  "no_calls_ensures_ok_bug_why3_n6": 
+                                    { "qed": { "total": 1, "valid": 1 },
+                                      "wp:main": { "total": 1, "valid": 1 } },
+                                  "no_calls_ensures_ok_bug_why3_n5": 
+                                    { "alt-ergo": { "total": 1, "valid": 1,
+                                                    "rank": 3 },
+                                      "wp:main": { "total": 1, "valid": 1,
+                                                   "rank": 3 } },
+                                  "no_calls_ensures_ok_n3": { "alt-ergo": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 1 } },
+                                  "no_calls_ensures_ok_n2": { "alt-ergo": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 1 } },
+                                  "no_calls_ensures_ok_bug_why3_n1": 
+                                    { "qed": { "total": 1, "valid": 1 },
+                                      "wp:main": { "total": 1, "valid": 1 } },
+                                  "no_calls_ensures_ok_m2": { "alt-ergo": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 1 } },
+                                  "no_calls_ensures_ok_m1": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
                                   "wp:section": { "alt-ergo": { "total": 5,
                                                                 "valid": 5,
                                                                 "rank": 2 },
@@ -70,50 +62,38 @@
                                                   "wp:main": { "total": 10,
                                                                "valid": 10,
                                                                "rank": 2 } } },
-                    "sequence": { "sequence_assign": { "qed": { "total": 2,
-                                                                "valid": 2 },
-                                                       "wp:main": { "total": 2,
+                    "sequence": { "sequence_assigns": { "qed": { "total": 2,
+                                                                 "valid": 2 },
+                                                        "wp:main": { "total": 2,
                                                                     "valid": 2 } },
-                                  "sequence_g_not_called_post_ok_q3": 
+                                  "sequence_g_not_called_ensures_ok_q3": 
                                     { "alt-ergo": { "total": 1, "valid": 1,
                                                     "rank": 3 },
                                       "wp:main": { "total": 1, "valid": 1,
                                                    "rank": 3 } },
-                                  "sequence_g_not_called_post_ok_q2": 
+                                  "sequence_g_not_called_ensures_ok_q2": 
                                     { "qed": { "total": 1, "valid": 1 },
                                       "wp:main": { "total": 1, "valid": 1 } },
-                                  "sequence_g_not_called_post_ok_q1": 
+                                  "sequence_g_not_called_ensures_ok_q1": 
                                     { "qed": { "total": 1, "valid": 1 },
                                       "wp:main": { "total": 1, "valid": 1 } },
-                                  "sequence_g_not_called_post_ok_o2": 
+                                  "sequence_g_not_called_ensures_ok_o2": 
+                                    { "qed": { "total": 1, "valid": 1 },
+                                      "wp:main": { "total": 1, "valid": 1 } },
+                                  "sequence_g_called_ensures_ok_p3": 
+                                    { "alt-ergo": { "total": 1, "valid": 1,
+                                                    "rank": 4 },
+                                      "wp:main": { "total": 1, "valid": 1,
+                                                   "rank": 4 } },
+                                  "sequence_g_called_ensures_ok_p2": 
+                                    { "qed": { "total": 1, "valid": 1 },
+                                      "wp:main": { "total": 1, "valid": 1 } },
+                                  "sequence_g_called_ensures_ok_p1": 
+                                    { "qed": { "total": 1, "valid": 1 },
+                                      "wp:main": { "total": 1, "valid": 1 } },
+                                  "sequence_g_called_ensures_ok_o1": 
                                     { "qed": { "total": 1, "valid": 1 },
                                       "wp:main": { "total": 1, "valid": 1 } },
-                                  "sequence_g_called_post_ok_p3": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 4 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 4 } },
-                                  "sequence_g_called_post_ok_p2": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                                  "sequence_g_called_post_ok_p1": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                                  "sequence_g_called_post_ok_o1": { "qed": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
                                   "wp:section": { "alt-ergo": { "total": 2,
                                                                 "valid": 2,
                                                                 "rank": 4 },
@@ -122,84 +102,90 @@
                                                   "wp:main": { "total": 10,
                                                                "valid": 10,
                                                                "rank": 4 } } },
-                    "loops": { "loops_loop_inv_ok_inv": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 13 },
-                                                          "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 13 } },
-                               "loops_loop_inv_ok_id_max": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 4 },
-                                                             "qed": { "total": 1,
+                    "loops": { "loops_loop_invariant_ok_inv": { "alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 },
+                                                                "qed": 
+                                                                  { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 4 } },
-                               "loops_loop_inv_ok_id_min": { "alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 4 },
-                                                             "qed": { "total": 1,
+                                                                "wp:main": 
+                                                                  { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 13 } },
+                               "loops_loop_invariant_ok_id_max": { "alt-ergo": 
+                                                                    { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 5 },
+                                                                   "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 4 } },
-                               "loops_assign": { "qed": { "total": 6,
-                                                          "valid": 6 },
-                                                 "wp:main": { "total": 6,
-                                                              "valid": 6 } },
-                               "loops_loop_assign": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                               "loops_g_not_called_post_ok_v2": { "alt-ergo": 
+                                                                   "wp:main": 
+                                                                    { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 5 } },
+                               "loops_loop_invariant_ok_id_min": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 5 },
-                                                                  "wp:main": 
+                                                                   "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                   "wp:main": 
+                                                                    { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 5 } },
+                               "loops_assigns": { "qed": { "total": 6,
+                                                           "valid": 6 },
+                                                  "wp:main": { "total": 6,
+                                                               "valid": 6 } },
+                               "loops_loop_assigns": { "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
+                               "loops_g_not_called_ensures_ok_v2": { "alt-ergo": 
+                                                                    { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 5 },
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 5 } },
-                               "loops_g_not_called_post_ok_v1": { "alt-ergo": 
+                               "loops_g_not_called_ensures_ok_v1": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 13 },
-                                                                  "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 13 } },
-                               "loops_g_called_post_ok_u2": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
-                               "loops_g_called_post_ok_u1": { "alt-ergo": 
-                                                                { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 11 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 11 } },
-                               "loops_post_ok_last": { "alt-ergo": { "total": 1,
+                               "loops_g_called_ensures_ok_u2": { "qed": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 } },
+                               "loops_g_called_ensures_ok_u1": { "alt-ergo": 
+                                                                   { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 12 },
-                                                       "wp:main": { "total": 1,
+                                                                    "rank": 11 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 12 } },
-                               "loops_post_ok_first": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                                                                    "rank": 11 } },
+                               "loops_ensures_ok_last": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 12 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 12 } },
+                               "loops_ensures_ok_first": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "alt-ergo": { "total": 7,
                                                              "valid": 7,
                                                              "rank": 13 },
diff --git a/src/plugins/wp/tests/wp_plugin/sequence.i.1.report.json b/src/plugins/wp/tests/wp_plugin/sequence.i.1.report.json
index 2ccebef6433af46638e3b7a1ac76a65a4b166ef4..6bc196531e7db3fa49259a7199057378abf93923 100644
--- a/src/plugins/wp/tests/wp_plugin/sequence.i.1.report.json
+++ b/src/plugins/wp/tests/wp_plugin/sequence.i.1.report.json
@@ -1,151 +1,146 @@
 { "wp:global": { "why3:alt-ergo": { "total": 12, "valid": 12 },
                  "qed": { "total": 22, "valid": 22 },
                  "wp:main": { "total": 34, "valid": 34 } },
-  "wp:functions": { "no_calls": { "no_calls_assign": { "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 1,
+  "wp:functions": { "no_calls": { "no_calls_assigns": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                                  "no_calls_post_ok_n3": { "why3:alt-ergo": 
-                                                             { "total": 1,
-                                                               "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1 } },
-                                  "no_calls_post_ok_n2": { "why3:alt-ergo": 
-                                                             { "total": 1,
-                                                               "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1 } },
-                                  "no_calls_post_ok_m2": { "why3:alt-ergo": 
-                                                             { "total": 1,
-                                                               "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1 } },
-                                  "no_calls_post_ok_m1": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                           "wp:main": 
-                                                             { "total": 1,
-                                                               "valid": 1 } },
+                                  "no_calls_ensures_ok_n3": { "why3:alt-ergo": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
+                                  "no_calls_ensures_ok_n2": { "why3:alt-ergo": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
+                                  "no_calls_ensures_ok_m2": { "why3:alt-ergo": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
+                                  "no_calls_ensures_ok_m1": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
                                   "wp:section": { "why3:alt-ergo": { "total": 3,
                                                                     "valid": 3 },
                                                   "qed": { "total": 2,
                                                            "valid": 2 },
                                                   "wp:main": { "total": 5,
                                                                "valid": 5 } } },
-                    "sequence": { "sequence_assign": { "qed": { "total": 2,
-                                                                "valid": 2 },
-                                                       "wp:main": { "total": 2,
+                    "sequence": { "sequence_assigns": { "qed": { "total": 2,
+                                                                 "valid": 2 },
+                                                        "wp:main": { "total": 2,
                                                                     "valid": 2 } },
-                                  "sequence_g_not_called_post_ok_q3": 
+                                  "sequence_g_not_called_ensures_ok_q3": 
                                     { "why3:alt-ergo": { "total": 1,
                                                          "valid": 1 },
                                       "wp:main": { "total": 1, "valid": 1 } },
-                                  "sequence_g_not_called_post_ok_q2": 
+                                  "sequence_g_not_called_ensures_ok_q2": 
                                     { "qed": { "total": 1, "valid": 1 },
                                       "wp:main": { "total": 1, "valid": 1 } },
-                                  "sequence_g_not_called_post_ok_q1": 
+                                  "sequence_g_not_called_ensures_ok_q1": 
                                     { "qed": { "total": 1, "valid": 1 },
                                       "wp:main": { "total": 1, "valid": 1 } },
-                                  "sequence_g_not_called_post_ok_o2": 
+                                  "sequence_g_not_called_ensures_ok_o2": 
                                     { "qed": { "total": 1, "valid": 1 },
                                       "wp:main": { "total": 1, "valid": 1 } },
-                                  "sequence_g_called_post_ok_p3": { "why3:alt-ergo": 
+                                  "sequence_g_called_ensures_ok_p3": 
+                                    { "why3:alt-ergo": { "total": 1,
+                                                         "valid": 1 },
+                                      "wp:main": { "total": 1, "valid": 1 } },
+                                  "sequence_g_called_ensures_ok_p2": 
+                                    { "qed": { "total": 1, "valid": 1 },
+                                      "wp:main": { "total": 1, "valid": 1 } },
+                                  "sequence_g_called_ensures_ok_p1": 
+                                    { "qed": { "total": 1, "valid": 1 },
+                                      "wp:main": { "total": 1, "valid": 1 } },
+                                  "sequence_g_called_ensures_ok_o1": 
+                                    { "qed": { "total": 1, "valid": 1 },
+                                      "wp:main": { "total": 1, "valid": 1 } },
+                                  "wp:section": { "why3:alt-ergo": { "total": 2,
+                                                                    "valid": 2 },
+                                                  "qed": { "total": 8,
+                                                           "valid": 8 },
+                                                  "wp:main": { "total": 10,
+                                                               "valid": 10 } } },
+                    "loops": { "loops_loop_invariant_ok_inv": { "why3:alt-ergo": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 },
+                                                                "qed": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 },
+                                                                "wp:main": 
+                                                                  { "total": 2,
+                                                                    "valid": 2 } },
+                               "loops_loop_invariant_ok_id_max": { "why3:alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                    "wp:main": 
+                                                                   "qed": 
                                                                     { "total": 1,
-                                                                    "valid": 1 } },
-                                  "sequence_g_called_post_ok_p2": { "qed": 
+                                                                    "valid": 1 },
+                                                                   "wp:main": 
+                                                                    { "total": 2,
+                                                                    "valid": 2 } },
+                               "loops_loop_invariant_ok_id_min": { "why3:alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
-                                                                    "wp:main": 
+                                                                   "qed": 
                                                                     { "total": 1,
+                                                                    "valid": 1 },
+                                                                   "wp:main": 
+                                                                    { "total": 2,
+                                                                    "valid": 2 } },
+                               "loops_assigns": { "qed": { "total": 6,
+                                                           "valid": 6 },
+                                                  "wp:main": { "total": 6,
+                                                               "valid": 6 } },
+                               "loops_loop_assigns": { "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                                  "sequence_g_called_post_ok_p1": { "qed": 
+                               "loops_g_not_called_ensures_ok_v2": { "why3:alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
                                                                     "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                                  "sequence_g_called_post_ok_o1": { "qed": 
+                               "loops_g_not_called_ensures_ok_v1": { "why3:alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1 },
                                                                     "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1 } },
-                                  "wp:section": { "why3:alt-ergo": { "total": 2,
-                                                                    "valid": 2 },
-                                                  "qed": { "total": 8,
-                                                           "valid": 8 },
-                                                  "wp:main": { "total": 10,
-                                                               "valid": 10 } } },
-                    "loops": { "loops_loop_inv_ok_inv": { "why3:alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1 },
-                                                          "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 2,
-                                                              "valid": 2 } },
-                               "loops_loop_inv_ok_id_max": { "why3:alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1 },
-                                                             "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 2,
-                                                                 "valid": 2 } },
-                               "loops_loop_inv_ok_id_min": { "why3:alt-ergo": 
-                                                               { "total": 1,
-                                                                 "valid": 1 },
-                                                             "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                             "wp:main": 
-                                                               { "total": 2,
-                                                                 "valid": 2 } },
-                               "loops_assign": { "qed": { "total": 6,
-                                                          "valid": 6 },
-                                                 "wp:main": { "total": 6,
-                                                              "valid": 6 } },
-                               "loops_loop_assign": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                               "loops_g_not_called_post_ok_v2": { "why3:alt-ergo": 
-                                                                    { "total": 1,
+                               "loops_g_called_ensures_ok_u2": { "qed": 
+                                                                   { "total": 1,
                                                                     "valid": 1 },
-                                                                  "wp:main": 
-                                                                    { "total": 1,
+                                                                 "wp:main": 
+                                                                   { "total": 1,
                                                                     "valid": 1 } },
-                               "loops_g_not_called_post_ok_v1": { "why3:alt-ergo": 
-                                                                    { "total": 1,
+                               "loops_g_called_ensures_ok_u1": { "why3:alt-ergo": 
+                                                                   { "total": 1,
                                                                     "valid": 1 },
-                                                                  "wp:main": 
-                                                                    { "total": 1,
-                                                                    "valid": 1 } },
-                               "loops_g_called_post_ok_u2": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
-                               "loops_g_called_post_ok_u1": { "why3:alt-ergo": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
-                               "loops_post_ok_last": { "why3:alt-ergo": 
-                                                         { "total": 1,
-                                                           "valid": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
-                               "loops_post_ok_first": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
+                                                                 "wp:main": 
+                                                                   { "total": 1,
                                                                     "valid": 1 } },
+                               "loops_ensures_ok_last": { "why3:alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 1,
+                                                              "valid": 1 } },
+                               "loops_ensures_ok_first": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "why3:alt-ergo": { "total": 7,
                                                                   "valid": 7 },
                                                "qed": { "total": 12,
diff --git a/src/plugins/wp/tests/wp_plugin/stmt.c.0.report.json b/src/plugins/wp/tests/wp_plugin/stmt.c.0.report.json
index e6d8869043e24351111a710d430f3358203e6482..196b45276c84ed127fcd04cce292a464201af405 100644
--- a/src/plugins/wp/tests/wp_plugin/stmt.c.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/stmt.c.0.report.json
@@ -3,26 +3,27 @@
   "wp:functions": { "f": { "f_assert": { "qed": { "total": 1, "valid": 1 },
                                          "wp:main": { "total": 1,
                                                       "valid": 1 } },
-                           "f_stmt_assign": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                           "f_stmt_post": { "qed": { "total": 1, "valid": 1 },
+                           "f_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
+                           "f_ensures": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
+                           "f_ensures_3": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
+                           "f_ensures_2": { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
-                           "f_post_2": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "f_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
                            "wp:section": { "qed": { "total": 5, "valid": 5 },
                                            "wp:main": { "total": 5,
                                                         "valid": 5 } } },
                     "g": { "g_assert": { "qed": { "total": 1, "valid": 1 },
                                          "wp:main": { "total": 1,
                                                       "valid": 1 } },
-                           "g_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+                           "g_ensures_2": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
                            "wp:section": { "qed": { "total": 2, "valid": 2 },
                                            "wp:main": { "total": 2,
                                                         "valid": 2 } } },
@@ -32,8 +33,9 @@
                            "h_assert_2": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } },
-                           "h_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+                           "h_ensures_2": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
                            "wp:section": { "qed": { "total": 3, "valid": 3 },
                                            "wp:main": { "total": 3,
                                                         "valid": 3 } } } } }
diff --git a/src/plugins/wp/tests/wp_plugin/string_c.c.0.report.json b/src/plugins/wp/tests/wp_plugin/string_c.c.0.report.json
index a4d745460b88f693b10e7b28968614fc8fe5225a..910cff1aa784f7f216414880ab65cc8d0e445a24 100644
--- a/src/plugins/wp/tests/wp_plugin/string_c.c.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/string_c.c.0.report.json
@@ -1,56 +1,59 @@
 { "wp:global": { "alt-ergo": { "total": 21, "valid": 21, "rank": 81 },
                  "qed": { "total": 23, "valid": 23 },
                  "wp:main": { "total": 44, "valid": 44, "rank": 81 } },
-  "wp:functions": { "memcpy": { "memcpy_loop_inv_no_eva_2": { "alt-ergo": 
-                                                                { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 62 },
-                                                              "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 2,
-                                                                  "valid": 2,
-                                                                  "rank": 62 } },
-                                "memcpy_loop_inv_no_eva": { "alt-ergo": 
-                                                              { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 16 },
-                                                            "wp:main": 
-                                                              { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 16 } },
-                                "memcpy_loop_term": { "alt-ergo": { "total": 1,
+  "wp:functions": { "memcpy": { "memcpy_loop_invariant_no_eva_2": { "alt-ergo": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
+                                                                    "rank": 62 },
+                                                                    "qed": 
+                                                                    { "total": 1,
+                                                                    "valid": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 62 } },
+                                "memcpy_loop_invariant_no_eva": { "alt-ergo": 
+                                                                    { "total": 2,
+                                                                    "valid": 2,
                                                                     "rank": 16 },
-                                                      "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 2,
-                                                                   "valid": 2,
-                                                                   "rank": 16 } },
-                                "memcpy_assign": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                                "memcpy_loop_assign": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 40 },
-                                                        "qed": { "total": 2,
-                                                                 "valid": 2 },
-                                                        "wp:main": { "total": 3,
+                                                                  "wp:main": 
+                                                                    { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 16 } },
+                                "memcpy_loop_variant": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 16 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 16 } },
+                                "memcpy_assigns": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                                "memcpy_loop_assigns": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 40 },
+                                                         "qed": { "total": 2,
+                                                                  "valid": 2 },
+                                                         "wp:main": { "total": 3,
                                                                     "valid": 3,
                                                                     "rank": 40 } },
-                                "memcpy_post_result_ptr": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
-                                "memcpy_post_copied_contents": { "alt-ergo": 
-                                                                   { "total": 1,
+                                "memcpy_ensures_result_ptr": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
+                                "memcpy_ensures_copied_contents": { "alt-ergo": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 48 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
+                                                                    "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 48 } },
                                 "wp:section": { "alt-ergo": { "total": 6,
@@ -61,120 +64,122 @@
                                                 "wp:main": { "total": 12,
                                                              "valid": 12,
                                                              "rank": 62 } } },
-                    "memmove": { "memmove_loop_inv_no_eva_6": { "alt-ergo": 
-                                                                  { "total": 1,
+                    "memmove": { "memmove_loop_invariant_no_eva_6": { "alt-ergo": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 54 },
-                                                                "qed": 
-                                                                  { "total": 1,
+                                                                    "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                                "wp:main": 
-                                                                  { "total": 2,
+                                                                    "wp:main": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 54 } },
-                                 "memmove_loop_inv_no_eva_5": { "alt-ergo": 
-                                                                  { "total": 2,
+                                 "memmove_loop_invariant_no_eva_5": { "alt-ergo": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 39 },
-                                                                "wp:main": 
-                                                                  { "total": 2,
+                                                                    "wp:main": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 39 } },
-                                 "memmove_loop_inv_no_eva_4": { "alt-ergo": 
-                                                                  { "total": 2,
+                                 "memmove_loop_invariant_no_eva_4": { "alt-ergo": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 18 },
-                                                                "wp:main": 
-                                                                  { "total": 2,
+                                                                    "wp:main": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 18 } },
-                                 "memmove_loop_inv_no_eva_3": { "alt-ergo": 
-                                                                  { "total": 1,
+                                 "memmove_loop_invariant_no_eva_3": { "alt-ergo": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 81 },
-                                                                "qed": 
-                                                                  { "total": 1,
+                                                                    "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                                "wp:main": 
-                                                                  { "total": 2,
+                                                                    "wp:main": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 81 } },
-                                 "memmove_loop_inv_no_eva_2": { "alt-ergo": 
-                                                                  { "total": 1,
+                                 "memmove_loop_invariant_no_eva_2": { "alt-ergo": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 38 },
-                                                                "qed": 
-                                                                  { "total": 1,
+                                                                    "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                                "wp:main": 
-                                                                  { "total": 2,
+                                                                    "wp:main": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 38 } },
-                                 "memmove_loop_inv_no_eva": { "alt-ergo": 
-                                                                { "total": 2,
-                                                                  "valid": 2,
-                                                                  "rank": 18 },
-                                                              "wp:main": 
-                                                                { "total": 2,
-                                                                  "valid": 2,
-                                                                  "rank": 18 } },
-                                 "memmove_loop_term_2": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 18 },
-                                                          "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 18 } },
-                                 "memmove_loop_term": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
+                                 "memmove_loop_invariant_no_eva": { "alt-ergo": 
+                                                                    { "total": 2,
+                                                                    "valid": 2,
                                                                     "rank": 18 },
-                                                        "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 2,
+                                                                    "wp:main": 
+                                                                    { "total": 2,
                                                                     "valid": 2,
                                                                     "rank": 18 } },
-                                 "memmove_assign": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 6 },
-                                                     "qed": { "total": 7,
-                                                              "valid": 7 },
-                                                     "wp:main": { "total": 8,
-                                                                  "valid": 8,
-                                                                  "rank": 6 } },
-                                 "memmove_loop_assign_2": { "alt-ergo": 
-                                                              { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 48 },
-                                                            "qed": { "total": 2,
+                                 "memmove_loop_variant_2": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 18 },
+                                                             "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 2,
+                                                                 "valid": 2,
+                                                                 "rank": 18 } },
+                                 "memmove_loop_variant": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 18 },
+                                                           "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 2,
+                                                               "valid": 2,
+                                                               "rank": 18 } },
+                                 "memmove_assigns": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 6 },
+                                                      "qed": { "total": 7,
+                                                               "valid": 7 },
+                                                      "wp:main": { "total": 8,
+                                                                   "valid": 8,
+                                                                   "rank": 6 } },
+                                 "memmove_loop_assigns_2": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 48 },
+                                                             "qed": { "total": 2,
                                                                     "valid": 2 },
-                                                            "wp:main": 
-                                                              { "total": 3,
-                                                                "valid": 3,
-                                                                "rank": 48 } },
-                                 "memmove_loop_assign": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 56 },
-                                                          "qed": { "total": 2,
-                                                                   "valid": 2 },
-                                                          "wp:main": 
-                                                            { "total": 3,
-                                                              "valid": 3,
-                                                              "rank": 56 } },
-                                 "memmove_post_result_ptr": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
-                                 "memmove_post_copied_contents": { "alt-ergo": 
+                                                             "wp:main": 
+                                                               { "total": 3,
+                                                                 "valid": 3,
+                                                                 "rank": 48 } },
+                                 "memmove_loop_assigns": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 57 },
+                                                           "qed": { "total": 2,
+                                                                    "valid": 2 },
+                                                           "wp:main": 
+                                                             { "total": 3,
+                                                               "valid": 3,
+                                                               "rank": 57 } },
+                                 "memmove_ensures_result_ptr": { "qed": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 } },
+                                 "memmove_ensures_copied_contents": { "alt-ergo": 
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 63 },
-                                                                   "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 63 } },
diff --git a/src/plugins/wp/tests/wp_plugin/struct.i.0.report.json b/src/plugins/wp/tests/wp_plugin/struct.i.0.report.json
index 092956c8375f940c46b72b5015fdbf139b087243..43c32102c1f0e9af55d4e9e6ccf1e0cbfd0e7a2e 100644
--- a/src/plugins/wp/tests/wp_plugin/struct.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/struct.i.0.report.json
@@ -1,82 +1,82 @@
 { "wp:global": { "qed": { "total": 18, "valid": 18 },
                  "wp:main": { "total": 18, "valid": 18 } },
-  "wp:functions": { "id": { "id_post_qed_ok_P2": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                            "id_post_qed_ok_P1": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+  "wp:functions": { "id": { "id_ensures_qed_ok_P2": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                            "id_ensures_qed_ok_P1": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                             "wp:section": { "qed": { "total": 2, "valid": 2 },
                                             "wp:main": { "total": 2,
                                                          "valid": 2 } } },
-                    "g": { "g_assign": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "g_post_qed_ok_P5": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "g_post_qed_ok_P4": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "g_post_qed_ok_P3": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                    "g": { "g_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
+                           "g_ensures_qed_ok_P5": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "g_ensures_qed_ok_P4": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "g_ensures_qed_ok_P3": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                            "wp:section": { "qed": { "total": 4, "valid": 4 },
                                            "wp:main": { "total": 4,
                                                         "valid": 4 } } },
-                    "f": { "f_post_qed_ok_E11": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                           "f_post_qed_ok_E10": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                           "f_post_qed_ok_E9": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_qed_ok_E8": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_qed_ok_E7": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_qed_ok_E6": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_qed_ok_E5": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_qed_ok_E4": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_qed_ok_E3": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_qed_ok_E2": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_qed_ok_E1": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                           "f_post_qed_ok_E0": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                    "f": { "f_ensures_qed_ok_E11": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                           "f_ensures_qed_ok_E10": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                           "f_ensures_qed_ok_E9": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok_E8": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok_E7": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok_E6": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok_E5": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok_E4": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok_E3": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok_E2": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok_E1": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                           "f_ensures_qed_ok_E0": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                            "wp:section": { "qed": { "total": 12,
                                                     "valid": 12 },
                                            "wp:main": { "total": 12,
diff --git a/src/plugins/wp/tests/wp_plugin/struct_hack.i.0.report.json b/src/plugins/wp/tests/wp_plugin/struct_hack.i.0.report.json
index dc8d720b4ff807ae874736d30e52a21d2641c07d..18c286b36029cbae5942edd0a678fa32ba1514e1 100644
--- a/src/plugins/wp/tests/wp_plugin/struct_hack.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/struct_hack.i.0.report.json
@@ -7,18 +7,20 @@
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 5 } },
-                            "f0_loop_inv_qed_ok": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 6 },
-                                                    "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 6 } },
-                            "f0_loop_term": { "qed": { "total": 2,
-                                                       "valid": 2 },
-                                              "wp:main": { "total": 2,
-                                                           "valid": 2 } },
+                            "f0_loop_invariant_qed_ok": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 7 },
+                                                          "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 2,
+                                                              "valid": 2,
+                                                              "rank": 7 } },
+                            "f0_loop_variant": { "qed": { "total": 2,
+                                                          "valid": 2 },
+                                                 "wp:main": { "total": 2,
+                                                              "valid": 2 } },
                             "wp:section": { "alt-ergo": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 6 },
@@ -32,18 +34,20 @@
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 4 } },
-                            "f1_loop_inv_qed_ok": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 5 },
-                                                    "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 5 } },
-                            "f1_loop_term": { "qed": { "total": 2,
-                                                       "valid": 2 },
-                                              "wp:main": { "total": 2,
-                                                           "valid": 2 } },
+                            "f1_loop_invariant_qed_ok": { "alt-ergo": 
+                                                            { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 5 },
+                                                          "qed": { "total": 1,
+                                                                   "valid": 1 },
+                                                          "wp:main": 
+                                                            { "total": 2,
+                                                              "valid": 2,
+                                                              "rank": 5 } },
+                            "f1_loop_variant": { "qed": { "total": 2,
+                                                          "valid": 2 },
+                                                 "wp:main": { "total": 2,
+                                                              "valid": 2 } },
                             "wp:section": { "alt-ergo": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 5 },
diff --git a/src/plugins/wp/tests/wp_plugin/subset.i.0.report.json b/src/plugins/wp/tests/wp_plugin/subset.i.0.report.json
index 84b9b06872f8191626bdf6cb5d1b7d6513ac7fcf..65756488019d246fe8987164581ecd2ccef46263 100644
--- a/src/plugins/wp/tests/wp_plugin/subset.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/subset.i.0.report.json
@@ -1,11 +1,11 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 23 },
                  "wp:main": { "total": 1, "valid": 1, "rank": 23 } },
-  "wp:functions": { "mem": { "mem_post": { "alt-ergo": { "total": 1,
-                                                         "valid": 1,
-                                                         "rank": 23 },
-                                           "wp:main": { "total": 1,
-                                                        "valid": 1,
-                                                        "rank": 23 } },
+  "wp:functions": { "mem": { "mem_ensures": { "alt-ergo": { "total": 1,
+                                                            "valid": 1,
+                                                            "rank": 24 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 24 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 23 },
diff --git a/src/plugins/wp/tests/wp_plugin/trig.i.0.report.json b/src/plugins/wp/tests/wp_plugin/trig.i.0.report.json
index 7ec6077cd80563bbd58be58da477887fabab9522..5498cd9964bdf126fdaeee67fdbf48b5536f8877 100644
--- a/src/plugins/wp/tests/wp_plugin/trig.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/trig.i.0.report.json
@@ -3,9 +3,11 @@
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 4, "valid": 3, "unknown": 1,
                               "rank": 12 } },
-  "wp:functions": { "foo": { "specialization_fconcat_pre_qed_ok_at_foo_stmt_1": 
-                               { "qed": { "total": 1, "valid": 1 },
-                                 "wp:main": { "total": 1, "valid": 1 } },
+  "wp:functions": { "foo": { "fconcat_requires_qed_ok_2": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "valid": 1 } },
                              "foo_assert_qed_ok_B": { "alt-ergo": { "total": 1,
                                                                     "unknown": 1 },
                                                       "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_plugin/unroll/wp/typed/typed_unrolled_loop_post_zero.json b/src/plugins/wp/tests/wp_plugin/unroll/wp/typed/typed_unrolled_loop_ensures_zero.json
similarity index 100%
rename from src/plugins/wp/tests/wp_plugin/unroll/wp/typed/typed_unrolled_loop_post_zero.json
rename to src/plugins/wp/tests/wp_plugin/unroll/wp/typed/typed_unrolled_loop_ensures_zero.json
diff --git a/src/plugins/wp/tests/wp_plugin/unsafe-arrays.i.0.report.json b/src/plugins/wp/tests/wp_plugin/unsafe-arrays.i.0.report.json
index 60c80faeb37a877685fb79a153f15f2a5c03eb35..b967bd53ad6fbf82e01cbb737f76c074cf36dbfa 100644
--- a/src/plugins/wp/tests/wp_plugin/unsafe-arrays.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/unsafe-arrays.i.0.report.json
@@ -1,20 +1,20 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 5 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 3, "valid": 3, "rank": 5 } },
-  "wp:functions": { "f": { "f_post_INDIRP": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 5 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 5 } },
-                           "f_post_STRUCT": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                           "f_post_ARRAYS": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
+  "wp:functions": { "f": { "f_ensures_INDIRP": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 5 } },
+                           "f_ensures_STRUCT": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                           "f_ensures_ARRAYS": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 5 },
diff --git a/src/plugins/wp/tests/wp_plugin/unsupported_init.i.0.report.json b/src/plugins/wp/tests/wp_plugin/unsupported_init.i.0.report.json
index b5b21453ac5a522bd278670b0769ac9d494ab5b5..20ef815ac43e77524dc83dfda9b19b96c72057ad 100644
--- a/src/plugins/wp/tests/wp_plugin/unsupported_init.i.0.report.json
+++ b/src/plugins/wp/tests/wp_plugin/unsupported_init.i.0.report.json
@@ -1,12 +1,10 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 2, "valid": 1, "unknown": 1 } },
-  "wp:functions": { "f": { "specialization_cp_pre_r1_at_f_stmt_1": { "alt-ergo": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 },
-                                                                    "wp:main": 
-                                                                    { "total": 1,
-                                                                    "unknown": 1 } },
+  "wp:functions": { "f": { "cp_requires_r1_2": { "alt-ergo": { "total": 1,
+                                                               "unknown": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "unknown": 1 } },
                            "f_assert_a1": { "qed": { "total": 1, "valid": 1 },
                                             "wp:main": { "total": 1,
                                                          "valid": 1 } },
diff --git a/src/plugins/wp/tests/wp_store/array.i.0.report.json b/src/plugins/wp/tests/wp_store/array.i.0.report.json
index 4309fe970dbe945e01f1cc99c005029a50cef273..c86162e95a5989e56b6aef1c30cc7356377e1d0f 100644
--- a/src/plugins/wp/tests/wp_store/array.i.0.report.json
+++ b/src/plugins/wp/tests/wp_store/array.i.0.report.json
@@ -1,14 +1,16 @@
 { "wp:global": { "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 2, "valid": 2 } },
-  "wp:functions": { "g": { "g_post_P_addr_shift_qed_ok": { "qed": { "total": 1,
+  "wp:functions": { "g": { "g_ensures_P_addr_shift_qed_ok": { "qed": 
+                                                                { "total": 1,
+                                                                  "valid": 1 },
+                                                              "wp:main": 
+                                                                { "total": 1,
+                                                                  "valid": 1 } },
+                           "g_ensures_P_startof_qed_ok": { "qed": { "total": 1,
                                                                     "valid": 1 },
                                                            "wp:main": 
                                                              { "total": 1,
                                                                "valid": 1 } },
-                           "g_post_P_startof_qed_ok": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
                            "wp:section": { "qed": { "total": 2, "valid": 2 },
                                            "wp:main": { "total": 2,
                                                         "valid": 2 } } } } }
diff --git a/src/plugins/wp/tests/wp_store/natural.i.0.report.json b/src/plugins/wp/tests/wp_store/natural.i.0.report.json
index 3f8bb47038d33292999ecc0f24905a9307d32217..c8fc7843294bb16b26a3bd0c4c054cd60a220604 100644
--- a/src/plugins/wp/tests/wp_store/natural.i.0.report.json
+++ b/src/plugins/wp/tests/wp_store/natural.i.0.report.json
@@ -1,12 +1,12 @@
 { "wp:global": { "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 3, "valid": 3 } },
-  "wp:functions": { "f": { "f_assign": { "qed": { "total": 2, "valid": 2 },
-                                         "wp:main": { "total": 2,
-                                                      "valid": 2 } },
-                           "f_post_qed_ok": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
+  "wp:functions": { "f": { "f_assigns": { "qed": { "total": 2, "valid": 2 },
+                                          "wp:main": { "total": 2,
+                                                       "valid": 2 } },
+                           "f_ensures_qed_ok": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
                            "wp:section": { "qed": { "total": 3, "valid": 3 },
                                            "wp:main": { "total": 3,
                                                         "valid": 3 } } } } }
diff --git a/src/plugins/wp/tests/wp_store/nonaliasing.i.0.report.json b/src/plugins/wp/tests/wp_store/nonaliasing.i.0.report.json
index d0bf1a680b6835e4be56336c6dd6268620f51553..13c17773a9d2999f8a2d7f9fb714724423dfe2bb 100644
--- a/src/plugins/wp/tests/wp_store/nonaliasing.i.0.report.json
+++ b/src/plugins/wp/tests/wp_store/nonaliasing.i.0.report.json
@@ -1,17 +1,17 @@
 { "wp:global": { "alt-ergo": { "total": 2, "valid": 2, "rank": 7 },
                  "wp:main": { "total": 2, "valid": 2, "rank": 7 } },
-  "wp:functions": { "f": { "f_post_qed_ok_Q": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 6 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 6 } },
-                           "f_post_qed_ok_P": { "alt-ergo": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 7 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 7 } },
+  "wp:functions": { "f": { "f_ensures_qed_ok_Q": { "alt-ergo": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 7 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 7 } },
+                           "f_ensures_qed_ok_P": { "alt-ergo": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 7 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 7 } },
                            "wp:section": { "alt-ergo": { "total": 2,
                                                          "valid": 2,
                                                          "rank": 7 },
diff --git a/src/plugins/wp/tests/wp_store/nonaliasing.i.1.report.json b/src/plugins/wp/tests/wp_store/nonaliasing.i.1.report.json
index c5b3f509659b635b748e26d66e5727a13a719992..7e0f92281c03ed4539a3d83a083f522d0dbbf1c8 100644
--- a/src/plugins/wp/tests/wp_store/nonaliasing.i.1.report.json
+++ b/src/plugins/wp/tests/wp_store/nonaliasing.i.1.report.json
@@ -1,17 +1,17 @@
 { "wp:global": { "alt-ergo": { "total": 2, "unknown": 2 },
                  "wp:main": { "total": 2, "unknown": 2 } },
-  "wp:functions": { "f": { "f_post_qed_ko_Q_oracle_ko": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "unknown": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "unknown": 1 } },
-                           "f_post_qed_ko_P_oracle_ko": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "unknown": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "unknown": 1 } },
+  "wp:functions": { "f": { "f_ensures_qed_ko_Q_oracle_ko": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "unknown": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "unknown": 1 } },
+                           "f_ensures_qed_ko_P_oracle_ko": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "unknown": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 2,
                                                          "unknown": 2 },
                                            "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/array.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/array.res.oracle
index 7b12e86c3c98e107a44194eb0f2ddfc3e3d972f0..1106baba2b2508b2d93a9bbadc0f80d9923d922e 100644
--- a/src/plugins/wp/tests/wp_store/oracle_qualif/array.res.oracle
+++ b/src/plugins/wp/tests/wp_store/oracle_qualif/array.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_g_post_P_startof_qed_ok : Valid
-[wp] [Qed] Goal typed_g_post_P_addr_shift_qed_ok : Valid
+[wp] [Qed] Goal typed_g_ensures_P_startof_qed_ok : Valid
+[wp] [Qed] Goal typed_g_ensures_P_addr_shift_qed_ok : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [wp] Report 'tests/wp_store/array.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/natural.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/natural.res.oracle
index 0110b935966dfecd8915719e669039543d64b3f9..66190d57ab983a44e2f9f0832eaecc922d9601d1 100644
--- a/src/plugins/wp/tests/wp_store/oracle_qualif/natural.res.oracle
+++ b/src/plugins/wp/tests/wp_store/oracle_qualif/natural.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_f_post_qed_ok : Valid
-[wp] [Qed] Goal typed_f_assign_part1 : Valid
-[wp] [Qed] Goal typed_f_assign_part2 : Valid
+[wp] [Qed] Goal typed_f_ensures_qed_ok : Valid
+[wp] [Qed] Goal typed_f_assigns_part1 : Valid
+[wp] [Qed] Goal typed_f_assigns_part2 : Valid
 [wp] Proved goals:    3 / 3
   Qed:             3
 [wp] Report 'tests/wp_store/natural.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.res.oracle
index 29a849b906773f864b9fdb6390253a9226ef013f..3dc493d3e125df62da6e67c67b416ffa02179d8b 100644
--- a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.res.oracle
+++ b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.0.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ok_P : Valid
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ok_Q : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ok_P : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ok_Q : Valid
 [wp] Proved goals:    2 / 2
   Qed:             0 
   Alt-Ergo:        2
diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.res.oracle
index 6a6b87c415d7bc0c1465c0f2b5a76570fa9a2e65..53b6eb42b5afa2a59847fd1eb7a5f60f29705402 100644
--- a/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.res.oracle
+++ b/src/plugins/wp/tests/wp_store/oracle_qualif/nonaliasing.1.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ko_P_oracle_ko : Step limit
-[wp] [Alt-Ergo] Goal typed_f_post_qed_ko_Q_oracle_ko : Step limit
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ko_P_oracle_ko : Step limit
+[wp] [Alt-Ergo] Goal typed_f_ensures_qed_ko_Q_oracle_ko : Step limit
 [wp] Proved goals:    0 / 2
   Alt-Ergo:        0  (interrupted: 2)
 [wp] Report 'tests/wp_store/nonaliasing.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_store/oracle_qualif/struct.res.oracle b/src/plugins/wp/tests/wp_store/oracle_qualif/struct.res.oracle
index e7e39cce7cebc3cd822fb9f4b326578b7145fb85..1844fdb5d3fea79e0cc16f2c249dbb0ef3d90cd8 100644
--- a/src/plugins/wp/tests/wp_store/oracle_qualif/struct.res.oracle
+++ b/src/plugins/wp/tests/wp_store/oracle_qualif/struct.res.oracle
@@ -5,11 +5,11 @@
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
 [wp] [Qed] Goal typed_f_assert_qed_ok : Valid
-[wp] [Alt-Ergo] Goal typed_f_call_g_pre : Valid
-[wp] [Qed] Goal typed_g_post : Valid
-[wp] [Qed] Goal typed_g_assign : Valid
-[wp] [Alt-Ergo] Goal typed_main_post_P_qed_ok : Valid
-[wp] [Alt-Ergo] Goal typed_main_post_Q_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_f_call_g_requires : Valid
+[wp] [Qed] Goal typed_g_ensures : Valid
+[wp] [Qed] Goal typed_g_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_main_ensures_P_qed_ok : Valid
+[wp] [Alt-Ergo] Goal typed_main_ensures_Q_qed_ok : Valid
 [wp] Proved goals:    6 / 6
   Qed:             3 
   Alt-Ergo:        3
diff --git a/src/plugins/wp/tests/wp_store/struct.i.0.report.json b/src/plugins/wp/tests/wp_store/struct.i.0.report.json
index 7d428c35c5aa845d866abe33d07a7c1f2cde7996..dbc67439f6469ac54b6a2a316daa32974320a1da 100644
--- a/src/plugins/wp/tests/wp_store/struct.i.0.report.json
+++ b/src/plugins/wp/tests/wp_store/struct.i.0.report.json
@@ -1,22 +1,21 @@
 { "wp:global": { "alt-ergo": { "total": 3, "valid": 3, "rank": 9 },
                  "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 6, "valid": 6, "rank": 9 } },
-  "wp:functions": { "g": { "g_assign": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "g_post": { "qed": { "total": 1, "valid": 1 },
-                                       "wp:main": { "total": 1, "valid": 1 } },
+  "wp:functions": { "g": { "g_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
+                           "g_ensures": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 2, "valid": 2 },
                                            "wp:main": { "total": 2,
                                                         "valid": 2 } } },
-                    "f": { "specialization_g_pre_at_f_stmt_4": { "alt-ergo": 
-                                                                   { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 4 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 4 } },
+                    "f": { "g_requires_2": { "alt-ergo": { "total": 1,
+                                                           "valid": 1,
+                                                           "rank": 5 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 5 } },
                            "f_assert_qed_ok": { "qed": { "total": 1,
                                                          "valid": 1 },
                                                 "wp:main": { "total": 1,
@@ -28,18 +27,20 @@
                                            "wp:main": { "total": 2,
                                                         "valid": 2,
                                                         "rank": 4 } } },
-                    "main": { "main_post_Q_qed_ok": { "alt-ergo": { "total": 1,
+                    "main": { "main_ensures_Q_qed_ok": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 10 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 9 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 9 } },
-                              "main_post_P_qed_ok": { "alt-ergo": { "total": 1,
+                                                                    "rank": 10 } },
+                              "main_ensures_P_qed_ok": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 10 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 9 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 9 } },
+                                                                    "rank": 10 } },
                               "wp:section": { "alt-ergo": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 9 },
diff --git a/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.res.oracle b/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.res.oracle
index 0d18591704383c84f2857adeca5e6167aef6acea..b1263cdfe2943478bfb771d4ac1f794c4fee5daf 100644
--- a/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.res.oracle
+++ b/src/plugins/wp/tests/wp_tip/oracle_qualif/tac_split_quantifiers.res.oracle
@@ -4,11 +4,11 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 5 goals scheduled
-[wp] [Tactical] Goal typed_split_post_Goal_Exist_Or : Unknown
-[wp] [Tactical] Goal typed_split_post_Goal_Exist_And : Unknown
-[wp] [Tactical] Goal typed_split_post_Goal_Exist_And_bis : Unknown
-[wp] [Tactical] Goal typed_split_post_Hyp_Forall_And : Unknown
-[wp] [Tactical] Goal typed_split_post_Hyp_Forall_Or_bis : Unknown
+[wp] [Tactical] Goal typed_split_ensures_Goal_Exist_Or : Unknown
+[wp] [Tactical] Goal typed_split_ensures_Goal_Exist_And : Unknown
+[wp] [Tactical] Goal typed_split_ensures_Goal_Exist_And_bis : Unknown
+[wp] [Tactical] Goal typed_split_ensures_Hyp_Forall_And : Unknown
+[wp] [Tactical] Goal typed_split_ensures_Hyp_Forall_Or_bis : Unknown
 [wp] Proved goals:    0 / 5
 [wp] Report 'tests/wp_tip/tac_split_quantifiers.i.0.report.json'
 -------------------------------------------------------------
diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers.i.0.report.json b/src/plugins/wp/tests/wp_tip/tac_split_quantifiers.i.0.report.json
index 077e3eeea9cd555a4944ea9b17a4b35e8b7c0b7f..c7343abe87df4acb37fc99e4213b907f9ec4b188 100644
--- a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers.i.0.report.json
+++ b/src/plugins/wp/tests/wp_tip/tac_split_quantifiers.i.0.report.json
@@ -1,35 +1,35 @@
 { "wp:global": { "script": { "total": 5, "unknown": 5 },
                  "wp:main": { "total": 5, "unknown": 5 } },
-  "wp:functions": { "split": { "split_post_Hyp_Forall_Or_bis": { "script": 
+  "wp:functions": { "split": { "split_ensures_Hyp_Forall_Or_bis": { "script": 
+                                                                    { "total": 1,
+                                                                    "unknown": 1 },
+                                                                    "wp:main": 
+                                                                    { "total": 1,
+                                                                    "unknown": 1 } },
+                               "split_ensures_Hyp_Forall_And": { "script": 
                                                                    { "total": 1,
                                                                     "unknown": 1 },
                                                                  "wp:main": 
                                                                    { "total": 1,
                                                                     "unknown": 1 } },
-                               "split_post_Hyp_Forall_And": { "script": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 } },
-                               "split_post_Goal_Exist_And_bis": { "script": 
+                               "split_ensures_Goal_Exist_And_bis": { "script": 
                                                                     { "total": 1,
                                                                     "unknown": 1 },
-                                                                  "wp:main": 
+                                                                    "wp:main": 
                                                                     { "total": 1,
                                                                     "unknown": 1 } },
-                               "split_post_Goal_Exist_And": { "script": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "unknown": 1 } },
-                               "split_post_Goal_Exist_Or": { "script": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 },
-                                                             "wp:main": 
-                                                               { "total": 1,
-                                                                 "unknown": 1 } },
+                               "split_ensures_Goal_Exist_And": { "script": 
+                                                                   { "total": 1,
+                                                                    "unknown": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "unknown": 1 } },
+                               "split_ensures_Goal_Exist_Or": { "script": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 },
+                                                                "wp:main": 
+                                                                  { "total": 1,
+                                                                    "unknown": 1 } },
                                "wp:section": { "script": { "total": 5,
                                                            "unknown": 5 },
                                                "wp:main": { "total": 5,
diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Goal_Exist_And.json b/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_And.json
similarity index 100%
rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Goal_Exist_And.json
rename to src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_And.json
diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Goal_Exist_And_bis.json b/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_And_bis.json
similarity index 100%
rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Goal_Exist_And_bis.json
rename to src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_And_bis.json
diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Goal_Exist_Or.json b/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_Or.json
similarity index 100%
rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Goal_Exist_Or.json
rename to src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Goal_Exist_Or.json
diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Hyp_Forall_And.json b/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Hyp_Forall_And.json
similarity index 100%
rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Hyp_Forall_And.json
rename to src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Hyp_Forall_And.json
diff --git a/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Hyp_Forall_Or_bis.json b/src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Hyp_Forall_Or_bis.json
similarity index 100%
rename from src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_post_Hyp_Forall_Or_bis.json
rename to src/plugins/wp/tests/wp_tip/tac_split_quantifiers/wp/typed/typed_split_ensures_Hyp_Forall_Or_bis.json
diff --git a/src/plugins/wp/tests/wp_typed/array_initialized.c.0.report.json b/src/plugins/wp/tests/wp_typed/array_initialized.c.0.report.json
index e623d1cea9408acff38877a51e026beb402b79f9..6083bf9800e901edd16f58e4f704d79bc6bf398a 100644
--- a/src/plugins/wp/tests/wp_typed/array_initialized.c.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/array_initialized.c.0.report.json
@@ -47,12 +47,12 @@
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1,
                                                                    "rank": 10 } } },
-                    "simpl": { "simpl_post": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 4 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 4 } },
+                    "simpl": { "simpl_ensures": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 5 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 } },
                                "wp:section": { "alt-ergo": { "total": 1,
                                                              "valid": 1,
                                                              "rank": 4 },
diff --git a/src/plugins/wp/tests/wp_typed/array_initialized.c.1.report.json b/src/plugins/wp/tests/wp_typed/array_initialized.c.1.report.json
index 6eca195283b626848bcfcd2943a41fd4c0ddada6..b9a1cc594e574304751d8ca59216358f560978f1 100644
--- a/src/plugins/wp/tests/wp_typed/array_initialized.c.1.report.json
+++ b/src/plugins/wp/tests/wp_typed/array_initialized.c.1.report.json
@@ -47,12 +47,12 @@
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1,
                                                                    "rank": 16 } } },
-                    "simpl": { "simpl_post": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 4 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 4 } },
+                    "simpl": { "simpl_ensures": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 5 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 } },
                                "wp:section": { "alt-ergo": { "total": 1,
                                                              "valid": 1,
                                                              "rank": 4 },
diff --git a/src/plugins/wp/tests/wp_typed/avar.i.0.report.json b/src/plugins/wp/tests/wp_typed/avar.i.0.report.json
index f29b108a2994725b97662aa5af32e6f019242847..3b2277c070c1ee1908304e1018a867e7446d156b 100644
--- a/src/plugins/wp/tests/wp_typed/avar.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/avar.i.0.report.json
@@ -1,11 +1,9 @@
 { "wp:global": { "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 1, "valid": 1 } },
-  "wp:functions": { "g": { "specialization_f_pre_at_g_stmt_1": { "qed": 
-                                                                   { "total": 1,
-                                                                    "valid": 1 },
-                                                                 "wp:main": 
-                                                                   { "total": 1,
-                                                                    "valid": 1 } },
+  "wp:functions": { "g": { "f_requires_2": { "qed": { "total": 1,
+                                                      "valid": 1 },
+                                             "wp:main": { "total": 1,
+                                                          "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } } } }
diff --git a/src/plugins/wp/tests/wp_typed/oracle/struct_array_type.res.oracle b/src/plugins/wp/tests/wp_typed/oracle/struct_array_type.res.oracle
index 6247f9349b2f81641088d068f7873ec595402e60..0fd6e8fdb49bf3a49a5b8ff9894c01fc8d0fa691 100644
--- a/src/plugins/wp/tests/wp_typed/oracle/struct_array_type.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle/struct_array_type.res.oracle
@@ -5,12 +5,12 @@
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
 [wp:print-generated] 
-  "WPOUT/typed/f_post.ergo"
+  "WPOUT/typed/f_ensures.ergo"
   (* ---------------------------------------------------------- *)
   (* --- Post-condition (file tests/wp_typed/struct_array_type.i, line 16) in 'f' --- *)
   (* ---------------------------------------------------------- *)
   
-  goal f_post:
+  goal f_ensures:
     forall i : int.
     forall t : S1_s farray.
     let a = t[i] : S1_s in
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.res.oracle
index 9a98e84f0d4bedc9ae109c667a27713ade69d3e3..dc1e40dff2b6bdb2c0e99f0c5383286aad190d63 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.0.res.oracle
@@ -10,7 +10,7 @@
 [wp] [Alt-Ergo] Goal typed_main2_assert : Valid
 [wp] [Qed] Goal typed_main3_assert : Valid
 [wp] [Alt-Ergo] Goal typed_main_pointer_assert : Valid
-[wp] [Alt-Ergo] Goal typed_simpl_post : Valid
+[wp] [Alt-Ergo] Goal typed_simpl_ensures : Valid
 [wp] Proved goals:    5 / 5
   Qed:             1 
   Alt-Ergo:        4
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.res.oracle
index def88c75b757cca27f85105bd4d7c0adca739ef1..3a12a055b40128c5c95f2297f92187c1b8f5f5ee 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/array_initialized.1.res.oracle
@@ -10,7 +10,7 @@
 [wp] [Alt-Ergo] Goal typed_main2_assert : Valid
 [wp] [Qed] Goal typed_main3_assert : Valid
 [wp] [Alt-Ergo] Goal typed_main_pointer_assert : Valid
-[wp] [Alt-Ergo] Goal typed_simpl_post : Valid
+[wp] [Alt-Ergo] Goal typed_simpl_ensures : Valid
 [wp] Proved goals:    5 / 5
   Qed:             1 
   Alt-Ergo:        4
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/avar.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/avar.res.oracle
index efa2372cf106975f04ca4df7dea7fdbfa5ab1532..ea8b44d41a6028c7b9384312669efae2c618bb68 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/avar.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/avar.res.oracle
@@ -6,7 +6,7 @@
   No code nor implicit assigns clause for function f, generating default assigns from the prototype
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Qed] Goal typed_g_call_f_pre : Valid
+[wp] [Qed] Goal typed_g_call_f_requires : Valid
 [wp] Proved goals:    1 / 1
   Qed:             1
 [wp] Report 'tests/wp_typed/avar.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.res.oracle
index 70b3096605936bacfc2adb4c2dd8416319dde980..2ef7db89cdd4f28c0e01042bb9d4c958f3cdaf5f 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/struct_array_type.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Alt-Ergo] Goal typed_f_post : Valid
+[wp] [Alt-Ergo] Goal typed_f_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             0 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.res.oracle
index 2995594dd251456cf11c71dacec3b056084bcc43..afbfa61d8da8bc9c3ef4cf1f1ed99ae5ca36ea28 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.0.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 7 goals scheduled
-[wp] [Qed] Goal typed_f_assign : Valid
-[wp] [Qed] Goal typed_g_assign : Valid
-[wp] [Alt-Ergo] Goal typed_h_post : Valid
+[wp] [Qed] Goal typed_f_assigns : Valid
+[wp] [Qed] Goal typed_g_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_h_ensures : Valid
 [wp] [Qed] Goal typed_job_assert : Valid
 [wp] [Alt-Ergo] Goal typed_job_assert_2 : Valid
 [wp] [Qed] Goal typed_job_assert_3 : Valid
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.res.oracle
index a01f97f9a20f7f16bdbacfe5629737fc3a25e2bd..7a194c5adbf9c96f8495e0d8e9581a0a37ae53b5 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_alloc.1.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 7 goals scheduled
-[wp] [Qed] Goal typed_ref_f_assign : Valid
-[wp] [Qed] Goal typed_ref_g_assign : Valid
-[wp] [Alt-Ergo] Goal typed_ref_h_post : Valid
+[wp] [Qed] Goal typed_ref_f_assigns : Valid
+[wp] [Qed] Goal typed_ref_g_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_ref_h_ensures : Valid
 [wp] [Qed] Goal typed_ref_job_assert : Valid
 [wp] [Alt-Ergo] Goal typed_ref_job_assert_2 : Valid
 [wp] [Qed] Goal typed_ref_job_assert_3 : Valid
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.res.oracle
index ccce12a56f885be3046607951ca617b1457ac648..26422c93bec4831df894dd93147e800f453d8955 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.0.res.oracle
@@ -30,26 +30,26 @@
 [wp] [Alt-Ergo] Goal typed_band1_ulong_assert_ok_2 : Valid
 [wp] [Qed] Goal typed_band1_ushort_assert_ok : Valid
 [wp] [Alt-Ergo] Goal typed_band1_ushort_assert_ok_2 : Valid
-[wp] [Alt-Ergo] Goal typed_band_char_post_ok : Valid
-[wp] [Qed] Goal typed_band_int_post_ok : Valid
+[wp] [Alt-Ergo] Goal typed_band_char_ensures_ok : Valid
+[wp] [Qed] Goal typed_band_int_ensures_ok : Valid
 [wp] [Qed] Goal typed_band_int_assert_ok : Valid
-[wp] [Alt-Ergo] Goal typed_band_uchar_post_ok : Valid
-[wp] [Qed] Goal typed_band_uint_post_ok : Valid
-[wp] [Alt-Ergo] Goal typed_bnot_char_post_ok : Valid
-[wp] [Qed] Goal typed_bnot_int_post_ok : Valid
-[wp] [Qed] Goal typed_bnot_uchar_post_ok : Valid
-[wp] [Qed] Goal typed_bnot_uint_post_ok : Valid
-[wp] [Alt-Ergo] Goal typed_bor_char_post_ok : Valid
-[wp] [Qed] Goal typed_bor_int_post_ok : Valid
-[wp] [Qed] Goal typed_bor_uchar_post_ok : Valid
-[wp] [Qed] Goal typed_bor_uint_post_ok : Valid
-[wp] [Alt-Ergo] Goal typed_bxor_char_post_ok : Valid
-[wp] [Qed] Goal typed_bxor_int_post_ok : Valid
-[wp] [Qed] Goal typed_bxor_uchar_post_ok : Valid
-[wp] [Alt-Ergo] Goal typed_bxor_uchar_post_ok_2 : Valid
-[wp] [Qed] Goal typed_bxor_uint_post_ok : Valid
-[wp] [Alt-Ergo] Goal typed_bxor_uint_post_ok_2 : Valid
-[wp] [Qed] Goal typed_cast_post_ok : Valid
+[wp] [Alt-Ergo] Goal typed_band_uchar_ensures_ok : Valid
+[wp] [Qed] Goal typed_band_uint_ensures_ok : Valid
+[wp] [Alt-Ergo] Goal typed_bnot_char_ensures_ok : Valid
+[wp] [Qed] Goal typed_bnot_int_ensures_ok : Valid
+[wp] [Qed] Goal typed_bnot_uchar_ensures_ok : Valid
+[wp] [Qed] Goal typed_bnot_uint_ensures_ok : Valid
+[wp] [Alt-Ergo] Goal typed_bor_char_ensures_ok : Valid
+[wp] [Qed] Goal typed_bor_int_ensures_ok : Valid
+[wp] [Qed] Goal typed_bor_uchar_ensures_ok : Valid
+[wp] [Qed] Goal typed_bor_uint_ensures_ok : Valid
+[wp] [Alt-Ergo] Goal typed_bxor_char_ensures_ok : Valid
+[wp] [Qed] Goal typed_bxor_int_ensures_ok : Valid
+[wp] [Qed] Goal typed_bxor_uchar_ensures_ok : Valid
+[wp] [Alt-Ergo] Goal typed_bxor_uchar_ensures_ok_2 : Valid
+[wp] [Qed] Goal typed_bxor_uint_ensures_ok : Valid
+[wp] [Alt-Ergo] Goal typed_bxor_uint_ensures_ok_2 : Valid
+[wp] [Qed] Goal typed_cast_ensures_ok : Valid
 [wp] [Qed] Goal typed_cast_assert_ok : Valid
 [wp] [Qed] Goal typed_cast_assert_ok_2 : Valid
 [wp] [Qed] Goal typed_cast_assert_ok_3 : Valid
@@ -57,14 +57,14 @@
 [wp] [Qed] Goal typed_cast_assert_ok_5 : Valid
 [wp] [Qed] Goal typed_cast_assert_ok_6 : Valid
 [wp] [Qed] Goal typed_cast_assert_ok_7 : Valid
-[wp] [Qed] Goal typed_lshift_char_post_ok : Valid
-[wp] [Qed] Goal typed_lshift_int_post_ok : Valid
-[wp] [Qed] Goal typed_lshift_uchar_post_ok : Valid
-[wp] [Qed] Goal typed_lshift_uint_post_ok : Valid
-[wp] [Qed] Goal typed_rshift_char_post_ok : Valid
-[wp] [Qed] Goal typed_rshift_int_post_ok : Valid
-[wp] [Alt-Ergo] Goal typed_rshift_uchar_post_ok : Valid
-[wp] [Qed] Goal typed_rshift_uint_post_ok : Valid
+[wp] [Qed] Goal typed_lshift_char_ensures_ok : Valid
+[wp] [Qed] Goal typed_lshift_int_ensures_ok : Valid
+[wp] [Qed] Goal typed_lshift_uchar_ensures_ok : Valid
+[wp] [Qed] Goal typed_lshift_uint_ensures_ok : Valid
+[wp] [Qed] Goal typed_rshift_char_ensures_ok : Valid
+[wp] [Qed] Goal typed_rshift_int_ensures_ok : Valid
+[wp] [Alt-Ergo] Goal typed_rshift_uchar_ensures_ok : Valid
+[wp] [Qed] Goal typed_rshift_uint_ensures_ok : Valid
 [wp] Proved goals:   61 / 61
   Qed:            41 
   Alt-Ergo:       20
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.res.oracle
index 6e4e81ca16ed79f2618df3c096921f7ae70dfb33..a2caebabd5becd1830646d5aab478094978856a4 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_bitwise.1.res.oracle
@@ -5,8 +5,8 @@
 [wp] Warning: Missing RTE guards
 [wp] 4 goals scheduled
 [wp] [Alt-Ergo] Goal typed_band_int_assert_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_bnot_uchar_post_ko : Unknown
-[wp] [Alt-Ergo] Goal typed_bnot_uint_post_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_bnot_uchar_ensures_ko : Unknown
+[wp] [Alt-Ergo] Goal typed_bnot_uint_ensures_ko : Unknown
 [wp] [Alt-Ergo] Goal typed_cast_assert_ko : Unknown
 [wp] Proved goals:    0 / 4
   Alt-Ergo:        0  (unknown: 4)
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cst.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cst.res.oracle
index 5498e02d849c598a8b9d60c6c1999cbf889713b8..0bc7e2733a382db0f26543c61fb90b1017700553 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cst.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_cst.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_f_post_A : Valid
-[wp] [Qed] Goal typed_f_post_B : Valid
+[wp] [Qed] Goal typed_f_ensures_A : Valid
+[wp] [Qed] Goal typed_f_ensures_B : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [wp] Report 'tests/wp_typed/unit_cst.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_float.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_float.res.oracle
index 1231de6e7feabd5cdf451917f0cf9259b611b021..8e9d20e5c7387bf1c1a5a36137a9a7353329aa1f 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_float.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_float.res.oracle
@@ -7,12 +7,12 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
-[wp] [Qed] Goal typed_main_post_CST_F : Valid
-[wp] [Qed] Goal typed_main_post_CST_D : Valid
-[wp] [Qed] Goal typed_main_post_CNV_F : Valid
-[wp] [Qed] Goal typed_main_post_CNV_D : Valid
-[wp] [Qed] Goal typed_main_post_VAR_F : Valid
-[wp] [Qed] Goal typed_main_post_VAR_D : Valid
+[wp] [Qed] Goal typed_main_ensures_CST_F : Valid
+[wp] [Qed] Goal typed_main_ensures_CST_D : Valid
+[wp] [Qed] Goal typed_main_ensures_CNV_F : Valid
+[wp] [Qed] Goal typed_main_ensures_CNV_D : Valid
+[wp] [Qed] Goal typed_main_ensures_VAR_F : Valid
+[wp] [Qed] Goal typed_main_ensures_VAR_D : Valid
 [wp] Proved goals:    6 / 6
   Qed:             6
 [wp] Report 'tests/wp_typed/unit_float.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.res.oracle
index 75ce14ece7b1b71d4c70fd7480221283b870c4ff..9f608e372b6afc911ba866a11fb091dedc7bf480 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_hard.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_main_pre_p_is_33FF : Valid
-[wp] [Qed] Goal typed_main_pre_q_is_66F0 : Valid
-[wp] [Alt-Ergo] Goal typed_main_pre_r_is_q1_ko : Unknown
+[wp] [Qed] Goal typed_main_requires_p_is_33FF : Valid
+[wp] [Qed] Goal typed_main_requires_q_is_66F0 : Valid
+[wp] [Alt-Ergo] Goal typed_main_requires_r_is_q1_ko : Unknown
 [wp] Proved goals:    2 / 3
   Qed:             2 
   Alt-Ergo:        0  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_ite.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_ite.res.oracle
index 133ef86e7ba4d5f5a7a7c5288926e10e2eac1dc7..2bf33e40c9f2eac3d57bcd02040efbae8ab93899 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_ite.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_ite.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 1 goal scheduled
-[wp] [Qed] Goal typed_check_post : Valid
+[wp] [Qed] Goal typed_check_ensures : Valid
 [wp] Proved goals:    1 / 1
   Qed:             1
 [wp] Report 'tests/wp_typed/unit_ite.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.res.oracle
index adbf31f89a8f903cfc77a7882fc3dec7c5087b41..7e46e25582e8429d100714ee198f8b908d97bdfd 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_labels.res.oracle
@@ -4,7 +4,7 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Alt-Ergo] Goal typed_duplet_post : Valid
+[wp] [Alt-Ergo] Goal typed_duplet_ensures : Valid
 [wp] [Alt-Ergo] Goal typed_duplet_assert_PI : Valid
 [wp] [Alt-Ergo] Goal typed_duplet_assert_PJ : Valid
 [wp] Proved goals:    3 / 3
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.res.oracle
index b745a6959fa51fba82d3b8cbe34a0f36bfd33e25..7227cb987de43a153c9ed0c16e54ffe88f7b972f 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.0.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Qed] Goal typed_bar_assign : Valid
-[wp] [Qed] Goal typed_foo_assign_part1 : Valid
-[wp] [Alt-Ergo] Goal typed_foo_assign_part2 : Valid
+[wp] [Qed] Goal typed_bar_assigns : Valid
+[wp] [Qed] Goal typed_foo_assigns_part1 : Valid
+[wp] [Alt-Ergo] Goal typed_foo_assigns_part2 : Valid
 [wp] Proved goals:    3 / 3
   Qed:             2 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.res.oracle
index 78ec67483d3acdfde7ca5820114b77a1d689e0e6..3d3c8a01300184dcaea4550d2fd3a2d11f8ad975 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_local.1.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Alt-Ergo] Goal typed_raw_bar_assign : Valid
-[wp] [Alt-Ergo] Goal typed_raw_foo_assign_part1 : Valid
-[wp] [Alt-Ergo] Goal typed_raw_foo_assign_part2 : Valid
+[wp] [Alt-Ergo] Goal typed_raw_bar_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_raw_foo_assigns_part1 : Valid
+[wp] [Alt-Ergo] Goal typed_raw_foo_assigns_part2 : Valid
 [wp] Proved goals:    3 / 3
   Qed:             0 
   Alt-Ergo:        3
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.res.oracle
index a675b0321f47aa997488709002241e089530cd42..b2061aaf772d9df676fc6447432bc1abb323a55a 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.0.res.oracle
@@ -6,8 +6,8 @@
 [wp] tests/wp_typed/unit_loopscope.i:14: Warning: 
   Missing assigns clause (assigns 'everything' instead)
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_f_loop_inv_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_f_loop_inv_established : Unknown
+[wp] [Qed] Goal typed_f_loop_invariant_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_f_loop_invariant_established : Unknown
 [wp] Proved goals:    1 / 2
   Qed:             1 
   Alt-Ergo:        0  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.res.oracle
index a3cbbc8f420d320a28e3bc44cbeae791c150bba4..d703b7baa1c6cab1069eaf5fe9262a112f81e35b 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_loopscope.1.res.oracle
@@ -6,8 +6,8 @@
 [wp] tests/wp_typed/unit_loopscope.i:14: Warning: 
   Missing assigns clause (assigns 'everything' instead)
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_ref_f_loop_inv_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_ref_f_loop_inv_established : Unknown
+[wp] [Qed] Goal typed_ref_f_loop_invariant_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_ref_f_loop_invariant_established : Unknown
 [wp] Proved goals:    1 / 2
   Qed:             1 
   Alt-Ergo:        0  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.res.oracle
index 90dcaaae65b8ee59320705559744d27186da405a..2f2abe5fd490075164b369f079aebb42299febfe 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_matrix.res.oracle
@@ -4,9 +4,9 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 3 goals scheduled
-[wp] [Alt-Ergo] Goal typed_make_post_OK1 : Valid
-[wp] [Qed] Goal typed_make_post_OK2 : Valid
-[wp] [Alt-Ergo] Goal typed_make_post_KO : Unknown
+[wp] [Alt-Ergo] Goal typed_make_ensures_OK1 : Valid
+[wp] [Qed] Goal typed_make_ensures_OK2 : Valid
+[wp] [Alt-Ergo] Goal typed_make_ensures_KO : Unknown
 [wp] Proved goals:    2 / 3
   Qed:             1 
   Alt-Ergo:        1  (unknown: 1)
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_tset.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_tset.res.oracle
index 92f9519eb50f9387583b7216946e751244b72fb9..27f38791eabe7e1acc381b905d9a26eeb0f7d48c 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_tset.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/unit_tset.res.oracle
@@ -4,8 +4,8 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 2 goals scheduled
-[wp] [Qed] Goal typed_complex_call_job_pre : Valid
-[wp] [Qed] Goal typed_complex_stmt_assign : Valid
+[wp] [Qed] Goal typed_complex_call_job_requires : Valid
+[wp] [Qed] Goal typed_complex_assigns : Valid
 [wp] Proved goals:    2 / 2
   Qed:             2
 [wp] Report 'tests/wp_typed/unit_tset.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.res.oracle
index cb76492cf52a2c06f9ff9486d2cb585ff7fcd10a..126cd950eac75fe97dd7375df9697cff87a75145 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_bitwise.0.res.oracle
@@ -4,18 +4,18 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 12 goals scheduled
-[wp] [Qed] Goal typed_ref_rl1_post_b0 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rl1_post_bk : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rln32_post_b1 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rln32_post_b2 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rln64_post_b1 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rln64_post_b2 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rr1_post_b0 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rr1_post_bk : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rrn32_post_b1 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rrn32_post_b2 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rrn64_post_b1 : Valid
-[wp] [Alt-Ergo] Goal typed_ref_rrn64_post_b2 : Valid
+[wp] [Qed] Goal typed_ref_rl1_ensures_b0 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rl1_ensures_bk : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rln32_ensures_b1 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rln32_ensures_b2 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rln64_ensures_b1 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rln64_ensures_b2 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rr1_ensures_b0 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rr1_ensures_bk : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rrn32_ensures_b1 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rrn32_ensures_b2 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rrn64_ensures_b1 : Valid
+[wp] [Alt-Ergo] Goal typed_ref_rrn64_ensures_b2 : Valid
 [wp] Proved goals:   12 / 12
   Qed:             1 
   Alt-Ergo:       11
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.res.oracle
index fc2732f1a63caca9f53bd29ecd40aa9ed056f5c2..7f4099e7202cb74e938202cd7bab12c261e47648 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_collect.res.oracle
@@ -4,38 +4,38 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 32 goals scheduled
-[wp] [Qed] Goal typed_caller_post_K : Valid
-[wp] [Alt-Ergo] Goal typed_caller_post_P1 : Valid
-[wp] [Alt-Ergo] Goal typed_caller_post_P2 : Valid
-[wp] [Alt-Ergo] Goal typed_caller_call_job_pre : Valid
-[wp] [Alt-Ergo] Goal typed_caller_call_job_pre_2 : Valid
-[wp] [Qed] Goal typed_caller2_post_K : Valid
-[wp] [Alt-Ergo] Goal typed_caller2_post_Q1 : Valid
-[wp] [Alt-Ergo] Goal typed_caller2_post_Q2 : Valid
-[wp] [Alt-Ergo] Goal typed_caller2_post_R : Valid
-[wp] [Alt-Ergo] Goal typed_caller2_call_job2_pre : Valid
-[wp] [Alt-Ergo] Goal typed_caller2_call_job2_pre_2 : Valid
-[wp] [Qed] Goal typed_caller3_post_K : Valid
-[wp] [Alt-Ergo] Goal typed_caller3_post_Q1 : Valid
-[wp] [Alt-Ergo] Goal typed_caller3_post_Q2 : Valid
-[wp] [Alt-Ergo] Goal typed_caller3_post_R : Valid
-[wp] [Alt-Ergo] Goal typed_caller3_call_job3_pre : Valid
-[wp] [Alt-Ergo] Goal typed_caller3_call_job3_pre_2 : Valid
-[wp] [Qed] Goal typed_job_post_K : Valid
-[wp] [Qed] Goal typed_job_post_P : Valid
-[wp] [Qed] Goal typed_job_assign_part1 : Valid
-[wp] [Qed] Goal typed_job_assign_part2 : Valid
-[wp] [Qed] Goal typed_job_assign_part3 : Valid
-[wp] [Qed] Goal typed_job2_post_K : Valid
-[wp] [Qed] Goal typed_job2_post_Q : Valid
-[wp] [Qed] Goal typed_job2_assign_part1 : Valid
-[wp] [Qed] Goal typed_job2_assign_part2 : Valid
-[wp] [Qed] Goal typed_job2_assign_part3 : Valid
-[wp] [Qed] Goal typed_job3_post_K : Valid
-[wp] [Alt-Ergo] Goal typed_job3_post_Q : Valid
-[wp] [Qed] Goal typed_job3_assign_part1 : Valid
-[wp] [Qed] Goal typed_job3_assign_part2 : Valid
-[wp] [Qed] Goal typed_job3_assign_part3 : Valid
+[wp] [Qed] Goal typed_caller_ensures_K : Valid
+[wp] [Alt-Ergo] Goal typed_caller_ensures_P1 : Valid
+[wp] [Alt-Ergo] Goal typed_caller_ensures_P2 : Valid
+[wp] [Alt-Ergo] Goal typed_caller_call_job_requires : Valid
+[wp] [Alt-Ergo] Goal typed_caller_call_job_requires_2 : Valid
+[wp] [Qed] Goal typed_caller2_ensures_K : Valid
+[wp] [Alt-Ergo] Goal typed_caller2_ensures_Q1 : Valid
+[wp] [Alt-Ergo] Goal typed_caller2_ensures_Q2 : Valid
+[wp] [Alt-Ergo] Goal typed_caller2_ensures_R : Valid
+[wp] [Alt-Ergo] Goal typed_caller2_call_job2_requires : Valid
+[wp] [Alt-Ergo] Goal typed_caller2_call_job2_requires_2 : Valid
+[wp] [Qed] Goal typed_caller3_ensures_K : Valid
+[wp] [Alt-Ergo] Goal typed_caller3_ensures_Q1 : Valid
+[wp] [Alt-Ergo] Goal typed_caller3_ensures_Q2 : Valid
+[wp] [Alt-Ergo] Goal typed_caller3_ensures_R : Valid
+[wp] [Alt-Ergo] Goal typed_caller3_call_job3_requires : Valid
+[wp] [Alt-Ergo] Goal typed_caller3_call_job3_requires_2 : Valid
+[wp] [Qed] Goal typed_job_ensures_K : Valid
+[wp] [Qed] Goal typed_job_ensures_P : Valid
+[wp] [Qed] Goal typed_job_assigns_part1 : Valid
+[wp] [Qed] Goal typed_job_assigns_part2 : Valid
+[wp] [Qed] Goal typed_job_assigns_part3 : Valid
+[wp] [Qed] Goal typed_job2_ensures_K : Valid
+[wp] [Qed] Goal typed_job2_ensures_Q : Valid
+[wp] [Qed] Goal typed_job2_assigns_part1 : Valid
+[wp] [Qed] Goal typed_job2_assigns_part2 : Valid
+[wp] [Qed] Goal typed_job2_assigns_part3 : Valid
+[wp] [Qed] Goal typed_job3_ensures_K : Valid
+[wp] [Alt-Ergo] Goal typed_job3_ensures_Q : Valid
+[wp] [Qed] Goal typed_job3_assigns_part1 : Valid
+[wp] [Qed] Goal typed_job3_assigns_part2 : Valid
+[wp] [Qed] Goal typed_job3_assigns_part3 : Valid
 [wp] Proved goals:   32 / 32
   Qed:            17 
   Alt-Ergo:       15
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.res.oracle
index 44668e5e973c7de919e3d2c9665164aff4f534f1..4f2b39175f74f0cfd99af1fef3f3e369e2dc8310 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_init.res.oracle
@@ -4,14 +4,14 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 8 goals scheduled
-[wp] [Alt-Ergo] Goal typed_init_post : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_inv_Partial_preserved : Valid
-[wp] [Qed] Goal typed_init_loop_inv_Partial_established : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_inv_Range_preserved : Valid
-[wp] [Qed] Goal typed_init_loop_inv_Range_established : Valid
-[wp] [Qed] Goal typed_init_loop_assign_part1 : Valid
-[wp] [Alt-Ergo] Goal typed_init_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_init_assign : Valid
+[wp] [Alt-Ergo] Goal typed_init_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_invariant_Partial_preserved : Valid
+[wp] [Qed] Goal typed_init_loop_invariant_Partial_established : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_invariant_Range_preserved : Valid
+[wp] [Qed] Goal typed_init_loop_invariant_Range_established : Valid
+[wp] [Qed] Goal typed_init_loop_assigns_part1 : Valid
+[wp] [Alt-Ergo] Goal typed_init_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_init_assigns : Valid
 [wp] Proved goals:    8 / 8
   Qed:             4 
   Alt-Ergo:        4
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.0.res.oracle
index c8109017fd2ef717deeed3b47704c49fed865024..6f0d6cc19cc8713e8e96e37c4d9ac57c90256bd9 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.0.res.oracle
@@ -4,26 +4,26 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 20 goals scheduled
-[wp] [Qed] Goal typed_job_post_SEQ : Valid
-[wp] [Qed] Goal typed_job_post_ID1 : Valid
-[wp] [Qed] Goal typed_job_post_ID2 : Valid
-[wp] [Qed] Goal typed_job_post_R1 : Valid
-[wp] [Qed] Goal typed_job_post_R2 : Valid
-[wp] [Qed] Goal typed_job_post_R0 : Valid
-[wp] [Qed] Goal typed_job_post_E1 : Valid
-[wp] [Qed] Goal typed_job_post_E2 : Valid
-[wp] [Qed] Goal typed_job_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_job_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_job_assign_exit_part3 : Valid
-[wp] [Qed] Goal typed_job_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_job_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_job_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_job_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_job_assign_normal_part5 : Valid
-[wp] [Qed] Goal typed_job_assign_normal_part6 : Valid
-[wp] [Qed] Goal typed_job_assign_normal_part7 : Valid
-[wp] [Qed] Goal typed_job_assign_normal_part8 : Valid
-[wp] [Qed] Goal typed_job_assign_normal_part9 : Valid
+[wp] [Qed] Goal typed_job_ensures_SEQ : Valid
+[wp] [Qed] Goal typed_job_ensures_ID1 : Valid
+[wp] [Qed] Goal typed_job_ensures_ID2 : Valid
+[wp] [Qed] Goal typed_job_ensures_R1 : Valid
+[wp] [Qed] Goal typed_job_ensures_R2 : Valid
+[wp] [Qed] Goal typed_job_ensures_R0 : Valid
+[wp] [Qed] Goal typed_job_ensures_E1 : Valid
+[wp] [Qed] Goal typed_job_ensures_E2 : Valid
+[wp] [Qed] Goal typed_job_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_job_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_job_assigns_exit_part3 : Valid
+[wp] [Qed] Goal typed_job_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_job_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_job_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_job_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_job_assigns_normal_part5 : Valid
+[wp] [Qed] Goal typed_job_assigns_normal_part6 : Valid
+[wp] [Qed] Goal typed_job_assigns_normal_part7 : Valid
+[wp] [Qed] Goal typed_job_assigns_normal_part8 : Valid
+[wp] [Qed] Goal typed_job_assigns_normal_part9 : Valid
 [wp] Proved goals:   20 / 20
   Qed:            20
 [wp] Report 'tests/wp_typed/user_injector.i.0.report.json'
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.1.res.oracle
index 5a96fa0d2d8772681a35250dc3f3e9588ca2dccb..c2931cef0f2e16299f2fd4670d21c35a6468007e 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_injector.1.res.oracle
@@ -4,22 +4,22 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 16 goals scheduled
-[wp] [Qed] Goal typed_ref_job_post_SEQ : Valid
-[wp] [Qed] Goal typed_ref_job_post_ID1 : Valid
-[wp] [Qed] Goal typed_ref_job_post_ID2 : Valid
-[wp] [Qed] Goal typed_ref_job_post_R1 : Valid
-[wp] [Qed] Goal typed_ref_job_post_R2 : Valid
-[wp] [Qed] Goal typed_ref_job_post_R0 : Valid
-[wp] [Qed] Goal typed_ref_job_post_E1 : Valid
-[wp] [Qed] Goal typed_ref_job_post_E2 : Valid
-[wp] [Qed] Goal typed_ref_job_assign_exit_part1 : Valid
-[wp] [Qed] Goal typed_ref_job_assign_exit_part2 : Valid
-[wp] [Qed] Goal typed_ref_job_assign_normal_part1 : Valid
-[wp] [Qed] Goal typed_ref_job_assign_normal_part2 : Valid
-[wp] [Qed] Goal typed_ref_job_assign_normal_part3 : Valid
-[wp] [Qed] Goal typed_ref_job_assign_normal_part4 : Valid
-[wp] [Qed] Goal typed_ref_job_assign_normal_part5 : Valid
-[wp] [Qed] Goal typed_ref_job_assign_normal_part6 : Valid
+[wp] [Qed] Goal typed_ref_job_ensures_SEQ : Valid
+[wp] [Qed] Goal typed_ref_job_ensures_ID1 : Valid
+[wp] [Qed] Goal typed_ref_job_ensures_ID2 : Valid
+[wp] [Qed] Goal typed_ref_job_ensures_R1 : Valid
+[wp] [Qed] Goal typed_ref_job_ensures_R2 : Valid
+[wp] [Qed] Goal typed_ref_job_ensures_R0 : Valid
+[wp] [Qed] Goal typed_ref_job_ensures_E1 : Valid
+[wp] [Qed] Goal typed_ref_job_ensures_E2 : Valid
+[wp] [Qed] Goal typed_ref_job_assigns_exit_part1 : Valid
+[wp] [Qed] Goal typed_ref_job_assigns_exit_part2 : Valid
+[wp] [Qed] Goal typed_ref_job_assigns_normal_part1 : Valid
+[wp] [Qed] Goal typed_ref_job_assigns_normal_part2 : Valid
+[wp] [Qed] Goal typed_ref_job_assigns_normal_part3 : Valid
+[wp] [Qed] Goal typed_ref_job_assigns_normal_part4 : Valid
+[wp] [Qed] Goal typed_ref_job_assigns_normal_part5 : Valid
+[wp] [Qed] Goal typed_ref_job_assigns_normal_part6 : Valid
 [wp] Proved goals:   16 / 16
   Qed:            16
 [wp] Report 'tests/wp_typed/user_injector.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.res.oracle
index cea18d8d736c4e364422bbec20a221c0191d20ed..5661eb3f32c1555b8971f937cf7337c7edb420e6 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_rec.res.oracle
@@ -4,24 +4,24 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 18 goals scheduled
-[wp] [Alt-Ergo] Goal typed_F1_post : Valid
-[wp] [Alt-Ergo] Goal typed_F1_loop_inv_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_F1_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_F1_loop_inv_2_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_F1_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_F1_loop_assign : Valid
-[wp] [Alt-Ergo] Goal typed_F2_post : Valid
-[wp] [Alt-Ergo] Goal typed_F2_loop_inv_PART_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_F2_loop_inv_PART_established : Valid
-[wp] [Alt-Ergo] Goal typed_F2_loop_inv_RANGE_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_F2_loop_inv_RANGE_established : Valid
-[wp] [Qed] Goal typed_F2_loop_assign : Valid
-[wp] [Alt-Ergo] Goal typed_F4_post : Valid
-[wp] [Alt-Ergo] Goal typed_F4_loop_inv_NEVER_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_F4_loop_inv_NEVER_established : Valid
-[wp] [Alt-Ergo] Goal typed_F4_loop_inv_RANGE_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_F4_loop_inv_RANGE_established : Valid
-[wp] [Qed] Goal typed_F4_loop_assign : Valid
+[wp] [Alt-Ergo] Goal typed_F1_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_F1_loop_invariant_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_F1_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_F1_loop_invariant_2_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_F1_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_F1_loop_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_F2_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_F2_loop_invariant_PART_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_F2_loop_invariant_PART_established : Valid
+[wp] [Alt-Ergo] Goal typed_F2_loop_invariant_RANGE_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_F2_loop_invariant_RANGE_established : Valid
+[wp] [Qed] Goal typed_F2_loop_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_F4_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_F4_loop_invariant_NEVER_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_F4_loop_invariant_NEVER_established : Valid
+[wp] [Alt-Ergo] Goal typed_F4_loop_invariant_RANGE_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_F4_loop_invariant_RANGE_established : Valid
+[wp] [Qed] Goal typed_F4_loop_assigns : Valid
 [wp] Proved goals:   18 / 18
   Qed:             3 
   Alt-Ergo:       15
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.res.oracle
index 7897a72d1b43a469d846e4f6c7edad15eb3f302f..cf3e048e553914572b5690448ec6824fc6df3fe0 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_string.res.oracle
@@ -4,19 +4,19 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 13 goals scheduled
-[wp] [Qed] Goal typed_strlen_post : Valid
-[wp] [Qed] Goal typed_strlen_loop_inv_BASE_preserved : Valid
-[wp] [Qed] Goal typed_strlen_loop_inv_BASE_established : Valid
-[wp] [Alt-Ergo] Goal typed_strlen_loop_inv_RANGE_preserved : Valid
-[wp] [Alt-Ergo] Goal typed_strlen_loop_inv_RANGE_established : Valid
-[wp] [Alt-Ergo] Goal typed_strlen_loop_inv_ZERO_preserved : Valid
-[wp] [Qed] Goal typed_strlen_loop_inv_ZERO_established : Valid
+[wp] [Qed] Goal typed_strlen_ensures : Valid
+[wp] [Qed] Goal typed_strlen_loop_invariant_BASE_preserved : Valid
+[wp] [Qed] Goal typed_strlen_loop_invariant_BASE_established : Valid
+[wp] [Alt-Ergo] Goal typed_strlen_loop_invariant_RANGE_preserved : Valid
+[wp] [Alt-Ergo] Goal typed_strlen_loop_invariant_RANGE_established : Valid
+[wp] [Alt-Ergo] Goal typed_strlen_loop_invariant_ZERO_preserved : Valid
+[wp] [Qed] Goal typed_strlen_loop_invariant_ZERO_established : Valid
 [wp] [Alt-Ergo] Goal typed_strlen_assert_END : Valid
-[wp] [Qed] Goal typed_strlen_loop_assign : Valid
-[wp] [Qed] Goal typed_strlen_assign_part1 : Valid
-[wp] [Qed] Goal typed_strlen_assign_part2 : Valid
-[wp] [Qed] Goal typed_strlen_loop_term_decrease : Valid
-[wp] [Alt-Ergo] Goal typed_strlen_loop_term_positive : Valid
+[wp] [Qed] Goal typed_strlen_loop_assigns : Valid
+[wp] [Qed] Goal typed_strlen_assigns_part1 : Valid
+[wp] [Qed] Goal typed_strlen_assigns_part2 : Valid
+[wp] [Qed] Goal typed_strlen_loop_variant_decrease : Valid
+[wp] [Alt-Ergo] Goal typed_strlen_loop_variant_positive : Valid
 [wp] Proved goals:   13 / 13
   Qed:             8 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.res.oracle
index f9004eeb05a8982faabb8392d0d4bed05ddf93df..e6447f9b3eadf5d1f0fc85f4150a3e38fc43d6da 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.0.res.oracle
@@ -5,12 +5,12 @@
 [wp] Warning: Missing RTE guards
 [wp] 7 goals scheduled
 [wp] [Qed] Goal typed_main_assert : Valid
-[wp] [Qed] Goal typed_main_call_swap_pre : Valid
-[wp] [Qed] Goal typed_main_call_swap_pre_2 : Valid
-[wp] [Alt-Ergo] Goal typed_swap_post_A : Valid
-[wp] [Qed] Goal typed_swap_post_B : Valid
-[wp] [Qed] Goal typed_swap_assign_part1 : Valid
-[wp] [Qed] Goal typed_swap_assign_part2 : Valid
+[wp] [Qed] Goal typed_main_call_swap_requires : Valid
+[wp] [Qed] Goal typed_main_call_swap_requires_2 : Valid
+[wp] [Alt-Ergo] Goal typed_swap_ensures_A : Valid
+[wp] [Qed] Goal typed_swap_ensures_B : Valid
+[wp] [Qed] Goal typed_swap_assigns_part1 : Valid
+[wp] [Qed] Goal typed_swap_assigns_part2 : Valid
 [wp] Proved goals:    7 / 7
   Qed:             6 
   Alt-Ergo:        1
diff --git a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.1.res.oracle b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.1.res.oracle
index a0ff47387b176bda1772889cb54ff272d9a5fd1b..906d590a10fc8344139ea08b1193f85600b1aa05 100644
--- a/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.1.res.oracle
+++ b/src/plugins/wp/tests/wp_typed/oracle_qualif/user_swap.1.res.oracle
@@ -5,11 +5,11 @@
 [wp] Warning: Missing RTE guards
 [wp] 6 goals scheduled
 [wp] [Qed] Goal typed_ref_main_assert : Valid
-[wp] [Qed] Goal typed_ref_main_call_swap_pre : Valid
-[wp] [Qed] Goal typed_ref_main_call_swap_pre_2 : Valid
-[wp] [Qed] Goal typed_ref_swap_post_A : Valid
-[wp] [Qed] Goal typed_ref_swap_post_B : Valid
-[wp] [Qed] Goal typed_ref_swap_assign : Valid
+[wp] [Qed] Goal typed_ref_main_call_swap_requires : Valid
+[wp] [Qed] Goal typed_ref_main_call_swap_requires_2 : Valid
+[wp] [Qed] Goal typed_ref_swap_ensures_A : Valid
+[wp] [Qed] Goal typed_ref_swap_ensures_B : Valid
+[wp] [Qed] Goal typed_ref_swap_assigns : Valid
 [wp] Proved goals:    6 / 6
   Qed:             6
 [wp] Report 'tests/wp_typed/user_swap.i.1.report.json'
diff --git a/src/plugins/wp/tests/wp_typed/struct_array_type.i.0.report.json b/src/plugins/wp/tests/wp_typed/struct_array_type.i.0.report.json
index afebc5ba97d76ae2533a123540e2b909764ed269..61277ab1a87c89055b3a2c88bd2ac16f923355ee 100644
--- a/src/plugins/wp/tests/wp_typed/struct_array_type.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/struct_array_type.i.0.report.json
@@ -1,9 +1,11 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 3 },
                  "wp:main": { "total": 1, "valid": 1, "rank": 3 } },
-  "wp:functions": { "f": { "f_post": { "alt-ergo": { "total": 1, "valid": 1,
-                                                     "rank": 3 },
-                                       "wp:main": { "total": 1, "valid": 1,
-                                                    "rank": 3 } },
+  "wp:functions": { "f": { "f_ensures": { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 4 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 4 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 3 },
diff --git a/src/plugins/wp/tests/wp_typed/unit_alloc.i.0.report.json b/src/plugins/wp/tests/wp_typed/unit_alloc.i.0.report.json
index 9f812ec52f0d14edb82c0d7a39c29c182b2888c0..772fd8424c99598ffe886aa4cbd955425709bf68 100644
--- a/src/plugins/wp/tests/wp_typed/unit_alloc.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_alloc.i.0.report.json
@@ -29,22 +29,24 @@
                                              "wp:main": { "total": 4,
                                                           "valid": 4,
                                                           "rank": 6 } } },
-                    "f": { "f_assign": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
+                    "f": { "f_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } },
-                    "g": { "g_assign": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
+                    "g": { "g_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } },
-                    "h": { "h_post": { "alt-ergo": { "total": 1, "valid": 1,
-                                                     "rank": 4 },
-                                       "wp:main": { "total": 1, "valid": 1,
-                                                    "rank": 4 } },
+                    "h": { "h_ensures": { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 4 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 4 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 4 },
diff --git a/src/plugins/wp/tests/wp_typed/unit_alloc.i.1.report.json b/src/plugins/wp/tests/wp_typed/unit_alloc.i.1.report.json
index 9f812ec52f0d14edb82c0d7a39c29c182b2888c0..772fd8424c99598ffe886aa4cbd955425709bf68 100644
--- a/src/plugins/wp/tests/wp_typed/unit_alloc.i.1.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_alloc.i.1.report.json
@@ -29,22 +29,24 @@
                                              "wp:main": { "total": 4,
                                                           "valid": 4,
                                                           "rank": 6 } } },
-                    "f": { "f_assign": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
+                    "f": { "f_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } },
-                    "g": { "g_assign": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
+                    "g": { "g_assigns": { "qed": { "total": 1, "valid": 1 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1 } },
                            "wp:section": { "qed": { "total": 1, "valid": 1 },
                                            "wp:main": { "total": 1,
                                                         "valid": 1 } } },
-                    "h": { "h_post": { "alt-ergo": { "total": 1, "valid": 1,
-                                                     "rank": 4 },
-                                       "wp:main": { "total": 1, "valid": 1,
-                                                    "rank": 4 } },
+                    "h": { "h_ensures": { "alt-ergo": { "total": 1,
+                                                        "valid": 1,
+                                                        "rank": 4 },
+                                          "wp:main": { "total": 1,
+                                                       "valid": 1,
+                                                       "rank": 4 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "valid": 1,
                                                          "rank": 4 },
diff --git a/src/plugins/wp/tests/wp_typed/unit_bitwise.c.0.report.json b/src/plugins/wp/tests/wp_typed/unit_bitwise.c.0.report.json
index f2a9a5a5550085dc73c5d68e7e570eab09b312bf..f5326c10d87f572925a1eca367669d7689527fba 100644
--- a/src/plugins/wp/tests/wp_typed/unit_bitwise.c.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_bitwise.c.0.report.json
@@ -102,52 +102,57 @@
                                                           "wp:main": 
                                                             { "total": 1,
                                                               "valid": 1 } },
-                                  "band_int_post_ok": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                                  "band_int_ensures_ok": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
                                   "wp:section": { "qed": { "total": 2,
                                                            "valid": 2 },
                                                   "wp:main": { "total": 2,
                                                                "valid": 2 } } },
-                    "bor_int": { "bor_int_post_ok": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
+                    "bor_int": { "bor_int_ensures_ok": { "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                                  "wp:section": { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1 } } },
-                    "bxor_int": { "bxor_int_post_ok": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                    "bxor_int": { "bxor_int_ensures_ok": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
                                   "wp:section": { "qed": { "total": 1,
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } } },
-                    "bnot_int": { "bnot_int_post_ok": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                    "bnot_int": { "bnot_int_ensures_ok": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
                                   "wp:section": { "qed": { "total": 1,
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } } },
-                    "lshift_int": { "lshift_int_post_ok": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "lshift_int": { "lshift_int_ensures_ok": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                     "wp:section": { "qed": { "total": 1,
                                                              "valid": 1 },
                                                     "wp:main": { "total": 1,
                                                                  "valid": 1 } } },
-                    "rshift_int": { "rshift_int_post_ok": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "rshift_int": { "rshift_int_ensures_ok": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                     "wp:section": { "qed": { "total": 1,
                                                              "valid": 1 },
                                                     "wp:main": { "total": 1,
@@ -174,36 +179,37 @@
                                                     "wp:main": { "total": 2,
                                                                  "valid": 2,
                                                                  "rank": 3 } } },
-                    "band_uint": { "band_uint_post_ok": { "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1 } },
+                    "band_uint": { "band_uint_ensures_ok": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
                                    "wp:section": { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } } },
-                    "bor_uint": { "bor_uint_post_ok": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1 } },
+                    "bor_uint": { "bor_uint_ensures_ok": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
                                   "wp:section": { "qed": { "total": 1,
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } } },
-                    "bxor_uint": { "bxor_uint_post_ok_2": { "alt-ergo": 
-                                                              { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 3 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 3 } },
-                                   "bxor_uint_post_ok": { "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1 } },
+                    "bxor_uint": { "bxor_uint_ensures_ok_2": { "alt-ergo": 
+                                                                 { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 4 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 4 } },
+                                   "bxor_uint_ensures_ok": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 3 },
@@ -212,105 +218,107 @@
                                                    "wp:main": { "total": 2,
                                                                 "valid": 2,
                                                                 "rank": 3 } } },
-                    "bnot_uint": { "bnot_uint_post_ok": { "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1 } },
+                    "bnot_uint": { "bnot_uint_ensures_ok": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
                                    "wp:section": { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } } },
-                    "lshift_uint": { "lshift_uint_post_ok": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
+                    "lshift_uint": { "lshift_uint_ensures_ok": { "qed": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 } },
                                      "wp:section": { "qed": { "total": 1,
                                                               "valid": 1 },
                                                      "wp:main": { "total": 1,
                                                                   "valid": 1 } } },
-                    "rshift_uint": { "rshift_uint_post_ok": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
+                    "rshift_uint": { "rshift_uint_ensures_ok": { "qed": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 } },
                                      "wp:section": { "qed": { "total": 1,
                                                               "valid": 1 },
                                                      "wp:main": { "total": 1,
                                                                   "valid": 1 } } },
-                    "band_char": { "band_char_post_ok": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 } },
+                    "band_char": { "band_char_ensures_ok": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 4 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 4 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 3 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 3 } } },
-                    "bor_char": { "bor_char_post_ok": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 3 },
-                                                        "wp:main": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 3 } },
+                    "bor_char": { "bor_char_ensures_ok": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 4 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 4 } },
                                   "wp:section": { "alt-ergo": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 3 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 3 } } },
-                    "bxor_char": { "bxor_char_post_ok": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 } },
+                    "bxor_char": { "bxor_char_ensures_ok": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 4 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 4 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 3 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 3 } } },
-                    "bnot_char": { "bnot_char_post_ok": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 } },
+                    "bnot_char": { "bnot_char_ensures_ok": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 4 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 4 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 3 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1,
                                                                 "rank": 3 } } },
-                    "lshift_char": { "lshift_char_post_ok": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
+                    "lshift_char": { "lshift_char_ensures_ok": { "qed": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 } },
                                      "wp:section": { "qed": { "total": 1,
                                                               "valid": 1 },
                                                      "wp:main": { "total": 1,
                                                                   "valid": 1 } } },
-                    "rshift_char": { "rshift_char_post_ok": { "qed": 
-                                                                { "total": 1,
-                                                                  "valid": 1 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1 } },
+                    "rshift_char": { "rshift_char_ensures_ok": { "qed": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1 } },
                                      "wp:section": { "qed": { "total": 1,
                                                               "valid": 1 },
                                                      "wp:main": { "total": 1,
@@ -337,42 +345,43 @@
                                                      "wp:main": { "total": 2,
                                                                   "valid": 2,
                                                                   "rank": 3 } } },
-                    "band_uchar": { "band_uchar_post_ok": { "alt-ergo": 
-                                                              { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 3 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 3 } },
+                    "band_uchar": { "band_uchar_ensures_ok": { "alt-ergo": 
+                                                                 { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 4 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 4 } },
                                     "wp:section": { "alt-ergo": { "total": 1,
                                                                   "valid": 1,
                                                                   "rank": 3 },
                                                     "wp:main": { "total": 1,
                                                                  "valid": 1,
                                                                  "rank": 3 } } },
-                    "bor_uchar": { "bor_uchar_post_ok": { "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1 } },
+                    "bor_uchar": { "bor_uchar_ensures_ok": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "valid": 1 } },
                                    "wp:section": { "qed": { "total": 1,
                                                             "valid": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "valid": 1 } } },
-                    "bxor_uchar": { "bxor_uchar_post_ok_2": { "alt-ergo": 
-                                                                { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 3 },
-                                                              "wp:main": 
-                                                                { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 3 } },
-                                    "bxor_uchar_post_ok": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "bxor_uchar": { "bxor_uchar_ensures_ok_2": { "alt-ergo": 
+                                                                   { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 4 },
+                                                                 "wp:main": 
+                                                                   { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 4 } },
+                                    "bxor_uchar_ensures_ok": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                     "wp:section": { "alt-ergo": { "total": 1,
                                                                   "valid": 1,
                                                                   "rank": 3 },
@@ -381,33 +390,34 @@
                                                     "wp:main": { "total": 2,
                                                                  "valid": 2,
                                                                  "rank": 3 } } },
-                    "bnot_uchar": { "bnot_uchar_post_ok": { "qed": { "total": 1,
-                                                                    "valid": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "valid": 1 } },
+                    "bnot_uchar": { "bnot_uchar_ensures_ok": { "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 } },
                                     "wp:section": { "qed": { "total": 1,
                                                              "valid": 1 },
                                                     "wp:main": { "total": 1,
                                                                  "valid": 1 } } },
-                    "lshift_uchar": { "lshift_uchar_post_ok": { "qed": 
-                                                                  { "total": 1,
+                    "lshift_uchar": { "lshift_uchar_ensures_ok": { "qed": 
+                                                                    { "total": 1,
                                                                     "valid": 1 },
-                                                                "wp:main": 
-                                                                  { "total": 1,
+                                                                   "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1 } },
                                       "wp:section": { "qed": { "total": 1,
                                                                "valid": 1 },
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1 } } },
-                    "rshift_uchar": { "rshift_uchar_post_ok": { "alt-ergo": 
-                                                                  { "total": 1,
+                    "rshift_uchar": { "rshift_uchar_ensures_ok": { "alt-ergo": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 5 },
-                                                                "wp:main": 
-                                                                  { "total": 1,
+                                                                    "rank": 6 },
+                                                                   "wp:main": 
+                                                                    { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 5 } },
+                                                                    "rank": 6 } },
                                       "wp:section": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 5 },
@@ -486,10 +496,10 @@
                                                            "valid": 1 },
                                                   "wp:main": { "total": 1,
                                                                "valid": 1 } },
-                              "cast_post_ok": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
+                              "cast_ensures_ok": { "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1 } },
                               "wp:section": { "qed": { "total": 8,
                                                        "valid": 8 },
                                               "wp:main": { "total": 8,
diff --git a/src/plugins/wp/tests/wp_typed/unit_bitwise.c.1.report.json b/src/plugins/wp/tests/wp_typed/unit_bitwise.c.1.report.json
index 82debd45425e5560c3e94b7890cc0d859fb82beb..0dc8275e431c8779fb5273a028f84ea7320b4bd4 100644
--- a/src/plugins/wp/tests/wp_typed/unit_bitwise.c.1.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_bitwise.c.1.report.json
@@ -10,22 +10,22 @@
                                                                 "unknown": 1 },
                                                   "wp:main": { "total": 1,
                                                                "unknown": 1 } } },
-                    "bnot_uint": { "bnot_uint_post_ko": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "unknown": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "unknown": 1 } },
+                    "bnot_uint": { "bnot_uint_ensures_ko": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "unknown": 1 },
+                                                             "wp:main": 
+                                                               { "total": 1,
+                                                                 "unknown": 1 } },
                                    "wp:section": { "alt-ergo": { "total": 1,
                                                                  "unknown": 1 },
                                                    "wp:main": { "total": 1,
                                                                 "unknown": 1 } } },
-                    "bnot_uchar": { "bnot_uchar_post_ko": { "alt-ergo": 
-                                                              { "total": 1,
-                                                                "unknown": 1 },
-                                                            "wp:main": 
-                                                              { "total": 1,
-                                                                "unknown": 1 } },
+                    "bnot_uchar": { "bnot_uchar_ensures_ko": { "alt-ergo": 
+                                                                 { "total": 1,
+                                                                   "unknown": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 1,
+                                                                   "unknown": 1 } },
                                     "wp:section": { "alt-ergo": { "total": 1,
                                                                   "unknown": 1 },
                                                     "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_typed/unit_cst.i.0.report.json b/src/plugins/wp/tests/wp_typed/unit_cst.i.0.report.json
index 19abe51ae5f1d3004dca2f972917b6dc3faeaf05..f7399a08a68535d5112bcf985aa8a7a4d07d590c 100644
--- a/src/plugins/wp/tests/wp_typed/unit_cst.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_cst.i.0.report.json
@@ -1,11 +1,11 @@
 { "wp:global": { "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 2, "valid": 2 } },
-  "wp:functions": { "f": { "f_post_B": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
-                           "f_post_A": { "qed": { "total": 1, "valid": 1 },
-                                         "wp:main": { "total": 1,
-                                                      "valid": 1 } },
+  "wp:functions": { "f": { "f_ensures_B": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
+                           "f_ensures_A": { "qed": { "total": 1, "valid": 1 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1 } },
                            "wp:section": { "qed": { "total": 2, "valid": 2 },
                                            "wp:main": { "total": 2,
                                                         "valid": 2 } } } } }
diff --git a/src/plugins/wp/tests/wp_typed/unit_float.i.0.report.json b/src/plugins/wp/tests/wp_typed/unit_float.i.0.report.json
index 48e38898c29124597df19af76138c2b007f7e982..536ff3635c35862a1401cb1dfb316e27fe42f39e 100644
--- a/src/plugins/wp/tests/wp_typed/unit_float.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_float.i.0.report.json
@@ -1,29 +1,29 @@
 { "wp:global": { "qed": { "total": 6, "valid": 6 },
                  "wp:main": { "total": 6, "valid": 6 } },
-  "wp:functions": { "main": { "main_post_VAR_D": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                              "main_post_VAR_F": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                              "main_post_CNV_D": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                              "main_post_CNV_F": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                              "main_post_CST_D": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
-                              "main_post_CST_F": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+  "wp:functions": { "main": { "main_ensures_VAR_D": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                              "main_ensures_VAR_F": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                              "main_ensures_CNV_D": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                              "main_ensures_CNV_F": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                              "main_ensures_CST_D": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
+                              "main_ensures_CST_F": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                               "wp:section": { "qed": { "total": 6,
                                                        "valid": 6 },
                                               "wp:main": { "total": 6,
diff --git a/src/plugins/wp/tests/wp_typed/unit_hard.i.0.report.json b/src/plugins/wp/tests/wp_typed/unit_hard.i.0.report.json
index def0b114235c4868a75ade8d3e60487865c60ec3..94fcb00c3cbadaa18a5c6cefcd550c33b094e592 100644
--- a/src/plugins/wp/tests/wp_typed/unit_hard.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_hard.i.0.report.json
@@ -1,18 +1,22 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 3, "valid": 2, "unknown": 1 } },
-  "wp:functions": { "main": { "main_pre_r_is_q1_ko": { "alt-ergo": { "total": 1,
-                                                                    "unknown": 1 },
-                                                       "wp:main": { "total": 1,
-                                                                    "unknown": 1 } },
-                              "main_pre_q_is_66F0": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
-                              "main_pre_p_is_33FF": { "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 1,
-                                                                   "valid": 1 } },
+  "wp:functions": { "main": { "main_requires_r_is_q1_ko": { "alt-ergo": 
+                                                              { "total": 1,
+                                                                "unknown": 1 },
+                                                            "wp:main": 
+                                                              { "total": 1,
+                                                                "unknown": 1 } },
+                              "main_requires_q_is_66F0": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
+                              "main_requires_p_is_33FF": { "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 1,
+                                                               "valid": 1 } },
                               "wp:section": { "alt-ergo": { "total": 1,
                                                             "unknown": 1 },
                                               "qed": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_typed/unit_ite.i.0.report.json b/src/plugins/wp/tests/wp_typed/unit_ite.i.0.report.json
index a2a5440758b06da4cba3fa3534f395d4f477b263..015bc871fc4ca3961f0f6378b2f719cd527944b2 100644
--- a/src/plugins/wp/tests/wp_typed/unit_ite.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_ite.i.0.report.json
@@ -1,9 +1,9 @@
 { "wp:global": { "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 1, "valid": 1 } },
-  "wp:functions": { "check": { "check_post": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+  "wp:functions": { "check": { "check_ensures": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                                "wp:section": { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_typed/unit_labels.i.0.report.json b/src/plugins/wp/tests/wp_typed/unit_labels.i.0.report.json
index c78bc8e3f70c205991e30bf1fc5463bfd15d9f8a..5215469f919da58581780b418da0f8bb4851f890 100644
--- a/src/plugins/wp/tests/wp_typed/unit_labels.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_labels.i.0.report.json
@@ -12,12 +12,12 @@
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1,
                                                                    "rank": 5 } },
-                                "duplet_post": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 6 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 6 } },
+                                "duplet_ensures": { "alt-ergo": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 6 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 6 } },
                                 "wp:section": { "alt-ergo": { "total": 3,
                                                               "valid": 3,
                                                               "rank": 6 },
diff --git a/src/plugins/wp/tests/wp_typed/unit_local.c.0.report.json b/src/plugins/wp/tests/wp_typed/unit_local.c.0.report.json
index 6b4e6e25a64cb01cfd095b6a46e4da074cf72236..5ba79072db99ba8c2f446e960065a9553200f64a 100644
--- a/src/plugins/wp/tests/wp_typed/unit_local.c.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_local.c.0.report.json
@@ -1,14 +1,14 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 5 },
                  "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 3, "valid": 3, "rank": 5 } },
-  "wp:functions": { "foo": { "foo_assign": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 5 },
-                                             "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2,
-                                                          "rank": 5 } },
+  "wp:functions": { "foo": { "foo_assigns": { "alt-ergo": { "total": 1,
+                                                            "valid": 1,
+                                                            "rank": 6 },
+                                              "qed": { "total": 1,
+                                                       "valid": 1 },
+                                              "wp:main": { "total": 2,
+                                                           "valid": 2,
+                                                           "rank": 6 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 5 },
@@ -17,10 +17,10 @@
                                              "wp:main": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 5 } } },
-                    "bar": { "bar_assign": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                    "bar": { "bar_assigns": { "qed": { "total": 1,
+                                                       "valid": 1 },
+                                              "wp:main": { "total": 1,
+                                                           "valid": 1 } },
                              "wp:section": { "qed": { "total": 1,
                                                       "valid": 1 },
                                              "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_typed/unit_local.c.1.report.json b/src/plugins/wp/tests/wp_typed/unit_local.c.1.report.json
index 087968c1f056049609a9ce78677ed02b6749128c..3c56a2bb785b44fef8f4bc957881ff8bdd9d8718 100644
--- a/src/plugins/wp/tests/wp_typed/unit_local.c.1.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_local.c.1.report.json
@@ -1,23 +1,23 @@
 { "wp:global": { "alt-ergo": { "total": 3, "valid": 3, "rank": 6 },
                  "wp:main": { "total": 3, "valid": 3, "rank": 6 } },
-  "wp:functions": { "foo": { "foo_assign": { "alt-ergo": { "total": 2,
+  "wp:functions": { "foo": { "foo_assigns": { "alt-ergo": { "total": 2,
+                                                            "valid": 2,
+                                                            "rank": 7 },
+                                              "wp:main": { "total": 2,
                                                            "valid": 2,
-                                                           "rank": 6 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2,
-                                                          "rank": 6 } },
+                                                           "rank": 7 } },
                              "wp:section": { "alt-ergo": { "total": 2,
                                                            "valid": 2,
                                                            "rank": 6 },
                                              "wp:main": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 6 } } },
-                    "bar": { "bar_assign": { "alt-ergo": { "total": 1,
+                    "bar": { "bar_assigns": { "alt-ergo": { "total": 1,
+                                                            "valid": 1,
+                                                            "rank": 7 },
+                                              "wp:main": { "total": 1,
                                                            "valid": 1,
-                                                           "rank": 6 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1,
-                                                          "rank": 6 } },
+                                                           "rank": 7 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 6 },
diff --git a/src/plugins/wp/tests/wp_typed/unit_loopscope.i.0.report.json b/src/plugins/wp/tests/wp_typed/unit_loopscope.i.0.report.json
index 9def0061da04715a453e1bb0798df65b7df0e784..0df540f56d402e36948e0ff3d0ee2349bba231ac 100644
--- a/src/plugins/wp/tests/wp_typed/unit_loopscope.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_loopscope.i.0.report.json
@@ -1,12 +1,13 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 2, "valid": 1, "unknown": 1 } },
-  "wp:functions": { "f": { "f_loop_inv": { "alt-ergo": { "total": 1,
-                                                         "unknown": 1 },
-                                           "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 2,
-                                                        "valid": 1,
-                                                        "unknown": 1 } },
+  "wp:functions": { "f": { "f_loop_invariant": { "alt-ergo": { "total": 1,
+                                                               "unknown": 1 },
+                                                 "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 2,
+                                                              "valid": 1,
+                                                              "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "qed": { "total": 1, "valid": 1 },
diff --git a/src/plugins/wp/tests/wp_typed/unit_loopscope.i.1.report.json b/src/plugins/wp/tests/wp_typed/unit_loopscope.i.1.report.json
index 9def0061da04715a453e1bb0798df65b7df0e784..0df540f56d402e36948e0ff3d0ee2349bba231ac 100644
--- a/src/plugins/wp/tests/wp_typed/unit_loopscope.i.1.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_loopscope.i.1.report.json
@@ -1,12 +1,13 @@
 { "wp:global": { "alt-ergo": { "total": 1, "unknown": 1 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 2, "valid": 1, "unknown": 1 } },
-  "wp:functions": { "f": { "f_loop_inv": { "alt-ergo": { "total": 1,
-                                                         "unknown": 1 },
-                                           "qed": { "total": 1, "valid": 1 },
-                                           "wp:main": { "total": 2,
-                                                        "valid": 1,
-                                                        "unknown": 1 } },
+  "wp:functions": { "f": { "f_loop_invariant": { "alt-ergo": { "total": 1,
+                                                               "unknown": 1 },
+                                                 "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 2,
+                                                              "valid": 1,
+                                                              "unknown": 1 } },
                            "wp:section": { "alt-ergo": { "total": 1,
                                                          "unknown": 1 },
                                            "qed": { "total": 1, "valid": 1 },
diff --git a/src/plugins/wp/tests/wp_typed/unit_matrix.i.0.report.json b/src/plugins/wp/tests/wp_typed/unit_matrix.i.0.report.json
index 15d636ed8ba9c60692d41a9678acd22a6fc3bcae..468e2635821f7ad20427d9ad8e769224e74815b2 100644
--- a/src/plugins/wp/tests/wp_typed/unit_matrix.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_matrix.i.0.report.json
@@ -3,20 +3,20 @@
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 3, "valid": 2, "unknown": 1,
                               "rank": 3 } },
-  "wp:functions": { "make": { "make_post_KO": { "alt-ergo": { "total": 1,
-                                                              "unknown": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "unknown": 1 } },
-                              "make_post_OK2": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                              "make_post_OK1": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 3 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 3 } },
+  "wp:functions": { "make": { "make_ensures_KO": { "alt-ergo": { "total": 1,
+                                                                 "unknown": 1 },
+                                                   "wp:main": { "total": 1,
+                                                                "unknown": 1 } },
+                              "make_ensures_OK2": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
+                              "make_ensures_OK1": { "alt-ergo": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 3 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 3 } },
                               "wp:section": { "alt-ergo": { "total": 2,
                                                             "valid": 1,
                                                             "unknown": 1,
diff --git a/src/plugins/wp/tests/wp_typed/unit_tset.i.0.report.json b/src/plugins/wp/tests/wp_typed/unit_tset.i.0.report.json
index 3f28cf0730281c2972e955ff30ae254cff1089e0..0ce1d92b5ca4d35c38b035fdf4d5c376bc03795a 100644
--- a/src/plugins/wp/tests/wp_typed/unit_tset.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/unit_tset.i.0.report.json
@@ -1,13 +1,13 @@
 { "wp:global": { "qed": { "total": 2, "valid": 2 },
                  "wp:main": { "total": 2, "valid": 2 } },
-  "wp:functions": { "complex": { "specialization_job_pre_at_complex_stmt_2": 
-                                   { "qed": { "total": 1, "valid": 1 },
-                                     "wp:main": { "total": 1, "valid": 1 } },
-                                 "complex_stmt_assign": { "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 1,
-                                                              "valid": 1 } },
+  "wp:functions": { "complex": { "job_requires_2": { "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1 } },
+                                 "complex_assigns": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                                  "wp:section": { "qed": { "total": 2,
                                                           "valid": 2 },
                                                  "wp:main": { "total": 2,
diff --git a/src/plugins/wp/tests/wp_typed/user_bitwise.i.0.report.json b/src/plugins/wp/tests/wp_typed/user_bitwise.i.0.report.json
index ebd102c4e466b40f5d8613d62a48361b856fc0a3..837cd14074b46be3d9654d28baca43c8fd1f49ab 100644
--- a/src/plugins/wp/tests/wp_typed/user_bitwise.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/user_bitwise.i.0.report.json
@@ -1,16 +1,16 @@
 { "wp:global": { "alt-ergo": { "total": 11, "valid": 11, "rank": 13 },
                  "qed": { "total": 1, "valid": 1 },
                  "wp:main": { "total": 12, "valid": 12, "rank": 13 } },
-  "wp:functions": { "rl1": { "rl1_post_bk": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 12 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 12 } },
-                             "rl1_post_b0": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
+  "wp:functions": { "rl1": { "rl1_ensures_bk": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 13 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 13 } },
+                             "rl1_ensures_b0": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
                              "wp:section": { "alt-ergo": { "total": 1,
                                                            "valid": 1,
                                                            "rank": 12 },
@@ -19,90 +19,90 @@
                                              "wp:main": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 12 } } },
-                    "rr1": { "rr1_post_bk": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 11 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 11 } },
-                             "rr1_post_b0": { "alt-ergo": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 4 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 4 } },
+                    "rr1": { "rr1_ensures_bk": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 12 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 12 } },
+                             "rr1_ensures_b0": { "alt-ergo": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 5 } },
                              "wp:section": { "alt-ergo": { "total": 2,
                                                            "valid": 2,
                                                            "rank": 11 },
                                              "wp:main": { "total": 2,
                                                           "valid": 2,
                                                           "rank": 11 } } },
-                    "rln32": { "rln32_post_b2": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 13 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 13 } },
-                               "rln32_post_b1": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 13 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 13 } },
+                    "rln32": { "rln32_ensures_b2": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 14 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 14 } },
+                               "rln32_ensures_b1": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 14 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 14 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "valid": 2,
                                                              "rank": 13 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 13 } } },
-                    "rrn32": { "rrn32_post_b2": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 12 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 12 } },
-                               "rrn32_post_b1": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 13 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 13 } },
+                    "rrn32": { "rrn32_ensures_b2": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 13 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 13 } },
+                               "rrn32_ensures_b1": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 14 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 14 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "valid": 2,
                                                              "rank": 13 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 13 } } },
-                    "rln64": { "rln64_post_b2": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 13 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 13 } },
-                               "rln64_post_b1": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 13 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 13 } },
+                    "rln64": { "rln64_ensures_b2": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 14 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 14 } },
+                               "rln64_ensures_b1": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 14 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 14 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "valid": 2,
                                                              "rank": 13 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 13 } } },
-                    "rrn64": { "rrn64_post_b2": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 12 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 12 } },
-                               "rrn64_post_b1": { "alt-ergo": { "total": 1,
-                                                                "valid": 1,
-                                                                "rank": 13 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 13 } },
+                    "rrn64": { "rrn64_ensures_b2": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 13 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 13 } },
+                               "rrn64_ensures_b1": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 14 },
+                                                     "wp:main": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 14 } },
                                "wp:section": { "alt-ergo": { "total": 2,
                                                              "valid": 2,
                                                              "rank": 13 },
diff --git a/src/plugins/wp/tests/wp_typed/user_collect.i.0.report.json b/src/plugins/wp/tests/wp_typed/user_collect.i.0.report.json
index 25b10ccb148706c2318ad6cc96155cab7db206c3..9fd9d35c2d54d060718e67e6189dbb185114fae1 100644
--- a/src/plugins/wp/tests/wp_typed/user_collect.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/user_collect.i.0.report.json
@@ -1,52 +1,52 @@
 { "wp:global": { "alt-ergo": { "total": 15, "valid": 15, "rank": 12 },
                  "qed": { "total": 17, "valid": 17 },
                  "wp:main": { "total": 32, "valid": 32, "rank": 12 } },
-  "wp:functions": { "job": { "job_assign": { "qed": { "total": 3,
-                                                      "valid": 3 },
-                                             "wp:main": { "total": 3,
-                                                          "valid": 3 } },
-                             "job_post_P": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
-                             "job_post_K": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+  "wp:functions": { "job": { "job_assigns": { "qed": { "total": 3,
+                                                       "valid": 3 },
+                                              "wp:main": { "total": 3,
+                                                           "valid": 3 } },
+                             "job_ensures_P": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                             "job_ensures_K": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                              "wp:section": { "qed": { "total": 5,
                                                       "valid": 5 },
                                              "wp:main": { "total": 5,
                                                           "valid": 5 } } },
-                    "job2": { "job2_assign": { "qed": { "total": 3,
-                                                        "valid": 3 },
-                                               "wp:main": { "total": 3,
-                                                            "valid": 3 } },
-                              "job2_post_Q": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "job2_post_K": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+                    "job2": { "job2_assigns": { "qed": { "total": 3,
+                                                         "valid": 3 },
+                                                "wp:main": { "total": 3,
+                                                             "valid": 3 } },
+                              "job2_ensures_Q": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                              "job2_ensures_K": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                               "wp:section": { "qed": { "total": 5,
                                                        "valid": 5 },
                                               "wp:main": { "total": 5,
                                                            "valid": 5 } } },
-                    "job3": { "job3_assign": { "qed": { "total": 3,
-                                                        "valid": 3 },
-                                               "wp:main": { "total": 3,
-                                                            "valid": 3 } },
-                              "job3_post_Q": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 5 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 5 } },
-                              "job3_post_K": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+                    "job3": { "job3_assigns": { "qed": { "total": 3,
+                                                         "valid": 3 },
+                                                "wp:main": { "total": 3,
+                                                             "valid": 3 } },
+                              "job3_ensures_Q": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 5 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 } },
+                              "job3_ensures_K": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                               "wp:section": { "alt-ergo": { "total": 1,
                                                             "valid": 1,
                                                             "rank": 5 },
@@ -55,32 +55,34 @@
                                               "wp:main": { "total": 5,
                                                            "valid": 5,
                                                            "rank": 5 } } },
-                    "caller": { "specialization_job_pre_at_caller_stmt_19": 
-                                  { "alt-ergo": { "total": 1, "valid": 1,
-                                                  "rank": 3 },
-                                    "wp:main": { "total": 1, "valid": 1,
-                                                 "rank": 3 } },
-                                "specialization_job_pre_at_caller_stmt_18": 
-                                  { "alt-ergo": { "total": 1, "valid": 1,
-                                                  "rank": 1 },
-                                    "wp:main": { "total": 1, "valid": 1,
-                                                 "rank": 1 } },
-                                "caller_post_P2": { "alt-ergo": { "total": 1,
+                    "caller": { "job_requires_3": { "alt-ergo": { "total": 1,
                                                                   "valid": 1,
-                                                                  "rank": 9 },
+                                                                  "rank": 4 },
                                                     "wp:main": { "total": 1,
                                                                  "valid": 1,
-                                                                 "rank": 9 } },
-                                "caller_post_P1": { "alt-ergo": { "total": 1,
+                                                                 "rank": 4 } },
+                                "job_requires_2": { "alt-ergo": { "total": 1,
                                                                   "valid": 1,
-                                                                  "rank": 9 },
+                                                                  "rank": 2 },
                                                     "wp:main": { "total": 1,
                                                                  "valid": 1,
-                                                                 "rank": 9 } },
-                                "caller_post_K": { "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 1,
-                                                                "valid": 1 } },
+                                                                 "rank": 2 } },
+                                "caller_ensures_P2": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 9 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 9 } },
+                                "caller_ensures_P1": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 9 },
+                                                       "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 9 } },
+                                "caller_ensures_K": { "qed": { "total": 1,
+                                                               "valid": 1 },
+                                                      "wp:main": { "total": 1,
+                                                                   "valid": 1 } },
                                 "wp:section": { "alt-ergo": { "total": 4,
                                                               "valid": 4,
                                                               "rank": 9 },
@@ -89,38 +91,42 @@
                                                 "wp:main": { "total": 5,
                                                              "valid": 5,
                                                              "rank": 9 } } },
-                    "caller2": { "specialization_job2_pre_at_caller2_stmt_23": 
-                                   { "alt-ergo": { "total": 1, "valid": 1,
-                                                   "rank": 3 },
-                                     "wp:main": { "total": 1, "valid": 1,
-                                                  "rank": 3 } },
-                                 "specialization_job2_pre_at_caller2_stmt_22": 
-                                   { "alt-ergo": { "total": 1, "valid": 1,
-                                                   "rank": 1 },
-                                     "wp:main": { "total": 1, "valid": 1,
-                                                  "rank": 1 } },
-                                 "caller2_post_R": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 12 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 12 } },
-                                 "caller2_post_Q2": { "alt-ergo": { "total": 1,
+                    "caller2": { "job2_requires_3": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 12 },
+                                                                    "rank": 4 },
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1,
-                                                                   "rank": 12 } },
-                                 "caller2_post_Q1": { "alt-ergo": { "total": 1,
+                                                                   "rank": 4 } },
+                                 "job2_requires_2": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 12 },
+                                                                    "rank": 2 },
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1,
-                                                                   "rank": 12 } },
-                                 "caller2_post_K": { "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1 } },
+                                                                   "rank": 2 } },
+                                 "caller2_ensures_R": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 } },
+                                 "caller2_ensures_Q2": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 13 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 } },
+                                 "caller2_ensures_Q1": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 13 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 } },
+                                 "caller2_ensures_K": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 5,
                                                                "valid": 5,
                                                                "rank": 12 },
@@ -129,38 +135,42 @@
                                                  "wp:main": { "total": 6,
                                                               "valid": 6,
                                                               "rank": 12 } } },
-                    "caller3": { "specialization_job3_pre_at_caller3_stmt_27": 
-                                   { "alt-ergo": { "total": 1, "valid": 1,
-                                                   "rank": 3 },
-                                     "wp:main": { "total": 1, "valid": 1,
-                                                  "rank": 3 } },
-                                 "specialization_job3_pre_at_caller3_stmt_26": 
-                                   { "alt-ergo": { "total": 1, "valid": 1,
-                                                   "rank": 1 },
-                                     "wp:main": { "total": 1, "valid": 1,
-                                                  "rank": 1 } },
-                                 "caller3_post_R": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 12 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 12 } },
-                                 "caller3_post_Q2": { "alt-ergo": { "total": 1,
+                    "caller3": { "job3_requires_3": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 12 },
+                                                                    "rank": 4 },
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1,
-                                                                   "rank": 12 } },
-                                 "caller3_post_Q1": { "alt-ergo": { "total": 1,
+                                                                   "rank": 4 } },
+                                 "job3_requires_2": { "alt-ergo": { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 12 },
+                                                                    "rank": 2 },
                                                       "wp:main": { "total": 1,
                                                                    "valid": 1,
-                                                                   "rank": 12 } },
-                                 "caller3_post_K": { "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 1,
-                                                                  "valid": 1 } },
+                                                                   "rank": 2 } },
+                                 "caller3_ensures_R": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 } },
+                                 "caller3_ensures_Q2": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 13 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 } },
+                                 "caller3_ensures_Q1": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 13 },
+                                                         "wp:main": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 13 } },
+                                 "caller3_ensures_K": { "qed": { "total": 1,
+                                                                 "valid": 1 },
+                                                        "wp:main": { "total": 1,
+                                                                    "valid": 1 } },
                                  "wp:section": { "alt-ergo": { "total": 5,
                                                                "valid": 5,
                                                                "rank": 12 },
diff --git a/src/plugins/wp/tests/wp_typed/user_init.i.0.report.json b/src/plugins/wp/tests/wp_typed/user_init.i.0.report.json
index dbef37c6533a5ff6e6a4ab33ac7856aee3ca312e..ab542867843fc6404fdda10d57a55a10cec8af43 100644
--- a/src/plugins/wp/tests/wp_typed/user_init.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/user_init.i.0.report.json
@@ -1,41 +1,45 @@
 { "wp:global": { "alt-ergo": { "total": 4, "valid": 4, "rank": 19 },
                  "qed": { "total": 4, "valid": 4 },
                  "wp:main": { "total": 8, "valid": 8, "rank": 19 } },
-  "wp:functions": { "init": { "init_loop_inv_Partial": { "alt-ergo": 
-                                                           { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 8 },
-                                                         "qed": { "total": 1,
-                                                                  "valid": 1 },
-                                                         "wp:main": { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 8 } },
-                              "init_loop_inv_Range": { "alt-ergo": { "total": 1,
-                                                                    "valid": 1,
-                                                                    "rank": 4 },
-                                                       "qed": { "total": 1,
-                                                                "valid": 1 },
-                                                       "wp:main": { "total": 2,
-                                                                    "valid": 2,
-                                                                    "rank": 4 } },
-                              "init_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "init_loop_assign": { "alt-ergo": { "total": 1,
-                                                                  "valid": 1,
-                                                                  "rank": 19 },
-                                                    "qed": { "total": 1,
-                                                             "valid": 1 },
-                                                    "wp:main": { "total": 2,
+  "wp:functions": { "init": { "init_loop_invariant_Partial": { "alt-ergo": 
+                                                                 { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 9 },
+                                                               "qed": 
+                                                                 { "total": 1,
+                                                                   "valid": 1 },
+                                                               "wp:main": 
+                                                                 { "total": 2,
+                                                                   "valid": 2,
+                                                                   "rank": 9 } },
+                              "init_loop_invariant_Range": { "alt-ergo": 
+                                                               { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 5 },
+                                                             "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                             "wp:main": 
+                                                               { "total": 2,
                                                                  "valid": 2,
-                                                                 "rank": 19 } },
-                              "init_post": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 7 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1,
-                                                          "rank": 7 } },
+                                                                 "rank": 5 } },
+                              "init_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "init_loop_assigns": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 19 },
+                                                     "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2,
+                                                                  "rank": 19 } },
+                              "init_ensures": { "alt-ergo": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 7 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 7 } },
                               "wp:section": { "alt-ergo": { "total": 4,
                                                             "valid": 4,
                                                             "rank": 19 },
diff --git a/src/plugins/wp/tests/wp_typed/user_injector.i.0.report.json b/src/plugins/wp/tests/wp_typed/user_injector.i.0.report.json
index 0eb062947507876aa0ebe0d56d3194c841bf9953..8d5dde5103a4191f2d9676e23e2d9bc4b6b73927 100644
--- a/src/plugins/wp/tests/wp_typed/user_injector.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/user_injector.i.0.report.json
@@ -1,41 +1,41 @@
 { "wp:global": { "qed": { "total": 20, "valid": 20 },
                  "wp:main": { "total": 20, "valid": 20 } },
-  "wp:functions": { "job": { "job_assign": { "qed": { "total": 12,
-                                                      "valid": 12 },
-                                             "wp:main": { "total": 12,
-                                                          "valid": 12 } },
-                             "job_post_E2": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_E1": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_R0": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_R2": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_R1": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_ID2": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                             "job_post_ID1": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                             "job_post_SEQ": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+  "wp:functions": { "job": { "job_assigns": { "qed": { "total": 12,
+                                                       "valid": 12 },
+                                              "wp:main": { "total": 12,
+                                                           "valid": 12 } },
+                             "job_ensures_E2": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_E1": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_R0": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_R2": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_R1": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_ID2": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                             "job_ensures_ID1": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                             "job_ensures_SEQ": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                              "wp:section": { "qed": { "total": 20,
                                                       "valid": 20 },
                                              "wp:main": { "total": 20,
diff --git a/src/plugins/wp/tests/wp_typed/user_injector.i.1.report.json b/src/plugins/wp/tests/wp_typed/user_injector.i.1.report.json
index 37ae88313d205bfb7319a52ac8b355d17d19d315..3bd17fdbbd541cbfa62396baffba2c440804229a 100644
--- a/src/plugins/wp/tests/wp_typed/user_injector.i.1.report.json
+++ b/src/plugins/wp/tests/wp_typed/user_injector.i.1.report.json
@@ -1,41 +1,41 @@
 { "wp:global": { "qed": { "total": 16, "valid": 16 },
                  "wp:main": { "total": 16, "valid": 16 } },
-  "wp:functions": { "job": { "job_assign": { "qed": { "total": 8,
-                                                      "valid": 8 },
-                                             "wp:main": { "total": 8,
-                                                          "valid": 8 } },
-                             "job_post_E2": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_E1": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_R0": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_R2": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_R1": { "qed": { "total": 1,
-                                                       "valid": 1 },
-                                              "wp:main": { "total": 1,
-                                                           "valid": 1 } },
-                             "job_post_ID2": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                             "job_post_ID1": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                             "job_post_SEQ": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+  "wp:functions": { "job": { "job_assigns": { "qed": { "total": 8,
+                                                       "valid": 8 },
+                                              "wp:main": { "total": 8,
+                                                           "valid": 8 } },
+                             "job_ensures_E2": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_E1": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_R0": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_R2": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_R1": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                             "job_ensures_ID2": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                             "job_ensures_ID1": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                             "job_ensures_SEQ": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                              "wp:section": { "qed": { "total": 16,
                                                       "valid": 16 },
                                              "wp:main": { "total": 16,
diff --git a/src/plugins/wp/tests/wp_typed/user_rec.i.0.report.json b/src/plugins/wp/tests/wp_typed/user_rec.i.0.report.json
index afe3bad05a28d6a40a660ff4abe9511449cbddd1..c1aa3308c9e10ee4a705ba99085a15fc24ed725c 100644
--- a/src/plugins/wp/tests/wp_typed/user_rec.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/user_rec.i.0.report.json
@@ -1,27 +1,28 @@
 { "wp:global": { "alt-ergo": { "total": 15, "valid": 15, "rank": 16 },
                  "qed": { "total": 3, "valid": 3 },
                  "wp:main": { "total": 18, "valid": 18, "rank": 16 } },
-  "wp:functions": { "F1": { "F1_loop_inv_2": { "alt-ergo": { "total": 2,
-                                                             "valid": 2,
-                                                             "rank": 7 },
-                                               "wp:main": { "total": 2,
-                                                            "valid": 2,
-                                                            "rank": 7 } },
-                            "F1_loop_inv": { "alt-ergo": { "total": 2,
-                                                           "valid": 2,
-                                                           "rank": 3 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2,
-                                                          "rank": 3 } },
-                            "F1_loop_assign": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
-                            "F1_post": { "alt-ergo": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 5 },
-                                         "wp:main": { "total": 1, "valid": 1,
-                                                      "rank": 5 } },
+  "wp:functions": { "F1": { "F1_loop_invariant_2": { "alt-ergo": { "total": 2,
+                                                                   "valid": 2,
+                                                                   "rank": 7 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2,
+                                                                  "rank": 7 } },
+                            "F1_loop_invariant": { "alt-ergo": { "total": 2,
+                                                                 "valid": 2,
+                                                                 "rank": 3 },
+                                                   "wp:main": { "total": 2,
+                                                                "valid": 2,
+                                                                "rank": 3 } },
+                            "F1_loop_assigns": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                            "F1_ensures": { "alt-ergo": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 5 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1,
+                                                         "rank": 5 } },
                             "wp:section": { "alt-ergo": { "total": 5,
                                                           "valid": 5,
                                                           "rank": 7 },
@@ -29,27 +30,29 @@
                                             "wp:main": { "total": 6,
                                                          "valid": 6,
                                                          "rank": 7 } } },
-                    "F2": { "F2_loop_inv_PART": { "alt-ergo": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 9 },
-                                                  "wp:main": { "total": 2,
-                                                               "valid": 2,
-                                                               "rank": 9 } },
-                            "F2_loop_inv_RANGE": { "alt-ergo": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 2 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 2 } },
-                            "F2_loop_assign": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
-                            "F2_post": { "alt-ergo": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 5 },
-                                         "wp:main": { "total": 1, "valid": 1,
-                                                      "rank": 5 } },
+                    "F2": { "F2_loop_invariant_PART": { "alt-ergo": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 9 },
+                                                        "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 9 } },
+                            "F2_loop_invariant_RANGE": { "alt-ergo": 
+                                                           { "total": 2,
+                                                             "valid": 2,
+                                                             "rank": 3 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 3 } },
+                            "F2_loop_assigns": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                            "F2_ensures": { "alt-ergo": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 6 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1,
+                                                         "rank": 6 } },
                             "wp:section": { "alt-ergo": { "total": 5,
                                                           "valid": 5,
                                                           "rank": 9 },
@@ -57,27 +60,30 @@
                                             "wp:main": { "total": 6,
                                                          "valid": 6,
                                                          "rank": 9 } } },
-                    "F4": { "F4_loop_inv_NEVER": { "alt-ergo": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 7 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 7 } },
-                            "F4_loop_inv_RANGE": { "alt-ergo": { "total": 2,
-                                                                 "valid": 2,
-                                                                 "rank": 3 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 3 } },
-                            "F4_loop_assign": { "qed": { "total": 1,
-                                                         "valid": 1 },
-                                                "wp:main": { "total": 1,
-                                                             "valid": 1 } },
-                            "F4_post": { "alt-ergo": { "total": 1,
-                                                       "valid": 1,
-                                                       "rank": 16 },
-                                         "wp:main": { "total": 1, "valid": 1,
-                                                      "rank": 16 } },
+                    "F4": { "F4_loop_invariant_NEVER": { "alt-ergo": 
+                                                           { "total": 2,
+                                                             "valid": 2,
+                                                             "rank": 7 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 7 } },
+                            "F4_loop_invariant_RANGE": { "alt-ergo": 
+                                                           { "total": 2,
+                                                             "valid": 2,
+                                                             "rank": 3 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 3 } },
+                            "F4_loop_assigns": { "qed": { "total": 1,
+                                                          "valid": 1 },
+                                                 "wp:main": { "total": 1,
+                                                              "valid": 1 } },
+                            "F4_ensures": { "alt-ergo": { "total": 1,
+                                                          "valid": 1,
+                                                          "rank": 16 },
+                                            "wp:main": { "total": 1,
+                                                         "valid": 1,
+                                                         "rank": 16 } },
                             "wp:section": { "alt-ergo": { "total": 5,
                                                           "valid": 5,
                                                           "rank": 16 },
diff --git a/src/plugins/wp/tests/wp_typed/user_string.i.0.report.json b/src/plugins/wp/tests/wp_typed/user_string.i.0.report.json
index 23485a321193b5feab617a65ff48bfa7fae5470a..03b9b859c363714d26ec33bd353dbec9dc169ee3 100644
--- a/src/plugins/wp/tests/wp_typed/user_string.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/user_string.i.0.report.json
@@ -7,49 +7,52 @@
                                                        "wp:main": { "total": 1,
                                                                     "valid": 1,
                                                                     "rank": 19 } },
-                                "strlen_loop_inv_ZERO": { "alt-ergo": 
-                                                            { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 10 },
-                                                          "qed": { "total": 1,
-                                                                   "valid": 1 },
-                                                          "wp:main": 
-                                                            { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 10 } },
-                                "strlen_loop_inv_RANGE": { "alt-ergo": 
-                                                             { "total": 2,
-                                                               "valid": 2,
-                                                               "rank": 33 },
-                                                           "wp:main": 
-                                                             { "total": 2,
-                                                               "valid": 2,
-                                                               "rank": 33 } },
-                                "strlen_loop_inv_BASE": { "qed": { "total": 2,
-                                                                   "valid": 2 },
-                                                          "wp:main": 
-                                                            { "total": 2,
-                                                              "valid": 2 } },
-                                "strlen_loop_term": { "alt-ergo": { "total": 1,
+                                "strlen_loop_invariant_ZERO": { "alt-ergo": 
+                                                                  { "total": 1,
                                                                     "valid": 1,
-                                                                    "rank": 13 },
-                                                      "qed": { "total": 1,
-                                                               "valid": 1 },
-                                                      "wp:main": { "total": 2,
-                                                                   "valid": 2,
-                                                                   "rank": 13 } },
-                                "strlen_assign": { "qed": { "total": 2,
-                                                            "valid": 2 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2 } },
-                                "strlen_loop_assign": { "qed": { "total": 1,
-                                                                 "valid": 1 },
-                                                        "wp:main": { "total": 1,
+                                                                    "rank": 11 },
+                                                                "qed": 
+                                                                  { "total": 1,
+                                                                    "valid": 1 },
+                                                                "wp:main": 
+                                                                  { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 11 } },
+                                "strlen_loop_invariant_RANGE": { "alt-ergo": 
+                                                                   { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 34 },
+                                                                 "wp:main": 
+                                                                   { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 34 } },
+                                "strlen_loop_invariant_BASE": { "qed": 
+                                                                  { "total": 2,
+                                                                    "valid": 2 },
+                                                                "wp:main": 
+                                                                  { "total": 2,
+                                                                    "valid": 2 } },
+                                "strlen_loop_variant": { "alt-ergo": 
+                                                           { "total": 1,
+                                                             "valid": 1,
+                                                             "rank": 14 },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 14 } },
+                                "strlen_assigns": { "qed": { "total": 2,
+                                                             "valid": 2 },
+                                                    "wp:main": { "total": 2,
+                                                                 "valid": 2 } },
+                                "strlen_loop_assigns": { "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 1,
                                                                     "valid": 1 } },
-                                "strlen_post": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
+                                "strlen_ensures": { "qed": { "total": 1,
+                                                             "valid": 1 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1 } },
                                 "wp:section": { "alt-ergo": { "total": 5,
                                                               "valid": 5,
                                                               "rank": 33 },
diff --git a/src/plugins/wp/tests/wp_typed/user_swap.i.0.report.json b/src/plugins/wp/tests/wp_typed/user_swap.i.0.report.json
index bbcfce18995cc28aba5560cb7b66216501699aa4..601ca3bf087ee8e0a1d5b84fcfa084d05fafeae4 100644
--- a/src/plugins/wp/tests/wp_typed/user_swap.i.0.report.json
+++ b/src/plugins/wp/tests/wp_typed/user_swap.i.0.report.json
@@ -1,20 +1,20 @@
 { "wp:global": { "alt-ergo": { "total": 1, "valid": 1, "rank": 4 },
                  "qed": { "total": 6, "valid": 6 },
                  "wp:main": { "total": 7, "valid": 7, "rank": 4 } },
-  "wp:functions": { "swap": { "swap_assign": { "qed": { "total": 2,
-                                                        "valid": 2 },
-                                               "wp:main": { "total": 2,
-                                                            "valid": 2 } },
-                              "swap_post_B": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "swap_post_A": { "alt-ergo": { "total": 1,
-                                                             "valid": 1,
-                                                             "rank": 4 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 4 } },
+  "wp:functions": { "swap": { "swap_assigns": { "qed": { "total": 2,
+                                                         "valid": 2 },
+                                                "wp:main": { "total": 2,
+                                                             "valid": 2 } },
+                              "swap_ensures_B": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                              "swap_ensures_A": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 5 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 } },
                               "wp:section": { "alt-ergo": { "total": 1,
                                                             "valid": 1,
                                                             "rank": 4 },
@@ -23,12 +23,14 @@
                                               "wp:main": { "total": 4,
                                                            "valid": 4,
                                                            "rank": 4 } } },
-                    "main": { "specialization_swap_pre_at_main_stmt_8_2": 
-                                { "qed": { "total": 1, "valid": 1 },
-                                  "wp:main": { "total": 1, "valid": 1 } },
-                              "specialization_swap_pre_at_main_stmt_8": 
-                                { "qed": { "total": 1, "valid": 1 },
-                                  "wp:main": { "total": 1, "valid": 1 } },
+                    "main": { "swap_requires_4": { "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1 } },
+                              "swap_requires_3": { "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1 } },
                               "main_assert": { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_typed/user_swap.i.1.report.json b/src/plugins/wp/tests/wp_typed/user_swap.i.1.report.json
index 2456de029198634d215e4bda90a02994594031d4..a81708439c7f5dcc485f7fe5b7b3e8b0d283e2e2 100644
--- a/src/plugins/wp/tests/wp_typed/user_swap.i.1.report.json
+++ b/src/plugins/wp/tests/wp_typed/user_swap.i.1.report.json
@@ -1,27 +1,29 @@
 { "wp:global": { "qed": { "total": 6, "valid": 6 },
                  "wp:main": { "total": 6, "valid": 6 } },
-  "wp:functions": { "swap": { "swap_assign": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "swap_post_B": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
-                              "swap_post_A": { "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1 } },
+  "wp:functions": { "swap": { "swap_assigns": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
+                              "swap_ensures_B": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                              "swap_ensures_A": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
                               "wp:section": { "qed": { "total": 3,
                                                        "valid": 3 },
                                               "wp:main": { "total": 3,
                                                            "valid": 3 } } },
-                    "main": { "specialization_swap_pre_at_main_stmt_8_2": 
-                                { "qed": { "total": 1, "valid": 1 },
-                                  "wp:main": { "total": 1, "valid": 1 } },
-                              "specialization_swap_pre_at_main_stmt_8": 
-                                { "qed": { "total": 1, "valid": 1 },
-                                  "wp:main": { "total": 1, "valid": 1 } },
+                    "main": { "swap_requires_4": { "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1 } },
+                              "swap_requires_3": { "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1 } },
                               "main_assert": { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
diff --git a/src/plugins/wp/tests/wp_usage/caveat2.i.0.report.json b/src/plugins/wp/tests/wp_usage/caveat2.i.0.report.json
index 6a36efb5d4ce000204ce3e992fe7c90fc3511c9b..d631c80748633898e04874a5d0e420fcfd89099c 100644
--- a/src/plugins/wp/tests/wp_usage/caveat2.i.0.report.json
+++ b/src/plugins/wp/tests/wp_usage/caveat2.i.0.report.json
@@ -1,40 +1,40 @@
 { "wp:global": { "alt-ergo": { "total": 3, "valid": 3, "rank": 5 },
                  "qed": { "total": 6, "valid": 6 },
                  "wp:main": { "total": 9, "valid": 9, "rank": 5 } },
-  "wp:functions": { "job": { "job_loop_inv_2": { "alt-ergo": { "total": 1,
-                                                               "valid": 1,
-                                                               "rank": 5 },
-                                                 "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 2,
-                                                              "valid": 2,
-                                                              "rank": 5 } },
-                             "job_loop_inv": { "alt-ergo": { "total": 1,
+  "wp:functions": { "job": { "job_loop_invariant_2": { "alt-ergo": { "total": 1,
+                                                                    "valid": 1,
+                                                                    "rank": 6 },
+                                                       "qed": { "total": 1,
+                                                                "valid": 1 },
+                                                       "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 6 } },
+                             "job_loop_invariant": { "alt-ergo": { "total": 1,
+                                                                   "valid": 1,
+                                                                   "rank": 4 },
+                                                     "qed": { "total": 1,
+                                                              "valid": 1 },
+                                                     "wp:main": { "total": 2,
+                                                                  "valid": 2,
+                                                                  "rank": 4 } },
+                             "job_assigns": { "qed": { "total": 2,
+                                                       "valid": 2 },
+                                              "wp:main": { "total": 2,
+                                                           "valid": 2 } },
+                             "job_loop_assigns": { "qed": { "total": 1,
+                                                            "valid": 1 },
+                                                   "wp:main": { "total": 1,
+                                                                "valid": 1 } },
+                             "job_ensures_A": { "alt-ergo": { "total": 1,
+                                                              "valid": 1,
+                                                              "rank": 5 },
+                                                "wp:main": { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 4 },
-                                               "qed": { "total": 1,
-                                                        "valid": 1 },
-                                               "wp:main": { "total": 2,
-                                                            "valid": 2,
-                                                            "rank": 4 } },
-                             "job_assign": { "qed": { "total": 2,
-                                                      "valid": 2 },
-                                             "wp:main": { "total": 2,
-                                                          "valid": 2 } },
-                             "job_loop_assign": { "qed": { "total": 1,
-                                                           "valid": 1 },
-                                                  "wp:main": { "total": 1,
-                                                               "valid": 1 } },
-                             "job_post_A": { "alt-ergo": { "total": 1,
-                                                           "valid": 1,
-                                                           "rank": 5 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1,
-                                                          "rank": 5 } },
-                             "job_post_N": { "qed": { "total": 1,
-                                                      "valid": 1 },
-                                             "wp:main": { "total": 1,
-                                                          "valid": 1 } },
+                                                             "rank": 5 } },
+                             "job_ensures_N": { "qed": { "total": 1,
+                                                         "valid": 1 },
+                                                "wp:main": { "total": 1,
+                                                             "valid": 1 } },
                              "wp:section": { "alt-ergo": { "total": 3,
                                                            "valid": 3,
                                                            "rank": 5 },
diff --git a/src/plugins/wp/tests/wp_usage/caveat_range.i.0.report.json b/src/plugins/wp/tests/wp_usage/caveat_range.i.0.report.json
index 81d81829d0c88dfdc99ca1f1ac0fb26bed53afef..225534a05bd55b9f892d70569ecd840afa3a1aec 100644
--- a/src/plugins/wp/tests/wp_usage/caveat_range.i.0.report.json
+++ b/src/plugins/wp/tests/wp_usage/caveat_range.i.0.report.json
@@ -1,50 +1,55 @@
 { "wp:global": { "alt-ergo": { "total": 5, "valid": 5, "rank": 11 },
                  "qed": { "total": 7, "valid": 7 },
                  "wp:main": { "total": 12, "valid": 12, "rank": 11 } },
-  "wp:functions": { "reset": { "reset_loop_inv_3": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 11 },
-                                                     "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 2,
-                                                                  "valid": 2,
-                                                                  "rank": 11 } },
-                               "reset_loop_inv_2": { "alt-ergo": { "total": 1,
-                                                                   "valid": 1,
-                                                                   "rank": 6 },
-                                                     "qed": { "total": 1,
-                                                              "valid": 1 },
-                                                     "wp:main": { "total": 2,
-                                                                  "valid": 2,
-                                                                  "rank": 6 } },
-                               "reset_loop_inv": { "alt-ergo": { "total": 1,
-                                                                 "valid": 1,
-                                                                 "rank": 3 },
-                                                   "qed": { "total": 1,
-                                                            "valid": 1 },
-                                                   "wp:main": { "total": 2,
-                                                                "valid": 2,
-                                                                "rank": 3 } },
-                               "reset_assign": { "qed": { "total": 1,
-                                                          "valid": 1 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1 } },
-                               "reset_loop_assign": { "qed": { "total": 3,
-                                                               "valid": 3 },
-                                                      "wp:main": { "total": 3,
-                                                                   "valid": 3 } },
-                               "reset_post_2": { "alt-ergo": { "total": 1,
+  "wp:functions": { "reset": { "reset_loop_invariant_3": { "alt-ergo": 
+                                                             { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 13 },
+                                                           "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 2,
+                                                               "valid": 2,
+                                                               "rank": 13 } },
+                               "reset_loop_invariant_2": { "alt-ergo": 
+                                                             { "total": 1,
                                                                "valid": 1,
-                                                               "rank": 4 },
-                                                 "wp:main": { "total": 1,
-                                                              "valid": 1,
-                                                              "rank": 4 } },
-                               "reset_post": { "alt-ergo": { "total": 1,
+                                                               "rank": 7 },
+                                                           "qed": { "total": 1,
+                                                                    "valid": 1 },
+                                                           "wp:main": 
+                                                             { "total": 2,
+                                                               "valid": 2,
+                                                               "rank": 7 } },
+                               "reset_loop_invariant": { "alt-ergo": 
+                                                           { "total": 1,
                                                              "valid": 1,
                                                              "rank": 4 },
-                                               "wp:main": { "total": 1,
-                                                            "valid": 1,
-                                                            "rank": 4 } },
+                                                         "qed": { "total": 1,
+                                                                  "valid": 1 },
+                                                         "wp:main": { "total": 2,
+                                                                    "valid": 2,
+                                                                    "rank": 4 } },
+                               "reset_assigns": { "qed": { "total": 1,
+                                                           "valid": 1 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1 } },
+                               "reset_loop_assigns": { "qed": { "total": 3,
+                                                                "valid": 3 },
+                                                       "wp:main": { "total": 3,
+                                                                    "valid": 3 } },
+                               "reset_ensures_2": { "alt-ergo": { "total": 1,
+                                                                  "valid": 1,
+                                                                  "rank": 5 },
+                                                    "wp:main": { "total": 1,
+                                                                 "valid": 1,
+                                                                 "rank": 5 } },
+                               "reset_ensures": { "alt-ergo": { "total": 1,
+                                                                "valid": 1,
+                                                                "rank": 5 },
+                                                  "wp:main": { "total": 1,
+                                                               "valid": 1,
+                                                               "rank": 5 } },
                                "wp:section": { "alt-ergo": { "total": 5,
                                                              "valid": 5,
                                                              "rank": 11 },
diff --git a/src/plugins/wp/tests/wp_usage/issue-189-bis.i.0.report.json b/src/plugins/wp/tests/wp_usage/issue-189-bis.i.0.report.json
index d3ab34173fd8fec9791fd66f74a4f67a60876404..2c47814755f078e52205183875ef6ff22b561b75 100644
--- a/src/plugins/wp/tests/wp_usage/issue-189-bis.i.0.report.json
+++ b/src/plugins/wp/tests/wp_usage/issue-189-bis.i.0.report.json
@@ -1,7 +1,7 @@
 { "wp:global": { "alt-ergo": { "total": 10, "valid": 10, "rank": 52 },
                  "qed": { "total": 20, "valid": 20 },
                  "wp:main": { "total": 30, "valid": 30, "rank": 52 } },
-  "wp:functions": { "memcpy_alias_vars": { "memcpy_alias_vars_loop_inv_cpy": 
+  "wp:functions": { "memcpy_alias_vars": { "memcpy_alias_vars_loop_invariant_cpy": 
                                              { "alt-ergo": { "total": 1,
                                                              "valid": 1,
                                                              "rank": 52 },
@@ -10,53 +10,53 @@
                                                "wp:main": { "total": 2,
                                                             "valid": 2,
                                                             "rank": 52 } },
-                                           "memcpy_alias_vars_loop_inv_dst": 
+                                           "memcpy_alias_vars_loop_invariant_dst": 
                                              { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } },
-                                           "memcpy_alias_vars_loop_inv_src": 
+                                           "memcpy_alias_vars_loop_invariant_src": 
                                              { "qed": { "total": 2,
                                                         "valid": 2 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2 } },
-                                           "memcpy_alias_vars_loop_inv_len": 
+                                           "memcpy_alias_vars_loop_invariant_len": 
                                              { "alt-ergo": { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 8 },
+                                                             "rank": 9 },
                                                "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 2,
                                                             "valid": 2,
-                                                            "rank": 8 } },
-                                           "memcpy_alias_vars_assign": 
+                                                            "rank": 9 } },
+                                           "memcpy_alias_vars_assigns": 
                                              { "qed": { "total": 1,
                                                         "valid": 1 },
                                                "wp:main": { "total": 1,
                                                             "valid": 1 } },
-                                           "memcpy_alias_vars_loop_assign": 
+                                           "memcpy_alias_vars_loop_assigns": 
                                              { "alt-ergo": { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 28 },
+                                                             "rank": 29 },
                                                "qed": { "total": 3,
                                                         "valid": 3 },
                                                "wp:main": { "total": 4,
                                                             "valid": 4,
-                                                            "rank": 28 } },
-                                           "memcpy_alias_vars_post_unmodified": 
+                                                            "rank": 29 } },
+                                           "memcpy_alias_vars_ensures_unmodified": 
                                              { "alt-ergo": { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 31 },
+                                                             "rank": 30 },
                                                "wp:main": { "total": 1,
                                                             "valid": 1,
-                                                            "rank": 31 } },
-                                           "memcpy_alias_vars_post_memcpy": 
+                                                            "rank": 30 } },
+                                           "memcpy_alias_vars_ensures_memcpy": 
                                              { "alt-ergo": { "total": 1,
                                                              "valid": 1,
-                                                             "rank": 39 },
+                                                             "rank": 40 },
                                                "wp:main": { "total": 1,
                                                             "valid": 1,
-                                                            "rank": 39 } },
+                                                            "rank": 40 } },
                                            "wp:section": { "alt-ergo": 
                                                              { "total": 5,
                                                                "valid": 5,
@@ -67,7 +67,7 @@
                                                              { "total": 15,
                                                                "valid": 15,
                                                                "rank": 52 } } },
-                    "memcpy_context_vars": { "memcpy_context_vars_loop_inv_ok_cpy": 
+                    "memcpy_context_vars": { "memcpy_context_vars_loop_invariant_ok_cpy": 
                                                { "alt-ergo": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 52 },
@@ -76,31 +76,31 @@
                                                  "wp:main": { "total": 2,
                                                               "valid": 2,
                                                               "rank": 52 } },
-                                             "memcpy_context_vars_loop_inv_ok_dst": 
+                                             "memcpy_context_vars_loop_invariant_ok_dst": 
                                                { "qed": { "total": 2,
                                                           "valid": 2 },
                                                  "wp:main": { "total": 2,
                                                               "valid": 2 } },
-                                             "memcpy_context_vars_loop_inv_ok_src": 
+                                             "memcpy_context_vars_loop_invariant_ok_src": 
                                                { "qed": { "total": 2,
                                                           "valid": 2 },
                                                  "wp:main": { "total": 2,
                                                               "valid": 2 } },
-                                             "memcpy_context_vars_loop_inv_ok_len": 
+                                             "memcpy_context_vars_loop_invariant_ok_len": 
                                                { "alt-ergo": { "total": 1,
                                                                "valid": 1,
-                                                               "rank": 8 },
+                                                               "rank": 9 },
                                                  "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 2,
                                                               "valid": 2,
-                                                              "rank": 8 } },
-                                             "memcpy_context_vars_assign": 
+                                                              "rank": 9 } },
+                                             "memcpy_context_vars_assigns": 
                                                { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1 } },
-                                             "memcpy_context_vars_loop_assign": 
+                                             "memcpy_context_vars_loop_assigns": 
                                                { "alt-ergo": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 28 },
@@ -109,20 +109,20 @@
                                                  "wp:main": { "total": 4,
                                                               "valid": 4,
                                                               "rank": 28 } },
-                                             "memcpy_context_vars_post_unmodified_ok": 
+                                             "memcpy_context_vars_ensures_unmodified_ok": 
                                                { "alt-ergo": { "total": 1,
                                                                "valid": 1,
-                                                               "rank": 31 },
+                                                               "rank": 30 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1,
-                                                              "rank": 31 } },
-                                             "memcpy_context_vars_post_memcpy_ok": 
+                                                              "rank": 30 } },
+                                             "memcpy_context_vars_ensures_memcpy_ok": 
                                                { "alt-ergo": { "total": 1,
                                                                "valid": 1,
-                                                               "rank": 39 },
+                                                               "rank": 40 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1,
-                                                              "rank": 39 } },
+                                                              "rank": 40 } },
                                              "wp:section": { "alt-ergo": 
                                                                { "total": 5,
                                                                  "valid": 5,
diff --git a/src/plugins/wp/tests/wp_usage/issue-189-bis.i.1.report.json b/src/plugins/wp/tests/wp_usage/issue-189-bis.i.1.report.json
index 1a25c3207ac1d6d7d8910f4988a0e68eb5c9d749..8c0f763deda8face3025454e41e9868bd8d33073 100644
--- a/src/plugins/wp/tests/wp_usage/issue-189-bis.i.1.report.json
+++ b/src/plugins/wp/tests/wp_usage/issue-189-bis.i.1.report.json
@@ -1,26 +1,26 @@
 { "wp:global": { "alt-ergo": { "total": 3, "valid": 3, "rank": 20 },
                  "qed": { "total": 7, "valid": 7 },
                  "wp:main": { "total": 10, "valid": 10, "rank": 20 } },
-  "wp:functions": { "memcpy_context_vars": { "memcpy_context_vars_loop_inv_ok_cpy": 
+  "wp:functions": { "memcpy_context_vars": { "memcpy_context_vars_loop_invariant_ok_cpy": 
                                                { "alt-ergo": { "total": 1,
                                                                "valid": 1,
-                                                               "rank": 20 },
+                                                               "rank": 21 },
                                                  "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 2,
                                                               "valid": 2,
-                                                              "rank": 20 } },
-                                             "memcpy_context_vars_loop_inv_ok_dst": 
+                                                              "rank": 21 } },
+                                             "memcpy_context_vars_loop_invariant_ok_dst": 
                                                { "qed": { "total": 2,
                                                           "valid": 2 },
                                                  "wp:main": { "total": 2,
                                                               "valid": 2 } },
-                                             "memcpy_context_vars_loop_inv_ok_src": 
+                                             "memcpy_context_vars_loop_invariant_ok_src": 
                                                { "qed": { "total": 2,
                                                           "valid": 2 },
                                                  "wp:main": { "total": 2,
                                                               "valid": 2 } },
-                                             "memcpy_context_vars_loop_inv_ok_len": 
+                                             "memcpy_context_vars_loop_invariant_ok_len": 
                                                { "alt-ergo": { "total": 1,
                                                                "valid": 1,
                                                                "rank": 5 },
@@ -29,18 +29,18 @@
                                                  "wp:main": { "total": 2,
                                                               "valid": 2,
                                                               "rank": 5 } },
-                                             "memcpy_context_vars_post_unmodified_ok": 
+                                             "memcpy_context_vars_ensures_unmodified_ok": 
                                                { "qed": { "total": 1,
                                                           "valid": 1 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1 } },
-                                             "memcpy_context_vars_post_memcpy_ok": 
+                                             "memcpy_context_vars_ensures_memcpy_ok": 
                                                { "alt-ergo": { "total": 1,
                                                                "valid": 1,
-                                                               "rank": 5 },
+                                                               "rank": 6 },
                                                  "wp:main": { "total": 1,
                                                               "valid": 1,
-                                                              "rank": 5 } },
+                                                              "rank": 6 } },
                                              "wp:section": { "alt-ergo": 
                                                                { "total": 3,
                                                                  "valid": 3,
diff --git a/src/plugins/wp/tests/wp_usage/oracle/code_spec.res.oracle b/src/plugins/wp/tests/wp_usage/oracle/code_spec.res.oracle
index f37910af083ba1968571a0e00547c24378a7f084..e4ad3f5e78b698aeef68ea6f228af4669314c44f 100644
--- a/src/plugins/wp/tests/wp_usage/oracle/code_spec.res.oracle
+++ b/src/plugins/wp/tests/wp_usage/oracle/code_spec.res.oracle
@@ -40,7 +40,7 @@ Function cup:
 { val *ref &addr array[] &addr_value val_ref array_ref[] value_array[] }
 .................................................
 [wp] Loading driver 'share/wp.driver'
-[wp] [CFG] Goal by_addr_in_code_annotation_stmt_pre : Valid (Unreachable)
-[wp] [CFG] Goal by_reference_in_code_annotation_no_exit_exit : Valid (Unreachable)
+[wp] [CFG] Goal by_addr_in_code_annotation_requires : Valid (Unreachable)
+[wp] [CFG] Goal by_reference_in_code_annotation_no_exit_exits : Valid (Unreachable)
 [wp] Warning: Missing RTE guards
 [wp] No proof obligations
diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.res.oracle b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.res.oracle
index 83e2c39a2ce3c42e289cdb365ef1eac73275bd17..916cfc55d4ef2713c7526a85c9b250cbc4a9bd75 100644
--- a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.res.oracle
+++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat2.res.oracle
@@ -5,15 +5,15 @@
 [wp] Warning: Missing RTE guards
 [wp] tests/wp_usage/caveat2.i:22: Warning: Undefined array-size (sint32[])
 [wp] 9 goals scheduled
-[wp] [Qed] Goal typed_caveat_job_post_N : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_job_post_A : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_job_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_caveat_job_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_job_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_caveat_job_loop_inv_2_established : Valid
-[wp] [Qed] Goal typed_caveat_job_loop_assign : Valid
-[wp] [Qed] Goal typed_caveat_job_assign_part1 : Valid
-[wp] [Qed] Goal typed_caveat_job_assign_part2 : Valid
+[wp] [Qed] Goal typed_caveat_job_ensures_N : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_job_ensures_A : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_job_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_caveat_job_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_job_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_caveat_job_loop_invariant_2_established : Valid
+[wp] [Qed] Goal typed_caveat_job_loop_assigns : Valid
+[wp] [Qed] Goal typed_caveat_job_assigns_part1 : Valid
+[wp] [Qed] Goal typed_caveat_job_assigns_part2 : Valid
 [wp] Proved goals:    9 / 9
   Qed:             6 
   Alt-Ergo:        3
diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.res.oracle b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.res.oracle
index a28dae7f4155561b6560d6e6e20ee50807857ab0..788edcb354bd0ba548a419bfffda6a25da77d09d 100644
--- a/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.res.oracle
+++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/caveat_range.res.oracle
@@ -4,18 +4,18 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 12 goals scheduled
-[wp] [Alt-Ergo] Goal typed_caveat_reset_post : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_reset_post_2 : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_reset_loop_inv_preserved : Valid
-[wp] [Qed] Goal typed_caveat_reset_loop_inv_established : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_reset_loop_inv_2_preserved : Valid
-[wp] [Qed] Goal typed_caveat_reset_loop_inv_2_established : Valid
-[wp] [Alt-Ergo] Goal typed_caveat_reset_loop_inv_3_preserved : Valid
-[wp] [Qed] Goal typed_caveat_reset_loop_inv_3_established : Valid
-[wp] [Qed] Goal typed_caveat_reset_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_caveat_reset_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_caveat_reset_loop_assign_part3 : Valid
-[wp] [Qed] Goal typed_caveat_reset_assign : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_reset_ensures : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_reset_ensures_2 : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_reset_loop_invariant_preserved : Valid
+[wp] [Qed] Goal typed_caveat_reset_loop_invariant_established : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_reset_loop_invariant_2_preserved : Valid
+[wp] [Qed] Goal typed_caveat_reset_loop_invariant_2_established : Valid
+[wp] [Alt-Ergo] Goal typed_caveat_reset_loop_invariant_3_preserved : Valid
+[wp] [Qed] Goal typed_caveat_reset_loop_invariant_3_established : Valid
+[wp] [Qed] Goal typed_caveat_reset_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_caveat_reset_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_caveat_reset_loop_assigns_part3 : Valid
+[wp] [Qed] Goal typed_caveat_reset_assigns : Valid
 [wp] Proved goals:   12 / 12
   Qed:             7 
   Alt-Ergo:        5
diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.res.oracle b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.res.oracle
index a2a33c2ab85afe989472d7a1e9e626d19ab39667..9e0dd0e1713a5e0b06fd9241ffe1ddbc67d80c72 100644
--- a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.res.oracle
+++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.0.res.oracle
@@ -4,36 +4,36 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 30 goals scheduled
-[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_post_memcpy : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_post_unmodified : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_loop_inv_cpy_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_loop_inv_cpy_established : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_loop_inv_dst_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_loop_inv_dst_established : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_loop_inv_len_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_loop_inv_len_established : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_loop_inv_src_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_loop_inv_src_established : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_loop_assign_part3 : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_loop_assign_part4 : Valid
-[wp] [Qed] Goal typed_memcpy_alias_vars_assign : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_post_memcpy_ok : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_post_unmodified_ok : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_inv_ok_cpy_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_cpy_established : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_dst_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_dst_established : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_inv_ok_len_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_len_established : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_src_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_src_established : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_assign_part1 : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_assign_part2 : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_assign_part3 : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_assign_part4 : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_assign : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_ensures_memcpy : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_ensures_unmodified : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_loop_invariant_cpy_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_loop_invariant_cpy_established : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_loop_invariant_dst_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_loop_invariant_dst_established : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_loop_invariant_len_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_loop_invariant_len_established : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_loop_invariant_src_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_loop_invariant_src_established : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_loop_assigns_part3 : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_alias_vars_loop_assigns_part4 : Valid
+[wp] [Qed] Goal typed_memcpy_alias_vars_assigns : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_ensures_memcpy_ok : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_ensures_unmodified_ok : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_invariant_ok_cpy_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_cpy_established : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_dst_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_dst_established : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_invariant_ok_len_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_len_established : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_src_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_src_established : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_assigns_part1 : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_assigns_part2 : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_assigns_part3 : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_assigns_part4 : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_assigns : Valid
 [wp] Proved goals:   30 / 30
   Qed:            20 
   Alt-Ergo:       10
diff --git a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.res.oracle b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.res.oracle
index 37d098c44c8daaf3e9e1ed3f779a8d2e32578831..9ea5e3589c34065a8cd99ed70da390f47546c442 100644
--- a/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.res.oracle
+++ b/src/plugins/wp/tests/wp_usage/oracle_qualif/issue-189-bis.1.res.oracle
@@ -4,16 +4,16 @@
 [wp] Loading driver 'share/wp.driver'
 [wp] Warning: Missing RTE guards
 [wp] 10 goals scheduled
-[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_post_memcpy_ok : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_post_unmodified_ok : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_inv_ok_cpy_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_cpy_established : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_dst_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_dst_established : Valid
-[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_inv_ok_len_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_len_established : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_src_preserved : Valid
-[wp] [Qed] Goal typed_memcpy_context_vars_loop_inv_ok_src_established : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_ensures_memcpy_ok : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_ensures_unmodified_ok : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_invariant_ok_cpy_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_cpy_established : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_dst_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_dst_established : Valid
+[wp] [Alt-Ergo] Goal typed_memcpy_context_vars_loop_invariant_ok_len_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_len_established : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_src_preserved : Valid
+[wp] [Qed] Goal typed_memcpy_context_vars_loop_invariant_ok_src_established : Valid
 [wp] Proved goals:   10 / 10
   Qed:             7 
   Alt-Ergo:        3
diff --git a/src/plugins/wp/wpPropId.ml b/src/plugins/wp/wpPropId.ml
index f29dbe5e66748716ac4f5013351fc94a474273fd..418fcdc044e3573502ecc8c7b2229ad4e54f82fd 100644
--- a/src/plugins/wp/wpPropId.ml
+++ b/src/plugins/wp/wpPropId.ml
@@ -334,38 +334,31 @@ let code_annot_names ca = match ca.annot_content with
   | AAssert (_, named_pred)  -> "@assert"::(ident_names named_pred.pred_name)
   | AInvariant (_,_,named_pred) -> "@invariant"::(ident_names named_pred.pred_name)
   | AVariant (term, _) -> "@variant"::(ident_names term.term_name)
+  | AExtended(_,_,(_,name,_,_)) -> [Printf.sprintf "@%s" name]
   | _ -> [] (* TODO : add some more names ? *)
 
 (** This is used to give the name of the property that the user can give
  * to select it from the command line (-wp-prop option) *)
 let user_prop_names p = match p with
   | Property.IPPredicate (kind,_,_,idp) ->
-      let kind_name =
-        Format.asprintf  "%c%a" '@' Property.pretty_predicate_kind kind
-      in
-      kind_name::idp.ip_content.pred_name
-  | Property.IPExtended(_,(_,name,_,_)) ->
-      let kind_name = Format.asprintf "%s_extension" name in [kind_name]
+      Format.asprintf  "@@%a" Property.pretty_predicate_kind kind ::
+      idp.ip_content.pred_name
+  | Property.IPExtended(_,(_,name,_,_)) -> [ Printf.sprintf "@%s" name ]
   | Property.IPCodeAnnot (_,_, ca) -> code_annot_names ca
   | Property.IPComplete (_, _,_,lb) ->
       let kind_name = "@complete_behaviors" in
-      let name =
-        Format.asprintf  "complete_behaviors%a" pp_names lb
+      let name = Format.asprintf "complete_behaviors%a" pp_names lb
       in kind_name::[name]
   | Property.IPDisjoint (_, _,_, lb) ->
       let kind_name = "@disjoint_behaviors" in
-      let name = Format.asprintf  "disjoint_behaviors%a" pp_names lb
+      let name = Format.asprintf "disjoint_behaviors%a" pp_names lb
       in kind_name::[name]
   | Property.IPAssigns (_, _, _, l) ->
-      let kind_name = "@assigns" in
       List.fold_left
-        (fun acc (t,_) -> (ident_names t.it_content.term_name) @ acc) [kind_name] l
-  | Property.IPDecrease (_,_, Some ca,_) ->
-      let kind_name = "@decreases"
-      in kind_name::code_annot_names ca
-  | Property.IPDecrease _ ->
-      let kind_name = "@decreases"
-      in kind_name::[] (*TODO: add more names ? *)
+        (fun acc (t,_) -> (ident_names t.it_content.term_name) @ acc)
+        ["@assigns"] l
+  | Property.IPDecrease (_,_, Some ca,_) -> "@decreases"::code_annot_names ca
+  | Property.IPDecrease _ -> [ "@decreases" ]
   | Property.IPLemma (a,_,_,l,_) ->
       let names = "@lemma"::a::(ident_names l.pred_name)
       in begin