[ "U\u0003\u0001mHԢN", [ [ "Vale.Transformers.PeepHole.eval_inss", 1, 1, 1, [ "@MaxIFuel_assumption", "@query", "binder_x_cbd406ad1c569fe5d8e5528c486a860b_0", "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "equation_Vale.X64.Machine_Semantics_s.ins", "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" ], 0, "afa814dcb82cece74eef73607c6d1006" ], [ "Vale.Transformers.PeepHole.peephole_correct", 1, 1, 0, [ "@MaxIFuel_assumption", "@query", "Vale.Transformers.PeepHole_interpretation_Tm_arrow_66d5817f40439558e3cb160ddb3dfc8d", "bool_inversion", "bool_typing", "disc_equation_FStar.Pervasives.Native.None", "disc_equation_FStar.Pervasives.Native.Some", "equation_Vale.X64.Machine_Semantics_s.ins", "function_token_typing_Vale.X64.Machine_Semantics_s.ins", "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", "token_correspondence_Vale.Transformers.PeepHole.__proj__Mkpre_peephole__item__ph", "typing_Vale.Transformers.PeepHole.__proj__Mkpre_peephole__item__ph" ], 0, "f90373a412b416242c29017eb1cd542a" ], [ "Vale.Transformers.PeepHole.coerce_to_normal", 1, 1, 0, [ "@query" ], 0, "b42b6437d776cf6310ade30953b9d64a" ], [ "Vale.Transformers.PeepHole.lemma_update_to_valid_destination_keeps_it_as_valid_src", 1, 0, 2, [ "@MaxFuel_assumption", "@MaxIFuel_assumption", "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "FStar.Map_interpretation_Tm_arrow_b19283e90b47034162373413c6a19933", "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Vale.Arch.HeapTypes_s_pretyping_b2ecc36deaf346c775ae2b728a51b51e", "Vale.X64.Machine_Semantics_s_interpretation_Tm_arrow_ef1cb164cb5e999e95914068a32c6a77", "Vale.X64.Machine_s_interpretation_Tm_arrow_a3d9ef307178ed6e6eb0fe5485c5ade0", "Vale.X64.Machine_s_pretyping_518a4fb262eb27362824d01da01681c3", "bool_inversion", "bool_typing", "constructor_distinct_Tm_unit", "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Vale.X64.Machine_Semantics_s.Machine_stack", "data_elim_Vale.X64.Machine_Semantics_s.Mkmachine_state", "data_elim_Vale.X64.Machine_s.OMem", "data_elim_Vale.X64.Machine_s.OReg", "data_elim_Vale.X64.Machine_s.OStack", "data_typing_intro_Vale.Arch.HeapTypes_s.Secret@tok", "data_typing_intro_Vale.Def.Words_s.Mkfour@tok", "data_typing_intro_Vale.Def.Words_s.Mktwo@tok", "data_typing_intro_Vale.X64.Machine_s.Reg@tok", "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.eq2", "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", "equation_Vale.Arch.MachineHeap_s.get_heap_val64_def", "equation_Vale.Arch.MachineHeap_s.machine_heap", "equation_Vale.Arch.MachineHeap_s.update_heap64_def", "equation_Vale.Arch.MachineHeap_s.valid_addr", "equation_Vale.Def.Words.Two_s.nat_to_two", "equation_Vale.Def.Words.Two_s.two_to_nat", "equation_Vale.Def.Words_s.nat32", "equation_Vale.Def.Words_s.nat64", "equation_Vale.Def.Words_s.nat8", "equation_Vale.Def.Words_s.natN", "equation_Vale.X64.Machine_Semantics_s.eval_maddr", "equation_Vale.X64.Machine_Semantics_s.eval_operand", "equation_Vale.X64.Machine_Semantics_s.update_mem_and_taint", "equation_Vale.X64.Machine_Semantics_s.update_operand64_preserve_flags__", "equation_Vale.X64.Machine_Semantics_s.update_reg_", "equation_Vale.X64.Machine_Semantics_s.update_reg_64_", "equation_Vale.X64.Machine_Semantics_s.update_stack_and_taint", "equation_Vale.X64.Machine_Semantics_s.valid_dst_operand64", "equation_Vale.X64.Machine_Semantics_s.valid_src_operand64_and_taint", "equation_Vale.X64.Machine_s.n_reg_files", "equation_Vale.X64.Machine_s.n_regs", "equation_Vale.X64.Machine_s.operand64", "equation_Vale.X64.Machine_s.reg_64", "equation_Vale.X64.Machine_s.reg_file_id", "equation_Vale.X64.Machine_s.reg_id", "equation_Vale.X64.Machine_s.tmaddr", "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", "fuel_guarded_inversion_Vale.Arch.HeapImpl.vale_full_heap", "fuel_guarded_inversion_Vale.Def.Words_s.four", "fuel_guarded_inversion_Vale.X64.Machine_Semantics_s.machine_stack", "fuel_guarded_inversion_Vale.X64.Machine_Semantics_s.machine_state", "fuel_guarded_inversion_Vale.X64.Machine_s.operand", "function_token_typing_FStar.Map.upd", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Vale.Arch.MachineHeap_s.get_heap_val64", "function_token_typing_Vale.Arch.MachineHeap_s.update_heap64", "function_token_typing_Vale.Arch.MachineHeap_s.valid_addr64", "function_token_typing_Vale.Def.Words_s.nat32", "function_token_typing_Vale.Def.Words_s.nat8", "function_token_typing_Vale.X64.Machine_Semantics_s.__proj__Mkmachine_state__item__ms_regs", "function_token_typing_Vale.X64.Machine_s.t_reg", "function_token_typing_Vale.X64.StateLemmas.same_heap_types", "int_inversion", "int_typing", "interpretation_Tm_abs_1eab5700ef81b3c102d114cb086eb6dc", "interpretation_Tm_abs_6e92038f4a88fb2f84b2d65491e2a749", "kinding_Vale.X64.Machine_s.reg@tok", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", "lemma_FStar.UInt.pow2_values", "lemma_Vale.Def.Words.Seq.four_to_nat_to_four_8", "lemma_Vale.X64.Machine_Semantics_s.lemma_is_machine_heap_update64", "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_LessThanOrEqual", "proj_equation_Vale.Def.Words_s.Mkfour_hi2", "proj_equation_Vale.Def.Words_s.Mkfour_hi3", "proj_equation_Vale.Def.Words_s.Mkfour_lo0", "proj_equation_Vale.Def.Words_s.Mkfour_lo1", "proj_equation_Vale.Def.Words_s.Mktwo_hi", "proj_equation_Vale.Def.Words_s.Mktwo_lo", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_heap", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_regs", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_stack", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_stackTaint", "projection_inverse_BoxBool_proj_0", "projection_inverse_BoxInt_proj_0", "projection_inverse_Vale.Def.Words_s.Mktwo_hi", "projection_inverse_Vale.Def.Words_s.Mktwo_lo", "projection_inverse_Vale.X64.Machine_Semantics_s.Machine_stack_stack_mem", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_heap", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_regs", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_stack", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_stackTaint", "refinement_interpretation_Tm_refine_0030c490ddf8a8ae33d539152b909139", "refinement_interpretation_Tm_refine_0559236e7a05befcc7b6302f3642ad81", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_30c926ebf383bedbae82319bb48dcf51", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_6dcab90f61547a5eea7e0f9da709087b", "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", "refinement_interpretation_Tm_refine_7d29e56e66c8277ffbad10980c3bdf4c", "refinement_interpretation_Tm_refine_a51eae56a5c39d95827d04b5f0544d43", "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_c365eb902b454950de62fba701d9049d", "refinement_interpretation_Tm_refine_d9979b96a3f2b18961b3dd63a2783b64", "refinement_kinding_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "token_correspondence_Vale.Arch.MachineHeap_s.get_heap_val64_def", "token_correspondence_Vale.Arch.MachineHeap_s.update_heap64_def", "token_correspondence_Vale.X64.Machine_Semantics_s.__proj__Mkmachine_state__item__ms_regs", "token_correspondence_Vale.X64.Machine_s.t_reg", "typing_FStar.Map.domain", "typing_FStar.Map.sel", "typing_FStar.Map.upd", "typing_FStar.Set.singleton", "typing_FStar.Set.union", "typing_Prims.pow2", "typing_Tm_abs_6e92038f4a88fb2f84b2d65491e2a749", "typing_Vale.Arch.Heap.heap_get", "typing_Vale.Arch.Heap.heap_taint", "typing_Vale.Arch.Heap.heap_upd", "typing_Vale.Arch.MachineHeap_s.update_heap64", "typing_Vale.Arch.MachineHeap_s.valid_addr", "typing_Vale.Def.Words.Four_s.four_to_nat", "typing_Vale.Def.Words.Four_s.nat_to_four", "typing_Vale.Def.Words_s.__proj__Mkfour__item__hi2", "typing_Vale.Def.Words_s.__proj__Mkfour__item__hi3", "typing_Vale.Def.Words_s.__proj__Mkfour__item__lo0", "typing_Vale.Def.Words_s.__proj__Mkfour__item__lo1", "typing_Vale.Def.Words_s.__proj__Mktwo__item__hi", "typing_Vale.Def.Words_s.int_to_natN", "typing_Vale.Def.Words_s.natN", "typing_Vale.X64.Machine_Semantics_s.__proj__Mkmachine_state__item__ms_heap", "typing_Vale.X64.Machine_Semantics_s.__proj__Mkmachine_state__item__ms_stackTaint", "typing_Vale.X64.Machine_Semantics_s.eval_maddr", "typing_Vale.X64.Machine_Semantics_s.eval_operand", "typing_Vale.X64.Machine_Semantics_s.match_n", "typing_Vale.X64.Machine_Semantics_s.update_n", "typing_Vale.X64.Machine_Semantics_s.update_operand64_preserve_flags__", "typing_Vale.X64.Machine_Semantics_s.valid_dst_operand64", "typing_Vale.X64.Machine_Semantics_s.valid_src_operand64_and_taint" ], 0, "d8fcc0ee353484760118e50d5d2584ab" ], [ "Vale.Transformers.PeepHole.lemma_double_update_reg", 1, 1, 0, [ "@MaxIFuel_assumption", "@query", "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", "Prims_pretyping_ae567c2fb75be05905677af440075565", "Vale.Arch.HeapTypes_s_pretyping_b2ecc36deaf346c775ae2b728a51b51e", "Vale.X64.Machine_Semantics_s_interpretation_Tm_arrow_ef1cb164cb5e999e95914068a32c6a77", "Vale.X64.Machine_s_interpretation_Tm_arrow_a3d9ef307178ed6e6eb0fe5485c5ade0", "disc_equation_Vale.X64.Machine_s.OReg", "eq2-interp", "equality_tok_Vale.Arch.HeapTypes_s.Public@tok", "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.eq2", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.squash", "equation_Vale.Arch.HeapTypes_s.memTaint_t", "equation_Vale.Def.Words_s.nat64", "equation_Vale.Def.Words_s.nat8", "equation_Vale.Def.Words_s.natN", "equation_Vale.Transformers.InstructionReorder.equiv_states", "equation_Vale.Transformers.InstructionReorder.equiv_states_ext", "equation_Vale.X64.Machine_Semantics_s.update_operand64_preserve_flags__", "equation_Vale.X64.Machine_Semantics_s.update_reg_", "equation_Vale.X64.Machine_Semantics_s.update_reg_64_", "equation_Vale.X64.Machine_s.reg_64", "fuel_guarded_inversion_Vale.X64.Machine_Semantics_s.machine_state", "fuel_guarded_inversion_Vale.X64.Machine_s.reg", "function_token_typing_Prims.__cache_version_number__", "function_token_typing_Prims.int", "function_token_typing_Vale.Def.Words_s.nat8", "function_token_typing_Vale.X64.Machine_s.t_reg", "function_token_typing_Vale.X64.StateLemmas.same_heap_types", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "haseqTm_refine_c365eb902b454950de62fba701d9049d", "int_inversion", "interpretation_Tm_abs_6e92038f4a88fb2f84b2d65491e2a749", "kinding_Vale.Arch.HeapTypes_s.taint@tok", "kinding_Vale.X64.Machine_s.reg@tok", "l_and-interp", "lemma_FStar.FunctionalExtensionality.extensionality", "lemma_FStar.FunctionalExtensionality.feq_on_domain", "lemma_FStar.Map.lemma_equal_elim", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_flags", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_heap", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_ok", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_regs", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_stack", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_stackTaint", "proj_equation_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_trace", "projection_inverse_BoxBool_proj_0", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_flags", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_heap", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_ok", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_regs", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_stack", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_stackTaint", "projection_inverse_Vale.X64.Machine_Semantics_s.Mkmachine_state_ms_trace", "projection_inverse_Vale.X64.Machine_s.OReg_r", "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_c2c488db3214c38826155caf10d30036", "token_correspondence_Vale.X64.Machine_Semantics_s.__proj__Mkmachine_state__item__ms_regs", "token_correspondence_Vale.X64.Machine_s.t_reg", "typing_FStar.FunctionalExtensionality.on_domain", "typing_Tm_abs_6e92038f4a88fb2f84b2d65491e2a749", "typing_Vale.X64.Machine_Semantics_s.__proj__Machine_stack__item__stack_mem", "typing_Vale.X64.Machine_Semantics_s.__proj__Mkmachine_state__item__ms_stack", "typing_Vale.X64.Machine_Semantics_s.__proj__Mkmachine_state__item__ms_stackTaint", "typing_tok_Vale.Arch.HeapTypes_s.Public@tok" ], 0, "217ae14fbc453e118537cd7d3d3d7ddf" ], [ "Vale.Transformers.PeepHole.lemma_double_update_reg", 2, 1, 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Vale.Def.Words_s.nat64", "equation_Vale.Def.Words_s.natN", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, "b51db14517b4bf06fe458c7761f2fdfa" ], [ "Vale.Transformers.PeepHole.lemma_double_update_reg", 3, 1, 0, [ "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", "equation_Prims.nat", "equation_Vale.X64.Machine_s.reg_64", "function_token_typing_Prims.int", "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "haseqTm_refine_c365eb902b454950de62fba701d9049d", "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" ], 0, "259b8d4dd7fb3f901ac4901e6d1a19a4" ] ] ]