diff --git a/src/plugins/wp/Why3Import.ml b/src/plugins/wp/Why3Import.ml
index 3326c14ba43fbda31db68a6ab339d2a05e6cbaa9..cb3e321c85b329dd6f9b15a9372089b10bb4c2d5 100644
--- a/src/plugins/wp/Why3Import.ml
+++ b/src/plugins/wp/Why3Import.ml
@@ -36,6 +36,8 @@ let create_why3_env loadpath =
   let main = WConf.get_main @@ WConf.read_config None in
   W.Env.create_env @@ WConf.loadpath main @ F.to_string_list loadpath
 
+
+
 let extract_path thname =
   let segments = String.split_on_char '.' thname in
   match List.rev segments with
@@ -99,6 +101,18 @@ type lenv = C.logic_info W.Term.Hls.t
 type tvars = C.logic_type W.Ty.Mtv.t
 
 
+let populate_tenv_builtin (tenv:tenv) =
+  let integer = C.Linteger in
+  let bool =  C.{ lt_name=Utf8_logic.boolean; lt_params=[]; lt_def=None; lt_attr=[] } in
+  let real = C.Lreal in
+  let list = C.{ lt_name="\\list"; lt_params=[]; lt_def=None; lt_attr=[]} in
+  let set = C.{ lt_name = "set"; lt_params=["elem"]; lt_def=None; lt_attr=[] } in
+  tenv
+
+(* -------------------------------------------------------------------------- *)
+(* ---    Type conversion                                                 --- *)
+(* -------------------------------------------------------------------------- *)
+
 let tvars_of_txs (txs: W.Ty.tvsymbol list) : string list * tvars =
   List.fold_right
     (fun (tv: W.Ty.tvsymbol) (txs,tvs) ->
@@ -132,7 +146,7 @@ and lti_of_ts (tenv : tenv) (ts : W.Ty.tysymbol) : C.logic_type_info =
     lti
 
 (* -------------------------------------------------------------------------- *)
-(* ---    Functions                                                       --- *)
+(* ---    Functions conversion                                            --- *)
 (* -------------------------------------------------------------------------- *)
 
 let lv_of_ty (tenv:tenv) (tvars:tvars) (index) (ty:W.Ty.ty) : C.logic_var =