Local Open Scope logic.
Definition X_content (x: SixteenByte * SixteenByte * (SixteenByte * SixteenByte))
(i:Z) (l:list val) : Prop :=
l = upd_upto x (Z.to_nat i) (list_repeat 16 Vundef).

Lemma XcontUpdate Nonce C Key1 Key2 i l
(I: 0 <= i < 4)
(L: X_content (Nonce, C, (Key1, Key2)) i l):
X_content (Nonce, C, (Key1, Key2)) (i + 1)
(upd_Znth (11 + i)
(upd_Znth (6 + i)
(upd_Znth (1 + i)
(upd_Znth (5 * i) l
(Vint (littleendian (Select16Q C i))))
(Vint (littleendian (Select16Q Key1 i))))
(Vint (littleendian (Select16Q Nonce i))))
(Vint (littleendian (Select16Q Key2 i)))).