(* This file contains highly trivial proofs, but they are carefully engineered in such a way that the Qed is fast. This is tricky because we have to avoid that constants such as 12 or 13 are unfolded by the typechecker while unifying two terms. *)
Local Open Scope Z.

Lemma round13_eq_assemble: forall buf plaintext S0 S12 S13,
S0 = mbed_tls_initial_add_round_key plaintext buf ->
S12 = mbed_tls_enc_rounds 12 S0 buf 4 ->
S13 = mbed_tls_fround S12 buf 52 ->
S13 = mbed_tls_enc_rounds 13 (mbed_tls_initial_add_round_key plaintext buf) buf 4.