let mk_array_length (t:'a Fol.d_term) ctype =
match ctype with
| TArray (_t, Some {enode = Const sz}, _, _) ->
begin
match Ast_info.possible_value_of_integral_const sz with
| Some sz_int64 ->
let sz_fol = Int64.to_string sz_int64 in
let sz_fol = Fol.Tconst (Fol.ConstInt sz_fol) in
let array_size = Why_ops.array_length t in
let eq = Why_ops.pred_eq array_size sz_fol in
Some eq
| _ -> None
end
| _ -> None