2

I'm using VST v1.7.

Has anyone ever proved that an int is equal as an array of characters? Something along those lines:

Definition int2uchars (i : int) : list Z :=
  [
    Int.unsigned (Int.and (Int.shru i (Int.repr 24)) (Int.repr 255));
    Int.unsigned (Int.and (Int.shru i (Int.repr 16)) (Int.repr 255));
    Int.unsigned (Int.and (Int.shru i (Int.repr 8))  (Int.repr 255));
    Int.unsigned (Int.and (Int.shru i (Int.repr 0))  (Int.repr 255))
  ].

Lemma int2chararray :
  forall (i : int) (v : val),
    field_at Tsh tuint [] (Vint i) v
    = data_block Tsh (int2uchars i) v.

Is there another solution than breaking the field_at abstraction to prove that?

0 Answers0