val le_bytes_to_seq_quad32_uint8_to_nat8_length (s:Seq.seq UInt8.t) : Lemma
  (requires Seq.length s % 16 = 0)
  (ensures Seq.length (le_bytes_to_seq_quad32 (seq_uint8_to_seq_nat8 s)) == Seq.length s / 16)
let le_bytes_to_seq_quad32_uint8_to_nat8_length s =
  reveal_opaque (`%le_bytes_to_seq_quad32) le_bytes_to_seq_quad32
val le_bytes_to_seq_quad32_uint8_to_nat8_length (s:Seq.seq UInt8.t) : Lemma
  (requires Seq.length s % 16 = 0)
  (ensures Seq.length (le_bytes_to_seq_quad32 (seq_uint8_to_seq_nat8 s)) == Seq.length s / 16)
let le_bytes_to_seq_quad32_uint8_to_nat8_length s =
reveal_opaque (`%le_bytes_to_seq_quad32) le_bytes_to_seq_quad32
Vale.AES.Gcm_simplify.fst.checked
Vale.SHA.Simplify_Sha.fsti.checked Vale.Lib.Seqs_s.fst.checked Vale.Interop.Views.fsti.checked Vale.Def.Words.Seq_s.fsti.checked Vale.Def.Words.Four_s.fsti.checked Vale.Def.Types_s.fst.checked Vale.AES.GCM_helpers.fsti.checked prims.fst.checked FStar.UInt8.fsti.checked FStar.Tactics.fst.checked FStar.Seq.fst.checked FStar.Pervasives.fsti.checked FStar.Mul.fst.checked FStar.Classical.fsti.checked
Vale.AES.Gcm_simplify.fst
FStar.Seq.Base.seq FStar.UInt8.t FStar.Pervasives.reveal_opaque Vale.Def.Types_s.nat8 Vale.Def.Types_s.quad32 Prims.eq2 Prims.int Prims.op_Modulus FStar.Seq.Base.length Prims.l_True Vale.Def.Types_s.le_bytes_to_seq_quad32 Prims.unit
module Vale.AES.Gcm_simplify

open FStar.Mul
open Vale.SHA.Simplify_Sha
val le_bytes_to_seq_quad32_uint8_to_nat8_length (s:Seq.seq UInt8.t) : Lemma
  (requires Seq.length s % 16 = 0)
  (ensures Seq.length (le_bytes_to_seq_quad32 (seq_uint8_to_seq_nat8 s)) == Seq.length s / 16)
s: FStar.Seq.Base.seq FStar.UInt8.t
  -> FStar.Pervasives.Lemma (requires FStar.Seq.Base.length s % 16 = 0)
      (ensures
        FStar.Seq.Base.length (Vale.Def.Types_s.le_bytes_to_seq_quad32 (Vale.Def.Words.Seq_s.seq_uint8_to_seq_nat8
                  s)) ==
        FStar.Seq.Base.length s / 16)