diff --git a/src/soc.ml b/src/soc.ml
index 0c8bb6a9d6d57ff3c2ce20f007d2ebff3a7e05dc..21c0ed491b9379c81447a3435be0820967a29f54 100644
--- a/src/soc.ml
+++ b/src/soc.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 27/03/2013 (at 15:24) by Erwan Jahier> *)
+(* Time-stamp: <modified the 29/03/2013 (at 15:45) by Erwan Jahier> *)
 
 (** Synchronous Object Component *)
 
@@ -54,7 +54,7 @@ type step_impl =
   | Predef 
   | Gaol of var list * gao list  (* local vars + body *)
   | Iterator of string * key * int (* iterator, iterated soc key, size *)
-
+  | Boolred of int  * int * int 
 
 type step_method = {
   name    : ident;
diff --git a/src/socExec.ml b/src/socExec.ml
index f64c210eeccf2e81f3dc8b621c179c756e266260..408f1cbc9ec883eceee438532df73c54ec56f64a 100644
--- a/src/socExec.ml
+++ b/src/socExec.ml
@@ -1,4 +1,4 @@
-(* Time-stamp: <modified the 29/03/2013 (at 15:41) by Erwan Jahier> *)
+(* Time-stamp: <modified the 29/03/2013 (at 15:45) by Erwan Jahier> *)
 
 open Soc
 open SocExecValue
@@ -34,7 +34,9 @@ let rec (soc_step : Soc.step_method -> Soc.tbl -> Soc.t -> SocExecValue.ctx
           flush stdout; assert false
       )
       | Gaol(vl,gaol) -> List.fold_left (do_gao step.lxm soc_tbl) ctx gaol
-      | Iterator("boolred", node_sk, n) ->  assert false (* todo *)
+      | Boolred(i,j,k) ->  
+        assert false
+        
       | Iterator(iter, node_sk, n) -> 
         let node_soc = SocUtils.find step.lxm node_sk soc_tbl in
         let node_step = match node_soc.step with [step] -> step | _ ->  assert false in