let compile (te,dims) =
       let tau = tau_of_ctype te in
       let tau_dim = tau_of_tarray tau dims in
       let aid = LogicId.create ("Eq_" ^ tarray_name te dims) in 
       let pool = LogicLang.pool () in
       let a = LogicLang.fresh pool "a" tau_dim in
       let b = LogicLang.fresh pool "b" tau_dim in
       let condition = eq_tarray pool te dims (e_var a) (e_var b) in
       LogicDef.declare {
         d_name = aid ;
         d_item = PREDICATE([a],Some condition) ;
         d_descr = {
           t_source = Lexing.dummy_pos ;
           t_short = "equality for array" ;
           t_descr = "" ;
         } ;
       } ; aid