diff --git a/src/plugins/aorai/.gitignore b/src/plugins/aorai/.gitignore
index 4a6e0c9805a7e9c317398b3867de0527f647999b..dbc3d247b6627099a25ed2b34608c057d6120bfe 100644
--- a/src/plugins/aorai/.gitignore
+++ b/src/plugins/aorai/.gitignore
@@ -16,4 +16,5 @@
 /ptests_local_config.ml
 /tests/*/result
 /tests/test_config_prove
-/tests/*/result_prove
\ No newline at end of file
+/tests/*/result_prove
+/top
\ No newline at end of file
diff --git a/src/plugins/aorai/aorai_register.ml b/src/plugins/aorai/aorai_register.ml
index e5765db0dea39e003ffe84f862bf4587e459335f..f7a12ad4d258972d402972bab40bf14eb6e6a730 100644
--- a/src/plugins/aorai/aorai_register.ml
+++ b/src/plugins/aorai/aorai_register.ml
@@ -48,13 +48,12 @@ let convert_ltl_exprs t =
         POr(c1,c2) -> POr (convert_cond c1, convert_cond c2)
       | PAnd(c1,c2) -> PAnd(convert_cond c1, convert_cond c2)
       | PNot c -> PNot (convert_cond c)
-      | PCall _ | PReturn _ | PTrue | PFalse -> cond
+      | PCall _ | PReturn _ | PTrue | PFalse | AfVar _ -> cond
       | PRel(Neq,PVar x,PCst _) ->
         (try
            let (rel,t1,t2) = Hashtbl.find ltl_to_promela x in PRel(rel,t1,t2)
          with Not_found -> cond)
       | PRel _ -> cond
-      | AfVar (_, _) -> cond (*TODO*)
   in
   let rec convert_seq_elt e =
     { e with
diff --git a/src/plugins/aorai/data_for_aorai.ml b/src/plugins/aorai/data_for_aorai.ml
index 5f1309ba7d2ec365dbcf616f9dae8339ec438b2f..a29a1f62c0cbb1c6cc71a72e170a830a5eae5033 100644
--- a/src/plugins/aorai/data_for_aorai.ml
+++ b/src/plugins/aorai/data_for_aorai.ml
@@ -570,12 +570,12 @@ type env = { event:current_event list ; var:table}
 
 let add_current_event event env cond =
   let is_empty tbl = Cil_datatype.Varinfo.Hashtbl.length tbl = 0 in
-  match (env.event) with
+  match env.event with
       [] -> assert false
     | old_event :: tl ->
       match event, old_event with
         | ENone, _ -> env, cond
-        | _, ENone -> {event = event::tl ; var = env.var}, cond
+        | _, ENone -> {env with event = event::tl}, cond
         | ECall (kf1,_,_), ECall (kf2,_,_)
           when Kernel_function.equal kf1 kf2 -> env, cond
         | ECall (kf1,tbl1,_), ECall (kf2,tbl2,_)->
@@ -584,15 +584,15 @@ let add_current_event event env cond =
              an empty event. If this situation occurs in an handwritten
              automaton that uses formals we simply reject it.
            *)
-          if is_empty tbl1 && is_empty tbl2 then ( {event = ENone::tl; var = env.var}, TFalse )
+          if is_empty tbl1 && is_empty tbl2 then {env with event = ENone::tl}, TFalse
           else
             Aorai_option.abort
               "specification is inconsistent: two call events for distinct \
                functions %a and %a at the same time."
               Kernel_function.pretty kf1 Kernel_function.pretty kf2
-        | ECall (_,_,_), EMulti -> { event = event::tl; var = env.var }, cond
+        | ECall (_,_,_), EMulti -> { env with event = event::tl }, cond
         | ECall (kf1,tbl1,_), EReturn kf2 ->
-          if is_empty tbl1 then ( {event = (ENone::tl); var = env.var}, TFalse)
+          if is_empty tbl1 then {env with event = ENone::tl}, TFalse
           else
             Aorai_option.abort
               "specification is inconsistent: trying to call %a and \
@@ -600,26 +600,26 @@ let add_current_event event env cond =
               Kernel_function.pretty kf1 Kernel_function.pretty kf2
         | ECall(kf1,_,_), ECOR kf2
           when Kernel_function.equal kf1 kf2 ->
-          {event = event::tl; var = env.var}, cond
+          {env with event = event::tl}, cond
         | ECall (kf1,tbl1,_), ECOR kf2 ->
-          if is_empty tbl1 then ( { event = (ENone::tl); var = env.var}, TFalse)
+          if is_empty tbl1 then {env with event = ENone::tl}, TFalse
           else
             Aorai_option.abort
               "specification is inconsistent: trying to call %a and \
                call or return from %a at the same time."
               Kernel_function.pretty kf1 Kernel_function.pretty kf2
         | EReturn kf1, ECall(kf2,tbl2,_) ->
-          if is_empty tbl2 then ( {event = (ENone::tl); var = env.var}, TFalse)
+          if is_empty tbl2 then {env with event = ENone::tl}, TFalse
           else
             Aorai_option.abort
               "specification is inconsistent: trying to call %a and \
                return from %a at the same time."
             Kernel_function.pretty kf2 Kernel_function.pretty kf1
         | EReturn kf1, (ECOR kf2 | EReturn kf2)
-          when Kernel_function.equal kf1 kf2 -> { event = (event::tl); var = env.var}, cond
-        | EReturn _, EReturn _ -> { event = (ENone::tl); var = env.var } , TFalse
-        | EReturn _, ECOR _ -> { event = (ENone::tl); var = env.var }, TFalse
-        | EReturn _, EMulti -> { event = (ENone::tl); var =  env.var }, TFalse
+          when Kernel_function.equal kf1 kf2 -> {env with event = event::tl}, cond
+        | EReturn _, EReturn _ -> {env with event = ENone::tl} , TFalse
+        | EReturn _, ECOR _ -> {env with event = ENone::tl}, TFalse
+        | EReturn _, EMulti -> {env with event = ENone::tl}, TFalse
         | (EMulti | ECOR _), _ -> assert false
           (* These are compound event. They cannot be found as individual ones*)
 
@@ -722,7 +722,7 @@ let find_metavar s env =
 
 let find_in_env env counter s =
   let current, stack =
-    match (env.event) with
+    match env.event with
       | current::stack -> current, stack
       | [] -> Aorai_option.fatal "Empty type-checking environment"
   in
@@ -795,7 +795,7 @@ let find_prm_in_env env ?tr counter f x =
              it in an aux variable or array here.
            *)
           env, Logic_const.tvar (Cil.cvar_to_lvar vi), cond
-    in treat_env true (env.event)
+    in treat_env true env.event
   end
 
 module C_logic_env =
@@ -836,7 +836,7 @@ module LTyping = Logic_typing.Make(C_logic_env)
 
 let type_expr env ?tr ?current e =
   let loc = Cil_datatype.Location.unknown in
-  let rec aux env cond e (*t pour le type attendu*)=
+  let rec aux env cond e =
     match e with
       | PVar s ->
         let var = find_in_env env current s in
@@ -1093,7 +1093,7 @@ let type_cond needs_pebble env tr cond =
         else
           env, TReturn kf, []
   in
-  aux true {event = (ENone::(env.event)); var = env.var} cond
+  aux true {env with event = ENone::env.event} cond
 
 module Reject_state =
   State_builder.Option_ref(Aorai_state)
@@ -1227,12 +1227,12 @@ let rec type_seq default_state tr env needs_pebble curr_start curr_end seq =
                   Aorai_option.fatal
                     "Transition guard translated as epsilon transition");
             let states = add_if_needed states seq_start in
-            (match (env.event) with
+            (match env.event with
               | [] | (ENone | ECall _) :: _ ->
                 (env, states, transitions, curr_start, seq_end)
               | EReturn kf1 :: ECall (kf2,_,_) :: tl
                   when Kernel_function.equal kf1 kf2 ->
-                ( {event = tl ; var= env.var }, states, transitions, curr_start, seq_end)
+                {env with event = tl}, states, transitions, curr_start, seq_end
               | (EReturn _ | ECOR _ ) :: _ ->
                     (* If there is as mismatch (e.g. Call f; Return g), it will
                        be caught later. There are legitimate situations for
@@ -1241,7 +1241,7 @@ let rec type_seq default_state tr env needs_pebble curr_start curr_end seq =
                      *)
                 (env, states, transitions, curr_start, seq_end)
               | EMulti :: env_tmp ->
-                ( { event = env_tmp; var = env.var }, states, transitions, curr_start, seq_end))
+                {env with event = env_tmp}, states, transitions, curr_start, seq_end)
       in
       let loop_end = if has_loop then new_intermediate_state () else inner_end
       in
diff --git a/src/plugins/aorai/promelaast.mli b/src/plugins/aorai/promelaast.mli
index b68f50ebf1cdaf569627eb846b05c27da78afb98..38bc6845c73736023f7ba5f208fc86170d73aa91 100644
--- a/src/plugins/aorai/promelaast.mli
+++ b/src/plugins/aorai/promelaast.mli
@@ -47,7 +47,7 @@ type condition =
   | PCall of string * string option
       (** Call might be done in a given behavior *)
   | PReturn of string
-  | AfVar of string * expression (*TODO, affectation à AfVar *)
+  | AfVar of string * expression
 
 and seq_elt =
     { condition: condition option;