Notation idlsize := init_data_list_size.Remark padding_size:
  forall frm to, frm <= to -> idlsize (tr_padding frm to) = to - frm.Remark idlsize_app:
  forall d1 d2, idlsize (d1 ++ d2) = idlsize d1 + idlsize d2.Remark union_field_size:
  forall f ty fl, field_type f fl = OK ty -> sizeof ge ty <= sizeof_union ge fl.

(* Specifications: *)
Lemma tr_init_size: forall i ty data, tr_init ty i data -> idlsize data = sizeof ge ty with tr_init_array_size: forall ty il sz data, tr_init_array ty il sz data -> idlsize data = sizeof ge ty * sz with tr_init_struct_size: forall ty fl il pos data, tr_init_struct ty fl il pos data -> sizeof_struct ge pos fl <= sizeof ge ty -> idlsize data + pos = sizeof ge ty.