https://github.com/project-everest/hacl-star
Raw File
Tip revision: 37b8a39e2ffd970444f7864cc1b32da48ac8111c authored by Tahina Ramananandro on 14 June 2018, 22:31:20 UTC
Remove all proof annotations about modifies
Tip revision: 37b8a39
Hacl.Impl.SHA2_512.Lemmas.fst.hints
[
  "��O&6ǁN�?\u0011'=GWU",
  [
    [
      "Hacl.Impl.SHA2_512.Lemmas.size_hash",
      1,
      0,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query",
        "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.size",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.uint_to_t",
        "equation_FStar.UInt32.v",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_word", "equation_Prims.nat",
        "equation_Spec.SHA2_512.size_hash_w",
        "equation_Spec.SHA2_512.size_word",
        "function_token_typing_FStar.UInt32.n",
        "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply",
        "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.size_block",
      1,
      0,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query",
        "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.size",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.uint_to_t",
        "equation_FStar.UInt32.v",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_block_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_word", "equation_Prims.nat",
        "equation_Spec.SHA2_512.size_block_w",
        "equation_Spec.SHA2_512.size_word",
        "function_token_typing_FStar.UInt32.n",
        "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply",
        "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.size_len_8",
      1,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "data_elim_FStar.UInt32.Mk",
        "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n",
        "equation_FStar.UInt32.t", "equation_FStar.UInt32.uint_to_t",
        "equation_FStar.UInt32.v",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_word",
        "equation_Spec.SHA2_512.size_len_ul_8",
        "function_token_typing_Spec.SHA2_512.size_len_ul_8",
        "primitive_Prims.op_Multiply", "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.size_state",
      1,
      0,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query",
        "b2t_def", "bool_inversion", "bool_typing",
        "data_elim_FStar.UInt32.Mk", "equation_FStar.UInt.fits",
        "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int",
        "equation_FStar.UInt.mul", "equation_FStar.UInt.size",
        "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.mul",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.t",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_len_8",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_word",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w", "equation_Prims.nat",
        "function_token_typing_FStar.UInt32.n",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_len_8",
        "int_typing", "lemma_FStar.UInt.pow2_values",
        "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply",
        "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.UInt32_Tm_refine_6c25b42778726de94cd4dac42edb4860",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "typing_FStar.UInt32.uint_to_t"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
      1,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "b2t_def",
        "data_elim_FStar.UInt32.Mk", "equation_FStar.UInt.add",
        "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.size",
        "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.add",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.t",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual",
        "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.pos_count_w",
      1,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "b2t_def",
        "data_elim_FStar.UInt32.Mk", "equation_FStar.UInt.add",
        "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.size",
        "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.add",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.t",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual",
        "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "typing_FStar.UInt32.v"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_aux_0",
      1,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "b2t_def",
        "data_elim_FStar.UInt32.Mk",
        "equation_FStar.Monotonic.HyperHeap.test0",
        "equation_FStar.UInt.add", "equation_FStar.UInt.fits",
        "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int",
        "equation_FStar.UInt.mul", "equation_FStar.UInt.size",
        "equation_FStar.UInt.sub", "equation_FStar.UInt.uint_t",
        "equation_FStar.UInt32.add", "equation_FStar.UInt32.n",
        "equation_FStar.UInt32.sub", "equation_FStar.UInt32.t",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "equation_Prims._assert", "fuel_guarded_inversion_FStar.UInt32.t_",
        "function_token_typing_FStar.Monotonic.HyperHeap.test0",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply",
        "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_373dc189534e633a79fe2e5af0479a8f",
        "typing_FStar.UInt32.v"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_aux_1",
      1,
      0,
      1,
      [
        "@query", "primitive_Prims.op_Multiply",
        "projection_inverse_BoxInt_proj_0", "unit_typing"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_aux_1",
      2,
      0,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_aux_1",
      3,
      0,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_aux_2",
      1,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_Prims.pos",
        "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0",
        "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b",
        "unit_typing"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_ws_def_0",
      1,
      0,
      1,
      [
        "@query", "assumption_FStar.UInt64.t__haseq",
        "equation_FStar.UInt64.t", "equation_Spec.SHA2_512.word"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_ws_def_0",
      2,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_FStar.UInt64.t",
        "equation_Prims.nat", "equation_Spec.SHA2_512.block_w",
        "equation_Spec.SHA2_512.counter",
        "equation_Spec.SHA2_512.size_block_w",
        "equation_Spec.SHA2_512.size_k_w", "equation_Spec.SHA2_512.word",
        "projection_inverse_BoxInt_proj_0",
        "refinement_interpretation_FStar.BitVector_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_07355958e2bf14bd0701adebc5e1bebd"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_ws_def_0",
      3,
      1,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_Spec.SHA2_512.ws.fuel_instrumented", "@query",
        "equation_FStar.UInt64.t", "equation_Prims.nat",
        "equation_Spec.Lib.op_String_Access",
        "equation_Spec.SHA2_512.counter",
        "equation_Spec.SHA2_512.size_block_w", "equation_Spec.SHA2_512.word",
        "equation_with_fuel_Spec.SHA2_512.ws.fuel_instrumented",
        "int_inversion", "primitive_Prims.op_LessThan",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_07355958e2bf14bd0701adebc5e1bebd",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "unit_typing"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_ws_def_1",
      1,
      0,
      1,
      [
        "@query", "assumption_FStar.UInt64.t__haseq",
        "equation_FStar.UInt64.t"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_ws_def_1",
      2,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_Prims.nat",
        "equation_Spec.SHA2_512.counter", "equation_Spec.SHA2_512.size_k_w",
        "int_inversion", "primitive_Prims.op_Subtraction",
        "projection_inverse_BoxInt_proj_0",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_5ac886719104f3d05971a0c8404f6fb8",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_ws_def_1",
      3,
      1,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_Spec.SHA2_512.ws.fuel_instrumented",
        "@fuel_irrelevance_Spec.SHA2_512.ws.fuel_instrumented", "@query",
        "equation_Prims.nat", "equation_Spec.SHA2_512.counter",
        "equation_Spec.SHA2_512.size_block_w",
        "equation_with_fuel_Spec.SHA2_512.ws.fuel_instrumented",
        "int_inversion", "primitive_Prims.op_LessThan",
        "primitive_Prims.op_Subtraction",
        "projection_inverse_BoxBool_proj_0",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_5ac886719104f3d05971a0c8404f6fb8",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "unit_typing"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_spec_ws_def2",
      1,
      1,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_spec_ws_def2",
      2,
      1,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_FStar.UInt64.t",
        "equation_Prims.nat", "equation_Spec.SHA2_512.size_block_w",
        "equation_Spec.SHA2_512.size_k_w", "equation_Spec.SHA2_512.word",
        "int_inversion", "primitive_Prims.op_Subtraction",
        "projection_inverse_BoxInt_proj_0",
        "refinement_interpretation_FStar.BitVector_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_5ac886719104f3d05971a0c8404f6fb8",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_spec_ws_def2",
      3,
      1,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_Spec.SHA2_512.ws.fuel_instrumented",
        "@fuel_irrelevance_Spec.SHA2_512.ws.fuel_instrumented", "@query",
        "equation_Prims.nat", "equation_Spec.SHA2_512.size_block_w",
        "equation_with_fuel_Spec.SHA2_512.ws.fuel_instrumented",
        "int_inversion", "primitive_Prims.op_LessThan",
        "primitive_Prims.op_Subtraction",
        "projection_inverse_BoxBool_proj_0",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_5ac886719104f3d05971a0c8404f6fb8",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "unit_typing"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_modifies_0_is_modifies_1",
      1,
      0,
      1,
      [ "@query" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_blit_slices_eq",
      1,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_seq",
        "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.live",
        "equation_FStar.Monotonic.HyperHeap.contains_ref",
        "equation_FStar.Monotonic.HyperStack.contains",
        "equation_FStar.UInt.min_int", "equation_Prims.nat",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem",
        "lemma_FStar.Seq.Properties.slice_length",
        "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual",
        "projection_inverse_BoxBool_proj_0",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_347cdcabc7e8becd6dd649804986fa75",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_81d8eb4ea5458905efb3a8d37c8eecc6",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "typing_FStar.Buffer.as_seq"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_blit_slices_eq",
      2,
      0,
      1,
      [
        "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat",
        "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_blit_slices_eq",
      3,
      0,
      1,
      [
        "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat",
        "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_update_multi_def0",
      1,
      0,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_update_multi_def0",
      2,
      0,
      1,
      [
        "@query", "assumption_FStar.Seq.Base.seq_haseq",
        "assumption_FStar.UInt64.t__haseq", "equation_FStar.UInt64.t",
        "equation_Spec.SHA2_512.hash_w",
        "equation_Spec.SHA2_512.size_hash_w", "equation_Spec.SHA2_512.word",
        "haseqFStar.BitVector_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e",
        "kinding_FStar.UInt64.t_@tok"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_update_multi_def0",
      3,
      0,
      1,
      [
        "@query", "equation_Spec.SHA2_512.size_block",
        "equation_Spec.SHA2_512.size_block_w",
        "equation_Spec.SHA2_512.size_word", "primitive_Prims.op_Modulus",
        "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_update_multi_def0",
      4,
      1,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_Spec.SHA2_512.update_multi.fuel_instrumented",
        "@query", "equation_FStar.UInt8.t", "equation_Spec.SHA2_512.bytes",
        "equation_with_fuel_Spec.SHA2_512.update_multi.fuel_instrumented",
        "primitive_Prims.op_Equality",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_92c2d2165b7e8b740babaf9b8bbb5e03",
        "unit_typing"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_update_multi_def",
      1,
      0,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_update_multi_def",
      2,
      0,
      1,
      [
        "@query", "assumption_FStar.Seq.Base.seq_haseq",
        "assumption_FStar.UInt64.t__haseq", "equation_FStar.UInt64.t",
        "equation_Spec.SHA2_512.hash_w",
        "equation_Spec.SHA2_512.size_hash_w", "equation_Spec.SHA2_512.word",
        "haseqFStar.BitVector_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e",
        "kinding_FStar.UInt64.t_@tok"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_update_multi_def",
      3,
      0,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_update_multi_def",
      4,
      0,
      1,
      [
        "@MaxIFuel_assumption",
        "@fuel_correspondence_Spec.SHA2_512.update_multi.fuel_instrumented",
        "@query", "b2t_def", "bool_inversion", "bool_typing",
        "data_elim_FStar.UInt32.Mk", "equation_FStar.Seq.Properties.split",
        "equation_FStar.UInt.add", "equation_FStar.UInt.fits",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.mul",
        "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t",
        "equation_FStar.UInt32.add", "equation_FStar.UInt32.mul",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.t",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_FStar.UInt8.t",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_block",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_block_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_word",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w", "equation_Prims.nat",
        "equation_Spec.SHA2_512.bytes", "equation_Spec.SHA2_512.size_block",
        "equation_Spec.SHA2_512.size_block_w",
        "equation_Spec.SHA2_512.size_word", "equation_Spec.SHA2_512.update",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_block",
        "function_token_typing_Spec.SHA2_512.size_block", "int_inversion",
        "int_typing", "kinding_FStar.UInt8.t_@tok",
        "lemma_FStar.Buffer.lemma_size",
        "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual",
        "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply",
        "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.Pervasives.Native.Mktuple2__1",
        "projection_inverse_FStar.Pervasives.Native.Mktuple2__2",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_aebc5aa9049e78f605051015a3436e68",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "refinement_interpretation_Spec.SHA2_512_Tm_refine_917a473678625266298701878a3ae2c0",
        "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_update_multi_def",
      5,
      1,
      1,
      [
        "@MaxFuel_assumption",
        "@fuel_correspondence_Spec.SHA2_512.update_multi.fuel_instrumented",
        "@fuel_irrelevance_Spec.SHA2_512.update_multi.fuel_instrumented",
        "@query", "equation_Spec.SHA2_512.update",
        "equation_with_fuel_Spec.SHA2_512.update_multi.fuel_instrumented",
        "unit_typing"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_endianness",
      1,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "b2t_def",
        "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer",
        "equation_FStar.Endianness.bytes",
        "equation_FStar.Endianness.lbytes", "equation_FStar.UInt.fits",
        "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int",
        "equation_FStar.UInt.mul", "equation_FStar.UInt.size",
        "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_FStar.UInt8.t",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint8_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint8_p",
        "equation_Hacl.UInt128.n", "equation_Prims.nat",
        "equation_Spec.SHA2_512.size_block",
        "equation_Spec.SHA2_512.size_block_w",
        "equation_Spec.SHA2_512.size_word",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem",
        "function_token_typing_Spec.SHA2_512.size_block", "int_inversion",
        "kinding_FStar.UInt8.t_@tok", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply",
        "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_FStar.Endianness_Tm_refine_b769c0bf16cb286238e7b11ff583e99b",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_8a5c399dafa059395457579161aa775e",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_f548a4cd5dd849974eb5b66c56d65945",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "typing_FStar.Buffer.as_seq", "typing_FStar.Endianness.big_endian"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_endianness",
      2,
      0,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_endianness",
      3,
      0,
      1,
      [
        "@query", "assumption_Prims.HasEq_int", "equation_Hacl.UInt128.n",
        "haseqHacl.Spec.Endianness_Tm_refine_f2c63b31fd0059912139424a133143ce",
        "projection_inverse_BoxInt_proj_0"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_sub_append_2",
      1,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "data_elim_FStar.Buffer.MkBuffer",
        "data_elim_FStar.Monotonic.HyperStack.MkRef",
        "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer",
        "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length",
        "equation_FStar.Buffer.sel", "equation_FStar.HyperStack.reference",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.uint_t",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.t",
        "equation_FStar.UInt32.v", "equation_FStar.UInt8.t",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint32_t",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint8_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint8_p", "equation_Prims.nat",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference",
        "fuel_guarded_inversion_FStar.UInt32.t_", "int_inversion",
        "int_typing", "kinding_FStar.UInt8.t_@tok",
        "lemma_FStar.Buffer.lemma_size",
        "lemma_FStar.Seq.Base.lemma_eq_elim",
        "lemma_FStar.Seq.Base.lemma_index_app1",
        "lemma_FStar.Seq.Base.lemma_index_app2",
        "lemma_FStar.Seq.Base.lemma_index_slice",
        "lemma_FStar.Seq.Base.lemma_len_append",
        "lemma_FStar.Seq.Base.lemma_len_slice",
        "lemma_FStar.Seq.Properties.slice_slice",
        "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual",
        "primitive_Prims.op_Subtraction",
        "proj_equation_FStar.Buffer.MkBuffer_content",
        "proj_equation_FStar.Buffer.MkBuffer_idx",
        "proj_equation_FStar.Buffer.MkBuffer_length",
        "proj_equation_FStar.Buffer.MkBuffer_max_length",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "refinement_interpretation_FStar.Buffer_Tm_refine_811063936efbc06568ec405d75452cb9",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8",
        "refinement_interpretation_FStar.Buffer_Tm_refine_cdfdd8eed51fd09dfdab5bde10aa9e9d",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_03127b5d59ee3055620018693b4264e8",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_559c261b1c3777929ea329abfe70ab33",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_aebc5aa9049e78f605051015a3436e68",
        "refinement_interpretation_FStar.Seq.Properties_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_0d822c1e35e07b007da75da85eed3196",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_60a013f47837e7f354ffa4fbf760922e",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_75fe8a65f5666eaf920693fe19efc919",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_afa097f8b72f46cf34db4922b546c4b4",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "refinement_kinding_FStar.Buffer_Tm_refine_cdfdd8eed51fd09dfdab5bde10aa9e9d",
        "typing_FStar.Buffer.__proj__MkBuffer__item__content",
        "typing_FStar.Buffer.__proj__MkBuffer__item__idx",
        "typing_FStar.Buffer.__proj__MkBuffer__item__length",
        "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length",
        "typing_FStar.Buffer.sel", "typing_FStar.Monotonic.HyperStack.sel",
        "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length",
        "typing_FStar.UInt32.v"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_sub_append_2",
      2,
      0,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_sub_append_2",
      3,
      0,
      1,
      [
        "@query", "assumption_Prims.HasEq_int", "equation_FStar.UInt32.n",
        "haseqHacl.Impl.SHA2_512.Lemmas_Tm_refine_530be526726c3b66223dd819f9d65058",
        "projection_inverse_BoxInt_proj_0"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_sub_append_3",
      1,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "b2t_def",
        "data_elim_FStar.Buffer.MkBuffer",
        "data_elim_FStar.Monotonic.HyperStack.MkRef",
        "data_elim_FStar.UInt32.Mk", "equation_FStar.Buffer.as_seq",
        "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx",
        "equation_FStar.Buffer.length", "equation_FStar.Buffer.offset",
        "equation_FStar.Buffer.sel", "equation_FStar.HyperStack.reference",
        "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.mul",
        "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t",
        "equation_FStar.UInt32.mul", "equation_FStar.UInt32.n",
        "equation_FStar.UInt32.t", "equation_FStar.UInt32.uint_to_t",
        "equation_FStar.UInt32.v", "equation_FStar.UInt8.t",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_len_8",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_word",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint32_t",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint8_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint8_p", "equation_Prims.nat",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference",
        "fuel_guarded_inversion_FStar.UInt32.t_",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_len_8",
        "int_inversion", "int_typing", "kinding_FStar.UInt8.t_@tok",
        "lemma_FStar.Buffer.lemma_size",
        "lemma_FStar.Seq.Base.lemma_eq_elim",
        "lemma_FStar.Seq.Base.lemma_index_app1",
        "lemma_FStar.Seq.Base.lemma_index_app2",
        "lemma_FStar.Seq.Base.lemma_index_slice",
        "lemma_FStar.Seq.Base.lemma_len_append",
        "lemma_FStar.Seq.Base.lemma_len_slice",
        "lemma_FStar.Seq.Properties.slice_slice",
        "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply",
        "primitive_Prims.op_Subtraction",
        "proj_equation_FStar.Buffer.MkBuffer_content",
        "proj_equation_FStar.Buffer.MkBuffer_idx",
        "proj_equation_FStar.Buffer.MkBuffer_length",
        "proj_equation_FStar.Buffer.MkBuffer_max_length",
        "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.Buffer.MkBuffer_content",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.Buffer_Tm_refine_1a84e78220991a93402184b67dad5da7",
        "refinement_interpretation_FStar.Buffer_Tm_refine_2a5224b41e2469fc580fef08e3dbb3c1",
        "refinement_interpretation_FStar.Buffer_Tm_refine_811063936efbc06568ec405d75452cb9",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ba56e54aa82f2631b0e7a66e112023c8",
        "refinement_interpretation_FStar.Buffer_Tm_refine_cdfdd8eed51fd09dfdab5bde10aa9e9d",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_03127b5d59ee3055620018693b4264e8",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_3321cbe2f573e3c988fd0895bf1f0cf9",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_559c261b1c3777929ea329abfe70ab33",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_aebc5aa9049e78f605051015a3436e68",
        "refinement_interpretation_FStar.Seq.Properties_Tm_refine_528d1ac7a4a801fe55aa0f436f85ad2a",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_0d822c1e35e07b007da75da85eed3196",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_60a013f47837e7f354ffa4fbf760922e",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_75fe8a65f5666eaf920693fe19efc919",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_afa097f8b72f46cf34db4922b546c4b4",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "refinement_kinding_FStar.Buffer_Tm_refine_cdfdd8eed51fd09dfdab5bde10aa9e9d",
        "typing_FStar.Buffer.__proj__MkBuffer__item__content",
        "typing_FStar.Buffer.__proj__MkBuffer__item__idx",
        "typing_FStar.Buffer.__proj__MkBuffer__item__length",
        "typing_FStar.Buffer.__proj__MkBuffer__item__max_length",
        "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length",
        "typing_FStar.Buffer.offset", "typing_FStar.Buffer.sel",
        "typing_FStar.Monotonic.HyperStack.sel",
        "typing_FStar.Seq.Base.append", "typing_FStar.UInt32.v"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_sub_append_3",
      2,
      0,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_sub_append_3",
      3,
      0,
      1,
      [
        "@query", "assumption_Prims.HasEq_int", "equation_FStar.UInt32.n",
        "haseqHacl.Impl.SHA2_512.Lemmas_Tm_refine_530be526726c3b66223dd819f9d65058",
        "projection_inverse_BoxInt_proj_0"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_pad_aux_seq",
      1,
      0,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_FStar.Endianness.big_bytes.fuel_instrumented",
        "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query",
        "b2t_def", "bool_inversion", "bool_typing",
        "data_elim_FStar.UInt32.Mk", "data_elim_FStar.UInt64.Mk",
        "equation_FStar.Endianness.bytes",
        "equation_FStar.Endianness.lbytes",
        "equation_FStar.Seq.Base.op_At_Bar", "equation_FStar.UInt.add",
        "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.mul",
        "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t",
        "equation_FStar.UInt32.add", "equation_FStar.UInt32.mul",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.t",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_FStar.UInt64.n", "equation_FStar.UInt64.t",
        "equation_FStar.UInt64.v", "equation_FStar.UInt8.n",
        "equation_FStar.UInt8.t",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_block",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_block_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_len_8",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_word",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_t", "equation_Prims.nat",
        "equation_Prims.pos", "equation_Spec.SHA2_512.h_0",
        "equation_Spec.SHA2_512.hash_w",
        "equation_Spec.SHA2_512.max_input_len_8",
        "equation_Spec.SHA2_512.pad", "equation_Spec.SHA2_512.pad0_length",
        "equation_Spec.SHA2_512.size_block",
        "equation_Spec.SHA2_512.size_block_w",
        "equation_Spec.SHA2_512.size_hash",
        "equation_Spec.SHA2_512.size_hash_w",
        "equation_Spec.SHA2_512.size_len_8",
        "equation_Spec.SHA2_512.size_len_ul_8",
        "equation_Spec.SHA2_512.size_word", "equation_Spec.SHA2_512.word",
        "fuel_guarded_inversion_FStar.UInt64.t_",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_block",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_len_8",
        "function_token_typing_Spec.SHA2_512.h_0",
        "function_token_typing_Spec.SHA2_512.size_block",
        "function_token_typing_Spec.SHA2_512.size_hash", "int_inversion",
        "int_typing", "kinding_FStar.UInt64.t_@tok",
        "kinding_FStar.UInt8.t_@tok", "lemma_FStar.Buffer.lemma_size",
        "lemma_FStar.Seq.Base.lemma_create_len",
        "lemma_FStar.Seq.Base.lemma_eq_elim",
        "lemma_FStar.Seq.Base.lemma_index_app1",
        "lemma_FStar.Seq.Base.lemma_index_app2",
        "lemma_FStar.Seq.Base.lemma_len_append",
        "lemma_FStar.UInt.pow2_values", "lemma_Spec.SHA2_512.pow2_values",
        "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus",
        "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction",
        "proj_equation_FStar.UInt32.Mk_v", "proj_equation_FStar.UInt64.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.BitVector_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e",
        "refinement_interpretation_FStar.Endianness_Tm_refine_b769c0bf16cb286238e7b11ff583e99b",
        "refinement_interpretation_FStar.Endianness_Tm_refine_d572874b93fe0df3a5c665d151671857",
        "refinement_interpretation_FStar.Kremlin.Endianness_Tm_refine_1e62df159c33fd3091667f8254d1ab80",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_03127b5d59ee3055620018693b4264e8",
        "refinement_interpretation_FStar.Seq.Base_Tm_refine_36f208f2b1019ab7b5d9be73f4c89349",
        "refinement_interpretation_FStar.UInt8_Tm_refine_22871ed0ff70fd094ad3e8d742624d47",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_77ef62bf6717a301ad9a1dbf97d41f07",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_931e65e7128473c2d4740e3590152484",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b",
        "refinement_interpretation_Spec.SHA2_512_Tm_refine_7e10d6c36b18f81a912b18a391ae2a16",
        "typing_FStar.Endianness.big_bytes", "typing_FStar.Seq.Base.append",
        "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length",
        "typing_FStar.UInt32.v", "typing_FStar.UInt64.v",
        "typing_FStar.UInt8.uint_to_t", "typing_Prims.pow2",
        "typing_Spec.SHA2_512.pad0_length"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_pad_aux",
      1,
      0,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query",
        "b2t_def", "data_elim_FStar.UInt64.Mk", "equation_FStar.UInt.fits",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.mul",
        "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t",
        "equation_FStar.UInt32.mul", "equation_FStar.UInt32.n",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_FStar.UInt64.n", "equation_FStar.UInt64.t",
        "equation_FStar.UInt64.v",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_block",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_block_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_len_8",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_word",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_t", "equation_Prims.nat",
        "equation_Spec.SHA2_512.max_input_len_8",
        "equation_Spec.SHA2_512.size_block",
        "equation_Spec.SHA2_512.size_block_w",
        "equation_Spec.SHA2_512.size_hash",
        "equation_Spec.SHA2_512.size_hash_w",
        "equation_Spec.SHA2_512.size_word",
        "fuel_guarded_inversion_FStar.UInt64.t_",
        "function_token_typing_Spec.SHA2_512.size_block",
        "function_token_typing_Spec.SHA2_512.size_hash", "int_inversion",
        "int_typing", "lemma_FStar.UInt.pow2_values",
        "lemma_Spec.SHA2_512.pow2_values", "primitive_Prims.op_Addition",
        "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual",
        "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply",
        "proj_equation_FStar.UInt32.Mk_v", "proj_equation_FStar.UInt64.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_77ef62bf6717a301ad9a1dbf97d41f07",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "typing_FStar.UInt64.v"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_spec_ws_def",
      1,
      0,
      1,
      [ "@query", "assumption_Prims.HasEq_int" ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_spec_ws_def",
      2,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_FStar.UInt64.t",
        "equation_Prims.nat", "equation_Spec.SHA2_512.size_block_w",
        "equation_Spec.SHA2_512.size_k_w", "equation_Spec.SHA2_512.word",
        "projection_inverse_BoxInt_proj_0",
        "refinement_interpretation_FStar.BitVector_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_07355958e2bf14bd0701adebc5e1bebd"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_spec_ws_def",
      3,
      1,
      1,
      [
        "@MaxFuel_assumption", "@MaxIFuel_assumption",
        "@fuel_correspondence_Spec.SHA2_512.ws.fuel_instrumented", "@query",
        "equation_FStar.UInt64.t", "equation_Prims.nat",
        "equation_Spec.Lib.op_String_Access",
        "equation_Spec.SHA2_512.size_block_w", "equation_Spec.SHA2_512.word",
        "equation_with_fuel_Spec.SHA2_512.ws.fuel_instrumented",
        "int_inversion", "primitive_Prims.op_LessThan",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_07355958e2bf14bd0701adebc5e1bebd",
        "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d",
        "unit_typing"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_state_k_sub_slice",
      1,
      0,
      1,
      [
        "@query", "assumption_Prims.HasEq_int", "equation_FStar.UInt32.n",
        "haseqHacl.Spec.Endianness_Tm_refine_f2c63b31fd0059912139424a133143ce",
        "projection_inverse_BoxInt_proj_0"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_state_k_sub_slice",
      2,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer",
        "equation_FStar.Buffer.live",
        "equation_FStar.Monotonic.HyperHeap.contains_ref",
        "equation_FStar.Monotonic.HyperStack.contains",
        "equation_FStar.UInt.add", "equation_FStar.UInt.min_int",
        "equation_FStar.UInt32.add", "equation_FStar.UInt32.n",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_FStar.UInt64.t", "equation_Hacl.Hash.Lib.Create.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_p",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem",
        "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual",
        "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_dc4168d3212d5c4dd6e659d8aa600da3"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_state_k_sub_slice",
      3,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion",
        "bool_typing", "data_elim_FStar.UInt32.Mk",
        "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.live",
        "equation_FStar.Monotonic.HyperHeap.contains_ref",
        "equation_FStar.Monotonic.HyperStack.contains",
        "equation_FStar.UInt.add", "equation_FStar.UInt.fits",
        "equation_FStar.UInt.min_int", "equation_FStar.UInt.size",
        "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.add",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.t",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_FStar.UInt64.t", "equation_Hacl.Hash.Lib.Create.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_p",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.pos_k_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "kinding_FStar.UInt64.t_@tok", "lemma_FStar.Buffer.lemma_sub_spec",
        "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_Addition",
        "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual",
        "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.Buffer_Tm_refine_8ba095f5457984257bc763075993de75",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_FStar.UInt_Tm_refine_a347709bfeba48709474ad26f4f6be87",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_2232b91224142b56c18e0ee422ea9da9",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_dc4168d3212d5c4dd6e659d8aa600da3"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_state_counter_sub_slice",
      1,
      0,
      1,
      [
        "@query", "assumption_Prims.HasEq_int", "equation_FStar.UInt32.n",
        "haseqHacl.Spec.Endianness_Tm_refine_f2c63b31fd0059912139424a133143ce",
        "projection_inverse_BoxInt_proj_0"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_state_counter_sub_slice",
      2,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer",
        "equation_FStar.Buffer.live",
        "equation_FStar.Monotonic.HyperHeap.contains_ref",
        "equation_FStar.Monotonic.HyperStack.contains",
        "equation_FStar.UInt.add", "equation_FStar.UInt.min_int",
        "equation_FStar.UInt32.add", "equation_FStar.UInt32.n",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_FStar.UInt64.t", "equation_Hacl.Hash.Lib.Create.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_p",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem",
        "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual",
        "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_dc4168d3212d5c4dd6e659d8aa600da3"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_state_counter_sub_slice",
      3,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer",
        "equation_FStar.Buffer.live",
        "equation_FStar.Monotonic.HyperHeap.contains_ref",
        "equation_FStar.Monotonic.HyperStack.contains",
        "equation_FStar.UInt.add", "equation_FStar.UInt.min_int",
        "equation_FStar.UInt32.add", "equation_FStar.UInt32.n",
        "equation_FStar.UInt32.t", "equation_FStar.UInt32.uint_to_t",
        "equation_FStar.UInt32.v", "equation_FStar.UInt64.t",
        "equation_Hacl.Hash.Lib.Create.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_p",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.pos_count_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "kinding_FStar.UInt64.t_@tok", "lemma_FStar.Buffer.lemma_sub_spec",
        "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp",
        "primitive_Prims.op_LessThanOrEqual",
        "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.Buffer_Tm_refine_8ba095f5457984257bc763075993de75",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_dc4168d3212d5c4dd6e659d8aa600da3"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_state_hash_sub_slice",
      1,
      0,
      1,
      [
        "@query", "assumption_Prims.HasEq_int", "equation_FStar.UInt32.n",
        "haseqHacl.Spec.Endianness_Tm_refine_f2c63b31fd0059912139424a133143ce",
        "projection_inverse_BoxInt_proj_0"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_state_hash_sub_slice",
      2,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer",
        "equation_FStar.UInt.add", "equation_FStar.UInt32.add",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.uint_to_t",
        "equation_FStar.UInt32.v", "equation_FStar.UInt64.t",
        "equation_Hacl.Hash.Lib.Create.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_p",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual",
        "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_dc4168d3212d5c4dd6e659d8aa600da3"
      ],
      0
    ],
    [
      "Hacl.Impl.SHA2_512.Lemmas.lemma_eq_state_hash_sub_slice",
      3,
      0,
      1,
      [
        "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer",
        "equation_FStar.UInt.add", "equation_FStar.UInt32.add",
        "equation_FStar.UInt32.n", "equation_FStar.UInt32.t",
        "equation_FStar.UInt32.uint_to_t", "equation_FStar.UInt32.v",
        "equation_FStar.UInt64.t", "equation_Hacl.Hash.Lib.Create.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_count_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_hash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_k_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_state",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_whash_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_word",
        "equation_Hacl.Impl.SHA2_512.Lemmas.size_ws_w",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_ht",
        "equation_Hacl.Impl.SHA2_512.Lemmas.uint64_p",
        "fuel_guarded_inversion_FStar.Buffer._buffer",
        "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.pos_whash_w",
        "function_token_typing_Hacl.Impl.SHA2_512.Lemmas.size_word",
        "kinding_FStar.UInt64.t_@tok", "lemma_FStar.Buffer.lemma_sub_spec",
        "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual",
        "proj_equation_FStar.UInt32.Mk_v",
        "projection_inverse_BoxBool_proj_0",
        "projection_inverse_BoxInt_proj_0",
        "projection_inverse_FStar.UInt32.Mk_v",
        "refinement_interpretation_FStar.Buffer_Tm_refine_8ba095f5457984257bc763075993de75",
        "refinement_interpretation_FStar.Buffer_Tm_refine_ac61996218e7c5b51c85527152e93166",
        "refinement_interpretation_Hacl.Impl.SHA2_512.Lemmas_Tm_refine_dc4168d3212d5c4dd6e659d8aa600da3"
      ],
      0
    ]
  ]
]
back to top